Next: , Previous: Infinities and Not-a-number, Up: Mathematical Functions

### 4.3 Elementary Functions

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).

— Function: double gsl_log1p (const double x)

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).

— Function: double gsl_expm1 (const double 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).

— Function: double gsl_hypot (const double x, const double y)

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).

— Function: double gsl_acosh (const double x)

This function computes the value of \arccosh(x). It provides an alternative to the standard math function acosh(x).

— Function: double gsl_asinh (const double x)

This function computes the value of \arcsinh(x). It provides an alternative to the standard math function asinh(x).

— Function: double gsl_atanh (const double x)

This function computes the value of \arctanh(x). It provides an alternative to the standard math function atanh(x).

— Function: double gsl_ldexp (double x, int e)

This function computes the value of x * 2^e. It provides an alternative to the standard math function ldexp(x,e).

— Function: double gsl_frexp (double x, int * 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).