![]() |
![]() |
![]() |
<math.h>abs
· acos
· asin
· atan
· atan2
· ceil
· cos
· cosh
· exp
· fabs
· floor
· fmod
· frexp
· ldexp
· log
· log10
· modf
· pow
· sin
· sinh
· sqrt
· tan
· tanh
acosf
· asinf
· atanf
· atan2f
· ceilf
· cosf
· coshf
· expf
· fabsf
· floorf
· fmodf
· frexpf
· ldexpf
· logf
· log10f
· modff
· pow
· sinf
· sinhf
· sqrtf
· tanf
· tanhf
acosl
· asinl
· atanl
· atan2l
· ceill
· cosl
· coshl
· expl
· fabsl
· floorl
· fmodl
· frexpl
· ldexpl
· logl
· log10l
· modfl
· pow
· sinl
· sinhl
· sqrtl
· tanl
· tanhl
Include the standard header <math.h>
to declare a number of functions that perform
common mathematical operations on real floating-point values
(of type float, double, or long double).
A domain error
occurs when the function is
not defined for its input argument value or values. A function can report
a domain error by storing the value of
EDOM in
errno
and returning a particular value defined for each implementation.
A range error
occurs when the return value of the
function is defined but cannot be represented.
A function can report a range error by storing the value of
ERANGE in
errno
and returning one of several values:
HUGE_VAL
-- if the value of a function returning double is positive
and too large in magnitude to represent-HUGE_VAL
-- if the value of a function returning double is negative
and too large in magnitude to represent /* MACROS */
#define HUGE_VAL <double rvalue>
/* FUNCTIONS */
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); [required with C99]
long double acosl(long double x); [required with C99]
double asin(double x);
float asin(float x); [C++ only]
long double asin(long double x); [C++ only]
float asinf(float x); [required with C99]
long double asinl(long double x); [required with C99]
double atan(double x);
float atan(float x); [C++ only]
long double atan(long double x); [C++ only]
float atanf(float x); [required with C99]
long double atanl(long double x); [required with C99]
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); [required with C99]
long double atan2l(long double y,
long double x); [required with C99]
double ceil(double x);
float ceil(float x); [C++ only]
long double ceil(long double x); [C++ only]
float ceilf(float x); [required with C99]
long double ceill(long double x); [required with C99]
double cos(double x);
float cos(float x); [C++ only]
long double cos(long double x); [C++ only]
float cosf(float x); [required with C99]
long double cosl(long double x); [required with C99]
double cosh(double x);
float cosh(float x); [C++ only]
long double cosh(long double x); [C++ only]
float coshf(float x); [required with C99]
long double coshl(long double x); [required with C99]
double exp(double x);
float exp(float x); [C++ only]
long double exp(long double x); [C++ only]
float expf(float x); [required with C99]
long double expl(long double x); [required with C99]
double fabs(double x);
float fabs(float x); [C++ only]
long double fabs(long double x); [C++ only]
float fabsf(float x); [required with C99]
long double fabsl(long double x); [required with C99]
double floor(double x);
float floor(float x); [C++ only]
long double floor(long double x); [C++ only]
float floorf(float x); [required with C99]
long double floorl(long double x); [required with C99]
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); [required with C99]
long double fmodl(long double x,
long double y); [required with C99]
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); [required with C99]
long double frexpl(long double x, int *pexp); [required with C99]
double ldexp(double x, int ex);
float ldexp(float x, int ex); [C++ only]
long double ldexp(long double x, int ex); [C++ only]
float ldexpf(float x, int ex); [required with C99]
long double ldexpl(long double x, int ex); [required with C99]
double log(double x);
float log(float x); [C++ only]
long double log(long double x); [C++ only]
float logf(float x); [required with C99]
long double logl(long double x); [required with C99]
double log10(double x);
float log10(float x); [C++ only]
long double log10(long double x); [C++ only]
float log10f(float x); [required with C99]
long double log10l(long double x); [required with C99]
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); [required with C99]
long double modfl(long double x,
long double *pint); [required with C99]
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); [required with C99]
long double powl(long double x,
long double y); [required with C99]
double sin(double x);
float sin(float x); [C++ only]
long double sin(long double x); [C++ only]
float sinf(float x); [required with C99]
long double sinl(long double x); [required with C99]
double sinh(double x);
float sinh(float x); [C++ only]
long double sinh(long double x); [C++ only]
float sinhf(float x); [required with C99]
long double sinhl(long double x); [required with C99]
double sqrt(double x);
float sqrt(float x); [C++ only]
long double sqrt(long double x); [C++ only]
float sqrtf(float x); [required with C99]
long double sqrtl(long double x); [required with C99]
double tan(double x);
float tan(float x); [C++ only]
long double tan(long double x); [C++ only]
float tanf(float x); [required with C99]
long double tanl(long double x); [required with C99]
double tanh(double x);
float tanh(float x); [C++ only]
long double tanh(long double x); [C++ only]
float tanhf(float x); [required with C99]
long double tanhl(long double x); [required with C99]
abs,
fabs,
fabsf,
fabsldouble abs(double x); [C++ only] float abs(float x); [C++ only] long double abs(long double x); [C++ only] double fabs(double x); float fabs(float x); [C++ only] long double fabs(long double x); [C++ only] float fabsf(float x); [required with C99] long double fabsl(long double x); [required with C99]
The function returns the magnitude of x,
|x|.
acos,
acosf,
acosldouble acos(double x); float acos(float x); [C++ only] long double acos(long double x); [C++ only] float acosf(float x); [required with C99] long double acosl(long double x); [required with C99]
The function returns the angle whose cosine is x, in
the range [0, pi] radians. A domain error occurs if 1 < |x|.
asin,
asinf,
asinldouble asin(double x); float asin(float x); [C++ only] long double asin(long double x); [C++ only] float asinf(float x); [required with C99] long double asinl(long double x); [required with C99]
The function returns the angle whose sine is x, in the
range [-pi/2, +pi/2] radians. A domain error occurs
if 1 < |x|.
atan,
atanf,
atanldouble atan(double x); float atan(float x); [C++ only] long double atan(long double x); [C++ only] float atanf(float x); [required with C99] long double atanl(long double x); [required with C99]
The function returns the angle whose tangent is x, in
the range [-pi/2, +pi/2] radians.
atan2,
atan2f,
atan2ldouble 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); [required with C99]
long double atan2l(long double y,
long double x); [required with C99]
The function returns the angle whose tangent is y/x,
in the full angular range [-pi, +pi] radians. A domain error may occur
if both x and y are zero.
ceil,
ceilf,
ceilldouble ceil(double x); float ceil(float x); [C++ only] long double ceil(long double x); [C++ only] float ceilf(float x); [required with C99] long double ceill(long double x); [required with C99]
The function returns the smallest integer value not less than
x.
cos,
cosf,
cosldouble cos(double x); float cos(float x); [C++ only] long double cos(long double x); [C++ only] float cosf(float x); [required with C99] long double cosl(long double x); [required with C99]
The function returns the cosine of x.
If x is large the value returned
might not be meaningful, but the function reports no error.
cosh,
coshf,
coshldouble cosh(double x); float cosh(float x); [C++ only] long double cosh(long double x); [C++ only] float coshf(float x); [required with C99] long double coshl(long double x); [required with C99]
The function returns the hyperbolic cosine of x.
exp,
expf,
expldouble exp(double x); float exp(float x); [C++ only] long double exp(long double x); [C++ only] float expf(float x); [required with C99] long double expl(long double x); [required with C99]
The function returns the exponential of x,
e^x.
floor,
floorf,
floorldouble floor(double x); float floor(float x); [C++ only] long double floor(long double x); [C++ only] float floorf(float x); [required with C99] long double floorl(long double x); [required with C99]
The function returns the largest integer value not greater than
x.
fmod,
fmodf,
fmodldouble 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); [required with C99]
long double fmodl(long double x,
long double y); [required with C99]
The function returns the remainder of x/y,
which is defined as follows:
y is zero,
the function either reports a domain error or simply returns zero.i such that the returned value x - i * y has the
same sign as x and magnitude less than |y|.frexp,
frexpf,
frexpldouble 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); [required with C99] long double frexpl(long double x, int *pexp); [required with C99]
The function determines a fraction frac and an exponent integer
ex that represent the value of x.
It returns the value frac and stores the integer
ex in *pexp, such that:
|frac| is in the interval [1/2, 1) or is zerox == frac * 2^exIf x is zero, *pexp is also zero.
HUGE_VAL#define HUGE_VAL <double rvalue>
The macro yields the double value returned by some functions on a range error. The value can be a representation of infinity.
ldexp,
ldexpf,
ldexpldouble ldexp(double x, int ex); float ldexp(float x, int ex); [C++ only] long double ldexp(long double x, int ex); [C++ only] float ldexpf(float x, int ex); [required with C99] long double ldexpl(long double x, int ex); [required with C99]
The function returns x * 2^ex.
log,
logf,
logldouble log(double x); float log(float x); [C++ only] long double log(long double x); [C++ only] float logf(float x); [required with C99] long double logl(long double x); [required with C99]
The function returns the natural logarithm of x.
A domain error occurs if x < 0.
log10,
log10f,
log10ldouble log10(double x); float log10(float x); [C++ only] long double log10(long double x); [C++ only] float log10f(float x); [required with C99] long double log10l(long double x); [required with C99]
The function returns the base-10 logarithm of x.
A domain error occurs if x < 0.
modf,
modff,
modfldouble 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); [required with C99]
long double modfl(long double x,
long double *pint); [required with C99]
The function determines an integer i plus a fraction
frac that represent the value of x.
It returns the value frac and stores the integer
i in *pint, such that:
x == frac + i|frac| is in the interval [0, 1)frac and i have the
same sign as xpow,
powf,
powldouble 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); [required with C99]
long double powl(long double x,
long double y); [required with C99]
The function returns x raised to the power y,
x^y.
sin,
sinf,
sinldouble sin(double x); float sin(float x); [C++ only] long double sin(long double x); [C++ only] float sinf(float x); [required with C99] long double sinl(long double x); [required with C99]
The function returns the sine of x.
If x is large
the value returned might not be meaningful, but
the function reports no error.
sinh,
sinhf,
sinhldouble sinh(double x); float sinh(float x); [C++ only] long double sinh(long double x); [C++ only] float sinhf(float x); [required with C99] long double sinhl(long double x); [required with C99]
The function returns the hyperbolic sine of x.
sqrt,
sqrtf,
sqrtldouble sqrt(double x); float sqrt(float x); [C++ only] long double sqrt(long double x); [C++ only] float sqrtf(float x); [required with C99] long double sqrtl(long double x); [required with C99]
The function returns the real square root of x,
x^(1/2). A domain error occurs if x < 0.
tan,
tanf,
tanldouble tan(double x); float tan(float x); [C++ only] long double tan(long double x); [C++ only] float tanf(float x); [required with C99] long double tanl(long double x); [required with C99]
The function returns the tangent of x.
If x is large the value returned
might not be meaningful,
but the function reports no error.
tanh,
tanhf,
tanhldouble tanh(double x); float tanh(float x); [C++ only] long double tanh(long double x); [C++ only] float tanhf(float x); [required with C99] long double tanhl(long double x); [required with C99]
The function returns the hyperbolic tangent of x.
See also the Table of Contents and the Index.
Copyright © 1992-2006 by P.J. Plauger and Jim Brodie. All rights reserved.
![]() |
![]() |
![]() |