10.5. Interfaces for libm

Table 10-36 defines the library name and shared object name for the libm library

Table 10-36. libm Definition

Library:libm
SONAME:libm.so.6

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

[LSB] LSB Core - Generic
[SUSv3] POSIX 1003.1-2001 (ISO/IEC 9945-2003)
[SUSv4] POSIX 1003.1-2008 (ISO/IEC 9945-2009)

10.5.1. Math

10.5.1.1. Interfaces for Math

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

Table 10-37. libm - Math Function Interfaces

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

An LSB conforming implementation shall provide the architecture specific deprecated functions for Math specified in Table 10-38, 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 10-38. libm - Math Deprecated Function Interfaces

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

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

Table 10-39. libm - Math Data Interfaces

signgam(GLIBC_2.0) [SUSv4]