function testAtan()
 {
     /*{{{*/
     $tmp = Math_ComplexOp::atan($this->cnum1);
     $this->assertEquals('0.36890753006 + 0.482240147685i', $tmp->toString());
 }
Example #2
0
 /**
  * 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);
     }
 }
echo "tan(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::sec($a);
echo "sec(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::csc($a);
echo "csc(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::cot($a);
echo "cot(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::asin($a);
echo "asin(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::asinAlt($a);
echo "asinAlt(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::asinReal(-0.22);
echo "asinReal(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::acos($a);
echo "acos(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::atan($a);
echo "atan(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::asec($a);
echo "asec(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::acsc($a);
echo "acsc(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::acot($a);
echo "acot(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::sinh($a);
echo "sinh(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::cosh($a);
echo "cosh(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::tanh($a);
echo "tanh(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::sech($a);
echo "sech(a) = " . $z->toString() . "\n";