Namespaces
Variants

Standard library header <tgmath.h> (C99)

From cppreference.net

Dieser Header ist Teil der numerischen Bibliothek und stellt typgenerische Makros bereit, die basierend auf den Typen der Argumente bestimmen, welche reelle oder, falls zutreffend, komplexe Funktion aufzurufen ist.

Includes

<math.h>
<complex.h>


Übersicht

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

Nur wenn die Implementierung __STDC_NO_COMPLEX__ nicht definiert:

#ifndef __STDC_WANT_LIB_EXT1__
#define carg  /* Beschreibung siehe */
#define cimag /* Beschreibung siehe */
#define conj  /* Beschreibung siehe */
#define cproj /* Beschreibung siehe */
#define creal /* Beschreibung siehe */
#endif

Nur wenn die Implementierung __STDC_IEC_60559_DFP__ definiert:

#define d32add      /* siehe Beschreibung */
#define d32div      /* siehe Beschreibung */
#define d32fma      /* siehe Beschreibung */
#define d32mul      /* siehe Beschreibung */
#define d32sqrt     /* siehe Beschreibung */
#define d32sub      /* siehe Beschreibung */
#define d64add      /* siehe Beschreibung */
#define d64div      /* siehe Beschreibung */
#define d64fma      /* siehe Beschreibung */
#define d64mul      /* siehe Beschreibung */
#define d64sqrt     /* siehe Beschreibung */
#define d64sub      /* siehe Beschreibung */
#define llquantexp  /* siehe Beschreibung */
#define quantize    /* siehe Beschreibung */
#define quantum     /* siehe Beschreibung */
#define samequantum /* siehe Beschreibung */

Nur wenn die Implementierung __STDC_IEC_60559_TYPES__ definiert und zusätzlich der Benutzercode __STDC_WANT_IEC_60559_TYPES_EXT__ definiert, bevor <tgmath.h> eingebunden wird:

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