|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This header is part of thecomplex number arithmetic library.
Types | ||
(C99) | imaginary type macro (keyword macro)[edit] | |
(C99) | complex type macro (keyword macro)[edit] | |
The imaginary constant | ||
(C99) | the imaginary unit constant i (macro constant)[edit] | |
(C99) | the complex unit constant i (macro constant)[edit] | |
(C99) | the complex or imaginary unit constant i (macro constant)[edit] | |
Manipulation | ||
(C11)(C11)(C11) | constructs a complex number from real and imaginary parts (function macro)[edit] | |
(C99)(C99)(C99) | computes the real part of a complex number (function)[edit] | |
(C99)(C99)(C99) | computes the imaginary part a complex number (function)[edit] | |
(C99)(C99)(C99) | computes the magnitude of a complex number (function)[edit] | |
(C99)(C99)(C99) | computes the phase angle of a complex number (function)[edit] | |
(C99)(C99)(C99) | computes the complex conjugate (function)[edit] | |
(C99)(C99)(C99) | computes the projection on Riemann sphere (function)[edit] | |
Exponential functions | ||
(C99)(C99)(C99) | computes the complex base-e exponential (function)[edit] | |
(C99)(C99)(C99) | computes the complex natural logarithm (function)[edit] | |
Power functions | ||
(C99)(C99)(C99) | computes the complex power function (function)[edit] | |
(C99)(C99)(C99) | computes the complex square root (function)[edit] | |
Trigonometric functions | ||
(C99)(C99)(C99) | computes the complex sine (function)[edit] | |
(C99)(C99)(C99) | computes the complex cosine (function)[edit] | |
(C99)(C99)(C99) | computes the complex tangent (function)[edit] | |
(C99)(C99)(C99) | computes the complex arc sine (function)[edit] | |
(C99)(C99)(C99) | computes the complex arc cosine (function)[edit] | |
(C99)(C99)(C99) | computes the complex arc tangent (function)[edit] | |
Hyperbolic functions | ||
(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 hyperbolic tangent (function)[edit] | |
(C99)(C99)(C99) | computes the complex arc hyperbolic sine (function)[edit] | |
(C99)(C99)(C99) | computes the complex arc hyperbolic cosine (function)[edit] | |
(C99)(C99)(C99) | computes the complex arc hyperbolic tangent (function)[edit] | |
#define __STDC_VERSION_COMPLEX_H__ 202311L #define complex _Complex#define imaginary /* implementation-defined */#define _Imaginary_I /* implementation-defined */#define _Complex_I /* implementation-defined */#define I _Complex_I #pragma STDC CX_LIMITED_RANGE /*on-off-switch*/ doublecomplexcacos(doublecomplex z);floatcomplexcacosf(floatcomplex z);longdoublecomplexcacosl(longdoublecomplex z);doublecomplexcasin(doublecomplex z);floatcomplexcasinf(floatcomplex z);longdoublecomplexcasinl(longdoublecomplex z);doublecomplexcatan(doublecomplex z);floatcomplexcatanf(floatcomplex z);longdoublecomplexcatanl(longdoublecomplex z);doublecomplexccos(doublecomplex z);floatcomplexccosf(floatcomplex z);longdoublecomplexccosl(longdoublecomplex z);doublecomplexcsin(doublecomplex z);floatcomplexcsinf(floatcomplex z);longdoublecomplexcsinl(longdoublecomplex z);doublecomplexctan(doublecomplex z);floatcomplexctanf(floatcomplex z);longdoublecomplexctanl(longdoublecomplex z);doublecomplexcacosh(doublecomplex z);floatcomplexcacoshf(floatcomplex z);longdoublecomplexcacoshl(longdoublecomplex z);doublecomplexcasinh(doublecomplex z);floatcomplexcasinhf(floatcomplex z);longdoublecomplexcasinhl(longdoublecomplex z);doublecomplexcatanh(doublecomplex z);floatcomplexcatanhf(floatcomplex z);longdoublecomplexcatanhl(longdoublecomplex z);doublecomplexccosh(doublecomplex z);floatcomplexccoshf(floatcomplex z);longdoublecomplexccoshl(longdoublecomplex z);doublecomplexcsinh(doublecomplex z);floatcomplexcsinhf(floatcomplex z);longdoublecomplexcsinhl(longdoublecomplex z);doublecomplexctanh(doublecomplex z);floatcomplexctanhf(floatcomplex z);longdoublecomplexctanhl(longdoublecomplex z);doublecomplexcexp(doublecomplex z);floatcomplexcexpf(floatcomplex z);longdoublecomplexcexpl(longdoublecomplex z);doublecomplexclog(doublecomplex z);floatcomplexclogf(floatcomplex z);longdoublecomplexclogl(longdoublecomplex z);doublecabs(doublecomplex z);floatcabsf(floatcomplex z);longdoublecabsl(longdoublecomplex z);doublecomplexcpow(doublecomplex x,doublecomplex y);floatcomplexcpowf(floatcomplex x,floatcomplex y);longdoublecomplexcpowl(longdoublecomplex x,longdoublecomplex y);doublecomplexcsqrt(doublecomplex z);floatcomplexcsqrtf(floatcomplex z);longdoublecomplexcsqrtl(longdoublecomplex z);doublecarg(doublecomplex z);floatcargf(floatcomplex z);longdoublecargl(longdoublecomplex z);doublecimag(doublecomplex z);floatcimagf(floatcomplex z);longdoublecimagl(longdoublecomplex z);doublecomplexCMPLX(double x,double y);floatcomplexCMPLXF(float x,float y);longdoublecomplexCMPLXL(longdouble x,longdouble y);doublecomplexconj(doublecomplex z);floatcomplexconjf(floatcomplex z);longdoublecomplexconjl(longdoublecomplex z);doublecomplexcproj(doublecomplex z);floatcomplexcprojf(floatcomplex z);longdoublecomplexcprojl(longdoublecomplex z);doublecreal(doublecomplex z);floatcrealf(floatcomplex z);longdoublecreall(longdoublecomplex z); // Only if the implementation defines __STDC_IEC_60559_TYPES__ and additionally the user// code defines __STDC_WANT_IEC_60559_TYPES_EXT__ before any inclusion of <complex.h>:#ifdef __STDC_WANT_IEC_60559_TYPES_EXT__/*_FloatN*/complex/*cacosfN*/(/*_FloatN*/complex z);/*_FloatNx*/complex/*cacosfNx*/(/*_FloatNx*/complex z);/*_FloatN*/complex/*casinfN*/(/*_FloatN*/complex z);/*_FloatNx*/complex/*casinfNx*/(/*_FloatNx*/complex z);/*_FloatN*/complex/*catanfN*/(/*_FloatN*/complex z);/*_FloatNx*/complex/*catanfNx*/(/*_FloatNx*/complex z);/*_FloatN*/complex/*ccosfN*/(/*_FloatN*/complex z);/*_FloatNx*/complex/*ccosfNx*/(/*_FloatNx*/complex z);/*_FloatN*/complex/*csinfN*/(/*_FloatN*/complex z);/*_FloatNx*/complex/*csinfNx*/(/*_FloatNx*/complex z);/*_FloatN*/complex/*ctanfN*/(/*_FloatN*/complex z);/*_FloatNx*/complex/*ctanfNx*/(/*_FloatNx*/complex z);/*_FloatN*/complex/*cacoshfN*/(/*_FloatN*/complex z);/*_FloatNx*/complex/*cacoshfNx*/(/*_FloatNx*/complex z);/*_FloatN*/complex/*casinhfN*/(/*_FloatN*/complex z);/*_FloatNx*/complex/*casinhfNx*/(/*_FloatNx*/complex z);/*_FloatN*/complex/*catanhfN*/(/*_FloatN*/complex z);/*_FloatNx*/complex/*catanhfNx*/(/*_FloatNx*/complex z);/*_FloatN*/complex/*ccoshfN*/(/*_FloatN*/complex z);/*_FloatNx*/complex/*ccoshfNx*/(/*_FloatNx*/complex z);/*_FloatN*/complex/*csinhfN*/(/*_FloatN*/complex z);/*_FloatNx*/complex/*csinhfNx*/(/*_FloatNx*/complex z);/*_FloatN*/complex/*ctanhfN*/(/*_FloatN*/complex z);/*_FloatNx*/complex/*ctanhfNx*/(/*_FloatNx*/complex z);/*_FloatN*/complex/*cexpfN*/(/*_FloatN*/complex z);/*_FloatNx*/complex/*cexpfNx*/(/*_FloatNx*/complex z);/*_FloatN*/complex/*clogfN*/(/*_FloatN*/complex z);/*_FloatNx*/complex/*clogfNx*/(/*_FloatNx*/complex z);/*_FloatN*//*cabsfN*/(/*_FloatN*/complex z);/*_FloatNx*//*cabsfNx*/(/*_FloatNx*/complex z);/*_FloatN*/complex/*cpowfN*/(/*_FloatN*/complex x,/*_FloatN*/complex y);/*_FloatNx*/complex/*cpowfNx*/(/*_FloatNx*/complex x,/*_FloatNx*/complex y);/*_FloatN*/complex/*csqrtfN*/(/*_FloatN*/complex z);/*_FloatNx*/complex/*csqrtfNx*/(/*_FloatNx*/complex z);/*_FloatN*//*cargfN*/(/*_FloatN*/complex z);/*_FloatNx*//*cargfNx*/(/*_FloatNx*/complex z);/*_FloatN*//*cimagfN*/(/*_FloatN*/complex z);/*_FloatNx*//*cimagfNx*/(/*_FloatNx*/complex z);/*_FloatN*/complex/*CMPLXFN*/(/*_FloatN*/ x,/*_FloatN*/ y);/*_FloatNx*/complex/*CMPLXFNX*/(/*_FloatNx*/ x,/*_FloatNx*/ y);/*_FloatN*/complex/*conjfN*/(/*_FloatN*/complex z);/*_FloatNx*/complex/*conjfNx*/(/*_FloatNx*/complex z);/*_FloatN*/complex/*cprojfN*/(/*_FloatN*/complex z);/*_FloatNx*/complex/*cprojfNx*/(/*_FloatNx*/complex z);/*_FloatN*//*crealfN*/(/*_FloatN*/complex z);/*_FloatNx*//*crealfNx*/(/*_FloatNx*/complex z);#endif