scalbのヘルプ・マニュアル
日本語 英語
scalb --help
man scalb
SCALB(3) Linux Programmer’s Manual SCALB(3)
名前
scalb, scalbf, scalbl - 浮動小数点数に整数である基数の累乗を掛ける (廃
止予定)
書式
#include
double scalb(double x, double exp);
float scalbf(float x, double exp);
long double scalbl(long double x, double exp);
glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):
scalb(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500
scalbf(), scalbl(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600
-lm でリンクする。
説明
こ れらの関数は最初の引き数 x に FLT_RADIX の exp 乗を掛ける (FLT_RADIX
はおそらく 2 である)。つまり、以下の式の値を返す。
x * FLT_RADIX ** exp
FLT_RADIX の定義は をインクルードすることで得られる。
返り値
成功すると、これらの関数は x * FLT_RADIX ** exp を返す。
x か exp が NaN の場合、NaN が返される。
x が正の無限大 (負の無限大) で exp が負の無限大でない場合、正の無限大 (
負の無限大) が返される。
x が +0 (-0) で exp が正の無限大でない場合、+0 (-0) が返される。
x がゼロで exp が正の無限大の場合、領域エラー (domain error) が発生し、
NaN が返される。
x が無限大で exp が負の無限大の場合、領域エラー (domain error) が発生し
、 NaN が返される。
結果がオーバーフローする場合、範囲エラー (range error) が発生し、各関数
はそれぞれ HUGE_VAL, HUGE_VALF, HUGE_VALL を返す。符号は x と同じになる
。
結果がアンダーフローする場合、範囲エラーが発生し、各関数は 0 を返す。符
号は x と同じになる。
エラー
これらの関数を呼び出した際にエラーが発生したかの判定方法についての情 報
は math_error(7) を参照のこと。
以下のエラーが発生する可能性がある。
領域エラー (domain error): x が 0 で exp が正の無限大、または x が正 の
無限大で exp が負の無限大
不正 (invalid) 浮動小数点例外 (FE_INVALID) が上がる。
範囲エラー (range error)、オーバーフロー
オーバーフロー浮動小数点例外 (FE_OVERFLOW) が上がる。
範囲エラー (range error)、アンダーフロー
アンダーフロー浮動小数点例外 (FE_UNDERFLOW) が上がる。
これらの関数は errno を設定しない。
準拠
scalb() は POSIX.1-2001 で規定されているが、廃止予定とされている。
POSIX.1-2008 では scalb() の仕様は削除されており、代わりに scalbln(3),
scalblnf(3), scalblnl(3) の使用が推奨されている。 scalb() 関数は 4.3BSD
に由来する。
scalbf() と scalbl() は標準化されていない。それにも関わらず、 scalbf()
はいくつかの他のシステムに存在する。
関連項目
ldexp(3), scalbln(3)
2009-03-15 SCALB(3)
SCALB(3) Linux Programmer’s Manual SCALB(3)
NAME
scalb, scalbf, scalbl - multiply floating-point number by integral
power of radix (OBSOLETE)
SYNOPSIS
#include
double scalb(double x, double exp);
float scalbf(float x, double exp);
long double scalbl(long double x, double exp);
Link with -lm.
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
scalb(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500
scalbf(), scalbl(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600
DESCRIPTION
These functions multiply their first argument x by FLT_RADIX (probably
2) to the power of exp, that is:
x * FLT_RADIX ** exp
The definition of FLT_RADIX can be obtained by including .
RETURN VALUE
On success, these functions return x * FLT_RADIX ** exp.
If x or exp is a NaN, a NaN is returned.
If x is positive infinity (negative infinity), and exp is not negative
infinity, positive infinity (negative infinity) is returned.
If x is +0 (-0), and exp is not positive infinity, +0 (-0) is returned.
If x is zero, and exp is positive infinity, a domain error occurs, and
a NaN is returned.
If x is an infinity, and exp is negative infinity, a domain error
occurs, and a NaN is returned.
If the result overflows, a range error occurs, and the functions return
HUGE_VAL, HUGE_VALF, or HUGE_VALL, respectively, with a sign the same
as x.
If the result underflows, a range error occurs, and the functions
return zero, with a sign the same as x.
ERRORS
See math_error(7) for information on how to determine whether an error
has occurred when calling these functions.
The following errors can occur:
Domain error: x is 0, and exp is positive infinity, or x is positive
infinity and exp is negative infinity and the other argument is not a
NaN
An invalid floating-point exception (FE_INVALID) is raised.
Range error, overflow
An overflow floating-point exception (FE_OVERFLOW) is raised.
Range error, underflow
An underflow floating-point exception (FE_UNDERFLOW) is raised.
These functions do not set errno.
CONFORMING TO
scalb() is specified in POSIX.1-2001, but marked obsolescent.
POSIX.1-2008 removes the specification of scalb(), recommending the use
of scalbln(3), scalblnf(3), or scalblnl(3) instead. The scalb() func-
tion is from 4.3BSD.
scalbf() and scalbl() are unstandardized; scalbf() is nevertheless
present on several other systems
SEE ALSO
ldexp(3), scalbln(3)
COLOPHON
This page is part of release 3.22 of the Linux man-pages project. A
description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
2009-03-15 SCALB(3)