/** * */ public function testGCD() { $this->assertEquals(1, Utils::gcd(1, 2)); $this->assertEquals(1, Utils::gcd(-1, 2)); $this->assertEquals(1, Utils::gcd(1, -2)); $this->assertEquals(1, Utils::gcd(-1, -2)); $this->assertEquals(1, Utils::gcd(4, 7)); $this->assertEquals(4, Utils::gcd(4, 8)); }
/** * Simplify this fraction * * @return Fraction */ public function simplify() { $g = Utils::gcd($this->numerator, $this->denominator); return new self($this->numerator / $g, $this->denominator / $g); }