Programming Tools Guide
Chapter 2, C compilation system

Math library (libm)

Math library (libm)

The math library, libm, contains the mathematics functions supplied by the C compilation system. This section describes some of the major functions,
organized by the manual page on which they appear. Note that functions whose names end with the letter ``f'' are single-precision versions, which means that their argument and return types are float. Functions whose names end with the letter ``l'' are long double-precision versions, which means that their argument and return types are long double. The header file math.h should be included in programs that use math functions. 

Table 2-6 Math functions

 ----------------------------------------------------
 exp(S) 
 ----------------------------------------------------
 exp           expf         Return e^x.
 cbrt                       Return cube root ofx.
 log           logf         Return the natural
                            logarithm of x.  The
                            value of x must be
                            positive.
 log10         log10f       Return the base-ten
                            logarithm of x.  The
                            value of x must be
                            positive.
 pow           powf         Return x^y.  If x is
                            zero, y must be positive.
                            If x is negative, y must
                            be an integer.
 sqrt          sqrtf        Return the non-negative
                            square root of x.  The
                            value of x must be non-
                            negative.
 ----------------------------------------------------
 hypot(S) 
 ----------------------------------------------------
 hypot                      Return sqrt(x  x + y  
                            y), taking precautions
                            against overflows.
 ----------------------------------------------------
 gamma(S) 
 ----------------------------------------------------
 gamma         lgamma       Return ln(| Γ(x)| ),
                            where Γ(x) is defined as
                            $int from 0 to x e sup -t
                            t sup x-1 dt$.
 ----------------------------------------------------
 trig(S) 
 ----------------------------------------------------
 sin           sinf         Return, respectively, the
                            sine, cosine, and tangent
                            of x, measured in
                            radians.
 cos           cosf
 tan           tanf
 asin          asinf        Return the arcsine of x,
                            in the range [-π/2,
                            +π/2].
 acos          acosf        Return the arccosine of
                            x, in the range [0,+π].
 atan          atanf        Return the arctangent of
                            x, in the range (-π/2,
                            +π/2).
 atan2         atan2f       Return the arctangent of
                            y/x, in the range (-π,
                            +π], using the signs of
                            both arguments to
                            determine the quadrant of
                            the return value.
 ----------------------------------------------------
 sinh(S) 
 ----------------------------------------------------
 sinh          sinhf        Return, respectively, the
                            hyperbolic sine, cosine,
                            and tangent of their
                            argument.
 cosh          coshf
 tanh          tanhf
 asinh acosh                Return, respectively, the
 atanh                      inverse hyperbolic sine,
                            cosine, and tangent of
                            their argument.
 ----------------------------------------------------
 matherr(S) 
 ----------------------------------------------------
 matherr                    Error handling.
 ----------------------------------------------------
 erf(S) 
 ----------------------------------------------------
 erf                        Returns the error
                            function of x, defined as
                            $ 2 over sqrt pi int from
                            0 to x e sup {-t sup
                            2}dt$.
 erfc                       erfc, which returns 1.0 -
                            erf(x), is provided
                            because of the extreme
                            loss of relative accuracy
                            if erf is called for
                            large x and the result
                            subtracted from 1.0 (for
                            example, for x = 5, 12
                            places are lost).
 ----------------------------------------------------
 floor(S) 
 ----------------------------------------------------
 floor         floorf       Return the largest
                            integer not greater than
                            x.
 ceil          ceilf        Return the smallest
                            integer not less than x.
 copysign                   Return x but with the
                            sign of y.
 fmod          fmodf        Return the floating point
                            remainder of the division
                            of x by y: x if y is
                            zero, otherwise the
                            number f with same sign
                            as x, such that x = iy +
                            f for some integer i, and
                            | f |<| y |.
 fabs          fabsf        Return the absolute value
                            of x, | x |.
 rint                       Return the integer value
                            nearest to the double-
                            precision floating point
                            argument x as a double-
                            precision floating point
                            number.  The returned
                            value is rounded
                            according to the
                            currently set machine
                            rounding mode.  If
                            round-to-nearest (the
                            default mode) is set and
                            the difference between
                            the function argument and
                            the rounded result is
                            exactly 0.5, then the
                            result will be rounded to
                            the nearest even integer.
 remainder                  Return the floating point
                            remainder of the division
                            of x by y: NaN if y is
                            zero, otherwise the value
                            r = x - yn, where n is
                            the integer nearest the
                            exact value of x.
                            Whenever |n - x/y| = 1/2,
                            then n is even.