LOGB
Section: Linux Programmer's Manual (3)
Updated: 2007-07-26
Index
JM Home Page
roff page
名前
logb, logbf, logbl - 浮動小数点数の指数を取得する
書式
#include <math.h>
double logb(double x);
float logbf(float x);
long double logbl(long double x);
-lm でリンクする。
glibc 向けの機能検査マクロの要件
(feature_test_macros(7)
参照):
logb(),
logbf(),
logbl():
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE; or
cc -std=c99
説明
これらの関数は
x
の指数を抽出し、浮動小数点数として返す。
FLT_RADIX
が 2 の場合、
logb(x)
は
floor(log2(x))
と等しいが、後者の方がたぶん高速である。
x
が正規化されていない場合、
logb()
は
x
が正規化された場合の指数を返す。
x
が 0 の場合、-HUGE_VAL, -HUGE_VALF, -HUGE_VALL
がそれぞれ返されて、極 (pole) によるエラーが起きる。
x
が無限大の場合、正の無限大が返される。
x
が NaN の場合、NaN が返される。
エラー
エラーをチェックするためには、これらの関数を呼び出す前に
errno
を 0 に設定し、
feclearexcept(FE_ALL_EXCEPT)
を呼び出す。
これらの関数から返った後で、
errno
が 0 以外または
fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW)
が 0 以外になっている場合は、エラーが起きている。
エラーが起きていて、かつ
(math_errhandling & MATH_ERRNO)
が 0 以外の場合、
errno
が
ERANGE
に設定される。
エラーが起きていて、かつ
(math_errhandling & MATH_ERREXCEPT)
が 0 以外の場合、0 で割ったことによる浮動小数点数の例外が発生する。
x
が 0 の場合、極によるエラーが起きる。
準拠
C99
関連項目
log(3),
ilogb(3)
Index
- 名前
-
- 書式
-
- 説明
-
- エラー
-
- 準拠
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 04:31:50 GMT, November 19, 2007