OSDN Git Service

(split) Convert release and draft pages to UTF-8.
[linuxjm/LDP_man-pages.git] / release / man3 / pow.3
index 77bf35d..b3f3198 100644 (file)
@@ -38,9 +38,9 @@
 .\" Updated 2008-09-18, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
 .\"
 .TH POW 3  2010-09-12 "" "Linux Programmer's Manual"
-.SH Ì¾Á°
-pow, powf, powl \- Îß¾è´Ø¿ô
-.SH ½ñ¼°
+.SH 名前
+pow, powf, powl \- 累乗関数
+.SH 書式
 .nf
 .B #include <math.h>
 .sp
@@ -51,12 +51,12 @@ pow, powf, powl \- 
 .BI "long double powl(long double " x ", long double " y );
 .fi
 .sp
-\fI\-lm\fP ¤Ç¥ê¥ó¥¯¤¹¤ë¡£
+\fI\-lm\fP でリンクする。
 .sp
 .in -4n
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
+glibc 向けの機能検査マクロの要件
 .RB ( feature_test_macros (7)
-»²¾È):
+参照):
 .in
 .sp
 .ad l
@@ -70,143 +70,143 @@ or
 .I cc\ -std=c99
 .RE
 .ad
-.SH ÀâÌÀ
+.SH 説明
 .BR pow ()
-´Ø¿ô¤Ï \fIx\fP ¤Î \fIy\fP ¾è¤ÎÃͤòÊÖ¤¹¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤¹¤ë¤È¡¢¤³¤ì¤é¤Î´Ø¿ô¤Ï
+関数は \fIx\fP の \fIy\fP 乗の値を返す。
+.SH 返り値
+成功すると、これらの関数は
 .I x
-¤Î
+の
 .I y
-¾è¤ÎÃͤòÊÖ¤¹¡£
+乗の値を返す。
 
 .I x
-¤¬ 0 Ì¤Ëþ¤ÎÍ­¸ÂÃͤÇ
+が 0 未満の有限値で
 .I y
-¤¬À°¿ô¤Ç¤Ê¤¤Í­¸ÂÃͤξì¹ç¡¢Îΰ襨¥é¡¼ (domain error) ¤¬È¯À¸¤·¡¢
+が整数でない有限値の場合、領域エラー (domain error) が発生し、
 .\" The domain error is generated at least as far back as glibc 2.4
-NaN ¤¬ÊÖ¤µ¤ì¤ë¡£
+NaN が返される。
 
-·ë²Ì¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¹¤ë¾ì¹ç¡¢
-ÈÏ°Ï¥¨¥é¡¼ (range error) ¤¬È¯À¸¤·¡¢
+結果がオーバーフローする場合、
+範囲エラー (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
-¤òÊÖ¤¹¡£ÊÖ¤êÃͤˤϿô³ØŪ¤ËÀµ¤·¤¤Éä¹æ¤¬ÉÕÍ¿¤µ¤ì¤ë¡£
+を返す。返り値には数学的に正しい符号が付与される。
 
-·ë²Ì¤¬¥¢¥ó¥À¡¼¥Õ¥í¡¼¤·¡¢¤½¤ÎÃͤ¬É½¸½²Äǽ¤Ç¤Ê¤¤¾ì¹ç¡¢
-ÈÏ°Ï¥¨¥é¡¼¤¬È¯À¸¤·¡¢ 0.0 ¤¬ÊÖ¤µ¤ì¤ë¡£
+結果がアンダーフローし、その値が表現可能でない場合、
+範囲エラーが発生し、 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.
 
-°Ê²¼¤Çµ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¡¢
+以下で規定されていない場合で、
 .I x
-¤«
+か
 .I y
-¤¬ NaN ¤Î¾ì¹ç¡¢ÊÖ¤êÃͤϠNaN ¤È¤Ê¤ë¡£
+が NaN の場合、返り値は NaN となる。
 
 .I x
-¤¬ +1 ¤Î¾ì¹ç¡¢
+が +1 の場合、
 .RI ( y
-¤¬ NaN ¤Ç¤¢¤Ã¤¿¤È¤·¤Æ¤â) ÊÖ¤êÃͤϠ1.0 ¤È¤Ê¤ë¡£
+が NaN であったとしても) 返り値は 1.0 となる。
 
 .I y
-¤¬ 0 ¤Î¾ì¹ç¡¢
+が 0 の場合、
 .RI ( x
-¤¬ NaN ¤Ç¤¢¤Ã¤¿¤È¤·¤Æ¤â) ÊÖ¤êÃͤϠ1.0 ¤È¤Ê¤ë¡£
+が NaN であったとしても) 返り値は 1.0 となる。
 
 .I x
-¤¬ +0 (\-0) ¤Ç
+が +0 (\-0) で
 .I y
-¤¬ 0 ¤è¤êÂ礭¤Ê´ñ¿ô¤Î¾ì¹ç¡¢ÊÖ¤êÃͤϠ+0 (\-0) ¤È¤Ê¤ë¡£
+が 0 より大きな奇数の場合、返り値は +0 (\-0) となる。
 
 .I x
-¤¬ 0 ¤Ç¡¢
+が 0 で、
 .I y
-¤¬ 0 ¤è¤êÂ礭¤¯´ñ¿ô¤Ç¤Ê¤¤¾ì¹ç¡¢ÊÖ¤êÃͤϠ+0 ¤È¤Ê¤ë¡£
+が 0 より大きく奇数でない場合、返り値は +0 となる。
 
 .I x
-¤¬ \-1 ¤Ç¡¢
+が \-1 で、
 .I y
-¤¬Àµ¤Î̵¸ÂÂ礫Éé¤Î̵¸ÂÂç¤Î¾ì¹ç¡¢ÊÖ¤êÃͤϠ1.0 ¤È¤Ê¤ë¡£
+が正の無限大か負の無限大の場合、返り値は 1.0 となる。
 
 .I x
-¤ÎÀäÂÐÃͤ¬ 1 Ì¤Ëþ¤Ç¡¢
+の絶対値が 1 未満で、
 .I y
-¤¬Éé¤Î̵¸ÂÂç¤Î¾ì¹ç¡¢ÊÖ¤êÃͤÏÀµ¤Î̵¸ÂÂç¤È¤Ê¤ë¡£
+が負の無限大の場合、返り値は正の無限大となる。
 
 .I x
-ÀäÂÐÃͤ¬ 1 ¤è¤êÂ礭¤¯¡¢
+絶対値が 1 より大きく、
 .I y
-¤¬Éé¤Î̵¸ÂÂç¤Î¾ì¹ç¡¢ÊÖ¤êÃͤϠ+0 ¤È¤Ê¤ë¡£
+が負の無限大の場合、返り値は +0 となる。
 
 .I x
-¤ÎÀäÂÐÃͤ¬ 1 Ì¤Ëþ¤Ç¡¢
+の絶対値が 1 未満で、
 .I y
-¤¬Àµ¤Î̵¸ÂÂç¤Î¾ì¹ç¡¢ÊÖ¤êÃͤϠ+0 ¤È¤Ê¤ë¡£
+が正の無限大の場合、返り値は +0 となる。
 
 .I x
-¤ÎÀäÂÐÃͤ¬ 1 ¤è¤êÂ礭¤¯¡¢
+の絶対値が 1 より大きく、
 .I y
-¤¬Àµ¤Î̵¸ÂÂç¤Î¾ì¹ç¡¢ÊÖ¤êÃͤÏÀµ¤Î̵¸ÂÂç¤È¤Ê¤ë¡£
+が正の無限大の場合、返り値は正の無限大となる。
 
 .I x
-¤¬Éé¤Î̵¸ÂÂç¤Ç¡¢
+が負の無限大で、
 .I y
-¤¬ 0 ¤è¤ê¾®¤µ¤¤´ñ¿ô¤Î¾ì¹ç¡¢ÊÖ¤êÃͤϠ\-0 ¤È¤Ê¤ë¡£
+が 0 より小さい奇数の場合、返り値は \-0 となる。
 
 .I x
-¤¬Éé¤Î̵¸ÂÂç¤Ç¡¢
+が負の無限大で、
 .I y
-¤¬ 0 ¤è¤ê¾®¤µ¤¯´ñ¿ô¤Ç¤Ê¤¤¾ì¹ç¡¢ÊÖ¤êÃͤϠ+0 ¤È¤Ê¤ë¡£
+が 0 より小さく奇数でない場合、返り値は +0 となる。
 
 .I x
-¤¬Éé¤Î̵¸ÂÂç¤Ç¡¢
+が負の無限大で、
 .I y
-¤¬ 0 ¤è¤êÂ礭¤¤´ñ¿ô¤Î¾ì¹ç¡¢ÊÖ¤êÃͤÏÉé¤Î̵¸ÂÂç¤È¤Ê¤ë¡£
+が 0 より大きい奇数の場合、返り値は負の無限大となる。
 
 .I x
-¤¬Éé¤Î̵¸ÂÂç¤Ç¡¢
+が負の無限大で、
 .I y
-¤¬ 0 ¤è¤êÂ礭¤¯´ñ¿ô¤Ç¤Ê¤¤¾ì¹ç¡¢ÊÖ¤êÃͤÏÀµ¤Î̵¸ÂÂç¤È¤Ê¤ë¡£
+が 0 より大きく奇数でない場合、返り値は正の無限大となる。
 
 .I x
-¤¬Àµ¤Î̵¸ÂÂç¤Ç¡¢
+が正の無限大で、
 .I y
-¤¬ 0 Ì¤Ëþ¤Î¾ì¹ç¡¢ÊÖ¤êÃͤϠ+0 ¤È¤Ê¤ë¡£
+が 0 未満の場合、返り値は +0 となる。
 
 .I x
-¤¬Àµ¤Î̵¸ÂÂç¤Ç¡¢
+が正の無限大で、
 .I y
-¤¬ 0 ¤è¤êÂ礭¤¤¾ì¹ç¡¢ÊÖ¤êÃͤÏÀµ¤Î̵¸ÂÂç¤È¤Ê¤ë¡£
+が 0 より大きい場合、返り値は正の無限大となる。
 
 .I x
-¤¬ +0 ¤« \-0 ¤Ç¡¢
+が +0 か \-0 で、
 .I y
-¤¬ 0 ¤è¤ê¾®¤µ¤¤´ñ¿ô¤Î¾ì¹ç¡¢
-¶Ë¥¨¥é¡¼ (pole error) ¤¬È¯À¸¤·¡¢ÊÖ¤êÃͤÏ
+が 0 より小さい奇数の場合、
+極エラー (pole error) が発生し、返り値は
 .BR HUGE_VAL ,
 .BR HUGE_VALF ,
 .BR HUGE_VALL
-¤È¤Ê¤ë¡£
+となる。
 .I x
-¤ÈƱ¤¸Éä¹æ¤¬ÉÕÍ¿¤µ¤ì¤ë¡£
+と同じ符号が付与される。
 
 .I x
-¤¬ +0 ¤« \-0 ¤Ç¡¢
+が +0 か \-0 で、
 .I y
-¤¬ 0 ¤è¤ê¾®¤µ¤¯´ñ¿ô¤Ç¤Ê¤¤¾ì¹ç¡¢
-¶Ë¥¨¥é¡¼¤¬È¯À¸¤·¡¢
+が 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 ¥¨¥é¡¼
+となる。
+.SH ã\82¨ã\83©ã\83¼
 .\" FIXME . review status of this error
 .\" longstanding bug report for glibc:
 .\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=369
@@ -227,96 +227,96 @@ 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)
-¤ò»²¾È¤Î¤³¤È¡£
+を参照のこと。
 .PP
-°Ê²¼¤Î¥¨¥é¡¼¤¬È¯À¸¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¡£
+以下のエラーが発生する可能性がある。
 .TP
-Îΰ襨¥é¡¼: \fIx\fP ¤¬Éé¤Ç¡¢\fIy\fP ¤¬À°¿ô¤Ç¤Ê¤¤Í­¸ÂÃÍ
+領域エラー: \fIx\fP が負で、\fIy\fP が整数でない有限値
 .I errno
-¤Ë
+に
 .B EDOM
-¤¬ÀßÄꤵ¤ì¤ë¡£
-ÉÔÀµ (invalid) ÉâÆ°¾®¿ôÅÀÎã³°
+が設定される。
+不正 (invalid) 浮動小数点例外
 .RB ( FE_INVALID )
-¤¬¾å¤¬¤ë¡£
+が上がる。
 .TP
-¶Ë¥¨¥é¡¼: \fIx\fP ¤¬¥¼¥í¤Ç¡¢\fIy\fP ¤¬Éé
+極エラー: \fIx\fP がゼロで、\fIy\fP が負
 .I errno
-¤Ë
+に
 .B ERANGE
-¤¬ÀßÄꤵ¤ì¤ë¡£
-0 ¤Ë¤è¤ë½ü»» (divide-by-zero) ÉâÆ°¾®¿ôÅÀÎã³°
+が設定される。
+0 による除算 (divide-by-zero) 浮動小数点例外
 .RB ( FE_DIVBYZERO )
-¤¬¾å¤¬¤ë¡£
+が上がる。
 .TP
-ÈÏ°Ï¥¨¥é¡¼: ·ë²Ì¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼
+ç¯\84å\9b²ã\82¨ã\83©ã\83¼: çµ\90æ\9e\9cã\81\8cã\82ªã\83¼ã\83\90ã\83¼ã\83\95ã\83­ã\83¼
 .I errno
-¤Ë
+に
 .B ERANGE
-¤¬ÀßÄꤵ¤ì¤ë¡£
-¥ª¡¼¥Ð¡¼¥Õ¥í¡¼ÉâÆ°¾®¿ôÅÀÎã³°
+が設定される。
+オーバーフロー浮動小数点例外
 .RB ( FE_OVERFLOW )
-¤¬¾å¤¬¤ë¡£
+が上がる。
 .TP
-ÈÏ°Ï¥¨¥é¡¼: ·ë²Ì¤¬¥¢¥ó¥À¡¼¥Õ¥í¡¼
+ç¯\84å\9b²ã\82¨ã\83©ã\83¼: çµ\90æ\9e\9cã\81\8cã\82¢ã\83³ã\83\80ã\83¼ã\83\95ã\83­ã\83¼
 .I errno
-¤Ë
+に
 .B ERANGE
-¤¬ÀßÄꤵ¤ì¤ë¡£
-¥¢¥ó¥À¡¼¥Õ¥í¡¼ÉâÆ°¾®¿ôÅÀÎã³°
+が設定される。
+アンダーフロー浮動小数点例外
 .RB ( FE_UNDERFLOW )
-¤¬¾å¤¬¤ë¡£
-.SH ½àµò
+が上がる。
+.SH 準拠
 C99, POSIX.1-2001.
 .I double
-ÈǤδؿô¤Ï SVr4, 4.3BSD, C89 ¤Ë¤â½àµò¤·¤Æ¤¤¤ë¡£
-.SH ¥Ð¥°
+版の関数は SVr4, 4.3BSD, C89 にも準拠している。
+.SH ã\83\90ã\82°
 .\"
 .\" 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 ¤ÇÍ׵ᤵ¤ì¤Æ¤¤¤ë
+glibc 2.9 とそれ以前のバージョンでは、
+極エラーが発生した場合、POSIX で要求されている
 .B ERANGE
-¤Ç¤Ï¤Ê¤¯
+ではなく
 .B EDOM
-¤¬
+が
 .I errno
-¤ËÀßÄꤵ¤ì¤ë¡£
-¥Ð¡¼¥¸¥ç¥ó 2.10 °Ê¹ß¤Î glibc ¤Ç¤Ï¡¢Àµ¤·¤¤Æ°ºî¤ò¤¹¤ë¡£
+に設定される。
+バージョン 2.10 以降の glibc では、正しい動作をする。
 
 .I x
-¤¬Éé¤Î¾ì¹ç¡¢Â礭¤ÊÀµÉé¤ÎÃͤÎ
+が負の場合、大きな正負の値の
 .I y
-¤¬Í¿¤¨¤é¤ì¤ë¤È¡¢´Ø¿ô¤Î·ë²Ì¤¬ NaN ¤È¤Ê¤ê¡¢
+が与えられると、関数の結果が NaN となり、
 .I errno
-¤Ë
+に
 .B EDOM
-¤¬ÀßÄꤵ¤ì¡¢
-ÉÔÀµÉâÆ°¾®¿ôÅÀÎã³°
+が設定され、
+不正浮動小数点例外
 .RB ( FE_INVALID )
-¤¬È¯À¸¤¹¤ë¡£
-Î㤨¤Ð¡¢
+が発生する。
+例えば、
 .BR pow ()
-¤Ç¤Ï¡¢
+では、
 .I y
-¤ÎÀäÂÐÃͤ¬Ìó 9.223373e18 ¤è¤êÂ礭¤¤¾ì¹ç¤Ë¤³¤Î¾õ¶·¤È¤Ê¤ë¡£
+の絶対値が約 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
 
-glibc ¥Ð¡¼¥¸¥ç¥ó 2.3.2 °ÊÁ°¤Ç¤Ï¡¢
+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 ¤Î
+アンダーフローやアンダーフローのエラーが発生する場合、
+glibc 
 .BR pow ()
-¤Ï¡¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼Îã³°¤ä¥¢¥ó¥À¡¼¥Õ¥í¡¼Îã³°¤ò¾å¤²¤ë¤À¤±¤Ç¤Ê¤¯¡¢
-ÉÔÀµÉâÆ°¾®¿ôÅÀÎã³°
+は、オーバーフロー例外やアンダーフロー例外を上げるだけでなく、
+不正浮動小数点例外
 .RB ( FE_INVALID )
-¤ò´Ö°ã¤Ã¤ÆȯÀ¸¤¹¤ë¡£
-.SH ´ØÏ¢¹àÌÜ
+を間違って発生する。
+.SH 関連項目
 .BR cbrt (3),
 .BR cpow (3),
 .BR sqrt (3)