Beispiel #1
0
 /// <summary>Trigonometric Hyperbolic Cosine (cosh, Cosinus hyperbolicus) of this <c>Complex</c>.</summary>
 public Complex HyperbolicCosine()
 {
     if (IsReal)
     {
         return(new Complex(Trig.HyperbolicCosine(real), 0d));
     }
     return(new Complex(Trig.HyperbolicCosine(real) * Trig.Cosine(imag), Trig.HyperbolicSine(real) * Trig.Sine(imag)));
 }
Beispiel #2
0
        /// <summary>Trigonometric Hyperbolic Cotangent (coth, Cotangens hyperbolicus) of this <c>Complex</c>.</summary>
        public Complex HyperbolicCotangent()
        {
            if (IsReal)
            {
                return(new Complex(Trig.HyperbolicCotangent(real), 0d));
            }
            double sini  = Trig.Sine(imag);
            double sinhr = Trig.HyperbolicSine(real);
            double denom = sini * sini + sinhr * sinhr;

            return(new Complex(sinhr * Trig.HyperbolicCosine(real) / denom, sini * Trig.Cosine(imag) / denom));
        }
Beispiel #3
0
        /// <summary>Trigonometric Hyperbolic Tangent (tanh, Tangens hyperbolicus) of this <c>Complex</c>.</summary>
        public Complex HyperbolicTangent()
        {
            if (IsReal)
            {
                return(new Complex(Trig.HyperbolicTangent(real), 0d));
            }
            double cosi  = Trig.Cosine(imag);
            double sinhr = Trig.HyperbolicSine(real);
            double denom = cosi * cosi + sinhr * sinhr;

            return(new Complex(Trig.HyperbolicCosine(real) * sinhr / denom, cosi * Trig.Sine(imag) / denom));
        }
Beispiel #4
0
        /// <summary>Trigonometric Cosecant (csc, Cosekans) of this <c>Complex</c>.</summary>
        public Complex Cosecant()
        {
            if (IsReal)
            {
                return(new Complex(Trig.Cosecant(real), 0d));
            }
            double sinr  = Trig.Sine(real);
            double sinhi = Trig.HyperbolicSine(imag);
            double denom = sinr * sinr + sinhi * sinhi;

            return(new Complex(sinr * Trig.HyperbolicCosine(imag) / denom, -Trig.Cosine(real) * sinhi / denom));
        }
Beispiel #5
0
        /// <summary>Trigonometric Secant (sec, Sekans) of this <c>Complex</c>.</summary>
        public Complex Secant()
        {
            if (IsReal)
            {
                return(new Complex(Trig.Secant(real), 0d));
            }
            double cosr  = Trig.Cosine(real);
            double sinhi = Trig.HyperbolicSine(imag);
            double denom = cosr * cosr + sinhi * sinhi;

            return(new Complex(cosr * Trig.HyperbolicCosine(imag) / denom, Trig.Sine(real) * sinhi / denom));
        }