23 if (!function_exists(__NAMESPACE__ .
'\\atan')) {
24 function atan($complex):
Complex 26 $complex = Complex::validateComplexArgument($complex);
28 if ($complex->isReal()) {
29 return new Complex(\atan($complex->getReal()));
32 $t1Value =
new Complex(-1 * $complex->getImaginary(), $complex->getReal());
35 $d1Value = clone $uValue;
36 $d1Value = subtract($d1Value, $t1Value);
37 $d2Value =
add($t1Value, $uValue);
38 $uResult = $d1Value->divideBy($d2Value);
39 $uResult = ln($uResult);
42 (($uResult->getImaginary() == M_PI) ? -M_PI : $uResult->getImaginary()) * -0.5,
43 $uResult->getReal() * 0.5,