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).
Supplemenatary mathematical functions listed below are merged into C2x standard.
Predefined feature test macros
integer constant of type
long and value
201506L (macro constant)
Supplementary mathematical functions
compute
2x
-1 (function) [edit]
compute
10x
-1 (function) [edit]
compute
log2(1+x) (function) [edit]
compute
log10(1+x) (function) [edit]
compute the inverse square root
x-1/2
(function) [edit]
compute compound interest,
(1+x)n
(function) [edit]
compute the nth root of x,
x1/n
(function) [edit]
compute x raised to the nth power, where n is integer
(function) [edit]
compute x raised to the y power,
xy
(function) [edit]
compute arccos(x)/π (measuring the angle in half-revolutions)
(function) [edit]
compute arcsin(x)/π (measuring the angle in half-revolutions)
(function) [edit]
compute arctan(x)/π (measuring the angle in half-revolutions)
(function) [edit]
compute arctan(y/x)/π (measuring the angle in half-revolutions)
(function) [edit]
compute cos(πx) (measuring the angle in half-revolutions)
(function) [edit]
compute sin(πx) (measuring the angle in half-revolutions)
(function) [edit]
compute tan(πx) (measuring the angle in half-revolutions)
(function) [edit]
Reduction functions
compute the sum of n members of an array
(function) [edit]
compute the sum of the absolute values of n members of an array
(function) [edit]
compute the sum of squares of n members of an array
(function) [edit]
compute the dot product between n members of two arrays
(function) [edit]
compute the product of n members of an array as a scaled value and a scale factor
(function) [edit]
compute the dot product of n members of two arrays as a scaled value and a scale factor
(function) [edit]
compute the product of the differences between corresponding n members of two arrays as a scaled value and a scale factor
(function) [edit]
Correctly-rounded version of functions
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)
Complex version of functions
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)
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.