コード例 #1
0
        /// <summary>
        /// Trigonometric Hyperbolic Secant of a <c>Complex</c> number.
        /// </summary>
        /// <param name="value">
        /// The complex value.
        /// </param>
        /// <returns>
        /// The hyperbolic secant of a complex number.
        /// </returns>
        public static Complex HyperbolicSecant(this Complex value)
        {
            if (value.IsReal())
            {
                return(new Complex(HyperbolicSecant(value.Real), 0.0));
            }

            var exp = value.Exponential();

            if (exp.IsInfinity())
            {
                return(Complex.Zero);
            }

            return(2 * exp / (exp.Square() + 1));
        }