IEEE(3) FreeBSD ライブラリ関数マニュアル IEEE(3)
名称
copysign, copysignf, finite, finitef, ilogb, ilogbf, nextafter, nextafterf, remainder, remainderf, scalbn, scalbnf − IEEE 演算関数 |
ライブラリ
数値計算ライブラリ (libm, −lm) |
書式
#include <math.h> double |
copysign(double x, double y); float |
copysignf(float x, float y); int |
finite(double x); int |
finitef(float x); int |
ilogb(double x); int |
ilogbf(float x); double |
nextafter(double x, double y); float |
nextafterf(float x, float y); double |
remainder(double x, double y); float |
remainderf(float x, float y); double |
scalbn(double x, int n); float |
scalbnf(float x, int n); |
解説 |
これらの関数は、 IEEE Std 754-1985 によって要求または推奨されています。 copysign() および copysignf() は、 x の符号を y の符号に置き換えて x を返 します。 −infinity < x < +infinity の時には、 finite() および finitef() は、値 1 を返します。そうでない時 ( |x| = infinity または x が NaN の時) には、0 が返されます。 ilogb() および ilogbf() は、 x の n 乗を整数型で返します。 ilogb(±infinity) は INT_MAX を返し、 ilogb(0) は INT_MIN を返します。 nextafter() および nextafterf() は、次のマシン表示可能な数を x から y 方 向に返します。 remainder() および remainderf() は、剰余 r := x − n∗y を返します。このと き n は x/y の正確な値に最も近い整数です。更に、 |n − x/y| = 1/2 ならば、 n は偶数です。その結果、剰余は正確に計算され、 |r| ≤ |y|/2 となります。し かし、 remainder(x, 0) および remainder(infinity, 0) は、NaN を生成する無 効な演算です。 scalbn() および scalbnf() は、指数操作によって計算された x∗(2**n) を返し ます。 |
関連項目
歴史
ieee 関数は、 4.3BSD で登場しました。 |
規格
IEEE Std 754-1985 FreeBSD 10.0 February 25, 1994 FreeBSD 10.0 |