function testSub() { /*{{{*/ $tmp = Math_ComplexOp::sub($this->cnum1, $this->cnum2); $this->assertEquals('-0.7 + 2.07079632679i', $tmp->toString()); }
/** * 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";