Namespaces
Variants

Standard library header <tgmath.h> (C99)

From cppreference.net

Этот заголовок является частью библиотеки numeric и предоставляет обобщённые макросы , которые определяют, какую вещественную или, если применимо, комплексную функцию вызывать на основе типов аргументов.

Включения

<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__ и дополнительно пользовательский код определяет __STDC_WANT_IEC_60559_TYPES_EXT__ до любого включения <tgmath.h> :

#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*/  /* см. описание */