Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      ctanhf, ctanh, ctanhl

      From cppreference.com
      <c‎ |numeric‎ |complex
       
       
       
      Complex number arithmetic
      Types and the imaginary constant
      (C99)
      (C99)    
      (C11)
      (C99)
      Manipulation
      (C99)
      (C99)
      (C99)
      (C99)
      (C99)
      (C99)
      Power and exponential functions
      (C99)
      (C99)
      (C99)
      (C99)
      Trigonometric functions
      (C99)
      (C99)
      (C99)
      (C99)
      (C99)
      (C99)
      Hyperbolic functions
      (C99)
      (C99)
      ctanh
      (C99)
      (C99)
      (C99)
      (C99)
       
      Defined in header<complex.h>
      floatcomplex       ctanhf(floatcomplex z);
      (1)(since C99)
      doublecomplex      ctanh(doublecomplex z);
      (2)(since C99)
      longdoublecomplex ctanhl(longdoublecomplex z);
      (3)(since C99)
      Defined in header<tgmath.h>
      #define tanh( z )
      (4)(since C99)
      1-3) Computes the complex hyperbolic tangent ofz.
      4) Type-generic macro: Ifz has typelongdoublecomplex,ctanhl is called. ifz has typedoublecomplex,ctanh is called, ifz has typefloatcomplex,ctanhf is called. Ifz is real or integer, then the macro invokes the corresponding real function (tanhf,tanh,tanhl). Ifz is imaginary, then the macro invokes the corresponding real version of the functiontan, implementing the formulatanh(iy) = i tan(y), and the return type is imaginary.

      Contents

      [edit]Parameters

      z - complex argument

      [edit]Return value

      If no errors occur, complex hyperbolic tangent ofz is returned

      [edit]Error handling and special values

      Errors are reported consistent withmath_errhandling

      If the implementation supports IEEE floating-point arithmetic,

      • ctanh(conj(z))==conj(ctanh(z))
      • ctanh(-z)==-ctanh(z)
      • Ifz is+0+0i, the result is+0+0i
      • Ifz isx+∞i (for any[1] finite x), the result isNaN+NaNi andFE_INVALID is raised
      • Ifz isx+NaN (for any[2] finite x), the result isNaN+NaNi andFE_INVALID may be raised
      • Ifz is+∞+yi (for any finite positive y), the result is1+0i
      • Ifz is+∞+∞i, the result is1±0i (the sign of the imaginary part is unspecified)
      • Ifz is+∞+NaNi, the result is1±0i (the sign of the imaginary part is unspecified)
      • Ifz isNaN+0i, the result isNaN+0i
      • Ifz isNaN+yi (for any non-zero y), the result isNaN+NaNi andFE_INVALID may be raised
      • Ifz isNaN+NaNi, the result isNaN+NaNi
      1. perDR471, this only holds for non-zero x. Ifz is0+∞i, the result should be0+NaNi
      2. perDR471, this only holds for non-zero x. Ifz is0+NaNi, the result should be0+NaNi

      [edit]Notes

      Mathematical definition of hyperbolic tangent istanh z =
      ez
      -e-z
      ez
      +e-z

      Hyperbolic tangent is an analytical function on the complex plane and has no branch cuts. It is periodic with respect to the imaginary component, with period πi, and has poles of the first order along the imaginary line, at coordinates(0, π(1/2 + n)). However no common floating-point representation is able to represent π/2 exactly, thus there is no value of the argument for which a pole error occurs.

      [edit]Example

      Run this code
      #include <stdio.h>#include <math.h>#include <complex.h> int main(void){doublecomplex z= ctanh(1);// behaves like real tanh along the real lineprintf("tanh(1+0i) = %f%+fi (tanh(1)=%f)\n",creal(z),cimag(z),tanh(1)); doublecomplex z2= ctanh(I);// behaves like tangent along the imaginary lineprintf("tanh(0+1i) = %f%+fi ( tan(1)=%f)\n",creal(z2),cimag(z2),tan(1));}

      Output:

      tanh(1+0i) = 0.761594+0.000000i (tanh(1)=0.761594)tanh(0+1i) = 0.000000+1.557408i ( tan(1)=1.557408)

      [edit]References

      • C11 standard (ISO/IEC 9899:2011):
      • 7.3.6.6 The ctanh functions (p: 194)
      • 7.25 Type-generic math <tgmath.h> (p: 373-375)
      • G.6.2.6 The ctanh functions (p: 542)
      • G.7 Type-generic math <tgmath.h> (p: 545)
      • C99 standard (ISO/IEC 9899:1999):
      • 7.3.6.6 The ctanh functions (p: 176)
      • 7.22 Type-generic math <tgmath.h> (p: 335-337)
      • G.6.2.6 The ctanh functions (p: 477)
      • G.7 Type-generic math <tgmath.h> (p: 480)

      [edit]See also

      (C99)(C99)(C99)
      computes the complex hyperbolic sine
      (function)[edit]
      (C99)(C99)(C99)
      computes the complex hyperbolic cosine
      (function)[edit]
      (C99)(C99)(C99)
      computes the complex arc hyperbolic tangent
      (function)[edit]
      (C99)(C99)
      computes hyperbolic tangent (\({\small\tanh{x} }\)tanh(x))
      (function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=c/numeric/complex/ctanh&oldid=96281"

      [8]ページ先頭

      ©2009-2025 Movatter.jp