Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      clogf, clog, clogl

      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)
      clog
      (C99)
      (C99)
      (C99)
      Trigonometric functions
      (C99)
      (C99)
      (C99)
      (C99)
      (C99)
      (C99)
      Hyperbolic functions
      (C99)
      (C99)
      (C99)
      (C99)
      (C99)
      (C99)
       
      Defined in header<complex.h>
      floatcomplex       clogf(floatcomplex z);
      (1)(since C99)
      doublecomplex      clog(doublecomplex z);
      (2)(since C99)
      longdoublecomplex clogl(longdoublecomplex z);
      (3)(since C99)
      Defined in header<tgmath.h>
      #define log( z )
      (4)(since C99)
      1-3) Computes the complex natural (base-e) logarithm ofz with branch cut along the negative real axis.
      4) Type-generic macro: Ifz has typelongdoublecomplex,clogl is called. ifz has typedoublecomplex,clog is called, ifz has typefloatcomplex,clogf is called. Ifz is real or integer, then the macro invokes the corresponding real function (logf,log,logl). Ifz is imaginary, the corresponding complex number version is called.

      Contents

      [edit]Parameters

      z - complex argument

      [edit]Return value

      If no errors occur, the complex natural logarithm ofz is returned, in the range of a strip in the interval[−iπ, +iπ] along the imaginary axis and mathematically unbounded along the real axis.

      [edit]Error handling and special values

      Errors are reported consistent withmath_errhandling

      If the implementation supports IEEE floating-point arithmetic,

      • The function is continuous onto the branch cut taking into account the sign of imaginary part
      • clog(conj(z))==conj(clog(z))
      • Ifz is-0+0i, the result is-∞+πi andFE_DIVBYZERO is raised
      • Ifz is+0+0i, the result is-∞+0i andFE_DIVBYZERO is raised
      • Ifz isx+∞i (for any finite x), the result is+∞+πi/2
      • Ifz isx+NaNi (for any finite x), the result isNaN+NaNi andFE_INVALID may be raised
      • Ifz is-∞+yi (for any finite positive y), the result is+∞+πi
      • Ifz is+∞+yi (for any finite positive y), the result is+∞+0i
      • Ifz is-∞+∞i, the result is+∞+3πi/4
      • Ifz is+∞+∞i, the result is+∞+πi/4
      • Ifz is±∞+NaNi, the result is+∞+NaNi
      • Ifz isNaN+yi (for any finite y), the result isNaN+NaNi andFE_INVALID may be raised
      • Ifz isNaN+∞i, the result is+∞+NaNi
      • Ifz isNaN+NaNi, the result isNaN+NaNi

      [edit]Notes

      The natural logarithm of a complex numberz with polar coordinate components(r,θ) equalsln r + i(θ+2nπ), with the principal valueln r + iθ

      [edit]Example

      Run this code
      #include <stdio.h>#include <math.h>#include <complex.h> int main(void){doublecomplex z= clog(I);// r = 1, θ = pi/2printf("2*log(i) = %.1f%+fi\n",creal(2*z),cimag(2*z)); doublecomplex z2= clog(sqrt(2)/2+sqrt(2)/2*I);// r = 1, θ = pi/4printf("4*log(sqrt(2)/2+sqrt(2)i/2) = %.1f%+fi\n",creal(4*z2),cimag(4*z2)); doublecomplex z3= clog(-1);// r = 1, θ = piprintf("log(-1+0i) = %.1f%+fi\n",creal(z3),cimag(z3)); doublecomplex z4= clog(conj(-1));// or clog(CMPLX(-1, -0.0)) in C11printf("log(-1-0i) (the other side of the cut) = %.1f%+fi\n",creal(z4),cimag(z4));}

      Output:

      2*log(i) = 0.0+3.141593i4*log(sqrt(2)/2+sqrt(2)i/2) = 0.0+3.141593ilog(-1+0i) = 0.0+3.141593ilog(-1-0i) (the other side of the cut) = 0.0-3.141593i

      [edit]References

      • C11 standard (ISO/IEC 9899:2011):
      • 7.3.7.2 The clog functions (p: 195)
      • 7.25 Type-generic math <tgmath.h> (p: 373-375)
      • G.6.3.2 The clog functions (p: 543-544)
      • G.7 Type-generic math <tgmath.h> (p: 545)
      • C99 standard (ISO/IEC 9899:1999):
      • 7.3.7.2 The clog functions (p: 176-177)
      • 7.22 Type-generic math <tgmath.h> (p: 335-337)
      • G.6.3.2 The clog functions (p: 478-479)
      • G.7 Type-generic math <tgmath.h> (p: 480)

      [edit]See also

      (C99)(C99)(C99)
      computes the complex base-e exponential
      (function)[edit]
      (C99)(C99)
      computes natural (base-e) logarithm (\({\small \ln{x} }\)ln(x))
      (function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=c/numeric/complex/clog&oldid=96195"

      [8]ページ先頭

      ©2009-2025 Movatter.jp