Floating-point extensions part 4: supplementary functions
Floating-point extensions for C - Part 4: Supplementary functions, ISO/IEC TS 18661-4:2015, defines the following new components for the C standard library, as recommended by ISO/IEC/IEEE 60559:2011 (the current revision of IEEE-754)
| __STDC_IEC_60559_FUNCS__ | integer constant of type long and value 201506L (macro constant) | 
| Defined in header  <math.h> | |
| compute 2x -1 (function) | |
| (FP Ext 4 TS) | compute 10x (function) | 
| compute 10x -1 (function) | |
| (FP Ext 4 TS) | compute ln(1+x) (same as log1p) (function) | 
| compute log 2(1+x) (function) | |
| compute log 10(1+x) (function) | |
| (FP Ext 4 TS) | compute the inverse square root x-1/2 (function) | 
| compute compound interest, (1+x)n (function) | |
| (FP Ext 4 TS) | compute the nth root of x, x1/n (function) | 
| (FP Ext 4 TS) | compute x raised to the nth power, where n is integer (function) | 
| (FP Ext 4 TS) | compute x raised to the y power, xy (function) | 
| compute arccos(x)/π (measuring the angle in half-revolutions) (function) | |
| compute arcsin(x)/π (measuring the angle in half-revolutions) (function) | |
| compute arctan(x)/π (measuring the angle in half-revolutions) (function) | |
| compute arctan(y/x)/π (measuring the angle in half-revolutions) (function) | |
| (FP Ext 4 TS) | compute cos(πx) (measuring the angle in half-revolutions) (function) | 
| (FP Ext 4 TS) | compute sin(πx) (measuring the angle in half-revolutions) (function) | 
| (FP Ext 4 TS) | compute tan(πx) (measuring the angle in half-revolutions) (function) | 
| compute the sum of n members of an array (function) | |
| compute the sum of the absolute values of n members of an array (function) | |
| compute the sum of squares of n members of an array (function) | |
| compute the dot product between n members of two arrays (function) | |
| compute the product of n members of an array as a scaled value and a scale factor (function) | |
| compute the dot product of n members of two arrays as a scaled value and a scale factor (function) | |
| compute the product of the differences between corresponding n members of two arrays as a scaled value and a scale factor (function) | |
| crexp(optional) (FP Ext 4 TS) | correctly-rounded version of exp (function) | 
| crexpm1(optional) (FP Ext 4 TS) | correctly-rounded version of expm1 (function) | 
| crexp2(optional) (FP Ext 4 TS) | correctly-rounded version of exp2 (function) | 
| crexp2m1(optional) (FP Ext 4 TS) | correctly-rounded version of exp2m1 (function) | 
| crexp10(optional) (FP Ext 4 TS) | correctly-rounded version of exp10 (function) | 
| crexp10m1(optional) (FP Ext 4 TS) | correctly-rounded version of exp10m1 (function) | 
| crlog(optional) (FP Ext 4 TS) | correctly-rounded version of log (function) | 
| crlog2(optional) (FP Ext 4 TS) | correctly-rounded version of log2 (function) | 
| crlog10(optional) (FP Ext 4 TS) | correctly-rounded version of log10 (function) | 
| crlog1p(optional) (FP Ext 4 TS) | correctly-rounded version of log1p (function) | 
| crlogp1(optional) (FP Ext 4 TS) | correctly-rounded version of logp1 (function) | 
| crlog2p1(optional) (FP Ext 4 TS) | correctly-rounded version of log2p1 (function) | 
| crlog10p1(optional) (FP Ext 4 TS) | correctly-rounded version of log10p1 (function) | 
| crrsqrt(optional) (FP Ext 4 TS) | correctly-rounded version of rsqrt (function) | 
| crcompoundn(optional) (FP Ext 4 TS) | correctly-rounded version of compoundn (function) | 
| crrootn(optional) (FP Ext 4 TS) | correctly-rounded version of rootn (function) | 
| crpown(optional) (FP Ext 4 TS) | correctly-rounded version of pown (function) | 
| crpow(optional) (FP Ext 4 TS) | correctly-rounded version of pow (function) | 
| crpowr(optional) (FP Ext 4 TS) | correctly-rounded version of powr (function) | 
| crsin(optional) (FP Ext 4 TS) | correctly-rounded version of sin (function) | 
| crcos(optional) (FP Ext 4 TS) | correctly-rounded version of cos (function) | 
| crtan(optional) (FP Ext 4 TS) | correctly-rounded version of tan (function) | 
| crsinpi(optional) (FP Ext 4 TS) | correctly-rounded version of sinpi (function) | 
| crcospi(optional) (FP Ext 4 TS) | correctly-rounded version of cospi (function) | 
| crtanpi(optional) (FP Ext 4 TS) | correctly-rounded version of tanpi (function) | 
| crasinpi(optional) (FP Ext 4 TS) | correctly-rounded version of asinpi (function) | 
| cracospi(optional) (FP Ext 4 TS) | correctly-rounded version of acospi (function) | 
| cracospi(optional) (FP Ext 4 TS) | correctly-rounded version of acospi (function) | 
| cratanpi(optional) (FP Ext 4 TS) | correctly-rounded version of atanpi (function) | 
| cratan2pi(optional) (FP Ext 4 TS) | correctly-rounded version of atan2pi (function) | 
| crasin(optional) (FP Ext 4 TS) | correctly-rounded version of asin (function) | 
| cracos(optional) (FP Ext 4 TS) | correctly-rounded version of acos (function) | 
| cratan(optional) (FP Ext 4 TS) | correctly-rounded version of atan (function) | 
| cratan2(optional) (FP Ext 4 TS) | correctly-rounded version of atan2 (function) | 
| crsinh(optional) (FP Ext 4 TS) | correctly-rounded version of sinh (function) | 
| crcosh(optional) (FP Ext 4 TS) | correctly-rounded version of cosh (function) | 
| crtanh(optional) (FP Ext 4 TS) | correctly-rounded version of tanh (function) | 
| crasinh(optional) (FP Ext 4 TS) | correctly-rounded version of asinh (function) | 
| cracosh(optional) (FP Ext 4 TS) | correctly-rounded version of acosh (function) | 
| cratanh(optional) (FP Ext 4 TS) | correctly-rounded version of atanh (function) | 
| crhypot(optional) (FP Ext 4 TS) | correctly-rounded version of hypot (function) | 
| Defined in header  <complex.h> | |
| cexp2m1(optional) (FP Ext 4 TS) | complex number version of exp2m1 (function) | 
| cexp10(optional) (FP Ext 4 TS) | complex number version of exp10 (function) | 
| cexp10m1(optional) (FP Ext 4 TS) | complex number version of exp10m1 (function) | 
| clogp1(optional) (FP Ext 4 TS) | complex number version of logp1 (function) | 
| clog2p1(optional) (FP Ext 4 TS) | complex number version of log2p1 (function) | 
| clog10p1(optional) (FP Ext 4 TS) | complex number version of log10p1 (function) | 
| crsqrt (optional) (FP Ext 4 TS) | complex number version of rsqrt (function) | 
| ccompoundn (optional) (FP Ext 4 TS) | complex number version of compoundn (function) | 
| crootn(optional) (FP Ext 4 TS) | complex number version of rootn (function) | 
| cpown (optional) (FP Ext 4 TS) | complex number version of pown (function) | 
| cpowr(optional) (FP Ext 4 TS) | complex number version of powr (function) | 
| cacospi(optional) (FP Ext 4 TS) | complex number version of acospi (function) | 
| casinpi(optional) (FP Ext 4 TS) | complex number version of asinpi (function) | 
| catanpi(optional) (FP Ext 4 TS) | complex number version of atanpi (function) | 
| ccospi(optional) (FP Ext 4 TS) | complex number version of cospi (function) | 
| csinpi(optional) (FP Ext 4 TS) | complex number version of sinpi (function) | 
| ctanpi(optional) (FP Ext 4 TS) | complex number version of tanpi (function) | 
[edit] Notes
All functions added to the C library by this extension are only declared if a macro __STDC_WANT_IEC_60559_FUNCS_EXT__ is defined before math.h is included.
The decimal floating-point variants of every function are only defined if __STDC_WANT_IEC_60559_DFP_EXT__ is also defined before math.h is included.
The extended precision variants of every function are only defined if __STDC_WANT_IEC_60559_TYPES_EXT__ is defined before math.h is included.
The correctly-rounded versions of all functions (with the cr- prefix) are optional.


