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

pow(3M)

HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

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

 ≫ 目次

 ≫ 索引

名称

pow(), powf(), powl(), poww(), powq(), pown(), pownf(), pownl(), pownw(), pownq(), powlln(), powllnf(), powllnl(), powllnw(), powllnq() ― べき乗関数

構文

#include <math.h>

double pow(double x, double y);

float powf(float x, float y);

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

long double powl(long double x, long double y);

extended poww(extended x, extended y);

quad powq(quad x, quad y);

double pown(double x, int y);

float pownf(float x, int y);

long double pownl(long double x, int y);

extended pownw(extended x, int y);

quad pownq(quad x, int y);

double powlln(double x, long long y);

float powllnf(float x, long long y);

long double powllnl(long double x, long long y);

extended powllnw(extended x, long long y);

quad powllnq(quad x, long long y);

説明

pow() 関数は、 xy を返します。

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

Itanium ベース システムのみ

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

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

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

pown() 関数は、 xy を返します。

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

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

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

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

powlln() 関数は xy を返します。

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

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

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

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

使用方法

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

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

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

詳細については、 『『HP-UX フローティング・ポイント・ガイド』』 を参照してください。

PA-RISC のみ

pow() 関数のミリコードバージョンが提供されています。 数学ライブラリ関数のミリコードバージョンは通常、 標準ライブラリのものより処理が高速です。 これらのバージョンを使用するには、 +Olibcalls または +Oaggressive 最適化オプションを指定して、プログラムをコンパイルしてください。

特殊な場合に、 ミリコードバージョンはその標準ライブラリと同じ値を返しますが、 errno を設定しません (「戻り値」の項を参照)。

戻り値

Itanium ベース システム

Itanium ベース システムの場合、 pow() 関数は以下の特殊な場合に、C99 仕様に従います。

pow(±0,y) は、0 より小さい奇数の整数 y に対して、 ±Inf を返し、 ゼロ除算浮動小数点例外が発生します。

pow(±0,y) は、0 より小さい奇数の整数以外の y に対して、+Inf を返し、 ゼロ除算浮動小数点例外が発生します。

pow(±0,y) は、0 より大きい奇数の整数 y に対して ±0 を返します。

pow(±0,y) は、0 より大きい奇数の整数以外の y に対して +0 を返します。

pow(-1,±Inf) は 1 を返します。

pow(+1,x) は、NaN を含むすべての x に対して 1 を返します。

pow(x,±0) は、NaN を含むすべての x に対して 1 を返します。

pow(x,y) は、0 より小さい有限値 x および整数でない有限値 y に対して、NaN を返し、 無効浮動小数点例外が発生します。

pow(x,-Inf) は、 |x|<1 に対して +Inf を返します。

pow(x,-Inf) は、 |x|>1 に対して +0 を返します。

pow(x,+Inf) は、 |x|<1 に対して +0 を返します。

pow(x,+Inf) は、 |x|>1 に対して +Inf を返します。

pow(-Inf,y) は、0 より小さい奇数の整数 y に対して -0 を返します。

pow(-Inf,y) は、0 より小さい奇数の整数以外の y に対して +0 を返します。

pow(-Inf,y) は、0 より大きい奇数の整数 y に対して -Inf を返します。

pow(-Inf,y) は、0 より大きい奇数の整数以外の y に対して +Inf を返します。

pow(+Inf,y) は、0 より小さい y に対して +0 を返します。

pow(+Inf,y) は、0 より大きい y に対して +inf を返します。

上記以外で、どちらかの引き数が NaN の場合、 pow() は NaN を返します。

pow() は、値が大きすぎる場合これに代えて無限大を返し、オーバーフロー例外と不正確例外を発生させます。

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

丸めた結果が数学上の結果と等しくないときには必ず、 pow() で不正確例外が発生します。

下記の PA-RISC の動作に相当する、 pow() の戻り値と errno の設定値は、 Itanium ベース システムの場合、 +Olibmerrno オプションを指定してコンパイルすることによって得ることができます。

pown() および powlln() 関数は、適用可能な特殊なケースやエラーが発生した場合には pow() 関数の仕様に従います。

PA-RISC

xy が両方とも 0 の場合、 pow() は 1.0 を返します。

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

x がゼロで、 y が負の有限値の場合、 pow()-HUGE_VAL (-INFINITY に等しい) を返します。

x が有限値でゼロより小さく、 y が有限値で整数でない場合、 pow() は NaN を返します。

正しい値がオーバーフローする場合、 pow()±HUGE_VAL (+/-INFINITY に等しい) を返します。

エラー

x がゼロで、 y がゼロより小さい場合、 pow()errno に [EDOM] を設定します。

x が有限値でゼロより小さく、 y が有限値で整数でない場合、 pow()errno に [EDOM] を設定します。

正しい値がオーバーフローする場合、 pow()errno に [ERANGE] を設定します。

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

標準準拠

pow() : SVID3, XPG4.2, ANSI C, ISO/IEC C99 (付録 F 『IEC 60559 floating-point arithmetic』を含む)

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

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