The following routines provide portable implementations of functions
found in the BSD math library. When native versions are not available
the functions described here can be used instead. The substitution can
be made automatically if you use autoconf
to compile your
application (see Portability functions).
This function computes the value of \log(1+x) in a way that is accurate for small x. It provides an alternative to the BSD math function
log1p(x)
.
This function computes the value of \exp(x)-1 in a way that is accurate for small x. It provides an alternative to the BSD math function
expm1(x)
.
This function computes the value of \sqrt{x^2 + y^2} in a way that avoids overflow. It provides an alternative to the BSD math function
hypot(x,y)
.
This function computes the value of \sqrt{x^2 + y^2 + z^2} in a way that avoids overflow.
This function computes the value of \arccosh(x). It provides an alternative to the standard math function
acosh(x)
.
This function computes the value of \arcsinh(x). It provides an alternative to the standard math function
asinh(x)
.
This function computes the value of \arctanh(x). It provides an alternative to the standard math function
atanh(x)
.
This function computes the value of x * 2^e. It provides an alternative to the standard math function
ldexp(x,e)
.
This function splits the number x into its normalized fraction f and exponent e, such that x = f * 2^e and 0.5 <= f < 1. The function returns f and stores the exponent in e. If x is zero, both f and e are set to zero. This function provides an alternative to the standard math function
frexp(x, e)
.