Differences Between: [Versions 310 and 311] [Versions 39 and 311]
1 <?php 2 3 /** 4 * 5 * Function code for the complex atanh() function 6 * 7 * @copyright Copyright (c) 2013-2018 Mark Baker (https://github.com/MarkBaker/PHPComplex) 8 * @license https://opensource.org/licenses/MIT MIT 9 */ 10 namespace Complex; 11 12 /** 13 * Returns the inverse hyperbolic tangent of a complex number. 14 * 15 * @param Complex|mixed $complex Complex number or a numeric value. 16 * @return Complex The inverse hyperbolic tangent of the complex argument. 17 * @throws Exception If argument isn't a valid real or complex number. 18 */ 19 function atanh($complex): Complex 20 { 21 $complex = Complex::validateComplexArgument($complex); 22 23 if ($complex->isReal()) { 24 $real = $complex->getReal(); 25 if ($real >= -1.0 && $real <= 1.0) { 26 return new Complex(\atanh($real)); 27 } else { 28 return new Complex(\atanh(1 / $real), (($real < 0.0) ? M_PI_2 : -1 * M_PI_2)); 29 } 30 } 31 32 $iComplex = clone $complex; 33 $iComplex = $iComplex->invertImaginary() 34 ->reverse(); 35 return atan($iComplex) 36 ->invertReal() 37 ->reverse(); 38 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body