本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス: セクション 3 : ライブラリ (N~Z) > s

scalb(3M)

HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

scalb(), scalbf(), scalbl(), scalbw(), scalbq() ― 基数に依存しない浮動小数点数の指数のスケーリング

構文

#include <math.h>

double scalb(double x, double y);

Itanium(R) ベース システムのみ

float scalbf(float x, float n);

long double scalbl(long double y, long double n);

extended scalbw(extended x, extended n);

quad scalbq(quad x, quad n);

説明

scalb() 関数は、 r がマシンの浮動小数点演算の基数として、 x * ry を返します。 基数 r は、すべての PA-RISC および Itanium ベース システムで 2 です。

Itanium ベース システムのみ

scalbf() は、 scalb()float バージョンで、 float 型の引き数をとり、 float 型の結果を返します。

scalbl() は、 scalb()long double バージョンで、 long double 型の引き数をとり、 long double 型の結果を返します。

scalbw() は、 scalb()extended バージョンで、 extended 型の引き数をとり、 extended 型の結果を返します。

scalbq() は、HP-UX システムでは scalbl() と同等です。

使用方法

これらの関数を使用するには、デフォルトの -Ae オプションを指定するか、または -Aa オプションと -D_HPUX_SOURCE オプションを指定してコンパイルしてください。

Itanium ベース システムで scalbw() または scalbq() を使うには、 -fpwidetypes オプションも指定してコンパイルしてください。

プログラムに <math.h> がインクルードされていることを確認した後、 コンパイラまたはリンカーのコマンド行で -lm を指定して、数学ライブラリとリンクしてください。

戻り値

scalb(-x, y)-scalb(x , y) は同等です。

y が ±0 の場合、 scalb()x を返します。

x が +0 で y が +INFINITY の場合、 scalb() は NaN を返し、無効例外が発生します。

x が +0 で y が +INFINITY より小さい整数の場合、 scalb() は +0 を返します。

x が +INFINITY で y が -INFINITY より大きい整数の場合、 scalb() は +INFINITY を返します。

x が有限の正の数で y が -INFINITY の場合、 scalb() は +0 を返します。

x が正の数で y が +INFINITY の場合、 scalb() は +INFINITY を返します。

x が +INFINITY で y が -INFINITY の場合、 scalb() は NaN を返します。

x または y が NaN の場合、 scalb() は NaN を返します。

scalb() は、値が大きすぎる場合これに代えて、 適切な符号が付いた無限大 (±HUGE_VAL に等しい) を返し、 オーバーフロー例外と不正確例外を発生させます。

scalb() では、結果が非常に小さく (本質的にはデノーマル値やゼロ) 正確な値でなくなるときには必ず、アンダーフロー例外と不正確例外が発生します。 また、結果が非常に小さいというだけで、これらの例外が発生することがあります。

エラー

正しい値がオーバーフローまたはアンダーフローした場合、 scalb()errno に [ERANGE] を設定します。

Itanium ベース システムのみ

Itanium ベース システムでの HP-UX の libm 関数は、デフォルトでは errno を設定しません。 errno を設定するには、 +Olibmerrno オプションを指定してコンパイルしてください。

標準準拠

scalb() : ISO/IEC C99 (付録 F 『IEC 60559 floating-point arithmetic』を含む)

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1983-2004 Hewlett-Packard Development Company, L.P.