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

FreeBSD Manual Pages


home | help
MATH(3)			 BSD 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'	ap-
     pended.  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.

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

   Classification Functions
     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
     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

   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 infor-
     mation 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)
     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

     Unlike the	algebraic functions listed earlier, the	routines in this sec-
     tion may not produce a result that	is correctly rounded, so reproducible
     results cannot be guaranteed across platforms.  For most of these func-
     tions, however, incorrect rounding	occurs rarely, and then	only in	very-
     close-to-halfway cases.

     fenv(3), ieee(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.

     The log2()	and nan() functions are	missing, and many functions are	not
     available in their	long double variants.

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

     On	some architectures, trigonometric argument reduction is	not performed
     accurately, resulting in errors greater than 1 ulp	for large arguments to
     cos(), sin(), and tan().

BSD				 April 5, 2005				   BSD


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

home | help