Exemplo n.º 1
0
 public function concat(Converter $converter)
 {
     if ($converter instanceof self) {
         $offset = $this->offset + $converter->getOffset();
         return $offset == 0.0 ? Converter::IDENTITY() : new self($offset);
     }
     return parent::concat($converter);
 }
 public function concat(Converter $converter)
 {
     if ($converter instanceof self) {
         $factor = $this->factor * $converter->getFactor();
         return $factor == 1.0 ? Converter::IDENTITY() : new self($factor);
     }
     return parent::concat($converter);
 }
 public function concat(Converter $converter)
 {
     if (!$converter instanceof self) {
         return parent::concat($converter);
     }
     $dividend = $this->dividend * $converter->getDividend();
     $divisor = $this->divisor * $converter->getDivisor();
     $gcd = $this->gcd($dividend, $divisor);
     $dividend = $dividend / $gcd;
     $divisor = $divisor / $gcd;
     if ($dividend == 1 && $divisor == 1) {
         return Converter::IDENTITY();
     }
     return new self($dividend, $divisor);
 }