Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
MATH(3)                FreeBSD Library Functions Manual                MATH(3)

     math - floating-point mathematical library

     Math Library (libm, -lm)

     #include <math.h>

     These functions constitute the C math library.

     Each of the following double functions has a float counterpart with an
     `f' appended to the name and a long double counterpart with an `l'
     appended.  As an example, the float and long double counterparts of
     double acos(double x) are float acosf(float x) and long double acosl(long
     double x), respectively.  The classification macros and silent order
     predicates are type generic and should not be suffixed with `f' or `l'.

   Algebraic Functions
     Name              Description
     cbrt              cube root
     fma               fused multiply-add
     hypot             Euclidean distance
     sqrt              square root

   Classification Macros
     Name              Description
     fpclassify        classify a floating-point value
     isfinite          determine whether a value is finite
     isinf             determine whether a value is infinite
     isnan             determine whether a value is NaN
     isnormal          determine whether a value is normalized

   Exponent Manipulation Functions
     Name              Description
     frexp             extract exponent and mantissa
     ilogb             extract exponent
     ldexp             multiply by power of 2
     logb              extract exponent
     scalbln           adjust exponent
     scalbn            adjust exponent

   Extremum- and Sign-Related Functions
     Name              Description
     copysign          copy sign bit
     fabs              absolute value
     fdim              positive difference
     fmax              maximum function
     fmin              minimum function
     signbit           extract sign bit

   Not a Number Functions
     Name              Description
     nan               generate a quiet NaN

   Residue and Rounding Functions
     Name              Description
     ceil              integer no less than
     floor             integer no greater than
     fmod              positive remainder
     llrint            round to integer in fixed-point format
     llround           round to nearest integer in fixed-point format
     lrint             round to integer in fixed-point format
     lround            round to nearest integer in fixed-point format
     modf              extract integer and fractional parts
     nearbyint         round to integer (silent)
     nextafter         next representable value
     nexttoward        next representable value
     remainder         remainder
     remquo            remainder with partial quotient
     rint              round to integer
     round             round to nearest integer
     trunc             integer no greater in magnitude than

     The ceil(), floor(), llround(), lround(), round(), and trunc() functions
     round in predetermined directions, whereas llrint(), lrint(), and rint()
     round according to the current (dynamic) rounding mode.  For more
     information on controlling the dynamic rounding mode, see fenv(3) and

   Silent Order Predicates
     Name              Description
     isgreater         greater than relation
     isgreaterequal    greater than or equal to relation
     isless            less than relation
     islessequal       less than or equal to relation
     islessgreater     less than or greater than relation
     isunordered       unordered relation

   Transcendental Functions
     Name              Description
     acos              inverse cosine
     acosh             inverse hyperbolic cosine
     asin              inverse sine
     asinh             inverse hyperbolic sine
     atan              inverse tangent
     atanh             inverse hyperbolic tangent
     atan2             atan(y/x); complex argument
     cos               cosine
     cosh              hyperbolic cosine
     erf               error function
     erfc              complementary error function
     exp               exponential base e
     exp2              exponential base 2
     expm1             exp(x)-1
     j0                Bessel function of the first kind of the order 0
     j1                Bessel function of the first kind of the order 1
     jn                Bessel function of the first kind of the order n
     lgamma            log gamma function
     log               natural logarithm
     log10             logarithm to base 10
     log1p             log(1+x)
     log2              base 2 logarithm
     pow               exponential x**y
     sin               trigonometric function
     sinh              hyperbolic function
     tan               trigonometric function
     tanh              hyperbolic function
     tgamma            gamma function
     y0                Bessel function of the second kind of the order 0
     y1                Bessel function of the second kind of the order 1
     yn                Bessel function of the second kind of the order n

     The routines in this section might not produce a result that is correctly
     rounded, so reproducible results cannot be guaranteed across platforms.
     For most of these functions, however, incorrect rounding occurs rarely,
     and then only in very-close-to-halfway cases.

     fenv(3), ieee(3), tgmath(3)

     A math library with many of the present functions appeared in Version 7
     AT&T UNIX.  The library was substantially rewritten for 4.3BSD to provide
     better accuracy and speed on machines supporting either VAX or IEEE 754
     floating-point.  Most of this library was replaced with FDLIBM, developed
     at Sun Microsystems, in FreeBSD 1.1.5.  Additional routines, including
     ones for float and long double values, were written for or imported into
     subsequent versions of FreeBSD.

     Some of the long double math functions in ISO/IEC 9899:1999 (``ISO C99'')
     are not available.

     Many of the routines to compute transcendental functions produce
     inaccurate results in other than the default rounding mode.

     On the i386 platform, trigonometric argument reduction is not performed
     accurately for huge arguments, resulting in large errors for such
     arguments to cos(), sin(), and tan().

FreeBSD 11.0-PRERELEASE        December 5, 2010        FreeBSD 11.0-PRERELEASE


Want to link to this manual page? Use this URL:

home | help