Standard library header <math.h> - cppreference.com (original) (raw)

This header is part of the mathematics library.

Contents

[edit] Types

| | most efficient floating-point type at least as wide as float (typedef) [edit] | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | most efficient floating-point type at least as wide as double (typedef) [edit] |

[edit] Constants

HUGE_VALFHUGE_VALHUGE_VALL(C99)(C99) indicates value too big to be representable (infinity) by float, double and long double respectively (macro constant) [edit]
INFINITY(C99) evaluates to positive infinity or the value guaranteed to overflow a float (macro constant) [edit]
NAN(C99) evaluates to a quiet NaN of type float (macro constant) [edit]
FP_FAST_FMAFFP_FAST_FMAFP_FAST_FMAL(C99)(C99)(C99) indicates that the fma function generally executes about as fast as, or faster than, a multiply and an add of double operands (macro constant) [edit]
FP_ILOGB0FP_ILOGBNAN(C99)(C99) evaluates to ilogb(x) if x is zero or NaN, respectively (macro constant) [edit]
math_errhandlingMATH_ERRNOMATH_ERREXCEPT(C99)(C99)(C99) defines the error handling mechanism used by the common mathematical functions (macro constant) [edit]
Classification
FP_NORMALFP_SUBNORMALFP_ZEROFP_INFINITEFP_NAN(C99)(C99)(C99)(C99)(C99) indicates a floating-point category (macro constant) [edit]

[edit] Functions

Basic operations
fabsfabsffabsl(C99)(C99) computes absolute value of a floating-point value (\(\small{|x
fmodfmodffmodl(C99)(C99) computes remainder of the floating-point division operation (function) [edit]
remainderremainderfremainderl(C99)(C99)(C99) computes signed remainder of the floating-point division operation (function) [edit]
remquoremquofremquol(C99)(C99)(C99) computes signed remainder as well as the three last bits of the division operation (function) [edit]
fmafmaffmal(C99)(C99)(C99) computes fused multiply-add operation (function) [edit]
fmaxfmaxffmaxl(C99)(C99)(C99) determines larger of two floating-point values (function) [edit]
fminfminffminl(C99)(C99)(C99) determines smaller of two floating-point values (function) [edit]
fdimfdimffdiml(C99)(C99)(C99) determines positive difference of two floating-point values (\({\small\max{(0, x-y)} }\)max(0, x-y)) (function) [edit]
nannanfnanl(C99)(C99)(C99) returns a NaN (not-a-number) (function) [edit]
Exponential functions
expexpfexpl(C99)(C99) computes e raised to the given power (\({\small e^x}\)ex) (function) [edit]
exp2exp2fexp2l(C99)(C99)(C99) computes 2 raised to the given power (\({\small 2^x}\)2x) (function) [edit]
expm1expm1fexpm1l(C99)(C99)(C99) computes e raised to the given power, minus one (\({\small e^x-1}\)ex-1) (function) [edit]
loglogflogl(C99)(C99) computes natural (base-e) logarithm (\({\small \ln{x} }\)ln(x)) (function) [edit]
log10log10flog10l(C99)(C99) computes common (base-10) logarithm (\({\small \log_{10}{x} }\)log10(x)) (function) [edit]
log2log2flog2l(C99)(C99)(C99) computes base-2 logarithm (\({\small \log_{2}{x} }\)log2(x)) (function) [edit]
log1plog1pflog1pl(C99)(C99)(C99) computes natural (base-e) logarithm of 1 plus the given number (\({\small \ln{(1+x)} }\)ln(1+x)) (function) [edit]
Power functions
powpowfpowl(C99)(C99) computes a number raised to the given power (\(\small{x^y}\)xy) (function) [edit]
sqrtsqrtfsqrtl(C99)(C99) computes square root (\(\small{\sqrt{x} }\)√x) (function) [edit]
cbrtcbrtfcbrtl(C99)(C99)(C99) computes cube root (\(\small{\sqrt[3]{x} }\)3√x) (function) [edit]
hypothypotfhypotl(C99)(C99)(C99) computes square root of the sum of the squares of two given numbers (\(\scriptsize{\sqrt{x^2+y^2} }\)√x2+y2) (function) [edit]
Trigonometric functions
sinsinfsinl(C99)(C99) computes sine (\({\small\sin{x} }\)sin(x)) (function) [edit]
coscosfcosl(C99)(C99) computes cosine (\({\small\cos{x} }\)cos(x)) (function) [edit]
tantanftanl(C99)(C99) computes tangent (\({\small\tan{x} }\)tan(x)) (function) [edit]
asinasinfasinl(C99)(C99) computes arc sine (\({\small\arcsin{x} }\)arcsin(x)) (function) [edit]
acosacosfacosl(C99)(C99) computes arc cosine (\({\small\arccos{x} }\)arccos(x)) (function) [edit]
atanatanfatanl(C99)(C99) computes arc tangent (\({\small\arctan{x} }\)arctan(x)) (function) [edit]
atan2atan2fatan2l(C99)(C99) computes arc tangent, using signs to determine quadrants (function) [edit]
Hyperbolic functions
sinhsinhfsinhl(C99)(C99) computes hyperbolic sine (\({\small\sinh{x} }\)sinh(x)) (function) [edit]
coshcoshfcoshl(C99)(C99) computes hyperbolic cosine (\({\small\cosh{x} }\)cosh(x)) (function) [edit]
tanhtanhftanhl(C99)(C99) computes hyperbolic tangent (\({\small\tanh{x} }\)tanh(x)) (function) [edit]
asinhasinhfasinhl(C99)(C99)(C99) computes inverse hyperbolic sine (\({\small\operatorname{arsinh}{x} }\)arsinh(x)) (function) [edit]
acoshacoshfacoshl(C99)(C99)(C99) computes inverse hyperbolic cosine (\({\small\operatorname{arcosh}{x} }\)arcosh(x)) (function) [edit]
atanhatanhfatanhl(C99)(C99)(C99) computes inverse hyperbolic tangent (\({\small\operatorname{artanh}{x} }\)artanh(x)) (function) [edit]
Error and gamma functions
erferfferfl(C99)(C99)(C99) computes error function (function) [edit]
erfcerfcferfcl(C99)(C99)(C99) computes complementary error function (function) [edit]
tgammatgammaftgammal(C99)(C99)(C99) computes gamma function (function) [edit]
lgammalgammaflgammal(C99)(C99)(C99) computes natural (base-e) logarithm of the gamma function (function) [edit]
Nearest integer floating-point operations
ceilceilfceill(C99)(C99) computes smallest integer not less than the given value (function) [edit]
floorfloorffloorl(C99)(C99) computes largest integer not greater than the given value (function) [edit]
trunctruncftruncl(C99)(C99)(C99) rounds to nearest integer not greater in magnitude than the given value (function) [edit]
roundroundfroundllroundlroundflroundlllroundllroundfllroundl(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99) rounds to nearest integer, rounding away from zero in halfway cases (function) [edit]
nearbyintnearbyintfnearbyintl(C99)(C99)(C99) rounds to an integer using current rounding mode (function) [edit]
rintrintfrintllrintlrintflrintlllrintllrintfllrintl(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99) rounds to an integer using current rounding mode with exception if the result differs (function) [edit]
Floating-point manipulation functions
frexpfrexpffrexpl(C99)(C99) breaks a number into significand and a power of 2 (function) [edit]
ldexpldexpfldexpl(C99)(C99) multiplies a number by 2 raised to a power (function) [edit]
modfmodffmodfl(C99)(C99) breaks a number into integer and fractional parts (function) [edit]
scalbnscalbnfscalbnlscalblnscalblnfscalblnl(C99)(C99)(C99)(C99)(C99)(C99) computes efficiently a number times FLT_RADIX raised to a power (function) [edit]
ilogbilogbfilogbl(C99)(C99)(C99) extracts exponent of the given number (function) [edit]
logblogbflogbl(C99)(C99)(C99) extracts exponent of the given number (function) [edit]
nextafternextafterfnextafterlnexttowardnexttowardfnexttowardl(C99)(C99)(C99)(C99)(C99)(C99) determines next representable floating-point value towards the given value (function) [edit]
copysigncopysignfcopysignl(C99)(C99)(C99) produces a value with the magnitude of a given value and the sign of another given value (function) [edit]
Classification and comparison
fpclassify(C99) classifies the given floating-point value (function macro) [edit]
isfinite(C99) checks if the given number has finite value (function macro) [edit]
isinf(C99) checks if the given number is infinite (function macro) [edit]
isnan(C99) checks if the given number is NaN (function macro) [edit]
isnormal(C99) checks if the given number is normal (function macro) [edit]
signbit(C99) checks if the given number is negative (function macro) [edit]
isgreater(C99) checks if the first floating-point argument is greater than the second (function macro) [edit]
isgreaterequal(C99) checks if the first floating-point argument is greater or equal than the second (function macro) [edit]
isless(C99) checks if the first floating-point argument is less than the second (function macro) [edit]
islessequal(C99) checks if the first floating-point argument is less or equal than the second (function macro) [edit]
islessgreater(C99) checks if the first floating-point argument is less or greater than the second (function macro) [edit]
isunordered(C99) checks if two floating-point values are unordered (function macro) [edit]

[edit] Synopsis

#define STDC_VERSION_MATH_H 202311L // TODO: ...