GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing cpprefjp.github.io — cmath - cpprefjp C++日本語リファレンス
<cmath> cmath
フリースタンディングこのヘッダの一部の機能が、フリースタンディング処理系でも使用できる。どの機能が使用できるかは各機能のページを参照。 標準Cライブラリとの差異
C++98のC90との差異
C++11のC99との差異
C++23での差異constexpr対応C++23では、多くの数学関数が C++23で
ただし、コンパイラが先行して なお、C++20では 拡張浮動小数点数型への対応C++23では 以下のように エラーの扱い
|
| 関数 | 条件 | 結果 |
|---|---|---|
pow |
pow(1.0, NaN) |
1.0 |
pow |
pow(NaN, ±0.0) |
1.0 |
hypot |
hypot(±∞, NaN) |
+∞ |
fmax |
一方のみが NaN | NaN でない方の引数 |
fmin |
一方のみが NaN | NaN でない方の引数 |
pow と hypot の例外は、NaN をどのような実数値に置き換えても結果が同じになるという原則に基づいている(任意の実数の 0 乗は 1、任意の実数と無限大の hypot は無限大)。
fmax と fmin は、NaN を欠損値として扱い、有効な数値を優先して返す。ただし、両方の引数が NaN の場合は NaN を返す。
なお、数値分類関数(fpclassify、isnan、isinf 等)は戻り値が整数型であるため、NaN の伝播規則の対象外である。
| 名前 | 説明 | 対応バージョン |
|---|---|---|
sin |
正弦関数(サイン) | |
cos |
余弦関数(コサイン) | |
tan |
正接関数(タンジェント) | |
asin |
逆正弦関数(アークサイン) | |
acos |
逆余弦関数(アークコサイン) | |
atan |
逆正接関数(アークタンジェント) | |
atan2 |
対辺と隣辺からの逆正接関数(アークタンジェント) |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
sinh |
双曲線正弦関数(ハイパボリックサイン) | |
cosh |
双曲線余弦関数(ハイパボリックコサイン) | |
tanh |
双曲線正接関数(ハイパボリックタンジェント) | |
asinh |
逆双曲線正弦関数(エリアハイパボリックサイン) | C++11 |
acosh |
逆双曲線余弦関数(エリアハイパボリックコサイン) | C++11 |
atanh |
逆双曲線正接関数(エリアハイパボリックタンジェント) | C++11 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
exp |
e (ネイピア数) を底とする指数関数 | |
exp2 |
2 を底とする指数関数 | C++11 |
expm1 |
e (ネイピア数) を底とする指数関数から 1 を引いた値 | C++11 |
log |
e (ネイピア数) を底とする自然対数 | |
log10 |
10 を底とする常用対数 | |
log1p |
引数に 1 を足した値の、e (ネイピア数) を底とする自然対数 | C++11 |
log2 |
2 を底とする二進対数 | C++11 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
ldexp |
2 の累乗との乗算 | |
frexp |
仮数部と 2 の累乗への分解 | |
ilogb |
指数部を符号付き整数値として抽出 | C++11 |
logb |
指数部を浮動小数点数値として抽出 | C++11 |
modf |
整数部と小数部への分解 | |
scalbn |
内部表現の基数 (FLT_RADIX) の累乗との乗算 |
C++11 |
scalbln |
内部表現の基数 (FLT_RADIX) の累乗との乗算。乗数としてlongをとる |
C++11 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
pow |
累乗 | |
sqrt |
平方根 | |
cbrt |
立方根 | C++11 |
hypot |
平方和の平方根 | C++11 |
abs |
絶対値 | |
fabs |
絶対値 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
erf |
誤差関数 | C++11 |
erfc |
相補誤差関数 | C++11 |
tgamma |
ガンマ関数 | C++11 |
lgamma |
ガンマ関数の自然対数 | C++11 |
以下の関数は引数に NaN が渡された場合、 NaN を返さなければならないが定義域エラーを報告してはならない。 引数が NaN ではないが次の条件を一つでも満たす場合、定義域エラーを報告しなければならない:
数学関数が数学的に定義されるのは以下のいずれかの場合である:
特記のない限り、以下の関数は全ての有限値と正負の無限大において定義される。
| 名前 | 説明 | 対応バージョン |
|---|---|---|
assoc_laguerre |
ラゲール陪多項式 | C++17 |
assoc_legendre |
ルジャンドル陪関数 | C++17 |
beta |
ベータ関数 | C++17 |
comp_ellint_1 |
第1種完全楕円積分 | C++17 |
comp_ellint_2 |
第2種完全楕円積分 | C++17 |
comp_ellint_3 |
第3種完全楕円積分 | C++17 |
cyl_bessel_i |
第1種変形ベッセル関数 | C++17 |
cyl_bessel_j |
第1種ベッセル関数 | C++17 |
cyl_bessel_k |
第2種変形ベッセル関数 | C++17 |
cyl_neumann |
第2種ベッセル関数 | C++17 |
ellint_1 |
第1種不完全楕円積分 | C++17 |
ellint_2 |
第2種不完全楕円積分 | C++17 |
ellint_3 |
第3種不完全楕円積分 | C++17 |
expint |
指数積分 | C++17 |
hermite |
エルミート多項式 | C++17 |
laguerre |
ラゲール多項式 | C++17 |
legendre |
ルジャンドル多項式 | C++17 |
riemann_zeta |
リーマンのゼータ関数 | C++17 |
sph_bessel |
第1種球ベッセル関数 | C++17 |
sph_legendre |
球面調和関数の θ 成分 | C++17 |
sph_neumann |
第2種球ベッセル関数 | C++17 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
ceil |
天井関数(引数より小さくない最近傍の整数) | |
floor |
床関数(引数より大きくない最近傍の整数) | |
trunc |
ゼロ方向への丸め | C++11 |
round |
四捨五入による丸め | C++11 |
lround |
long 型への四捨五入による丸め |
C++11 |
llround |
long long 型への四捨五入による丸め |
C++11 |
nearbyint |
現在の丸めモードによる丸め | C++11 |
rint |
現在の丸めモードによる丸め | C++11 |
lrint |
long 型への現在の丸めモードによる丸め |
C++11 |
llrint |
long long 型への現在の丸めモードによる丸め |
C++11 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
fmod |
浮動小数点剰余 | |
remainder |
符号付きの浮動小数点剰余 | C++11 |
remquo |
商と浮動小数点剰余 | C++11 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
copysign |
符号のコピー | C++11 |
nan |
文字列から quiet NaN への変換 | C++11 |
nanf |
文字列から quiet NaN への変換 | C++11 |
nanl |
文字列から quiet NaN への変換 | C++11 |
nextafter |
指定方向への次の表現可能な値 | C++11 |
nexttoward |
指定方向への次の表現可能な値 | C++11 |
nextup |
正の無限大方向への次の表現可能な値 | C++26 |
nextdown |
負の無限大方向への次の表現可能な値 | C++26 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
fmax |
最大値 (-0.0と+0.0では未規定、NaNと値では値を返す) |
C++11 |
fmin |
最小値 (-0.0と+0.0では未規定、NaNと値では値を返す) |
C++11 |
fmaximum |
最大値 (-0.0と+0.0では+0.0、NaNと値ではNaNを返す) |
C++26 |
fmaximum_num |
最大値 (-0.0と+0.0では+0.0、NaNと値では値を返す) |
C++26 |
fminimum |
最小値 (-0.0と+0.0では-0.0、NaNと値ではNaNを返す) |
C++26 |
fminimum_num |
最小値 (-0.0と+0.0では-0.0、NaNと値では値を返す) |
C++26 |
fdim |
正の差 | C++11 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
fma |
乗算と加算の合成 | C++11 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
lerp |
線形補間 | C++20 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
fpclassify |
数値を NaN、無限大、正規化数、非正規化数、0 または他の処理系定義のカテゴリに分類 | C++11 |
isfinite |
数値が有限であるか判定 | C++11 |
isinf |
数値が無限大であるか判定 | C++11 |
isnan |
数値が NaN であるか判定 | C++11 |
isnormal |
数値が正規化数であるか判定 | C++11 |
signbit |
数値の符号が負であるか判定 | C++11 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
isgreater |
第 1 引数が第 2 引数より大きいか判定 | C++11 |
isgreaterequal |
第 1 引数が第 2 引数以上か判定 | C++11 |
isless |
第 1 引数が第 2 引数より小さいか判定 | C++11 |
islessequal |
第 1 引数が第 2 引数以下か判定 | C++11 |
islessgreater |
第 1 引数が第 2 引数より小さいか、あるいは大きいか判定 | C++11 |
isunordered |
第 1 引数と第 2 引数が順序付けられていないか判定 | C++11 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
float_t |
float 以上の浮動小数点数型 |
C++11 |
double_t |
double 以上の浮動小数点数型 |
C++11 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
HUGE_VAL |
double 型の正の巨大値 |
|
HUGE_VALF |
float 型の正の巨大値 |
C++11 |
HUGE_VALL |
long double 型の正の巨大値 |
C++11 |
INFINITY |
float 型の正の無限大 |
C++11 |
NAN |
float 型の quiet NaN |
C++11 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
FP_INFINITE |
数値分類で無限大を表す整数定数式 | C++11 |
FP_NAN |
数値分類で NaN を表す整数定数式 |
C++11 |
FP_NORMAL |
数値分類で正規化数を表す整数定数式 | C++11 |
FP_SUBNORMAL |
数値分類で非正規化数を表す整数定数式 | C++11 |
FP_ZERO |
数値分類で浮動小数点数の 0 を表す整数定数式 | C++11 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
FP_FAST_FMA |
double 型の fma 関数がより高速な実装であるか |
C++11 |
FP_FAST_FMAF |
float 型の fma 関数がより高速な実装であるか |
C++11 |
FP_FAST_FMAL |
long double 型の fma 関数がより高速な実装であるか |
C++11 |
FP_ILOGB0 |
ilogb(0) の戻り値を表す整数定数式 |
C++11 |
FP_ILOGBNAN |
ilogb(NaN) の戻り値を表す整数定数式 |
C++11 |
MATH_ERRNO |
数学ライブラリ内でerrnoにエラーが設定されたかを表す整数定数 |
C++11 |
MATH_ERREXCEPT |
数学ライブラリ内で浮動小数点例外が発生したかを表す整数定数 | C++11 |
math_errhandling |
<cmath> 内の関数がエラーをどのように取り扱うかを表すマクロ |
C++11 |
f、lサフィックス付きのC関数を導入<cmath> and <cstdlib>constexpr対応