![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /home/fdshops/public_html/vendor/setasign/fpdi/src/Math/ |
<?php /** * This file is part of FPDI * * @package setasign\Fpdi * @copyright Copyright (c) 2023 Setasign GmbH & Co. KG (https://www.setasign.com) * @license http://opensource.org/licenses/mit-license The MIT License */ namespace setasign\Fpdi\Math; /** * A simple 2D-Matrix class */ class Matrix { /** * @var float */ protected $a; /** * @var float */ protected $b; /** * @var float */ protected $c; /** * @var float */ protected $d; /** * @var float */ protected $e; /** * @var float */ protected $f; /** * @param int|float $a * @param int|float $b * @param int|float $c * @param int|float $d * @param int|float $e * @param int|float $f */ public function __construct($a = 1, $b = 0, $c = 0, $d = 1, $e = 0, $f = 0) { $this->a = (float)$a; $this->b = (float)$b; $this->c = (float)$c; $this->d = (float)$d; $this->e = (float)$e; $this->f = (float)$f; } /** * @return float[] */ public function getValues() { return [$this->a, $this->b, $this->c, $this->d, $this->e, $this->f]; } /** * @param Matrix $by * @return Matrix */ public function multiply(self $by) { $a = $this->a * $by->a + $this->b * $by->c //+ 0 * $by->e ; $b = $this->a * $by->b + $this->b * $by->d //+ 0 * $by->f ; $c = $this->c * $by->a + $this->d * $by->c //+ 0 * $by->e ; $d = $this->c * $by->b + $this->d * $by->d //+ 0 * $by->f ; $e = $this->e * $by->a + $this->f * $by->c + /*1 * */$by->e; $f = $this->e * $by->b + $this->f * $by->d + /*1 * */$by->f; return new self($a, $b, $c, $d, $e, $f); } }