11.4. Interfaces for libm

Table 11-35 defines the library name and shared object name for the libm library

Table 11-35. libm Definition

Library:libm
SONAME:libm.so.6

The behavior of the interfaces in this library is specified by the following specifications:

[LSB] ISO/IEC 23360 Part 1
[SUSv3] ISO POSIX (2003)
[SVID.3] SVID Issue 3

11.4.1. Math

11.4.1.1. Interfaces for Math

An LSB conforming implementation shall provide the architecture specific functions for Math specified in Table 11-36, with the full mandatory functionality as described in the referenced underlying specification.

Table 11-36. libm - Math Function Interfaces

__finite(GLIBC_2.2.5) [LSB]__finitef(GLIBC_2.2.5) [LSB]__finitel(GLIBC_2.2.5) [LSB]__fpclassify(GLIBC_2.2.5) [LSB]
__fpclassifyf(GLIBC_2.2.5) [LSB]__fpclassifyl(GLIBC_2.2.5) [LSB]__signbit(GLIBC_2.2.5) [LSB]__signbitf(GLIBC_2.2.5) [LSB]
__signbitl(GLIBC_2.2.5) [LSB]acos(GLIBC_2.2.5) [SUSv3]acosf(GLIBC_2.2.5) [SUSv3]acosh(GLIBC_2.2.5) [SUSv3]
acoshf(GLIBC_2.2.5) [SUSv3]acoshl(GLIBC_2.2.5) [SUSv3]acosl(GLIBC_2.2.5) [SUSv3]asin(GLIBC_2.2.5) [SUSv3]
asinf(GLIBC_2.2.5) [SUSv3]asinh(GLIBC_2.2.5) [SUSv3]asinhf(GLIBC_2.2.5) [SUSv3]asinhl(GLIBC_2.2.5) [SUSv3]
asinl(GLIBC_2.2.5) [SUSv3]atan(GLIBC_2.2.5) [SUSv3]atan2(GLIBC_2.2.5) [SUSv3]atan2f(GLIBC_2.2.5) [SUSv3]
atan2l(GLIBC_2.2.5) [SUSv3]atanf(GLIBC_2.2.5) [SUSv3]atanh(GLIBC_2.2.5) [SUSv3]atanhf(GLIBC_2.2.5) [SUSv3]
atanhl(GLIBC_2.2.5) [SUSv3]atanl(GLIBC_2.2.5) [SUSv3]cabs(GLIBC_2.2.5) [SUSv3]cabsf(GLIBC_2.2.5) [SUSv3]
cabsl(GLIBC_2.2.5) [SUSv3]cacos(GLIBC_2.2.5) [SUSv3]cacosf(GLIBC_2.2.5) [SUSv3]cacosh(GLIBC_2.2.5) [SUSv3]
cacoshf(GLIBC_2.2.5) [SUSv3]cacoshl(GLIBC_2.2.5) [SUSv3]cacosl(GLIBC_2.2.5) [SUSv3]carg(GLIBC_2.2.5) [SUSv3]
cargf(GLIBC_2.2.5) [SUSv3]cargl(GLIBC_2.2.5) [SUSv3]casin(GLIBC_2.2.5) [SUSv3]casinf(GLIBC_2.2.5) [SUSv3]
casinh(GLIBC_2.2.5) [SUSv3]casinhf(GLIBC_2.2.5) [SUSv3]casinhl(GLIBC_2.2.5) [SUSv3]casinl(GLIBC_2.2.5) [SUSv3]
catan(GLIBC_2.2.5) [SUSv3]catanf(GLIBC_2.2.5) [SUSv3]catanh(GLIBC_2.2.5) [SUSv3]catanhf(GLIBC_2.2.5) [SUSv3]
catanhl(GLIBC_2.2.5) [SUSv3]catanl(GLIBC_2.2.5) [SUSv3]cbrt(GLIBC_2.2.5) [SUSv3]cbrtf(GLIBC_2.2.5) [SUSv3]
cbrtl(GLIBC_2.2.5) [SUSv3]ccos(GLIBC_2.2.5) [SUSv3]ccosf(GLIBC_2.2.5) [SUSv3]ccosh(GLIBC_2.2.5) [SUSv3]
ccoshf(GLIBC_2.2.5) [SUSv3]ccoshl(GLIBC_2.2.5) [SUSv3]ccosl(GLIBC_2.2.5) [SUSv3]ceil(GLIBC_2.2.5) [SUSv3]
ceilf(GLIBC_2.2.5) [SUSv3]ceill(GLIBC_2.2.5) [SUSv3]cexp(GLIBC_2.2.5) [SUSv3]cexpf(GLIBC_2.2.5) [SUSv3]
cexpl(GLIBC_2.2.5) [SUSv3]cimag(GLIBC_2.2.5) [SUSv3]cimagf(GLIBC_2.2.5) [SUSv3]cimagl(GLIBC_2.2.5) [SUSv3]
clog(GLIBC_2.2.5) [SUSv3]clog10(GLIBC_2.2.5) [LSB]clog10f(GLIBC_2.2.5) [LSB]clog10l(GLIBC_2.2.5) [LSB]
clogf(GLIBC_2.2.5) [SUSv3]clogl(GLIBC_2.2.5) [SUSv3]conj(GLIBC_2.2.5) [SUSv3]conjf(GLIBC_2.2.5) [SUSv3]
conjl(GLIBC_2.2.5) [SUSv3]copysign(GLIBC_2.2.5) [SUSv3]copysignf(GLIBC_2.2.5) [SUSv3]copysignl(GLIBC_2.2.5) [SUSv3]
cos(GLIBC_2.2.5) [SUSv3]cosf(GLIBC_2.2.5) [SUSv3]cosh(GLIBC_2.2.5) [SUSv3]coshf(GLIBC_2.2.5) [SUSv3]
coshl(GLIBC_2.2.5) [SUSv3]cosl(GLIBC_2.2.5) [SUSv3]cpow(GLIBC_2.2.5) [SUSv3]cpowf(GLIBC_2.2.5) [SUSv3]
cpowl(GLIBC_2.2.5) [SUSv3]cproj(GLIBC_2.2.5) [SUSv3]cprojf(GLIBC_2.2.5) [SUSv3]cprojl(GLIBC_2.2.5) [SUSv3]
creal(GLIBC_2.2.5) [SUSv3]crealf(GLIBC_2.2.5) [SUSv3]creall(GLIBC_2.2.5) [SUSv3]csin(GLIBC_2.2.5) [SUSv3]
csinf(GLIBC_2.2.5) [SUSv3]csinh(GLIBC_2.2.5) [SUSv3]csinhf(GLIBC_2.2.5) [SUSv3]csinhl(GLIBC_2.2.5) [SUSv3]
csinl(GLIBC_2.2.5) [SUSv3]csqrt(GLIBC_2.2.5) [SUSv3]csqrtf(GLIBC_2.2.5) [SUSv3]csqrtl(GLIBC_2.2.5) [SUSv3]
ctan(GLIBC_2.2.5) [SUSv3]ctanf(GLIBC_2.2.5) [SUSv3]ctanh(GLIBC_2.2.5) [SUSv3]ctanhf(GLIBC_2.2.5) [SUSv3]
ctanhl(GLIBC_2.2.5) [SUSv3]ctanl(GLIBC_2.2.5) [SUSv3]drem(GLIBC_2.2.5) [LSB]dremf(GLIBC_2.2.5) [LSB]
dreml(GLIBC_2.2.5) [LSB]erf(GLIBC_2.2.5) [SUSv3]erfc(GLIBC_2.2.5) [SUSv3]erfcf(GLIBC_2.2.5) [SUSv3]
erfcl(GLIBC_2.2.5) [SUSv3]erff(GLIBC_2.2.5) [SUSv3]erfl(GLIBC_2.2.5) [SUSv3]exp(GLIBC_2.2.5) [SUSv3]
exp10(GLIBC_2.2.5) [LSB]exp10f(GLIBC_2.2.5) [LSB]exp10l(GLIBC_2.2.5) [LSB]exp2(GLIBC_2.2.5) [SUSv3]
exp2f(GLIBC_2.2.5) [SUSv3]exp2l(GLIBC_2.2.5) [SUSv3]expf(GLIBC_2.2.5) [SUSv3]expl(GLIBC_2.2.5) [SUSv3]
expm1(GLIBC_2.2.5) [SUSv3]expm1f(GLIBC_2.2.5) [SUSv3]expm1l(GLIBC_2.2.5) [SUSv3]fabs(GLIBC_2.2.5) [SUSv3]
fabsf(GLIBC_2.2.5) [SUSv3]fabsl(GLIBC_2.2.5) [SUSv3]fdim(GLIBC_2.2.5) [SUSv3]fdimf(GLIBC_2.2.5) [SUSv3]
fdiml(GLIBC_2.2.5) [SUSv3]feclearexcept(GLIBC_2.2.5) [SUSv3]fedisableexcept(GLIBC_2.2.5) [LSB]feenableexcept(GLIBC_2.2.5) [LSB]
fegetenv(GLIBC_2.2.5) [SUSv3]fegetexcept(GLIBC_2.2.5) [LSB]fegetexceptflag(GLIBC_2.2.5) [SUSv3]fegetround(GLIBC_2.2.5) [SUSv3]
feholdexcept(GLIBC_2.2.5) [SUSv3]feraiseexcept(GLIBC_2.2.5) [SUSv3]fesetenv(GLIBC_2.2.5) [SUSv3]fesetexceptflag(GLIBC_2.2.5) [SUSv3]
fesetround(GLIBC_2.2.5) [SUSv3]fetestexcept(GLIBC_2.2.5) [SUSv3]feupdateenv(GLIBC_2.2.5) [SUSv3]finite(GLIBC_2.2.5) [LSB]
finitef(GLIBC_2.2.5) [LSB]finitel(GLIBC_2.2.5) [LSB]floor(GLIBC_2.2.5) [SUSv3]floorf(GLIBC_2.2.5) [SUSv3]
floorl(GLIBC_2.2.5) [SUSv3]fma(GLIBC_2.2.5) [SUSv3]fmaf(GLIBC_2.2.5) [SUSv3]fmal(GLIBC_2.2.5) [SUSv3]
fmax(GLIBC_2.2.5) [SUSv3]fmaxf(GLIBC_2.2.5) [SUSv3]fmaxl(GLIBC_2.2.5) [SUSv3]fmin(GLIBC_2.2.5) [SUSv3]
fminf(GLIBC_2.2.5) [SUSv3]fminl(GLIBC_2.2.5) [SUSv3]fmod(GLIBC_2.2.5) [SUSv3]fmodf(GLIBC_2.2.5) [SUSv3]
fmodl(GLIBC_2.2.5) [SUSv3]frexp(GLIBC_2.2.5) [SUSv3]frexpf(GLIBC_2.2.5) [SUSv3]frexpl(GLIBC_2.2.5) [SUSv3]
gamma(GLIBC_2.2.5) [LSB]gammaf(GLIBC_2.2.5) [LSB]gammal(GLIBC_2.2.5) [LSB]hypot(GLIBC_2.2.5) [SUSv3]
hypotf(GLIBC_2.2.5) [SUSv3]hypotl(GLIBC_2.2.5) [SUSv3]ilogb(GLIBC_2.2.5) [SUSv3]ilogbf(GLIBC_2.2.5) [SUSv3]
ilogbl(GLIBC_2.2.5) [SUSv3]j0(GLIBC_2.2.5) [SUSv3]j0f(GLIBC_2.2.5) [LSB]j0l(GLIBC_2.2.5) [LSB]
j1(GLIBC_2.2.5) [SUSv3]j1f(GLIBC_2.2.5) [LSB]j1l(GLIBC_2.2.5) [LSB]jn(GLIBC_2.2.5) [SUSv3]
jnf(GLIBC_2.2.5) [LSB]jnl(GLIBC_2.2.5) [LSB]ldexp(GLIBC_2.2.5) [SUSv3]ldexpf(GLIBC_2.2.5) [SUSv3]
ldexpl(GLIBC_2.2.5) [SUSv3]lgamma(GLIBC_2.2.5) [SUSv3]lgamma_r(GLIBC_2.2.5) [LSB]lgammaf(GLIBC_2.2.5) [SUSv3]
lgammaf_r(GLIBC_2.2.5) [LSB]lgammal(GLIBC_2.2.5) [SUSv3]lgammal_r(GLIBC_2.2.5) [LSB]llrint(GLIBC_2.2.5) [SUSv3]
llrintf(GLIBC_2.2.5) [SUSv3]llrintl(GLIBC_2.2.5) [SUSv3]llround(GLIBC_2.2.5) [SUSv3]llroundf(GLIBC_2.2.5) [SUSv3]
llroundl(GLIBC_2.2.5) [SUSv3]log(GLIBC_2.2.5) [SUSv3]log10(GLIBC_2.2.5) [SUSv3]log10f(GLIBC_2.2.5) [SUSv3]
log10l(GLIBC_2.2.5) [SUSv3]log1p(GLIBC_2.2.5) [SUSv3]log1pf(GLIBC_2.2.5) [SUSv3]log1pl(GLIBC_2.2.5) [SUSv3]
log2(GLIBC_2.2.5) [SUSv3]log2f(GLIBC_2.2.5) [SUSv3]log2l(GLIBC_2.2.5) [SUSv3]logb(GLIBC_2.2.5) [SUSv3]
logbf(GLIBC_2.2.5) [SUSv3]logbl(GLIBC_2.2.5) [SUSv3]logf(GLIBC_2.2.5) [SUSv3]logl(GLIBC_2.2.5) [SUSv3]
lrint(GLIBC_2.2.5) [SUSv3]lrintf(GLIBC_2.2.5) [SUSv3]lrintl(GLIBC_2.2.5) [SUSv3]lround(GLIBC_2.2.5) [SUSv3]
lroundf(GLIBC_2.2.5) [SUSv3]lroundl(GLIBC_2.2.5) [SUSv3]matherr(GLIBC_2.2.5) [SVID.3]modf(GLIBC_2.2.5) [SUSv3]
modff(GLIBC_2.2.5) [SUSv3]modfl(GLIBC_2.2.5) [SUSv3]nan(GLIBC_2.2.5) [SUSv3]nanf(GLIBC_2.2.5) [SUSv3]
nanl(GLIBC_2.2.5) [SUSv3]nearbyint(GLIBC_2.2.5) [SUSv3]nearbyintf(GLIBC_2.2.5) [SUSv3]nearbyintl(GLIBC_2.2.5) [SUSv3]
nextafter(GLIBC_2.2.5) [SUSv3]nextafterf(GLIBC_2.2.5) [SUSv3]nextafterl(GLIBC_2.2.5) [SUSv3]nexttoward(GLIBC_2.2.5) [SUSv3]
nexttowardf(GLIBC_2.2.5) [SUSv3]nexttowardl(GLIBC_2.2.5) [SUSv3]pow(GLIBC_2.2.5) [SUSv3]pow10(GLIBC_2.2.5) [LSB]
pow10f(GLIBC_2.2.5) [LSB]pow10l(GLIBC_2.2.5) [LSB]powf(GLIBC_2.2.5) [SUSv3]powl(GLIBC_2.2.5) [SUSv3]
remainder(GLIBC_2.2.5) [SUSv3]remainderf(GLIBC_2.2.5) [SUSv3]remainderl(GLIBC_2.2.5) [SUSv3]remquo(GLIBC_2.2.5) [SUSv3]
remquof(GLIBC_2.2.5) [SUSv3]remquol(GLIBC_2.2.5) [SUSv3]rint(GLIBC_2.2.5) [SUSv3]rintf(GLIBC_2.2.5) [SUSv3]
rintl(GLIBC_2.2.5) [SUSv3]round(GLIBC_2.2.5) [SUSv3]roundf(GLIBC_2.2.5) [SUSv3]roundl(GLIBC_2.2.5) [SUSv3]
scalb(GLIBC_2.2.5) [SUSv3]scalbf(GLIBC_2.2.5) [LSB]scalbl(GLIBC_2.2.5) [LSB]scalbln(GLIBC_2.2.5) [SUSv3]
scalblnf(GLIBC_2.2.5) [SUSv3]scalblnl(GLIBC_2.2.5) [SUSv3]scalbn(GLIBC_2.2.5) [SUSv3]scalbnf(GLIBC_2.2.5) [SUSv3]
scalbnl(GLIBC_2.2.5) [SUSv3]significand(GLIBC_2.2.5) [LSB]significandf(GLIBC_2.2.5) [LSB]significandl(GLIBC_2.2.5) [LSB]
sin(GLIBC_2.2.5) [SUSv3]sincos(GLIBC_2.2.5) [LSB]sincosf(GLIBC_2.2.5) [LSB]sincosl(GLIBC_2.2.5) [LSB]
sinf(GLIBC_2.2.5) [SUSv3]sinh(GLIBC_2.2.5) [SUSv3]sinhf(GLIBC_2.2.5) [SUSv3]sinhl(GLIBC_2.2.5) [SUSv3]
sinl(GLIBC_2.2.5) [SUSv3]sqrt(GLIBC_2.2.5) [SUSv3]sqrtf(GLIBC_2.2.5) [SUSv3]sqrtl(GLIBC_2.2.5) [SUSv3]
tan(GLIBC_2.2.5) [SUSv3]tanf(GLIBC_2.2.5) [SUSv3]tanh(GLIBC_2.2.5) [SUSv3]tanhf(GLIBC_2.2.5) [SUSv3]
tanhl(GLIBC_2.2.5) [SUSv3]tanl(GLIBC_2.2.5) [SUSv3]tgamma(GLIBC_2.2.5) [SUSv3]tgammaf(GLIBC_2.2.5) [SUSv3]
tgammal(GLIBC_2.2.5) [SUSv3]trunc(GLIBC_2.2.5) [SUSv3]truncf(GLIBC_2.2.5) [SUSv3]truncl(GLIBC_2.2.5) [SUSv3]
y0(GLIBC_2.2.5) [SUSv3]y0f(GLIBC_2.2.5) [LSB]y0l(GLIBC_2.2.5) [LSB]y1(GLIBC_2.2.5) [SUSv3]
y1f(GLIBC_2.2.5) [LSB]y1l(GLIBC_2.2.5) [LSB]yn(GLIBC_2.2.5) [SUSv3]ynf(GLIBC_2.2.5) [LSB]
ynl(GLIBC_2.2.5) [LSB]   

An LSB conforming implementation shall provide the architecture specific deprecated functions for Math specified in Table 11-37, with the full mandatory functionality as described in the referenced underlying specification.

Note: These interfaces are deprecated, and applications should avoid using them. These interfaces may be withdrawn in future releases of this specification.

Table 11-37. libm - Math Deprecated Function Interfaces

drem(GLIBC_2.2.5) [LSB]dremf(GLIBC_2.2.5) [LSB]dreml(GLIBC_2.2.5) [LSB]finite(GLIBC_2.2.5) [LSB]
finitef(GLIBC_2.2.5) [LSB]finitel(GLIBC_2.2.5) [LSB]gamma(GLIBC_2.2.5) [LSB]gammaf(GLIBC_2.2.5) [LSB]
gammal(GLIBC_2.2.5) [LSB]matherr(GLIBC_2.2.5) [SVID.3]  

An LSB conforming implementation shall provide the architecture specific data interfaces for Math specified in Table 11-38, with the full mandatory functionality as described in the referenced underlying specification.

Table 11-38. libm - Math Data Interfaces

signgam(GLIBC_2.2.5) [SUSv3]