Ejemplo n.º 1
0
 public function testAbsReturnsAbsoluteValue()
 {
     $r1 = new RationalType(new IntType(1), new IntType(2));
     $r2 = new RationalType(new IntType(-1), new IntType(2));
     $r3 = new RationalType(new IntType(1), new IntType(-2));
     $this->assertEquals($r1, $r1->abs());
     $this->assertEquals($r1, $r2->abs());
     $this->assertEquals($r1, $r3->abs());
 }
Ejemplo n.º 2
0
 /**
  * @param RationalType $radius
  * @param RationalType $sin
  *
  * @return array
  *
  * @throws InvalidTypeException
  */
 private static function getImaginaryPartsFromRadiusAndSin(RationalType $radius, RationalType $sin)
 {
     return array(TypeFactory::create('int', $radius->numerator()->get() * $sin->numerator()->get()), TypeFactory::create('int', $radius->denominator()->get() * $sin->denominator()->get()));
 }
Ejemplo n.º 3
0
 /**
  * Rational sqrt
  *
  * @param  RationalType $a operand
  *
  * @return RationalType result
  */
 public function rationalSqrt(RationalType $a)
 {
     $num = sqrt($a->numerator()->get());
     $den = sqrt($a->denominator()->get());
     return $this->rationalDiv(RationalTypeFactory::fromFloat($num), RationalTypeFactory::fromFloat($den));
 }