/**
  * @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()));
 }
Esempio n. 2
0
 public function testNegativeDenominatorNormalizesToNegativeNumerator()
 {
     $r = new RationalType(new IntType(4), new IntType(-3));
     $this->assertEquals(-4, $r->numerator()->get());
     $this->assertEquals(3, $r->denominator()->get());
 }
Esempio 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));
 }