エラー/ガンマ関数(error/gamma functions)
| 名前 | プロトタイプ | 解説
|
|---|
| erf
|
| double | erf(double x); |
| float | erff(float x); |
| long double | erfl(long double x); |
|
エラー関数 (error function)
を計算します。(IE だと正しく表示されません。-t2 → -t2)
|
| erfc
|
| double | erfc(double x); |
| float | erfcf(float x); |
| long double | erfcl(long double x); |
|
補足(?)エラー関数(complementary error function)
を計算します。x が大きすぎると range error の可能性あり。(IE だと正しく表示されません。-t2 → -t2)
|
| tgamma
|
| double | tgamma(double x); |
| float | tgammaf(float x); |
| long double | tgammal(long double x); |
|
ガンマ関数 Γ(x) を計算します。x が 0 以下の場合 domain error。
x が大きすぎ/小さすぎる場合 range error の可能性あり。
|
| lgamma
|
| double | lgamma(double x); |
| float | lgammaf(float x); |
| long double | lgammal(long double x); |
|
loge|Γ(x)| を計算します。x が大きすぎる場合、または 0 以下の場合は range error。
|
丸め関数(nearest integer functions)
| 名前 | プロトタイプ | 解説
|
|---|
| nearbyint
|
| double | nearbyint(double x); |
| float | nearbyintf(float x); |
| long double | nearbyintl(long double x); |
|
x を現在の丸め方向にしたがって、浮動小数点形式の整数値に丸めます。inexact(不正確) 例外は発生しません。
|
| rint
|
| double | rint(double x); |
| float | rintf(float x); |
| long double | rintl(long double x); |
|
x を現在の丸め方向にしたがって、浮動小数点形式の整数値に丸めます。inexact 例外の発生の可能性あり。
|
lrint
llrint
|
| long | lrint(double x); |
| long | lrintf(float x); |
| long | lrintl(long double x); |
| long long | llrint(double x); |
| long long | llrintf(float x); |
| long long | llrintl(long double x); |
|
x を現在の丸め方向にしたがって、最も近い整数値に丸めます。結果が範囲外の場合は結果は未定義です。x が大きすぎると range error の可能性あり。
lrint は戻り値が long、llrint はその long long 版。
|
| round
|
| double | round(double x); |
| float | roundf(float x); |
| long double | roundl(long double x); |
|
x を現在の丸め方向にかかわらず、中間値(0.5)を基準に 0 から遠い方向へ、浮動小数点形式の整数値に丸めます。
|
lround
llround
|
| long | lround(double x); |
| long | lroundf(float x); |
| long | lroundl(long double x); |
| long long | llround(double x); |
| long long | llroundf(float x); |
| long long | llroundl(long double x); |
|
x を現在の丸め方向にかかわらず、中間値(0.5)を基準に 0 から遠い方向へ、浮動小数点形式の整数値に丸めます。結果が範囲外の場合は結果は未定義です。x が大きすぎると range error の可能性あり。
lround は戻り値が long、llround はその long long 版。
|
| trunc
|
| double | trunc(double x); |
| float | truncf(float x); |
| long double | truncl(long double x); |
|
現在の丸め方向にかかわらず、x をその値より大きくならない方向に、浮動小数点形式の整数値に丸めます。
|
余り関数(remainder functions)
| 名前 | プロトタイプ | 解説
|
|---|
| remainder
|
| double | remainder(double x, double y); |
| float | remainderf(float x, float y); |
| long double | remainderl(long double x, long double y); |
|
y が 0 以外のとき定義され、x REM y の結果の値 r を返します。r は r = x - n × y から導かれます。n は x/y を正確に表現するのに最も近い整数値で |n - x/y|=1/2 がいつでも成り立つ偶数です。r が 0 なら符号は x の符号と等しくなります。
|
| remquo
|
| double | remquo(double x, double y, int *quo); |
| float | remquof(float x, float y, int *quo); |
| long double | remquol(long double x, long double y, int *quo); |
|
remainder と同じ。quo には、x/y の符号と、2n(n は 3 以上の実装定義値)を法とする x/y の整数の商を持つ値が入ります。
|