<math.h>


#define HUGE_VAL <double rvalue>
double abs(double x); [C++ only]
float abs(float x); [C++ only]
long double abs(long double x); [C++ only]
double acos(double x);
float acos(float x); [C++ only]
long double acos(long double x); [C++ only]
float acosf(float x); [optional]
long double acosl(long double x); [optional]
double asin(double x);
float asin(float x); [C++ only]
long double asin(long double x); [C++ only]
float asinf(float x); [optional]
long double asinl(long double x); [optional]
double atan(double x);
float atan(float x); [C++ only]
long double atan(long double x); [C++ only]
float atanf(float x); [optional]
long double atanl(long double x); [optional]
double atan2(double y, double x);
float atan2(float y, float x); [C++ only]
long double atan2(long double y, long double x); [C++ only]
float atan2f(float y, float x); [optional]
long double atan2l(long double y, long double x); [optional]
double ceil(double x);
float ceil(float x); [C++ only]
long double ceil(long double x); [C++ only]
float ceilf(float x); [optional]
long double ceill(long double x); [optional]
double cos(double x);
float cos(float x); [C++ only]
long double cos(long double x); [C++ only]
float cosf(float x); [optional]
long double cosl(long double x); [optional]
double cosh(double x);
float cosh(float x); [C++ only]
long double cosh(long double x); [C++ only]
float coshf(float x); [optional]
long double coshl(long double x); [optional]
double exp(double x);
float exp(float x); [C++ only]
long double exp(long double x); [C++ only]
float expf(float x); [optional]
long double expl(long double x); [optional]
double fabs(double x);
float fabs(float x); [C++ only]
long double fabs(long double x); [C++ only]
float fabsf(float x); [optional]
long double fabsl(long double x); [optional]
double floor(double x);
float floor(float x); [C++ only]
long double floor(long double x); [C++ only]
float floorf(float x); [optional]
long double floorl(long double x); [optional]
double fmod(double x, double y);
float fmod(float x, float y); [C++ only]
long double fmod(long double x, long double y); [C++ only]
float fmodf(float x, float y); [optional]
long double fmodl(long double x, long double y); [optional]
double frexp(double x, int *pexp);
float frexp(float x, int *pexp); [C++ only]
long double frexp(long double x, int *pexp); [C++ only]
float frexpf(float x, int *pexp); [optional]
long double frexpl(long double x, int *pexp); [optional]
double ldexp(double x, int exp);
float ldexp(float x, int exp); [C++ only]
long double ldexp(long double x, int exp); [C++ only]
float ldexpf(float x, int exp); [optional]
long double ldexpl(long double x, int exp); [optional]
double log(double x);
float log(float x); [C++ only]
long double log(long double x); [C++ only]
float logf(float x); [optional]
long double logl(long double x); [optional]
double log10(double x);
float log10(float x); [C++ only]
long double log10(long double x); [C++ only]
float log10f(float x); [optional]
long double log10l(long double x); [optional]
double modf(double x, double *pint);
float modf(float x, float *pint); [C++ only]
long double modf(long double x, long double *pint); [C++ only]
float modff(float x, float *pint); [optional]
long double modfl(long double x, long double *pint); [optional]
double pow(double x, double y);
float pow(float x, float y); [C++ only]
long double pow(long double x, long double y); [C++ only]
double pow(double x, int y); [C++ only]
float pow(float x, int y); [C++ only]
long double pow(long double x, int y); [C++ only]
float powf(float x, float y); [optional]
long double powl(long double x, long double y); [optional]
double sin(double x);
float sin(float x); [C++ only]
long double sin(long double x); [C++ only]
float sinf(float x); [optional]
long double sinl(long double x); [optional]
double sinh(double x);
float sinh(float x); [C++ only]
long double sinh(long double x); [C++ only]
float sinhf(float x); [optional]
long double sinhl(long double x); [optional]
double sqrt(double x);
float sqrt(float x); [C++ only]
long double sqrt(long double x); [C++ only]
float sqrtf(float x); [optional]
long double sqrtl(long double x); [optional]
double tan(double x);
float tan(float x); [C++ only]
long double tan(long double x); [C++ only]
float tanf(float x); [optional]
long double tanl(long double x); [optional]
double tanh(double x);
float tanh(float x); [C++ only]
long double tanh(long double x); [C++ only]
float tanhf(float x); [optional]
long double tanhl(long double x); [optional]

Include the standard header <math.h> to declare several functions that perform common mathematical operations on floating-point values.

A domain error exception occurs when the function is not defined for its input argument value or values. A function reports a domain error by storing the value of EDOM in errno and returning a peculiar value defined for each implementation.

A range error exception occurs when the return value of the function is defined but cannot be represented. A function reports a range error by storing the value of ERANGE in errno and returning one of three values:

HUGE_VAL

#define HUGE_VAL <double rvalue>

The macro yields the value returned by some functions on a range error. The value can be a representation of infinity.

abs

double abs(double x); [C++ only]
float abs(float x); [C++ only]
long double abs(long double x); [C++ only]

The function returns the absolute value of x, |x|, the same as fabs.

acos, acosf, acosl

double acos(double x);
float acos(float x); [C++ only]
long double acos(long double x); [C++ only]
float acosf(float x); [optional]
long double acosl(long double x); [optional]

The function returns the angle whose cosine is x, in the range [0, pi] radians.

asin, asinf, asinl

double asin(double x);
float asin(float x); [C++ only]
long double asin(long double x); [C++ only]
float asinf(float x); [optional]
long double asinl(long double x); [optional]

The function returns the angle whose sine is x, in the range [-pi/2, +pi/2] radians.

atan, atanf, atanl

double atan(double x);
float atan(float x); [C++ only]
long double atan(long double x); [C++ only]
float atanf(float x); [optional]
long double atanl(long double x); [optional]

The function returns the angle whose tangent is x, in the range [-pi/2, +pi/2] radians.

atan2, atan2f, atan2l

double atan2(double y, double x);
float atan2(float y, float x); [C++ only]
long double atan2(long double y, long double x); [C++ only]
float atan2f(float y, float x); [optional]
long double atan2l(long double y, long double x); [optional]

The function returns the angle whose tangent is y/x, in the full angular range [-pi, +pi] radians.

ceil, ceilf, ceill

double ceil(double x);
float ceil(float x); [C++ only]
long double ceil(long double x); [C++ only]
float ceilf(float x); [optional]
long double ceill(long double x); [optional]

The function returns the smallest integer value not less than x.

cos, cosf, cosl

double cos(double x);
float cos(float x); [C++ only]
long double cos(long double x); [C++ only]
float cosf(float x); [optional]
long double cosl(long double x); [optional]

The function returns the cosine of x for x in radians. If x is large the value returned might not be meaningful, but the function reports no error.

cosh, coshf, coshl

double cosh(double x);
float cosh(float x); [C++ only]
long double cosh(long double x); [C++ only]
float coshf(float x); [optional]
long double coshl(long double x); [optional]

The function returns the hyperbolic cosine of x.

exp, expf, expl

double exp(double x);
float exp(float x); [C++ only]
long double exp(long double x); [C++ only]
float expf(float x); [optional]
long double expl(long double x); [optional]

The function returns the exponential of x, e^x.

fabs, fabsf, fabsl

double fabs(double x);
float fabs(float x); [C++ only]
long double fabs(long double x); [C++ only]
float fabsf(float x); [optional]
long double fabsl(long double x); [optional]

The function returns the absolute value of x, |x|, the same as abs.

floor, floorf, floorl

double floor(double x);
float floor(float x); [C++ only]
long double floor(long double x); [C++ only]
float floorf(float x); [optional]
long double floorl(long double x); [optional]

The function returns the largest integer value not greater than x.

fmod, fmodf, fmodl

double fmod(double x, double y);
float fmod(float x, float y); [C++ only]
long double fmod(long double x, long double y); [C++ only]
float fmodf(float x, float y); [optional]
long double fmodl(long double x, long double y); [optional]

The function returns the remainder of x/y, which is defined as follows:

frexp, frexpf, frexpl

double frexp(double x, int *pexp);
float frexp(float x, int *pexp); [C++ only]
long double frexp(long double x, int *pexp); [C++ only]
float frexpf(float x, int *pexp); [optional]
long double frexpl(long double x, int *pexp); [optional]

The function determines a fraction f and base-2 integer i that represent the value of x. It returns the value f and stores the integer i in *pexp, such that |f| is in the interval [1/2, 1) or has the value 0, and x equals f*2^i. If x is zero, *pexp is also zero.

ldexp, ldexpf, ldexpl

double ldexp(double x, int exp);
float ldexp(float x, int exp); [C++ only]
long double ldexp(long double x, int exp); [C++ only]
float ldexpf(float x, int exp); [optional]
long double ldexpl(long double x, int exp); [optional]

The function returns x*2^exp.

log, logf, logl

double log(double x);
float log(float x); [C++ only]
long double log(long double x); [C++ only]
float logf(float x); [optional]
long double logl(long double x); [optional]

The function returns the natural logarithm of x.

log10, log10f, log10l

double log10(double x);
float log10(float x); [C++ only]
long double log10(long double x); [C++ only]
float log10f(float x); [optional]
long double log10l(long double x); [optional]

The function returns the base-10 logarithm of x.

modf, modff, modfl

double modf(double x, double *pint);
float modf(float x, float *pint); [C++ only]
long double modf(long double x, long double *pint); [C++ only]
float modff(float x, float *pint); [optional]
long double modfl(long double x, long double *pint); [optional]

The function determines an integer i plus a fraction f that represent the value of x. It returns the value f and stores the integer i in *pint, such that f + i == x, |f| is in the interval [0, 1), and both f and i have the same sign as x.

pow, powf, powl

double pow(double x, double y);
float pow(float x, float y); [C++ only]
long double pow(long double x, long double y); [C++ only]
double pow(double x, int y); [C++ only]
float pow(float x, int y); [C++ only]
long double pow(long double x, int y); [C++ only]
float powf(float x, float y); [optional]
long double powl(long double x, long double y); [optional]

The function returns x raised to the power y, x^y.

sin, sinf, sinl

double sin(double x);
float sin(float x); [C++ only]
long double sin(long double x); [C++ only]
float sinf(float x); [optional]
long double sinl(long double x); [optional]

The function returns the sine of x for x in radians. If x is large the value returned might not be meaningful, but the function reports no error.

sinh, sinhf, sinhl

double sinh(double x);
float sinh(float x); [C++ only]
long double sinh(long double x); [C++ only]
float sinhf(float x); [optional]
long double sinhl(long double x); [optional]

The function returns the hyperbolic sine of x.

sqrt, sqrtf, sqrtl

double sqrt(double x);
float sqrt(float x); [C++ only]
long double sqrt(long double x); [C++ only]
float sqrtf(float x); [optional]
long double sqrtl(long double x); [optional]

The function returns the square root of x, x^(1/2).

tan, tanf, tanl

double tan(double x);
float tan(float x); [C++ only]
long double tan(long double x); [C++ only]
float tanf(float x); [optional]
long double tanl(long double x); [optional]

The function returns the tangent of x for x in radians.If x is large the value returned might not be meaningful, but the function reports no error.

tanh, tanhf, tanhl

double tanh(double x);
float tanh(float x); [C++ only]
long double tanh(long double x); [C++ only]
float tanhf(float x); [optional]
long double tanhl(long double x); [optional]

The function returns the hyperbolic tangent of x.


See also the Table of Contents and the Index.

Copyright © 1989-1996 by P.J. Plauger and Jim Brodie. All rights reserved.