OSDN Git Service

(split) LDP: Release pages for LDP v3.39.
[linuxjm/LDP_man-pages.git] / release / man3 / pow.3
index 77bf35d..ed42f7d 100644 (file)
 .\" Modified 1995-08-14 by Arnt Gulbrandsen <agulbra@troll.no>
 .\" Modified 2002-07-27 by Walter Harms
 .\"    (walter.harms@informatik.uni-oldenburg.de)
+.\"*******************************************************************
 .\"
-.\" Japanese Version Copyright (c) 2003, 2008  Akihiro MOTOKI
-.\"         all rights reserved.
-.\" Translated Mon Sep  7 23:27:52 JST 2003
-.\"         by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated 2008-09-18, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.TH POW 3  2010-09-12 "" "Linux Programmer's Manual"
-.SH Ì¾Á°
-pow, powf, powl \- Îß¾è´Ø¿ô
-.SH ½ñ¼°
+.\"*******************************************************************
+.TH POW 3 2010\-09\-12 "" "Linux Programmer's Manual"
+.SH 名前
+pow, powf, powl \- 累乗関数
+.SH 書式
 .nf
-.B #include <math.h>
+\fB#include <math.h>\fP
 .sp
-.BI "double pow(double " x ", double " y );
+\fBdouble pow(double \fP\fIx\fP\fB, double \fP\fIy\fP\fB);\fP
 .br
-.BI "float powf(float " x ", float " y );
+\fBfloat powf(float \fP\fIx\fP\fB, float \fP\fIy\fP\fB);\fP
 .br
-.BI "long double powl(long double " x ", long double " y );
+\fBlong double powl(long double \fP\fIx\fP\fB, long double \fP\fIy\fP\fB);\fP
 .fi
 .sp
-\fI\-lm\fP ¤Ç¥ê¥ó¥¯¤¹¤ë¡£
+\fI\-lm\fP でリンクする。
 .sp
 .in -4n
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
-.RB ( feature_test_macros (7)
-»²¾È):
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
 .in
 .sp
 .ad l
-.BR powf (),
-.BR powl ():
+\fBpowf\fP(), \fBpowl\fP():
 .RS 4
-_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE ||
-_POSIX_C_SOURCE\ >=\ 200112L;
+_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE
+|| _POSIX_C_SOURCE\ >=\ 200112L;
 .br
-or
-.I cc\ -std=c99
+or \fIcc\ \-std=c99\fP
 .RE
 .ad
-.SH ÀâÌÀ
-.BR pow ()
-´Ø¿ô¤Ï \fIx\fP ¤Î \fIy\fP ¾è¤ÎÃͤòÊÖ¤¹¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤¹¤ë¤È¡¢¤³¤ì¤é¤Î´Ø¿ô¤Ï
-.I x
-¤Î
-.I y
-¾è¤ÎÃͤòÊÖ¤¹¡£
+.SH 説明
+\fBpow\fP()  関数は \fIx\fP の \fIy\fP 乗の値を返す。
+.SH 返り値
+成功すると、これらの関数は \fIx\fP の \fIy\fP 乗の値を返す。
 
-.I x
-¤¬ 0 Ì¤Ëþ¤ÎÍ­¸ÂÃͤÇ
-.I y
-¤¬À°¿ô¤Ç¤Ê¤¤Í­¸ÂÃͤξì¹ç¡¢Îΰ襨¥é¡¼ (domain error) ¤¬È¯À¸¤·¡¢
 .\" The domain error is generated at least as far back as glibc 2.4
-NaN ¤¬ÊÖ¤µ¤ì¤ë¡£
+\fIx\fP が 0 未満の有限値で \fIy\fP が整数でない有限値の場合、領域エラー (domain error) が発生し、 NaN が返される。
 
-·ë²Ì¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¹¤ë¾ì¹ç¡¢
-ÈÏ°Ï¥¨¥é¡¼ (range error) ¤¬È¯À¸¤·¡¢
 .\" The range error is generated at least as far back as glibc 2.4
-³Æ´Ø¿ô¤Ï¤½¤ì¤¾¤ì
-.BR HUGE_VAL ,
-.BR HUGE_VALF ,
-.BR HUGE_VALL
-¤òÊÖ¤¹¡£ÊÖ¤êÃͤˤϿô³ØŪ¤ËÀµ¤·¤¤Éä¹æ¤¬ÉÕÍ¿¤µ¤ì¤ë¡£
+結果がオーバーフローする場合、 範囲エラー (range error) が発生し、 各関数はそれぞれ \fBHUGE_VAL\fP,
+\fBHUGE_VALF\fP, \fBHUGE_VALL\fP を返す。返り値には数学的に正しい符号が付与される。
 
-·ë²Ì¤¬¥¢¥ó¥À¡¼¥Õ¥í¡¼¤·¡¢¤½¤ÎÃͤ¬É½¸½²Äǽ¤Ç¤Ê¤¤¾ì¹ç¡¢
-ÈÏ°Ï¥¨¥é¡¼¤¬È¯À¸¤·¡¢ 0.0 ¤¬ÊÖ¤µ¤ì¤ë¡£
 .\" POSIX.1 does not specify the sign of the zero,
 .\" but http://sources.redhat.com/bugzilla/show_bug.cgi?id=2678
 .\" points out that the zero has the wrong sign in some cases.
+結果がアンダーフローし、その値が表現可能でない場合、 範囲エラーが発生し、 0.0 が返される。
 
-°Ê²¼¤Çµ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¡¢
-.I x
-¤«
-.I y
-¤¬ NaN ¤Î¾ì¹ç¡¢ÊÖ¤êÃͤϠNaN ¤È¤Ê¤ë¡£
+以下で規定されていない場合で、 \fIx\fP か \fIy\fP が NaN の場合、返り値は NaN となる。
 
-.I x
-¤¬ +1 ¤Î¾ì¹ç¡¢
-.RI ( y
-¤¬ NaN ¤Ç¤¢¤Ã¤¿¤È¤·¤Æ¤â) ÊÖ¤êÃͤϠ1.0 ¤È¤Ê¤ë¡£
+\fIx\fP が +1 の場合、 (\fIy\fP が NaN であったとしても) 返り値は 1.0 となる。
 
-.I y
-¤¬ 0 ¤Î¾ì¹ç¡¢
-.RI ( x
-¤¬ NaN ¤Ç¤¢¤Ã¤¿¤È¤·¤Æ¤â) ÊÖ¤êÃͤϠ1.0 ¤È¤Ê¤ë¡£
+\fIy\fP が 0 の場合、 (\fIx\fP が NaN であったとしても) 返り値は 1.0 となる。
 
-.I x
-¤¬ +0 (\-0) ¤Ç
-.I y
-¤¬ 0 ¤è¤êÂ礭¤Ê´ñ¿ô¤Î¾ì¹ç¡¢ÊÖ¤êÃͤϠ+0 (\-0) ¤È¤Ê¤ë¡£
+\fIx\fP が +0 (\-0) で \fIy\fP が 0 より大きな奇数の場合、返り値は +0 (\-0) となる。
 
-.I x
-¤¬ 0 ¤Ç¡¢
-.I y
-¤¬ 0 ¤è¤êÂ礭¤¯´ñ¿ô¤Ç¤Ê¤¤¾ì¹ç¡¢ÊÖ¤êÃͤϠ+0 ¤È¤Ê¤ë¡£
+\fIx\fP が 0 で、 \fIy\fP が 0 より大きく奇数でない場合、返り値は +0 となる。
 
-.I x
-¤¬ \-1 ¤Ç¡¢
-.I y
-¤¬Àµ¤Î̵¸ÂÂ礫Éé¤Î̵¸ÂÂç¤Î¾ì¹ç¡¢ÊÖ¤êÃͤϠ1.0 ¤È¤Ê¤ë¡£
+\fIx\fP が \-1 で、 \fIy\fP が正の無限大か負の無限大の場合、返り値は 1.0 となる。
 
-.I x
-¤ÎÀäÂÐÃͤ¬ 1 Ì¤Ëþ¤Ç¡¢
-.I y
-¤¬Éé¤Î̵¸ÂÂç¤Î¾ì¹ç¡¢ÊÖ¤êÃͤÏÀµ¤Î̵¸ÂÂç¤È¤Ê¤ë¡£
+\fIx\fP の絶対値が 1 未満で、 \fIy\fP が負の無限大の場合、返り値は正の無限大となる。
 
-.I x
-ÀäÂÐÃͤ¬ 1 ¤è¤êÂ礭¤¯¡¢
-.I y
-¤¬Éé¤Î̵¸ÂÂç¤Î¾ì¹ç¡¢ÊÖ¤êÃͤϠ+0 ¤È¤Ê¤ë¡£
+\fIx\fP 絶対値が 1 より大きく、 \fIy\fP が負の無限大の場合、返り値は +0 となる。
 
-.I x
-¤ÎÀäÂÐÃͤ¬ 1 Ì¤Ëþ¤Ç¡¢
-.I y
-¤¬Àµ¤Î̵¸ÂÂç¤Î¾ì¹ç¡¢ÊÖ¤êÃͤϠ+0 ¤È¤Ê¤ë¡£
+\fIx\fP の絶対値が 1 未満で、 \fIy\fP が正の無限大の場合、返り値は +0 となる。
 
-.I x
-¤ÎÀäÂÐÃͤ¬ 1 ¤è¤êÂ礭¤¯¡¢
-.I y
-¤¬Àµ¤Î̵¸ÂÂç¤Î¾ì¹ç¡¢ÊÖ¤êÃͤÏÀµ¤Î̵¸ÂÂç¤È¤Ê¤ë¡£
+\fIx\fP の絶対値が 1 より大きく、 \fIy\fP が正の無限大の場合、返り値は正の無限大となる。
 
-.I x
-¤¬Éé¤Î̵¸ÂÂç¤Ç¡¢
-.I y
-¤¬ 0 ¤è¤ê¾®¤µ¤¤´ñ¿ô¤Î¾ì¹ç¡¢ÊÖ¤êÃͤϠ\-0 ¤È¤Ê¤ë¡£
+\fIx\fP が負の無限大で、 \fIy\fP が 0 より小さい奇数の場合、返り値は \-0 となる。
 
-.I x
-¤¬Éé¤Î̵¸ÂÂç¤Ç¡¢
-.I y
-¤¬ 0 ¤è¤ê¾®¤µ¤¯´ñ¿ô¤Ç¤Ê¤¤¾ì¹ç¡¢ÊÖ¤êÃͤϠ+0 ¤È¤Ê¤ë¡£
+\fIx\fP が負の無限大で、 \fIy\fP が 0 より小さく奇数でない場合、返り値は +0 となる。
 
-.I x
-¤¬Éé¤Î̵¸ÂÂç¤Ç¡¢
-.I y
-¤¬ 0 ¤è¤êÂ礭¤¤´ñ¿ô¤Î¾ì¹ç¡¢ÊÖ¤êÃͤÏÉé¤Î̵¸ÂÂç¤È¤Ê¤ë¡£
+\fIx\fP が負の無限大で、 \fIy\fP が 0 より大きい奇数の場合、返り値は負の無限大となる。
 
-.I x
-¤¬Éé¤Î̵¸ÂÂç¤Ç¡¢
-.I y
-¤¬ 0 ¤è¤êÂ礭¤¯´ñ¿ô¤Ç¤Ê¤¤¾ì¹ç¡¢ÊÖ¤êÃͤÏÀµ¤Î̵¸ÂÂç¤È¤Ê¤ë¡£
+\fIx\fP が負の無限大で、 \fIy\fP が 0 より大きく奇数でない場合、返り値は正の無限大となる。
 
-.I x
-¤¬Àµ¤Î̵¸ÂÂç¤Ç¡¢
-.I y
-¤¬ 0 Ì¤Ëþ¤Î¾ì¹ç¡¢ÊÖ¤êÃͤϠ+0 ¤È¤Ê¤ë¡£
+\fIx\fP が正の無限大で、 \fIy\fP が 0 未満の場合、返り値は +0 となる。
 
-.I x
-¤¬Àµ¤Î̵¸ÂÂç¤Ç¡¢
-.I y
-¤¬ 0 ¤è¤êÂ礭¤¤¾ì¹ç¡¢ÊÖ¤êÃͤÏÀµ¤Î̵¸ÂÂç¤È¤Ê¤ë¡£
+\fIx\fP が正の無限大で、 \fIy\fP が 0 より大きい場合、返り値は正の無限大となる。
 
-.I x
-¤¬ +0 ¤« \-0 ¤Ç¡¢
-.I y
-¤¬ 0 ¤è¤ê¾®¤µ¤¤´ñ¿ô¤Î¾ì¹ç¡¢
-¶Ë¥¨¥é¡¼ (pole error) ¤¬È¯À¸¤·¡¢ÊÖ¤êÃͤÏ
-.BR HUGE_VAL ,
-.BR HUGE_VALF ,
-.BR HUGE_VALL
-¤È¤Ê¤ë¡£
-.I x
-¤ÈƱ¤¸Éä¹æ¤¬ÉÕÍ¿¤µ¤ì¤ë¡£
+\fIx\fP が +0 か \-0 で、 \fIy\fP が 0 より小さい奇数の場合、 極エラー (pole error) が発生し、返り値は
+\fBHUGE_VAL\fP, \fBHUGE_VALF\fP, \fBHUGE_VALL\fP となる。 \fIx\fP と同じ符号が付与される。
 
-.I x
-¤¬ +0 ¤« \-0 ¤Ç¡¢
-.I y
-¤¬ 0 ¤è¤ê¾®¤µ¤¯´ñ¿ô¤Ç¤Ê¤¤¾ì¹ç¡¢
-¶Ë¥¨¥é¡¼¤¬È¯À¸¤·¡¢
 .\" The pole error is generated at least as far back as glibc 2.4
-ÊÖ¤êÃͤÏ
-.BR + HUGE_VAL ,
-.BR + HUGE_VALF ,
-.BR + HUGE_VALL
-¤È¤Ê¤ë¡£
-.SH ¥¨¥é¡¼
+\fIx\fP が +0 か \-0 で、 \fIy\fP が 0 より小さく奇数でない場合、 極エラーが発生し、 返り値は \fB+\fPHUGE_VAL\fB,\fP
+\fB+\fPHUGE_VALF\fB,\fP \fB+\fPHUGE_VALL となる。
+.SH エラー
 .\" FIXME . review status of this error
 .\" longstanding bug report for glibc:
 .\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=369
@@ -227,96 +140,41 @@ NaN 
 .\" pow(-1.5,DBL_MAX)=nan
 .\" EDOM FE_INVALID nan; fail-errno fail-except fail-result;
 .\" FAIL (expected: range-error-overflow (ERANGE, FE_OVERFLOW); +INF)
-¤³¤ì¤é¤Î´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¤¿ºÝ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤¿¤«¤ÎȽÄêÊýË¡¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Ï
-.BR math_error (7)
-¤ò»²¾È¤Î¤³¤È¡£
+これらの関数を呼び出した際にエラーが発生したかの判定方法についての情報は \fBmath_error\fP(7)  を参照のこと。
 .PP
-°Ê²¼¤Î¥¨¥é¡¼¤¬È¯À¸¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¡£
-.TP
-Îΰ襨¥é¡¼: \fIx\fP ¤¬Éé¤Ç¡¢\fIy\fP ¤¬À°¿ô¤Ç¤Ê¤¤Í­¸ÂÃÍ
-.I errno
-¤Ë
-.B EDOM
-¤¬ÀßÄꤵ¤ì¤ë¡£
-ÉÔÀµ (invalid) ÉâÆ°¾®¿ôÅÀÎã³°
-.RB ( FE_INVALID )
-¤¬¾å¤¬¤ë¡£
-.TP
-¶Ë¥¨¥é¡¼: \fIx\fP ¤¬¥¼¥í¤Ç¡¢\fIy\fP ¤¬Éé
-.I errno
-¤Ë
-.B ERANGE
-¤¬ÀßÄꤵ¤ì¤ë¡£
-0 ¤Ë¤è¤ë½ü»» (divide-by-zero) ÉâÆ°¾®¿ôÅÀÎã³°
-.RB ( FE_DIVBYZERO )
-¤¬¾å¤¬¤ë¡£
-.TP
-ÈÏ°Ï¥¨¥é¡¼: ·ë²Ì¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼
-.I errno
-¤Ë
-.B ERANGE
-¤¬ÀßÄꤵ¤ì¤ë¡£
-¥ª¡¼¥Ð¡¼¥Õ¥í¡¼ÉâÆ°¾®¿ôÅÀÎã³°
-.RB ( FE_OVERFLOW )
-¤¬¾å¤¬¤ë¡£
-.TP
-ÈÏ°Ï¥¨¥é¡¼: ·ë²Ì¤¬¥¢¥ó¥À¡¼¥Õ¥í¡¼
-.I errno
-¤Ë
-.B ERANGE
-¤¬ÀßÄꤵ¤ì¤ë¡£
-¥¢¥ó¥À¡¼¥Õ¥í¡¼ÉâÆ°¾®¿ôÅÀÎã³°
-.RB ( FE_UNDERFLOW )
-¤¬¾å¤¬¤ë¡£
-.SH ½àµò
-C99, POSIX.1-2001.
-.I double
-ÈǤδؿô¤Ï SVr4, 4.3BSD, C89 ¤Ë¤â½àµò¤·¤Æ¤¤¤ë¡£
-.SH ¥Ð¥°
+以下のエラーが発生する可能性がある。
+.TP 
+領域エラー: \fIx\fP が負で、\fIy\fP が整数でない有限値
+\fIerrno\fP に \fBEDOM\fP が設定される。 不正 (invalid) 浮動小数点例外 (\fBFE_INVALID\fP)  が上がる。
+.TP 
+極エラー: \fIx\fP がゼロで、\fIy\fP が負
+\fIerrno\fP に \fBERANGE\fP が設定される (「バグ」の節も参照)。 0 による除算 (divide\-by\-zero) 浮動小数点例外
+(\fBFE_DIVBYZERO\fP)  が上がる。
+.TP 
+範囲エラー: 結果がオーバーフロー
+\fIerrno\fP に \fBERANGE\fP が設定される。 オーバーフロー浮動小数点例外 (\fBFE_OVERFLOW\fP)  が上がる。
+.TP 
+範囲エラー: 結果がアンダーフロー
+\fIerrno\fP に \fBERANGE\fP が設定される。 アンダーフロー浮動小数点例外 (\fBFE_UNDERFLOW\fP)  が上がる。
+.SH 準拠
+C99, POSIX.1\-2001.  \fIdouble\fP 版の関数は SVr4, 4.3BSD, C89 にも準拠している。
+.SH バグ
 .\"
 .\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=6776
 .\" or possibly 2.9, I haven't found the source code change
 .\" and I don't have a 2.9 system to test
-glibc 2.9 ¤È¤½¤ì°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢
-¶Ë¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¡¢POSIX ¤ÇÍ׵ᤵ¤ì¤Æ¤¤¤ë
-.B ERANGE
-¤Ç¤Ï¤Ê¤¯
-.B EDOM
-¤¬
-.I errno
-¤ËÀßÄꤵ¤ì¤ë¡£
-¥Ð¡¼¥¸¥ç¥ó 2.10 °Ê¹ß¤Î glibc ¤Ç¤Ï¡¢Àµ¤·¤¤Æ°ºî¤ò¤¹¤ë¡£
+glibc 2.9 とそれ以前のバージョンでは、 極エラーが発生した場合、POSIX で要求されている \fBERANGE\fP ではなく \fBEDOM\fP が
+\fIerrno\fP に設定される。 バージョン 2.10 以降の glibc では、正しい動作をする。
 
-.I x
-¤¬Éé¤Î¾ì¹ç¡¢Â礭¤ÊÀµÉé¤ÎÃͤÎ
-.I y
-¤¬Í¿¤¨¤é¤ì¤ë¤È¡¢´Ø¿ô¤Î·ë²Ì¤¬ NaN ¤È¤Ê¤ê¡¢
-.I errno
-¤Ë
-.B EDOM
-¤¬ÀßÄꤵ¤ì¡¢
-ÉÔÀµÉâÆ°¾®¿ôÅÀÎã³°
-.RB ( FE_INVALID )
-¤¬È¯À¸¤¹¤ë¡£
-Î㤨¤Ð¡¢
-.BR pow ()
-¤Ç¤Ï¡¢
-.I y
-¤ÎÀäÂÐÃͤ¬Ìó 9.223373e18 ¤è¤êÂ礭¤¤¾ì¹ç¤Ë¤³¤Î¾õ¶·¤È¤Ê¤ë¡£
 .\" see bug http://sources.redhat.com/bugzilla/show_bug.cgi?id=3866
 .\" and http://sources.redhat.com/bugzilla/show_bug.cgi?id=369
+\fIx\fP が負の場合、大きな正負の値の \fIy\fP が与えられると、関数の結果が NaN となり、 \fIerrno\fP に \fBEDOM\fP が設定され、
+不正浮動小数点例外 (\fBFE_INVALID\fP)  が発生する。 例えば、 \fBpow\fP()  では、 \fIy\fP の絶対値が約 9.223373e18
+より大きい場合にこの状況となる。
 
-glibc ¥Ð¡¼¥¸¥ç¥ó 2.3.2 °ÊÁ°¤Ç¤Ï¡¢
 .\" FIXME . Actually, 2.3.2 is the earliest test result I have; so yet
 .\" to confirm if this error occurs only in 2.3.2.
-¥¢¥ó¥À¡¼¥Õ¥í¡¼¤ä¥¢¥ó¥À¡¼¥Õ¥í¡¼¤Î¥¨¥é¡¼¤¬È¯À¸¤¹¤ë¾ì¹ç¡¢
-glibc ¤Î
-.BR pow ()
-¤Ï¡¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼Îã³°¤ä¥¢¥ó¥À¡¼¥Õ¥í¡¼Îã³°¤ò¾å¤²¤ë¤À¤±¤Ç¤Ê¤¯¡¢
-ÉÔÀµÉâÆ°¾®¿ôÅÀÎã³°
-.RB ( FE_INVALID )
-¤ò´Ö°ã¤Ã¤ÆȯÀ¸¤¹¤ë¡£
-.SH ´ØÏ¢¹àÌÜ
-.BR cbrt (3),
-.BR cpow (3),
-.BR sqrt (3)
+glibc バージョン 2.3.2 以前では、 アンダーフローやアンダーフローのエラーが発生する場合、 glibc の \fBpow\fP()
+は、オーバーフロー例外やアンダーフロー例外を上げるだけでなく、 不正浮動小数点例外 (\fBFE_INVALID\fP)  を間違って発生する。
+.SH 関連項目
+\fBcbrt\fP(3), \fBcpow\fP(3), \fBsqrt\fP(3)