1<?php 2 3/** 4 * 5 * Function code for the complex asech() function 6 * 7 * @copyright Copyright (c) 2013-2018 Mark Baker (https://github.com/MarkBaker/PHPComplex) 8 * @license https://opensource.org/licenses/MIT MIT 9 */ 10namespace Complex; 11 12/** 13 * Returns the inverse hyperbolic secant of a complex number. 14 * 15 * @param Complex|mixed $complex Complex number or a numeric value. 16 * @return Complex The inverse hyperbolic secant of the complex argument. 17 * @throws Exception If argument isn't a valid real or complex number. 18 * @throws \InvalidArgumentException If function would result in a division by zero 19 */ 20function asech($complex) 21{ 22 $complex = Complex::validateComplexArgument($complex); 23 24 if ($complex->getReal() == 0.0 && $complex->getImaginary() == 0.0) { 25 return INF; 26 } 27 28 return acosh(inverse($complex)); 29} 30