function testSub()
 {
     /*{{{*/
     $tmp = Math_ComplexOp::sub($this->cnum1, $this->cnum2);
     $this->assertEquals('-0.7 + 2.07079632679i', $tmp->toString());
 }
Example #2
0
 /**
  * Calculates the inverse tangent of a complex number: z = atan(c1):
  *
  * @param Math_Complex $c1
  * @return Math_Complex A valid Math_Complex number on success
  * @throws InvalidArgumentException
  */
 public static function atan(Math_Complex $c1)
 {
     if (!Math_ComplexOp::isComplex($c1)) {
         throw new InvalidArgumentException('argument is not a Math_Complex object');
     }
     $u = new Math_Complex(-1 * $c1->getIm(), $c1->getReal());
     $t = new Math_Complex(1, 0);
     $d1 = Math_ComplexOp::sub($t, $u);
     $d2 = Math_ComplexOp::add($t, $u);
     $u = Math_ComplexOp::div($d1, $d2);
     return Math_ComplexOp::multIm(Math_ComplexOp::log($u), 0.5);
 }
if (!Math_ComplexOp::areEqual($a, $b)) {
    echo "a != b\n";
}
$z = Math_ComplexOp::add($a, $b);
echo "add(a, b) = " . $z->toString() . "\n";
$z = Math_ComplexOp::sub($a, $b);
echo "sub(a,b) = a - b = " . $z->toString() . "\n";
$t = Math_ComplexOp::sub($b, $a);
echo "b - a: " . $t->toString() . "\n";
$t = Math_ComplexOp::sub($b, Math_ComplexOp::conjugate($a));
echo "b - a': " . $t->toString() . "\n";
$v = Math_ComplexOp::conjugate($b);
$t = Math_ComplexOp::sub($v, $a);
echo "b' - a: " . $t->toString() . "\n";
$v = Math_ComplexOp::conjugate($b);
$t = Math_ComplexOp::sub($v, Math_ComplexOp::conjugate($a));
echo "b' - a': " . $t->toString() . "\n";
$z = Math_ComplexOp::mult($a, $b);
echo "mult(a, b) = " . $z->toString() . "\n";
$z = Math_ComplexOp::div($a, $b);
echo "div(a, b) = " . $z->toString() . "\n";
$z = Math_ComplexOp::pow($a, $b);
echo "pow(a, b) = " . $z->toString() . "\n";
$z = Math_ComplexOp::logBase($a, $b);
echo "logBase(a, b) = " . $z->toString() . "\n";
$z = Math_ComplexOp::multReal($a, M_PI);
echo "multReal(a, M_PI) = " . $z->toString() . "\n";
$z = Math_ComplexOp::multIm($a, $im);
echo "multIm(a, i) = " . $z->toString() . "\n";
$z = Math_ComplexOp::powReal($a, M_E);
echo "powReal(a, M_E) = " . $z->toString() . "\n";