OSDN Git Service

(split) Convert release and draft pages to UTF-8.
[linuxjm/LDP_man-pages.git] / release / man3 / nextafter.3
1 .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
2 .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
3 .\"     <mtk.manpages@gmail.com>
4 .\" Distributed under GPL
5 .\" Based on glibc infopages
6 .\"
7 .\" Japanese Version Copyright (c) 2003 Akihiro MOTOKI all rights reserved.
8 .\" Translated Mon Jan 27 2003 by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
9 .\" Updated 2008-09-18, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
10 .\"
11 .\"WORD:        mantissa        仮数部
12 .\"WORD:        normalized      正規化された
13 .\"WORD:        subnormal       非正規化の
14 .\"
15 .TH NEXTAFTER 3 2010-09-20 "GNU" "Linux Programmer's Manual"
16 .SH 名前
17 nextafter, nextafterf, nextafterl, nexttoward, nexttowardf, nexttowardl \-
18 浮動小数点数の操作
19 .SH 書式
20 .B #include <math.h>
21 .sp
22 .BI "double nextafter(double " x ", double " y );
23 .br
24 .BI "float nextafterf(float " x ", float " y );
25 .br
26 .BI "long double nextafterl(long double " x ", long double " y );
27 .sp
28 .BI "double nexttoward(double " x ", long double " y );
29 .br
30 .BI "float nexttowardf(float " x ", long double " y );
31 .br
32 .BI "long double nexttowardl(long double " x ", long double " y );
33 .sp
34 \fI\-lm\fP でリンクする。
35 .sp
36 .in -4n
37 glibc 向けの機能検査マクロの要件
38 .RB ( feature_test_macros (7)
39 参照):
40 .in
41 .sp
42 .ad l
43 .BR nextafter ():
44 .RS 4
45 _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 500 ||
46 _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED ||
47 _ISOC99_SOURCE ||
48 _POSIX_C_SOURCE\ >=\ 200112L;
49 .br
50 or
51 .I cc\ -std=c99
52 .RE
53 .br
54 .BR nextafterf (),
55 .BR nextafterl ():
56 .RS 4
57 _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE ||
58 _POSIX_C_SOURCE\ >=\ 200112L;
59 .br
60 or
61 .I cc\ -std=c99
62 .RE
63 .br
64 .BR nexttoward (),
65 .BR nexttowardf (),
66 .BR nexttowardl ():
67 .RS 4
68 _XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE ||
69 _POSIX_C_SOURCE\ >=\ 200112L;
70 .br
71 or
72 .I cc\ -std=c99
73 .RE
74 .ad b
75 .SH 説明
76 .BR nextafter ()
77 関数群は、\fIy\fP に向かう方向で \fIx\fP のすぐ次の浮動小数点数表現を返す。
78 .I y
79
80 .I x
81 より小さい場合、
82 .I x
83 より小さい最大の浮動小数点表現の値を返す。
84
85 \fIx\fP が \fIy\fP と等しい場合、\fIy\fP が返される。
86
87 .BR nexttoward ()
88 関数群は、2 番目の引き数が
89 .I long double
90 型である点以外、
91 .BR nextafter ()
92 関数群と同じはたらきをする。
93 .SH 返り値
94 成功すると、これらの関数は \fIy\fP に向かう方向で \fIx\fP の
95 すぐ次の浮動小数点数表現を返す。
96
97 .I x
98
99 .I y
100 と等しい場合、
101 .RI ( x
102 と同じ型にキャストされた)
103 .I y
104 が返される。
105
106 .I x
107
108 .I y
109 が NaN の場合、NaN が返される。
110
111 .I x
112 が有限値で
113 .\" e.g., DBL_MAX
114 結果がオーバーフローする場合、
115 範囲エラー (range error) が発生し、
116 各関数はそれぞれ
117 .BR HUGE_VAL ,
118 .BR HUGE_VALF ,
119 .B HUGE_VALL
120 を返す。返り値には数学的に正しい符号が付与される。
121
122 .I x
123
124 .I y
125 と同じではなく、正しい関数の結果が非正規化数かゼロかアンダーフローの場合、
126 範囲エラーが発生し、
127 (表現可能な場合には) 正しい値が、(そうでない場合には) 0.0 が返される。
128 .SH エラー
129 これらの関数を呼び出した際にエラーが発生したかの判定方法についての情報は
130 .BR math_error (7)
131 を参照のこと。
132 .PP
133 以下のエラーが発生する可能性がある。
134 .TP
135 範囲エラー: 結果のオーバーフロー
136 .\" e.g., nextafter(DBL_MAX, HUGE_VAL);
137 .\" .I errno
138 .\" is set to
139 .\" .BR ERANGE .
140 オーバーフロー浮動小数点例外
141 .RB ( FE_OVERFLOW )
142 が上がる。
143 .TP
144 範囲エラー: 結果が非正規化数かアンダーフロー
145 .\" e.g., nextafter(DBL_MIN, 0.0);
146 .\" .I errno
147 .\" is set to
148 .\" .BR ERANGE .
149 アンダーフロー浮動小数点例外
150 .RB ( FE_UNDERFLOW )
151 が上がる。
152 .PP
153 これらの関数は
154 .I errno
155 を設定しない。
156 .\" FIXME . Is it intentional that these functions do not set errno?
157 .\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6799
158 .SH 準拠
159 C99, POSIX.1-2001.
160 この関数は IEC 559 で定義されている。
161 (また IEEE 754/IEEE 854 では付録で推奨関数として定義されている)
162 .SH バグ
163 glibc バージョン 2.5 以前では、アンダーフローが発生した際に、
164 これらの関数はアンダーフロー浮動小数点例外
165 .RB ( FE_UNDERFLOW )
166 を上がない。
167 .SH 関連項目
168 .BR nearbyint (3)