Namespaces
Variants

Standard library header <tgmath.h> (C99)

From cppreference.net

Este encabezado es parte de la biblioteca numérica y proporciona macros genéricas de tipo que determinan qué función real o, cuando sea aplicable, compleja llamar basándose en los tipos de los argumentos.

Incluye

<math.h>
<complex.h>


Sinopsis

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

Solo si la implementación no define __STDC_NO_COMPLEX__ :

#ifndef __STDC_WANT_LIB_EXT1__
#define carg  /* ver descripción */
#define cimag /* ver descripción */
#define conj  /* ver descripción */
#define cproj /* ver descripción */
#define creal /* ver descripción */
#endif

Solo si la implementación define __STDC_IEC_60559_DFP__ :

#define d32add      /* ver descripción */
#define d32div      /* ver descripción */
#define d32fma      /* ver descripción */
#define d32mul      /* ver descripción */
#define d32sqrt     /* ver descripción */
#define d32sub      /* ver descripción */
#define d64add      /* ver descripción */
#define d64div      /* ver descripción */
#define d64fma      /* ver descripción */
#define d64mul      /* ver descripción */
#define d64sqrt     /* ver descripción */
#define d64sub      /* ver descripción */
#define llquantexp  /* ver descripción */
#define quantize    /* ver descripción */
#define quantum     /* ver descripción */
#define samequantum /* ver descripción */

Solo si la implementación define __STDC_IEC_60559_TYPES__ y adicionalmente el código de usuario define __STDC_WANT_IEC_60559_TYPES_EXT__ antes de cualquier inclusión de <tgmath.h> :

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