名称
scalbln(), scalblnf(), scalblnl(), scalblnw(), scalblnq() ― 基数に依存しない、浮動小数点数の指数のスケーリング
構文
#include <math.h>
double scalbln(double x, long n);
Itanium(R) ベース
システムのみ
float scalblnf(float x, long n);
long double scalblnl(long double y, long n);
extended scalblnw(extended x, long n);
quad scalblnq(quad x, long n);
説明
scalbln() 関数は x * rn を返します。ここで、 r はマシンの浮動小数点演算の基数です。 r が 2 (すべての PA-RISC システムや Itanium ベース システムと同じ)
の場合、 scalbln() は、 ldexp() と同じ値を計算します。
Itanium ベース
システムのみ
scalblnf() は、 scalbln() の float バージョンで、 float 型の
(第 1) 引き数をとり、 float 型の結果を返します。
scalblnl() は、 scalbln() の long double バージョンで、 long double 型の
(第 1) 引き数をとり、 long double 型の結果を返します。
scalblnw() は、 scalbln() の extended バージョンで、 extended 型の
(第 1) 引き数をとり、 extended 型の結果を返します。
scalblnq() は、HP-UX システムでは scalblnl() と同等です。
使用方法
これらの関数を使うには、デフォルトの -Ae オプションを指定するか、または -Aa オプションと -D_HPUX_SOURCE オプションを指定してコンパイルしてください。
scalblnw() または scalblnq() を使うには、 -fpwidetypes オプションも指定してコンパイルしてください。
プログラムに <math.h> がインクルードされていることを確認した後、コンパイラまたはリンカーのコマンド行で -lm を指定して、数学ライブラリとリンクしてください。
詳細については、 『『HP-UX フローティング・ポイント・ガイド』』 を参照してください。
戻り値
scalbln(-x, n) と -scalbln(x,
n) は同等です。
x が ±INFINITY、 ゼロ、または NaN の場合、 scalbln() は x を返します。
scalbln() は、値が大きすぎる場合これに代えて適切な符号が付いた無限大を返し、オーバーフロー例外と不正確例外を発生させます。
scalbln() では、結果が非常に小さく (本質的にはデノーマル値やゼロ)
正確な値でなくなるときには必ず、アンダーフロー例外と不正確例外が発生します。
また、結果が非常に小さいというだけで、これらの例外が発生することがあります。
標準準拠
scalbln(), scalblnf(), scalblnl() :
ISO/IEC C99 (付録 F 『IEC 60559 floating-point arithmetic』を含む)