function testMultIm() { /*{{{*/ $tmp = Math_ComplexOp::multIm($this->cnum1, $this->im); $this->assertEquals('0.6 - 0.36i', $tmp->toString()); }
/** * Calculates the inverse hyperbolic tangent of a complex number: z = atanh(c1) * * @param Math_Complex $c1 * @return Math_Complex A valid Math_Complex number on success * @throws InvalidArgumentException */ public static function atanh(Math_Complex $c1) { if (!Math_ComplexOp::isComplex($c1)) { throw new InvalidArgumentException('argument is not a Math_Complex object'); } if ($c1->getIm() == 0.0) { $r = $c1->getReal(); if ($r > -1.0 && $r < 1.0) { return Math_Complex(atanh($r), 0.0); } else { return Math_Complex(atanh(1 / $r), $a < 0 ? M_PI_2 : -1 * M_PI_2); } } else { $z = Math_ComplexOp::multIm($c1, 1.0); $z = Math_ComplexOp::atan($z); return Math_ComplexOp::multIm($z, -1.0); } }
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";