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)
compute 10x

(function)
compute 10x
-1

(function)
compute ln(1+x) (same as log1p)
(function)
compute log
2
(1+x)

(function)
compute log
10
(1+x)

(function)
compute the inverse square root x-1/2

(function)
compute compound interest, (1+x)n

(function)
compute the nth root of x, x1/n

(function)
compute x raised to the nth power, where n is integer
(function)
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)
compute cos(πx) (measuring the angle in half-revolutions)
(function)
compute sin(πx) (measuring the angle in half-revolutions)
(function)
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)

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.