≫ ホーム ≫ C言語ヘッダファイル別一覧 ≫ math.h
math.h には,引数や戻り値の型の違う同機能の関数がそれぞれ 3 種類宣言されています.また多くのマクロも定義されています.
以下に math.h で定義されている関数とマクロの一覧を示します.なお,同等の機能を持ち,引数と戻り値のみ異なる関数は横に並べて表示しています.表のヘッダ部分の double や float などはその関数の引数と戻り値の型を表しています.
関数名 | 概要 | ||
---|---|---|---|
double | float | long double | |
acos | acosf | acosl | 逆余弦 (arccos) を計算する |
asin | asinf | asinl | 逆正弦 (arcsin) を計算する |
atan | atanf | atanl | 逆正接 (arctan) を計算する |
atan2 | atan2f | atan2l | y / x の逆正接 (arctan) を計算する |
cos | cosf | cosl | 余弦 (cos) を計算する |
sin | sinf | sinl | 正弦 (sin) を計算する |
tan | tanf | tanl | 正接 (tan) を計算する |
関数名 | 概要 | 備考 | ||
---|---|---|---|---|
double | float | long double | ||
acosh | acoshf | acoshl | 双曲線逆余弦 (arccosh) を計算する | C99 |
asinh | asinhf | asinhl | 双曲線逆正弦 (arcsinh) を計算する | C99 |
atanh | atanhf | atanhl | 双曲線逆正接 (arctanh) を計算する | C99 |
cosh | coshf | coshl | 双曲線余弦 (cosh) を計算する | |
sinh | sinhf | sinhl | 双曲線正弦 (sinh) を計算する | |
tanh | tanhf | tanhl | 双曲線正接 (tanh) を計算する |
関数名 | 概要 | 備考 | ||
---|---|---|---|---|
double | float | long double | ||
exp | expf | expl | 底がネイピア数 e である指数関数 (exp) を計算する | |
exp2 | exp2f | exp2l | 2 の引数乗を計算する | C99 |
expm1 | expm1f | expm1l | 底がネイピア数 e である指数関数 (exp) - 1 を計算する | C99 |
frexp | frexpf | frexpl | 引数を正規化小数と指数に分解する | |
ilogb | ilogbf | ilogbl | 符号付き int の値として引数の指数を抽出する | C99 |
ldexp | ldexpf | ldexpl | 浮動小数点数と 2 の整数べき乗の乗算を計算する | |
log | logf | logl | 自然対数 (loge) を計算する | |
log10 | log10f | log10l | 常用対数 (log10) を計算する | |
log1p | log1pf | log1pl | 引数に 1 を加えた自然対数 (loge) を計算する | C99 |
log2 | log2f | log2l | 2 を底とする対数 (log2) を計算する | C99 |
logb | logbf | logbl | 浮動小数点形式における符号付き整数の値として引数の指数を抽出する | C99 |
modf | modff | modfl | 引数を整数部と小数部に分割する | |
scalbn | scalbnf | scalbnl | 効率よく x * FLT_RADIX^n を計算する | C99 |
scalbln | scalblnf | scalblnl | 効率よく x * FLT_RADIX^n を計算する | C99 |
関数名 | 概要 | 備考 | ||
---|---|---|---|---|
double | float | long double | ||
cbrt | cbrtf | cbrtl | 立方根を計算する | C99 |
fabs | fabsf | fabsl | 絶対値を取得する | |
hypot | hypotf | hypotl | x の 2 乗と y の 2 乗の和の平方根を計算する | C99 |
pow | powf | powl | べき乗を計算する | |
sqrt | sqrtf | sqrtl | 平方根を計算する |
関数名 | 概要 | 備考 | ||
---|---|---|---|---|
double | float | long double | ||
erf | erff | erfl | 誤差関数を計算する | C99 |
erfc | erfcf | erfcl | 余誤差関数を計算する | C99 |
lgamma | lgammaf | lgammal | ガンマ関数の絶対値の自然対数 (loge) を計算する | C99 |
tgamma | tgammaf | tgammal | ガンマ関数を計算する | C99 |
関数名 | 概要 | 備考 | ||
---|---|---|---|---|
double | float | long double | ||
ceil | ceilf | ceill | 天井関数 (ceiling function) を計算する | |
floor | floorf | floorl | 床関数 (floor function) を計算する | |
near byint |
near byintf |
near byintl |
その時点の丸め方向に従って,引数を整数値に丸める ("不正確例外" 浮動小数点例外を生成しない) | C99 |
rint | rintf | rintl | その時点の丸め方向に従って,引数を整数値に丸める ("不正確例外" 浮動小数点例外を生成する) | C99 |
lrint | lrintf | lrintl | その時点の丸め方向に従って,引数を最も近い整数値に丸める | C99 |
llrint | llrintf | llrintl | その時点の丸め方向に従って,引数を最も近い整数値に丸める | C99 |
round | roundf | roundl | 引数を四捨五入する | C99 |
lround | lroundf | lroundl | 引数を四捨五入する | C99 |
llround | llroundf | llroundl | 引数を四捨五入する | C99 |
trunc | truncf | truncl | 引数を最も近い整数値に丸めます (ただし,その絶対値が引数の絶対値より大きくない値) | C99 |
関数名 | 概要 | 備考 | ||
---|---|---|---|---|
double | float | long double | ||
fmod | fmodf | fmodl | 剰余を計算する | |
remainder | remainderf | remainderl | IEEE 60559 が要求する余剰 x REM y を計算する | C99 |
remquo | remquof | remquol | IEEE 60559 が要求する余剰 x REM y を計算する | C99 |
関数名 | 概要 | 備考 | ||
---|---|---|---|---|
double | float | long double | ||
copysign | copysignf | copysignl | x の絶対値に y の符号を付加して返す | C99 |
nan | nanf | nanl | 文字列を NaN (非数) に変換する | C99 |
next after |
next afterf |
next afterl |
指定された形式で表現可能な y 方向にある x の次の値を返す. | C99 |
next toward |
next towardf |
next towardl |
指定された形式で表現可能な y 方向にある x の次の値を返す | C99 |
関数名 | 概要 | 備考 | ||
---|---|---|---|---|
double | float | long double | ||
fdim | fdimf | fdiml | 2 つの引数の正の差を計算する | C99 |
fmax | fmaxf | fmaxl | 2 つの引数の大きいほうの値を返す | C99 |
fmin | fminf | fminl | 2 つの引数の小さいほうの値を返す | C99 |
関数名 | 概要 | 備考 | ||
---|---|---|---|---|
double | float | long double | ||
fma | fmaf | fmal | (x * y) + z を 1 個の 3 項演算子としてまとめて計算する | C99 |
マクロ名 | 概要 | 備考 |
---|---|---|
fpclassify | 引数の値をカテゴリに分類する | C99 |
isfinite | 引数の値が有限の値かどうかを判定する | C99 |
isinf | 引数の値が無限大かどうかを判定する | C99 |
isnan | 引数の値が NaN (非数) かどうかを判定する | C99 |
isnormal | 引数の値が正規化数かどうかを判定する | C99 |
signbit | 引数の符号が負かどうかを判定する | C99 |
マクロ名 | 概要 | 備考 |
---|---|---|
isgreater | 1 番目の引数が 2 番目の引数より大きいかどうかを判定する | C99 |
isgreaterequal | 1 番目の引数が 2 番目の引数より大きい,または等しいかどうかを判定する | C99 |
isless | 1 番目の引数が 2 番目の引数より小さいかどうかを判定する | C99 |
islessequal | 1 番目の引数が 2 番目の引数より小さい,または等しいかどうかを判定する | C99 |
islessgreater | 1 番目の引数が 2 番目の引数より小さい,または大きいかどうかを判定する | C99 |
isunordered | 引数が順序付けられていないかどうかを判定します | C99 |
マクロ名 | 概要 | 備考 |
---|---|---|
HUGE_VAL | 正の double 型の式 | C99 |
HUGE_VALF | 正の float 型の式 | C99 |
HUGE_VALL | 正の long double 型の式 | C99 |
INFINITY | 無限大を表す float 型の定数式,あるいはコンパイル時においてオーバーフローする float 型の正の定数 (無限大をサポートしている処理系では正か符号なしの無限大) | C99 |
NAN | qNaN (quiet NaN) を表す float 型の定数 (処理系が float 型の qNaN (quiet NaN) をサポートしている場合のみ定義される) | C99 |
マクロ名 | 概要 | 備考 |
---|---|---|
FP_INFINITE | 正または負の無限大を表す | C99 |
FP_NAN | NaN (非数) を表す | C99 |
FP_ZERO | 0 を表す | C99 |
FP_SUBNORMAL | 非正規化数を表す (値が小さすぎて正規化形式で表現できない数) | C99 |
FP_NORMAL | 正規化数を表す (正常に表せる浮動小数点数) | C99 |
マクロ名 | 概要 | 備考 |
---|---|---|
FP_FAST_FMA | fma 関数が普通に (x * y) + z と計算するよりも,同じか,より早く実行されることを表す | C99 |
FP_FAST_FMAF | fmaf 関数が普通に (x * y) + z と計算するよりも,同じか,より早く実行されることを表す | C99 |
FP_FAST_FMAL | fmal 関数が普通に (x * y) + z と計算するよりも,同じか,より早く実行されることを表す | C99 |
マクロ名 | 概要 | 備考 |
---|---|---|
FP_ILOGB0 | ilogb 関数の引数が 0 の場合に返される値 | C99 |
FP_ILOGBNAN | ilogb 関数の引数が NaN (非数) の場合に返される値 | C99 |
マクロ名 | 概要 | 備考 |
---|---|---|
MATH_ERRNO | 整数定数 1 に展開する | C99 |
MATH_ERREXCEPT | 整数定数 2 に展開する | C99 |
math_errhandling | MATH_ERRNOか,MATH_ERREXCEPT,または両方のビット単位の論理和のいずれかの式 | C99 |