Namespaces
Variants

Standard library header <tgmath.h> (C99)

From cppreference.net

此头文件是 数值计算 库的组成部分,提供 类型泛型宏 ,这些宏根据参数类型决定调用哪个实数函数或在适用情况下调用复数函数。

头文件包含

<math.h>
<complex.h>


概要

#include <math.h>
#include <complex.h>
#define __STDC_VERSION_TGMATH_H__ 202311L
#define acos              /* 参见说明 */
#define acosh             /* 参见说明 */
#define acospi            /* 参见说明 */
#define asin              /* 参见说明 */
#define asinh             /* 参见说明 */
#define asinpi            /* 参见说明 */
#define atan              /* 参见说明 */
#define atan2             /* 参见说明 */
#define atan2pi           /* 参见说明 */
#define atanh             /* 参见说明 */
#define atanpi            /* 参见说明 */
#define cbrt              /* 参见说明 */
#define ceil              /* 参见说明 */
#define compoundn         /* 参见说明 */
#define copysign          /* 参见说明 */
#define cos               /* 参见说明 */
#define cosh              /* 参见说明 */
#define cospi             /* 参见说明 */
#define dadd              /* 参见说明 */
#define ddiv              /* 参见说明 */
#define dfma              /* 参见说明 */
#define dmul              /* 参见说明 */
#define dsqrt             /* 参见说明 */
#define dsub              /* 参见说明 */
#define erf               /* 参见说明 */
#define erfc              /* 参见说明 */
#define exp               /* 参见说明 */
#define exp10             /* 参见说明 */
#define exp10m1           /* 参见说明 */
#define exp2              /* 参见说明 */
#define exp2m1            /* 参见说明 */
#define expm1             /* 参见说明 */
#define fabs              /* 参见说明 */
#define fadd              /* 参见说明 */
#define fdim              /* 参见说明 */
#define fdiv              /* 参见说明 */
#define ffma              /* 参见说明 */
#define floor             /* 参见说明 */
#define fma               /* 参见说明 */
#define fmax              /* 参见说明 */
#define fmaximum          /* 参见说明 */
#define fmaximum_mag      /* 参见说明 */
#define fmaximum_mag_num  /* 参见说明 */
#define fmaximum_num      /* 参见说明 */
#define fmin              /* 参见说明 */
#define fminimum          /* 参见说明 */
#define fminimum_mag      /* 参见说明 */
#define fminimum_mag_num  /* 参见说明 */
#define fminimum_num      /* 参见说明 */
#define fmod              /* 参见说明 */
#define fmul              /* 参见说明 */
#define frexp             /* 参见说明 */
#define fromfp            /* 参见说明 */
#define fromfpx           /* 参见说明 */
#define fsqrt             /* 参见说明 */
#define fsub              /* 参见说明 */
#define hypot             /* 参见说明 */
#define ilogb             /* 参见说明 */
#define ldexp             /* 参见说明 */
#define lgamma            /* 参见说明 */
#define llogb             /* 参见说明 */
#define llrint            /* 参见说明 */
#define llround           /* 参见说明 */
#define log               /* 参见说明 */
#define log10             /* 参见说明 */
#define log10p1           /* 参见说明 */
#define log1p             /* 参见说明 */
#define log2              /* 参见说明 */
#define log2p1            /* 参见说明 */
#define logb              /* 参见说明 */
#define logp1             /* 参见说明 */
#define lrint             /* 参见说明 */
#define lround            /* 参见说明 */
#define nearbyint         /* 参见说明 */
#define nextafter         /* 参见说明 */
#define nextdown          /* 参见说明 */
#define nexttoward        /* 参见说明 */
#define nextup            /* 参见说明 */
#define pow               /* 参见说明 */
#define pown              /* 参见说明 */
#define powr              /* 参见说明 */
#define remainder         /* 参见说明 */
#define remquo            /* 参见说明 */
#define rint              /* 参见说明 */
#define rootn             /* 参见说明 */
#define round             /* 参见说明 */
#define roundeven         /* 参见说明 */
#define rsqrt             /* 参见说明 */
#define scalbln           /* 参见说明 */
#define scalbn            /* 参见说明 */
#define sin               /* 参见说明 */
#define sinh              /* 参见说明 */
#define sinpi             /* 参见说明 */
#define sqrt              /* 参见说明 */
#define tan               /* 参见说明 */
#define tanh              /* 参见说明 */
#define tanpi             /* 参见说明 */
#define tgamma            /* 参见说明 */
#define trunc             /* 参见说明 */
#define ufromfp           /* 参见说明 */
#define ufromfpx          /* 参见说明 */

仅当实现未定义 __STDC_NO_COMPLEX__ 时:

#ifndef __STDC_WANT_LIB_EXT1__
#define carg  /* 查看描述 */
#define cimag /* 查看描述 */
#define conj  /* 查看描述 */
#define cproj /* 查看描述 */
#define creal /* 查看描述 */
#endif

仅当实现定义了 __STDC_IEC_60559_DFP__

#define d32add      /* 参见描述 */
#define d32div      /* 参见描述 */
#define d32fma      /* 参见描述 */
#define d32mul      /* 参见描述 */
#define d32sqrt     /* 参见描述 */
#define d32sub      /* 参见描述 */
#define d64add      /* 参见描述 */
#define d64div      /* 参见描述 */
#define d64fma      /* 参见描述 */
#define d64mul      /* 参见描述 */
#define d64sqrt     /* 参见描述 */
#define d64sub      /* 参见描述 */
#define llquantexp  /* 参见描述 */
#define quantize    /* 参见描述 */
#define quantum     /* 参见描述 */
#define samequantum /* 参见描述 */

仅当实现定义了 __STDC_IEC_60559_TYPES__ 且用户代码在包含 <tgmath.h> 之前额外定义了 __STDC_WANT_IEC_60559_TYPES_EXT__ 时:

#ifdef __STDC_WANT_IEC_60559_TYPES_EXT__
#define /*dMadd*/   /* 参见描述 */
#define /*dMdiv*/   /* 参见描述 */
#define /*dMfma*/   /* 参见描述 */
#define /*dMmul*/   /* 参见描述 */
#define /*dMsqrt*/  /* 参见描述 */
#define /*dMsub*/   /* 参见描述 */
#define /*dMxadd*/  /* 参见描述 */
#define /*dMxdiv*/  /* 参见描述 */
#define /*dMxfma*/  /* 参见描述 */
#define /*dMxmul*/  /* 参见描述 */
#define /*dMxsqrt*/ /* 参见描述 */
#define /*dMxsub*/  /* 参见描述 */
#define /*fMadd*/   /* 参见描述 */
#define /*fMdiv*/   /* 参见描述 */
#define /*fMfma*/   /* 参见描述 */
#define /*fMmul*/   /* 参见描述 */
#define /*fMsqrt*/  /* 参见描述 */
#define /*fMsub*/   /* 参见描述 */
#define /*fMxadd*/  /* 参见描述 */
#define /*fMxdiv*/  /* 参见描述 */
#define /*fMxfma*/  /* 参见描述 */
#define /*fMxmul*/  /* 参见描述 */
#define /*fMxsqrt*/ /* 参见描述 */
#define /*fMxsub*/  /* 参见描述 */