642 lines
24 KiB
HTML
642 lines
24 KiB
HTML
<HTML><HEAD><TITLE><math.h></TITLE></HEAD><BODY BGCOLOR="#FFFFFF">
|
|
|
|
<H1><A NAME="<math.h>"><CODE><math.h></CODE></A></H1><HR>
|
|
|
|
<P><CODE>
|
|
#define <A HREF="#HUGE_VAL"><B>HUGE_VAL</B></A>
|
|
<I><double rvalue></I><BR>
|
|
double <A HREF="#abs"><B>abs</B></A>(double x);
|
|
<B>[C++ only]</B><BR>
|
|
float <A HREF="#abs"><B>abs</B></A>(float x);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#abs"><B>abs</B></A>(long double x);
|
|
<B>[C++ only]</B><BR>
|
|
double <A HREF="#acos"><B>acos</B></A>(double x);<BR>
|
|
float <A HREF="#acos"><B>acos</B></A>(float x);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#acos"><B>acos</B></A>(long double x);
|
|
<B>[C++ only]</B><BR>
|
|
float <A HREF="#acosf"><B>acosf</B></A>(float x);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#acosl"><B>acosl</B></A>(long double x);
|
|
<B>[optional]</B><BR>
|
|
double <A HREF="#asin"><B>asin</B></A>(double x);<BR>
|
|
float <A HREF="#asin"><B>asin</B></A>(float x);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#asin"><B>asin</B></A>(long double x);
|
|
<B>[C++ only]</B><BR>
|
|
float <A HREF="#asinf"><B>asinf</B></A>(float x);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#asinl"><B>asinl</B></A>(long double x);
|
|
<B>[optional]</B><BR>
|
|
double <A HREF="#atan"><B>atan</B></A>(double x);<BR>
|
|
float <A HREF="#atan"><B>atan</B></A>(float x);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#atan"><B>atan</B></A>(long double x);
|
|
<B>[C++ only]</B><BR>
|
|
float <A HREF="#atanf"><B>atanf</B></A>(float x);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#atanl"><B>atanl</B></A>(long double x);
|
|
<B>[optional]</B><BR>
|
|
double <A HREF="#atan2"><B>atan2</B></A>(double y, double x);<BR>
|
|
float <A HREF="#atan2"><B>atan2</B></A>(float y, float x);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#atan2"><B>atan2</B></A>(long double y,
|
|
long double x); <B>[C++ only]</B><BR>
|
|
float <A HREF="#atan2f"><B>atan2f</B></A>(float y, float x);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#atan2l"><B>atan2l</B></A>(long double y,
|
|
long double x); <B>[optional]</B><BR>
|
|
double <A HREF="#ceil"><B>ceil</B></A>(double x);<BR>
|
|
float <A HREF="#ceil"><B>ceil</B></A>(float x);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#ceil"><B>ceil</B></A>(long double x);
|
|
<B>[C++ only]</B><BR>
|
|
float <A HREF="#ceilf"><B>ceilf</B></A>(float x);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#ceill"><B>ceill</B></A>(long double x);
|
|
<B>[optional]</B><BR>
|
|
double <A HREF="#cos"><B>cos</B></A>(double x);<BR>
|
|
float <A HREF="#cos"><B>cos</B></A>(float x);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#cos"><B>cos</B></A>(long double x);
|
|
<B>[C++ only]</B><BR>
|
|
float <A HREF="#cosf"><B>cosf</B></A>(float x);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#cosl"><B>cosl</B></A>(long double x);
|
|
<B>[optional]</B><BR>
|
|
double <A HREF="#cosh"><B>cosh</B></A>(double x);<BR>
|
|
float <A HREF="#cosh"><B>cosh</B></A>(float x);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#cosh"><B>cosh</B></A>(long double x);
|
|
<B>[C++ only]</B><BR>
|
|
float <A HREF="#coshf"><B>coshf</B></A>(float x);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#coshl"><B>coshl</B></A>(long double x);
|
|
<B>[optional]</B><BR>
|
|
double <A HREF="#exp"><B>exp</B></A>(double x);<BR>
|
|
float <A HREF="#exp"><B>exp</B></A>(float x);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#exp"><B>exp</B></A>(long double x);
|
|
<B>[C++ only]</B><BR>
|
|
float <A HREF="#expf"><B>expf</B></A>(float x);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#expl"><B>expl</B></A>(long double x);
|
|
<B>[optional]</B><BR>
|
|
double <A HREF="#fabs"><B>fabs</B></A>(double x);<BR>
|
|
float <A HREF="#fabs"><B>fabs</B></A>(float x);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#fabs"><B>fabs</B></A>(long double x);
|
|
<B>[C++ only]</B><BR>
|
|
float <A HREF="#fabsf"><B>fabsf</B></A>(float x);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#fabsl"><B>fabsl</B></A>(long double x);
|
|
<B>[optional]</B><BR>
|
|
double <A HREF="#floor"><B>floor</B></A>(double x);<BR>
|
|
float <A HREF="#floor"><B>floor</B></A>(float x);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#floor"><B>floor</B></A>(long double x);
|
|
<B>[C++ only]</B><BR>
|
|
float <A HREF="#floorf"><B>floorf</B></A>(float x);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#floorl"><B>floorl</B></A>(long double x);
|
|
<B>[optional]</B><BR>
|
|
double <A HREF="#fmod"><B>fmod</B></A>(double x, double y);<BR>
|
|
float <A HREF="#fmod"><B>fmod</B></A>(float x, float y);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#fmod"><B>fmod</B></A>(long double x,
|
|
long double y); <B>[C++ only]</B><BR>
|
|
float <A HREF="#fmodf"><B>fmodf</B></A>(float x, float y);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#fmodl"><B>fmodl</B></A>(long double x,
|
|
long double y); <B>[optional]</B><BR>
|
|
double <A HREF="#frexp"><B>frexp</B></A>(double x, int *pexp);<BR>
|
|
float <A HREF="#frexp"><B>frexp</B></A>(float x, int *pexp);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#frexp"><B>frexp</B></A>(long double x,
|
|
int *pexp); <B>[C++ only]</B><BR>
|
|
float <A HREF="#frexpf"><B>frexpf</B></A>(float x, int *pexp);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#frexpl"><B>frexpl</B></A>(long double x,
|
|
int *pexp); <B>[optional]</B><BR>
|
|
double <A HREF="#ldexp"><B>ldexp</B></A>(double x, int exp);<BR>
|
|
float <A HREF="#ldexp"><B>ldexp</B></A>(float x, int exp);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#ldexp"><B>ldexp</B></A>(long double x,
|
|
int exp); <B>[C++ only]</B><BR>
|
|
float <A HREF="#ldexpf"><B>ldexpf</B></A>(float x, int exp);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#ldexpl"><B>ldexpl</B></A>(long double x,
|
|
int exp); <B>[optional]</B><BR>
|
|
double <A HREF="#log"><B>log</B></A>(double x);<BR>
|
|
float <A HREF="#log"><B>log</B></A>(float x);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#log"><B>log</B></A>(long double x);
|
|
<B>[C++ only]</B><BR>
|
|
float <A HREF="#logf"><B>logf</B></A>(float x);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#logl"><B>logl</B></A>(long double x);
|
|
<B>[optional]</B><BR>
|
|
double <A HREF="#log10"><B>log10</B></A>(double x);<BR>
|
|
float <A HREF="#log10"><B>log10</B></A>(float x);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#log10"><B>log10</B></A>(long double x);
|
|
<B>[C++ only]</B><BR>
|
|
float <A HREF="#log10f"><B>log10f</B></A>(float x);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#log10l"><B>log10l</B></A>(long double x);
|
|
<B>[optional]</B><BR>
|
|
double <A HREF="#modf"><B>modf</B></A>(double x, double *pint);<BR>
|
|
float <A HREF="#modf"><B>modf</B></A>(float x, float *pint);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#modf"><B>modf</B></A>(long double x,
|
|
long double *pint); <B>[C++ only]</B><BR>
|
|
float <A HREF="#modff"><B>modff</B></A>(float x, float *pint);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#modfl"><B>modfl</B></A>(long double x,
|
|
long double *pint); <B>[optional]</B><BR>
|
|
double <A HREF="#pow"><B>pow</B></A>(double x, double y);<BR>
|
|
float <A HREF="#pow"><B>pow</B></A>(float x, float y);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#pow"><B>pow</B></A>(long double x,
|
|
long double y); <B>[C++ only]</B><BR>
|
|
double <A HREF="#pow"><B>pow</B></A>(double x, int y);
|
|
<B>[C++ only]</B><BR>
|
|
float <A HREF="#pow"><B>pow</B></A>(float x, int y);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#pow"><B>pow</B></A>(long double x, int y);
|
|
<B>[C++ only]</B><BR>
|
|
float <A HREF="#powf"><B>powf</B></A>(float x, float y);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#powl"><B>powl</B></A>(long double x,
|
|
long double y); <B>[optional]</B><BR>
|
|
double <A HREF="#sin"><B>sin</B></A>(double x);<BR>
|
|
float <A HREF="#sin"><B>sin</B></A>(float x);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#sin"><B>sin</B></A>(long double x);
|
|
<B>[C++ only]</B><BR>
|
|
float <A HREF="#sinf"><B>sinf</B></A>(float x);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#sinl"><B>sinl</B></A>(long double x);
|
|
<B>[optional]</B><BR>
|
|
double <A HREF="#sinh"><B>sinh</B></A>(double x);<BR>
|
|
float <A HREF="#sinh"><B>sinh</B></A>(float x);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#sinh"><B>sinh</B></A>(long double x);
|
|
<B>[C++ only]</B><BR>
|
|
float <A HREF="#sinhf"><B>sinhf</B></A>(float x);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#sinhl"><B>sinhl</B></A>(long double x);
|
|
<B>[optional]</B><BR>
|
|
double <A HREF="#sqrt"><B>sqrt</B></A>(double x);<BR>
|
|
float <A HREF="#sqrt"><B>sqrt</B></A>(float x);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#sqrt"><B>sqrt</B></A>(long double x);
|
|
<B>[C++ only]</B><BR>
|
|
float <A HREF="#sqrtf"><B>sqrtf</B></A>(float x);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#sqrtl"><B>sqrtl</B></A>(long double x);
|
|
<B>[optional]</B><BR>
|
|
double <A HREF="#tan"><B>tan</B></A>(double x);<BR>
|
|
float <A HREF="#tan"><B>tan</B></A>(float x);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#tan"><B>tan</B></A>(long double x);
|
|
<B>[C++ only]</B><BR>
|
|
float <A HREF="#tanf"><B>tanf</B></A>(float x);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#tanl"><B>tanl</B></A>(long double x);
|
|
<B>[optional]</B><BR>
|
|
double <A HREF="#tanh"><B>tanh</B></A>(double x);<BR>
|
|
float <A HREF="#tanh"><B>tanh</B></A>(float x);
|
|
<B>[C++ only]</B><BR>
|
|
long double <A HREF="#tanh"><B>tanh</B></A>(long double x);
|
|
<B>[C++ only]</B><BR>
|
|
float <A HREF="#tanhf"><B>tanhf</B></A>(float x);
|
|
<B>[optional]</B><BR>
|
|
long double <A HREF="#tanhl"><B>tanhl</B></A>(long double x);
|
|
<B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>Include the standard header <B><CODE><math.h></CODE></B>
|
|
to declare several functions that perform
|
|
common mathematical operations on floating-point values.</P>
|
|
|
|
<P>A <B><A NAME="domain error">domain error</A></B>
|
|
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
|
|
<A HREF="errno.html#EDOM" tppabs="http://ccs.ucsd.edu/c/errno.html#EDOM"><CODE>EDOM</CODE></A> in
|
|
<A HREF="errno.html#errno" tppabs="http://ccs.ucsd.edu/c/errno.html#errno"><CODE>errno</CODE></A>
|
|
and returning a peculiar value defined for each implementation.</P>
|
|
|
|
<P>A <B><A NAME="range error">range error</A></B>
|
|
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
|
|
<A HREF="errno.html#ERANGE" tppabs="http://ccs.ucsd.edu/c/errno.html#ERANGE"><CODE>ERANGE</CODE></A> in
|
|
<A HREF="errno.html#errno" tppabs="http://ccs.ucsd.edu/c/errno.html#errno"><CODE>errno</CODE></A>
|
|
and returning one of three values:</P>
|
|
|
|
<UL>
|
|
<LI><A HREF="#HUGE_VAL"><CODE>HUGE_VAL</CODE></A>
|
|
-- if the value of a function returning <I>double</I> is positive
|
|
and too large in magnitude to represent
|
|
|
|
<LI>zero -- if the value of the function is too small to represent
|
|
with a finite value
|
|
|
|
<LI><A HREF="#HUGE_VAL"><CODE>-HUGE_VAL</CODE></A>
|
|
-- if the value of a function returning <I>double</I> is negative
|
|
and too large in magnitude to represent
|
|
</UL>
|
|
|
|
<H2><A NAME="HUGE_VAL"><CODE>HUGE_VAL</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
#define <B>HUGE_VAL</B> <I><double rvalue></I>
|
|
</CODE></P>
|
|
|
|
<P>The macro yields the value returned by some functions on a range
|
|
error. The value can be a representation of infinity.</P>
|
|
|
|
<H2><A NAME="abs"><CODE>abs</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>abs</B>(double x); <B>[C++ only]</B><BR>
|
|
float <B>abs</B>(float x); <B>[C++ only]</B><BR>
|
|
long double <B>abs</B>(long double x); <B>[C++ only]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns the absolute value of <CODE>x</CODE>,
|
|
<CODE>|x|</CODE>, the same as
|
|
<A HREF="#fabs"><CODE>fabs</CODE></A>.</P>
|
|
|
|
<H2><A NAME="acos"><CODE>acos</CODE></A>,
|
|
<A NAME="acosf"><CODE>acosf</CODE></A>,
|
|
<A NAME="acosl"><CODE>acosl</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>acos</B>(double x);<BR>
|
|
float <B>acos</B>(float x); <B>[C++ only]</B><BR>
|
|
long double <B>acos</B>(long double x); <B>[C++ only]</B><BR>
|
|
float <B>acosf</B>(float x); <B>[optional]</B><BR>
|
|
long double <B>acosl</B>(long double x); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns the angle whose cosine is <CODE>x</CODE>, in
|
|
the range [0, pi] radians.</P>
|
|
|
|
<H2><A NAME="asin"><CODE>asin</CODE></A>,
|
|
<A NAME="asinf"><CODE>asinf</CODE></A>,
|
|
<A NAME="asinl"><CODE>asinl</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>asin</B>(double x);<BR>
|
|
float <B>asin</B>(float x); <B>[C++ only]</B><BR>
|
|
long double <B>asin</B>(long double x); <B>[C++ only]</B><BR>
|
|
float <B>asinf</B>(float x); <B>[optional]</B><BR>
|
|
long double <B>asinl</B>(long double x); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns the angle whose sine is <CODE>x</CODE>, in the
|
|
range [-pi/2, +pi/2] radians.</P>
|
|
|
|
<H2><A NAME="atan"><CODE>atan</CODE></A>,
|
|
<A NAME="atanf"><CODE>atanf</CODE></A>,
|
|
<A NAME="atanl"><CODE>atanl</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>atan</B>(double x);<BR>
|
|
float <B>atan</B>(float x); <B>[C++ only]</B><BR>
|
|
long double <B>atan</B>(long double x); <B>[C++ only]</B><BR>
|
|
float <B>atanf</B>(float x); <B>[optional]</B><BR>
|
|
long double <B>atanl</B>(long double x); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns the angle whose tangent is <CODE>x</CODE>, in
|
|
the range [-pi/2, +pi/2] radians.</P>
|
|
|
|
<H2><A NAME="atan2"><CODE>atan2</CODE></A>,
|
|
<A NAME="atan2f"><CODE>atan2f</CODE></A>,
|
|
<A NAME="atan2l"><CODE>atan2l</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>atan2</B>(double y, double x);<BR>
|
|
float <B>atan2</B>(float y, float x); <B>[C++ only]</B><BR>
|
|
long double <B>atan2</B>(long double y, long double x); <B>[C++ only]</B><BR>
|
|
float <B>atan2f</B>(float y, float x); <B>[optional]</B><BR>
|
|
long double <B>atan2l</B>(long double y, long double x); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns the angle whose tangent is <CODE>y/x</CODE>,
|
|
in the full angular range [-pi, +pi] radians.</P>
|
|
|
|
<H2><A NAME="ceil"><CODE>ceil</CODE></A>,
|
|
<A NAME="ceilf"><CODE>ceilf</CODE></A>,
|
|
<A NAME="ceill"><CODE>ceill</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>ceil</B>(double x);<BR>
|
|
float <B>ceil</B>(float x); <B>[C++ only]</B><BR>
|
|
long double <B>ceil</B>(long double x); <B>[C++ only]</B><BR>
|
|
float <B>ceilf</B>(float x); <B>[optional]</B><BR>
|
|
long double <B>ceill</B>(long double x); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns the smallest integer value not less than
|
|
<CODE>x</CODE>.</P>
|
|
|
|
<H2><A NAME="cos"><CODE>cos</CODE></A>,
|
|
<A NAME="cosf"><CODE>cosf</CODE></A>,
|
|
<A NAME="cosl"><CODE>cosl</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>cos</B>(double x);<BR>
|
|
float <B>cos</B>(float x); <B>[C++ only]</B><BR>
|
|
long double <B>cos</B>(long double x); <B>[C++ only]</B><BR>
|
|
float <B>cosf</B>(float x); <B>[optional]</B><BR>
|
|
long double <B>cosl</B>(long double x); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns the cosine of <CODE>x</CODE> for <CODE>x</CODE> in
|
|
radians. If <CODE>x</CODE> is large the value returned
|
|
might not be meaningful, but the function reports no error.</P>
|
|
|
|
<H2><A NAME="cosh"><CODE>cosh</CODE></A>,
|
|
<A NAME="coshf"><CODE>coshf</CODE></A>,
|
|
<A NAME="coshl"><CODE>coshl</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>cosh</B>(double x);<BR>
|
|
float <B>cosh</B>(float x); <B>[C++ only]</B><BR>
|
|
long double <B>cosh</B>(long double x); <B>[C++ only]</B><BR>
|
|
float <B>coshf</B>(float x); <B>[optional]</B><BR>
|
|
long double <B>coshl</B>(long double x); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns the hyperbolic cosine of <CODE>x</CODE>.</P>
|
|
|
|
<H2><A NAME="exp"><CODE>exp</CODE></A>,
|
|
<A NAME="expf"><CODE>expf</CODE></A>,
|
|
<A NAME="expl"><CODE>expl</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>exp</B>(double x);<BR>
|
|
float <B>exp</B>(float x); <B>[C++ only]</B><BR>
|
|
long double <B>exp</B>(long double x); <B>[C++ only]</B><BR>
|
|
float <B>expf</B>(float x); <B>[optional]</B><BR>
|
|
long double <B>expl</B>(long double x); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns the exponential of <CODE>x</CODE>,
|
|
e^<CODE>x</CODE>.</P>
|
|
|
|
<H2><A NAME="fabs"><CODE>fabs</CODE></A>,
|
|
<A NAME="fabsf"><CODE>fabsf</CODE></A>,
|
|
<A NAME="fabsl"><CODE>fabsl</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>fabs</B>(double x);<BR>
|
|
float <B>fabs</B>(float x); <B>[C++ only]</B><BR>
|
|
long double <B>fabs</B>(long double x); <B>[C++ only]</B><BR>
|
|
float <B>fabsf</B>(float x); <B>[optional]</B><BR>
|
|
long double <B>fabsl</B>(long double x); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns the absolute value of <CODE>x</CODE>,
|
|
<CODE>|x|</CODE>, the same as
|
|
<A HREF="#abs"><CODE>abs</CODE></A>.</P>
|
|
|
|
<H2><A NAME="floor"><CODE>floor</CODE></A>,
|
|
<A NAME="floorf"><CODE>floorf</CODE></A>,
|
|
<A NAME="floorl"><CODE>floorl</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>floor</B>(double x);<BR>
|
|
float <B>floor</B>(float x); <B>[C++ only]</B><BR>
|
|
long double <B>floor</B>(long double x); <B>[C++ only]</B><BR>
|
|
float <B>floorf</B>(float x); <B>[optional]</B><BR>
|
|
long double <B>floorl</B>(long double x); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns the largest integer value not greater than
|
|
<CODE>x</CODE>.</P>
|
|
|
|
<H2><A NAME="fmod"><CODE>fmod</CODE></A>,
|
|
<A NAME="fmodf"><CODE>fmodf</CODE></A>,
|
|
<A NAME="fmodl"><CODE>fmodl</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>fmod</B>(double x, double y);<BR>
|
|
float <B>fmod</B>(float x, float y); <B>[C++ only]</B><BR>
|
|
long double <B>fmod</B>(long double x, long double y); <B>[C++ only]</B><BR>
|
|
float <B>fmodf</B>(float x, float y); <B>[optional]</B><BR>
|
|
long double <B>fmodl</B>(long double x, long double y); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns the remainder of <CODE>x/y</CODE>,
|
|
which is defined as follows:</P>
|
|
|
|
<UL>
|
|
<LI>If <CODE>y</CODE> is zero,
|
|
the function either reports a domain error or simply returns zero.
|
|
|
|
<LI>Otherwise, if <CODE>0 <= x</CODE>,
|
|
the value is <CODE>x - i*y</CODE>
|
|
for some integer <CODE>i</CODE> such that:<BR>
|
|
<CODE>0 <= i*|y| <= x < (i + 1)*|y|</CODE>
|
|
|
|
<LI>Otherwise, <CODE>x < 0</CODE>
|
|
and the value is <CODE>x - i*y</CODE>
|
|
for some integer <CODE>i</CODE> such that:<BR>
|
|
<CODE>i*|y| <= x < (i + 1)*|y| <= 0</CODE>
|
|
</UL>
|
|
|
|
<H2><A NAME="frexp"><CODE>frexp</CODE></A>,
|
|
<A NAME="frexpf"><CODE>frexpf</CODE></A>,
|
|
<A NAME="frexpl"><CODE>frexpl</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>frexp</B>(double x, int *pexp);<BR>
|
|
float <B>frexp</B>(float x, int *pexp); <B>[C++ only]</B><BR>
|
|
long double <B>frexp</B>(long double x, int *pexp); <B>[C++ only]</B><BR>
|
|
float <B>frexpf</B>(float x, int *pexp); <B>[optional]</B><BR>
|
|
long double <B>frexpl</B>(long double x, int *pexp); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function determines a fraction <CODE>f</CODE> and base-2 integer
|
|
<CODE>i</CODE> that represent the value of <CODE>x</CODE>.
|
|
It returns the value <CODE>f</CODE> and stores the integer
|
|
<CODE>i</CODE> in <CODE>*pexp</CODE>, such that
|
|
<CODE>|f|</CODE> is in the interval [1/2, 1) or has the value 0,
|
|
and <CODE>x</CODE> equals <CODE>f*2^i</CODE>.
|
|
If <CODE>x</CODE> is zero, <CODE>*pexp</CODE> is also zero.</P>
|
|
|
|
<H2><A NAME="ldexp"><CODE>ldexp</CODE></A>,
|
|
<A NAME="ldexpf"><CODE>ldexpf</CODE></A>,
|
|
<A NAME="ldexpl"><CODE>ldexpl</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>ldexp</B>(double x, int exp);<BR>
|
|
float <B>ldexp</B>(float x, int exp); <B>[C++ only]</B><BR>
|
|
long double <B>ldexp</B>(long double x, int exp); <B>[C++ only]</B><BR>
|
|
float <B>ldexpf</B>(float x, int exp); <B>[optional]</B><BR>
|
|
long double <B>ldexpl</B>(long double x, int exp); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns <CODE>x*2^exp</CODE>.</P>
|
|
|
|
<H2><A NAME="log"><CODE>log</CODE></A>,
|
|
<A NAME="logf"><CODE>logf</CODE></A>,
|
|
<A NAME="logl"><CODE>logl</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>log</B>(double x);<BR>
|
|
float <B>log</B>(float x); <B>[C++ only]</B><BR>
|
|
long double <B>log</B>(long double x); <B>[C++ only]</B><BR>
|
|
float <B>logf</B>(float x); <B>[optional]</B><BR>
|
|
long double <B>logl</B>(long double x); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns the natural logarithm of <CODE>x</CODE>.</P>
|
|
|
|
<H2><A NAME="log10"><CODE>log10</CODE></A>,
|
|
<A NAME="log10f"><CODE>log10f</CODE></A>,
|
|
<A NAME="log10l"><CODE>log10l</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>log10</B>(double x);<BR>
|
|
float <B>log10</B>(float x); <B>[C++ only]</B><BR>
|
|
long double <B>log10</B>(long double x); <B>[C++ only]</B><BR>
|
|
float <B>log10f</B>(float x); <B>[optional]</B><BR>
|
|
long double <B>log10l</B>(long double x); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns the base-10 logarithm of <CODE>x</CODE>.</P>
|
|
|
|
<H2><A NAME="modf"><CODE>modf</CODE></A>,
|
|
<A NAME="modff"><CODE>modff</CODE></A>,
|
|
<A NAME="modfl"><CODE>modfl</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>modf</B>(double x, double *pint);<BR>
|
|
float <B>modf</B>(float x, float *pint); <B>[C++ only]</B><BR>
|
|
long double <B>modf</B>(long double x, long double *pint); <B>[C++ only]</B><BR>
|
|
float <B>modff</B>(float x, float *pint); <B>[optional]</B><BR>
|
|
long double <B>modfl</B>(long double x, long double *pint); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function determines an integer <CODE>i</CODE> plus a fraction
|
|
<CODE>f</CODE> that represent the value of <CODE>x</CODE>.
|
|
It returns the value <CODE>f</CODE> and stores the integer
|
|
<CODE>i</CODE> in <CODE>*pint</CODE>, such that
|
|
<CODE>f + i == x</CODE>, <CODE>|f| is in the interval [0, 1),
|
|
and both <CODE>f</CODE> and <CODE>i</CODE> have the
|
|
same sign as <CODE>x</CODE>.</P>
|
|
|
|
<H2><A NAME="pow"><CODE>pow</CODE></A>,
|
|
<A NAME="powf"><CODE>powf</CODE></A>,
|
|
<A NAME="powl"><CODE>powl</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>pow</B>(double x, double y);<BR>
|
|
float <B>pow</B>(float x, float y); <B>[C++ only]</B><BR>
|
|
long double <B>pow</B>(long double x, long double y); <B>[C++ only]</B><BR>
|
|
double <B>pow</B>(double x, int y); <B>[C++ only]</B><BR>
|
|
float <B>pow</B>(float x, int y); <B>[C++ only]</B><BR>
|
|
long double <B>pow</B>(long double x, int y); <B>[C++ only]</B><BR>
|
|
float <B>powf</B>(float x, float y); <B>[optional]</B><BR>
|
|
long double <B>powl</B>(long double x, long double y); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns <CODE>x</CODE> raised to the power <CODE>y</CODE>,
|
|
<CODE>x^y</CODE>.</P>
|
|
|
|
<H2><A NAME="sin"><CODE>sin</CODE></A>,
|
|
<A NAME="sinf"><CODE>sinf</CODE></A>,
|
|
<A NAME="sinl"><CODE>sinl</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>sin</B>(double x);<BR>
|
|
float <B>sin</B>(float x); <B>[C++ only]</B><BR>
|
|
long double <B>sin</B>(long double x); <B>[C++ only]</B><BR>
|
|
float <B>sinf</B>(float x); <B>[optional]</B><BR>
|
|
long double <B>sinl</B>(long double x); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns the sine of <CODE>x</CODE>
|
|
for <CODE>x</CODE> in radians. If <CODE>x</CODE> is large
|
|
the value returned might not be meaningful, but
|
|
the function reports no error.</P>
|
|
|
|
<H2><A NAME="sinh"><CODE>sinh</CODE></A>,
|
|
<A NAME="sinhf"><CODE>sinhf</CODE></A>,
|
|
<A NAME="sinhl"><CODE>sinhl</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>sinh</B>(double x);<BR>
|
|
float <B>sinh</B>(float x); <B>[C++ only]</B><BR>
|
|
long double <B>sinh</B>(long double x); <B>[C++ only]</B><BR>
|
|
float <B>sinhf</B>(float x); <B>[optional]</B><BR>
|
|
long double <B>sinhl</B>(long double x); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns the hyperbolic sine of <CODE>x</CODE>.</P>
|
|
|
|
<H2><A NAME="sqrt"><CODE>sqrt</CODE></A>,
|
|
<A NAME="sqrtf"><CODE>sqrtf</CODE></A>,
|
|
<A NAME="sqrtl"><CODE>sqrtl</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>sqrt</B>(double x);<BR>
|
|
float <B>sqrt</B>(float x); <B>[C++ only]</B><BR>
|
|
long double <B>sqrt</B>(long double x); <B>[C++ only]</B><BR>
|
|
float <B>sqrtf</B>(float x); <B>[optional]</B><BR>
|
|
long double <B>sqrtl</B>(long double x); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns the square root of <CODE>x</CODE>,
|
|
<CODE>x^(1/2)</CODE>.</P>
|
|
|
|
<H2><A NAME="tan"><CODE>tan</CODE></A>,
|
|
<A NAME="tanf"><CODE>tanf</CODE></A>,
|
|
<A NAME="tanl"><CODE>tanl</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>tan</B>(double x);<BR>
|
|
float <B>tan</B>(float x); <B>[C++ only]</B><BR>
|
|
long double <B>tan</B>(long double x); <B>[C++ only]</B><BR>
|
|
float <B>tanf</B>(float x); <B>[optional]</B><BR>
|
|
long double <B>tanl</B>(long double x); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns the tangent of <CODE>x</CODE> for <CODE>x</CODE> in
|
|
radians.If <CODE>x</CODE> is large the value returned
|
|
might not be meaningful,
|
|
but the function reports no error.</P>
|
|
|
|
<H2><A NAME="tanh"><CODE>tanh</CODE></A>,
|
|
<A NAME="tanhf"><CODE>tanhf</CODE></A>,
|
|
<A NAME="tanhl"><CODE>tanhl</CODE></A></H2>
|
|
|
|
<P><CODE>
|
|
double <B>tanh</B>(double x);<BR>
|
|
float <B>tanh</B>(float x); <B>[C++ only]</B><BR>
|
|
long double <B>tanh</B>(long double x); <B>[C++ only]</B><BR>
|
|
float <B>tanhf</B>(float x); <B>[optional]</B><BR>
|
|
long double <B>tanhl</B>(long double x); <B>[optional]</B>
|
|
</CODE></P>
|
|
|
|
<P>The function returns the hyperbolic tangent of <CODE>x</CODE>.</P>
|
|
|
|
<HR>
|
|
<P>See also the
|
|
<B><A HREF="index.html#Table of Contents" tppabs="http://ccs.ucsd.edu/c/index.html#Table of Contents">Table of Contents</A></B> and the
|
|
<B><A HREF="_index.html" tppabs="http://ccs.ucsd.edu/c/_index.html">Index</A></B>.</P>
|
|
|
|
<P><I>
|
|
<A HREF="crit_pb.html" tppabs="http://ccs.ucsd.edu/c/crit_pb.html">Copyright</A> © 1989-1996
|
|
by P.J. Plauger and Jim Brodie. All rights reserved.</I></P>
|
|
|
|
</BODY></HTML>
|