logb - ライブラリコールの説明 - Linux コマンド集 一覧表
名前
logb, logbf, logbl - 浮動小数点数の指数を取得する
書式
#include <math.h>
double logb(double
x
);
float logbf(float
x
);
long double logbl(long double
x
);
-lm でリンクする。
説明
これらの関数は 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 の場合、極によるエラーが起きる。
履歴
logb ()関数は 4.3BSD で導入された。
準拠
C99