Пример #1
0
 public function visitRationalNode(RationalNode $node)
 {
     $p = $node->getNumerator();
     $q = $node->getDenominator();
     return "{$p}/{$q}:rational";
 }
Пример #2
0
 public function visitRationalNode(RationalNode $node)
 {
     return $node->getValue();
 }
Пример #3
0
 public function visitRationalNode(RationalNode $node)
 {
     $p = $node->getNumerator();
     $q = $node->getDenominator();
     if ($q == 1) {
         return "{$p}";
     }
     return "\\frac{{$p}}{{$q}}";
 }
Пример #4
0
 public function visitRationalNode(RationalNode $node)
 {
     $p = $node->getNumerator();
     $q = $node->getDenominator();
     if ($q == 1) {
         return "{$p}";
     }
     //if ($p < 1) return "($p/$q)";
     return "{$p}/{$q}";
 }
Пример #5
0
 public function testCanCreateRationalNode()
 {
     $node = new RationalNode(1, 2);
     $this->assertEquals($node->getNumerator(), 1);
     $this->assertEquals($node->getDenominator(), 2);
     $this->assertEquals($node->getValue(), 0.5);
     $node = new RationalNode(4, 8);
     $this->assertEquals($node->getNumerator(), 1);
     $this->assertEquals($node->getDenominator(), 2);
     $node = new RationalNode(-1, 2);
     $this->assertEquals($node->getNumerator(), -1);
     $this->assertEquals($node->getDenominator(), 2);
     $node = new RationalNode(1, -2);
     $this->assertEquals($node->getNumerator(), -1);
     $this->assertEquals($node->getDenominator(), 2);
     $this->setExpectedException(\UnexpectedValueException::class);
     $node = new RationalNode(1.2, 2);
 }