]>
Commit | Line | Data |
---|---|---|
4710c53d | 1 | ------------------------------------------------------------------------\r |
2 | -- ddDivide.decTest -- decDouble division --\r | |
3 | -- Copyright (c) IBM Corporation, 1981, 2008. All rights reserved. --\r | |
4 | ------------------------------------------------------------------------\r | |
5 | -- Please see the document "General Decimal Arithmetic Testcases" --\r | |
6 | -- at http://www2.hursley.ibm.com/decimal for the description of --\r | |
7 | -- these testcases. --\r | |
8 | -- --\r | |
9 | -- These testcases are experimental ('beta' versions), and they --\r | |
10 | -- may contain errors. They are offered on an as-is basis. In --\r | |
11 | -- particular, achieving the same results as the tests here is not --\r | |
12 | -- a guarantee that an implementation complies with any Standard --\r | |
13 | -- or specification. The tests are not exhaustive. --\r | |
14 | -- --\r | |
15 | -- Please send comments, suggestions, and corrections to the author: --\r | |
16 | -- Mike Cowlishaw, IBM Fellow --\r | |
17 | -- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --\r | |
18 | -- mfc@uk.ibm.com --\r | |
19 | ------------------------------------------------------------------------\r | |
20 | version: 2.59\r | |
21 | \r | |
22 | precision: 16\r | |
23 | maxExponent: 384\r | |
24 | minExponent: -383\r | |
25 | extended: 1\r | |
26 | clamp: 1\r | |
27 | rounding: half_even\r | |
28 | \r | |
29 | -- sanity checks\r | |
30 | dddiv001 divide 1 1 -> 1\r | |
31 | dddiv002 divide 2 1 -> 2\r | |
32 | dddiv003 divide 1 2 -> 0.5\r | |
33 | dddiv004 divide 2 2 -> 1\r | |
34 | dddiv005 divide 0 1 -> 0\r | |
35 | dddiv006 divide 0 2 -> 0\r | |
36 | dddiv007 divide 1 3 -> 0.3333333333333333 Inexact Rounded\r | |
37 | dddiv008 divide 2 3 -> 0.6666666666666667 Inexact Rounded\r | |
38 | dddiv009 divide 3 3 -> 1\r | |
39 | \r | |
40 | dddiv010 divide 2.4 1 -> 2.4\r | |
41 | dddiv011 divide 2.4 -1 -> -2.4\r | |
42 | dddiv012 divide -2.4 1 -> -2.4\r | |
43 | dddiv013 divide -2.4 -1 -> 2.4\r | |
44 | dddiv014 divide 2.40 1 -> 2.40\r | |
45 | dddiv015 divide 2.400 1 -> 2.400\r | |
46 | dddiv016 divide 2.4 2 -> 1.2\r | |
47 | dddiv017 divide 2.400 2 -> 1.200\r | |
48 | dddiv018 divide 2. 2 -> 1\r | |
49 | dddiv019 divide 20 20 -> 1\r | |
50 | \r | |
51 | dddiv020 divide 187 187 -> 1\r | |
52 | dddiv021 divide 5 2 -> 2.5\r | |
53 | dddiv022 divide 50 20 -> 2.5\r | |
54 | dddiv023 divide 500 200 -> 2.5\r | |
55 | dddiv024 divide 50.0 20.0 -> 2.5\r | |
56 | dddiv025 divide 5.00 2.00 -> 2.5\r | |
57 | dddiv026 divide 5 2.0 -> 2.5\r | |
58 | dddiv027 divide 5 2.000 -> 2.5\r | |
59 | dddiv028 divide 5 0.20 -> 25\r | |
60 | dddiv029 divide 5 0.200 -> 25\r | |
61 | dddiv030 divide 10 1 -> 10\r | |
62 | dddiv031 divide 100 1 -> 100\r | |
63 | dddiv032 divide 1000 1 -> 1000\r | |
64 | dddiv033 divide 1000 100 -> 10\r | |
65 | \r | |
66 | dddiv035 divide 1 2 -> 0.5\r | |
67 | dddiv036 divide 1 4 -> 0.25\r | |
68 | dddiv037 divide 1 8 -> 0.125\r | |
69 | dddiv038 divide 1 16 -> 0.0625\r | |
70 | dddiv039 divide 1 32 -> 0.03125\r | |
71 | dddiv040 divide 1 64 -> 0.015625\r | |
72 | dddiv041 divide 1 -2 -> -0.5\r | |
73 | dddiv042 divide 1 -4 -> -0.25\r | |
74 | dddiv043 divide 1 -8 -> -0.125\r | |
75 | dddiv044 divide 1 -16 -> -0.0625\r | |
76 | dddiv045 divide 1 -32 -> -0.03125\r | |
77 | dddiv046 divide 1 -64 -> -0.015625\r | |
78 | dddiv047 divide -1 2 -> -0.5\r | |
79 | dddiv048 divide -1 4 -> -0.25\r | |
80 | dddiv049 divide -1 8 -> -0.125\r | |
81 | dddiv050 divide -1 16 -> -0.0625\r | |
82 | dddiv051 divide -1 32 -> -0.03125\r | |
83 | dddiv052 divide -1 64 -> -0.015625\r | |
84 | dddiv053 divide -1 -2 -> 0.5\r | |
85 | dddiv054 divide -1 -4 -> 0.25\r | |
86 | dddiv055 divide -1 -8 -> 0.125\r | |
87 | dddiv056 divide -1 -16 -> 0.0625\r | |
88 | dddiv057 divide -1 -32 -> 0.03125\r | |
89 | dddiv058 divide -1 -64 -> 0.015625\r | |
90 | \r | |
91 | -- bcdTime\r | |
92 | dddiv060 divide 1 7 -> 0.1428571428571429 Inexact Rounded\r | |
93 | dddiv061 divide 1.2345678 1.9876543 -> 0.6211179680490717 Inexact Rounded\r | |
94 | \r | |
95 | -- 1234567890123456\r | |
96 | dddiv071 divide 9999999999999999 1 -> 9999999999999999\r | |
97 | dddiv072 divide 999999999999999 1 -> 999999999999999\r | |
98 | dddiv073 divide 99999999999999 1 -> 99999999999999\r | |
99 | dddiv074 divide 9999999999999 1 -> 9999999999999\r | |
100 | dddiv075 divide 999999999999 1 -> 999999999999\r | |
101 | dddiv076 divide 99999999999 1 -> 99999999999\r | |
102 | dddiv077 divide 9999999999 1 -> 9999999999\r | |
103 | dddiv078 divide 999999999 1 -> 999999999\r | |
104 | dddiv079 divide 99999999 1 -> 99999999\r | |
105 | dddiv080 divide 9999999 1 -> 9999999\r | |
106 | dddiv081 divide 999999 1 -> 999999\r | |
107 | dddiv082 divide 99999 1 -> 99999\r | |
108 | dddiv083 divide 9999 1 -> 9999\r | |
109 | dddiv084 divide 999 1 -> 999\r | |
110 | dddiv085 divide 99 1 -> 99\r | |
111 | dddiv086 divide 9 1 -> 9\r | |
112 | \r | |
113 | dddiv090 divide 0. 1 -> 0\r | |
114 | dddiv091 divide .0 1 -> 0.0\r | |
115 | dddiv092 divide 0.00 1 -> 0.00\r | |
116 | dddiv093 divide 0.00E+9 1 -> 0E+7\r | |
117 | dddiv094 divide 0.0000E-50 1 -> 0E-54\r | |
118 | \r | |
119 | dddiv095 divide 1 1E-8 -> 1E+8\r | |
120 | dddiv096 divide 1 1E-9 -> 1E+9\r | |
121 | dddiv097 divide 1 1E-10 -> 1E+10\r | |
122 | dddiv098 divide 1 1E-11 -> 1E+11\r | |
123 | dddiv099 divide 1 1E-12 -> 1E+12\r | |
124 | \r | |
125 | dddiv100 divide 1 1 -> 1\r | |
126 | dddiv101 divide 1 2 -> 0.5\r | |
127 | dddiv102 divide 1 3 -> 0.3333333333333333 Inexact Rounded\r | |
128 | dddiv103 divide 1 4 -> 0.25\r | |
129 | dddiv104 divide 1 5 -> 0.2\r | |
130 | dddiv105 divide 1 6 -> 0.1666666666666667 Inexact Rounded\r | |
131 | dddiv106 divide 1 7 -> 0.1428571428571429 Inexact Rounded\r | |
132 | dddiv107 divide 1 8 -> 0.125\r | |
133 | dddiv108 divide 1 9 -> 0.1111111111111111 Inexact Rounded\r | |
134 | dddiv109 divide 1 10 -> 0.1\r | |
135 | dddiv110 divide 1 1 -> 1\r | |
136 | dddiv111 divide 2 1 -> 2\r | |
137 | dddiv112 divide 3 1 -> 3\r | |
138 | dddiv113 divide 4 1 -> 4\r | |
139 | dddiv114 divide 5 1 -> 5\r | |
140 | dddiv115 divide 6 1 -> 6\r | |
141 | dddiv116 divide 7 1 -> 7\r | |
142 | dddiv117 divide 8 1 -> 8\r | |
143 | dddiv118 divide 9 1 -> 9\r | |
144 | dddiv119 divide 10 1 -> 10\r | |
145 | \r | |
146 | dddiv120 divide 3E+1 0.001 -> 3E+4\r | |
147 | dddiv121 divide 2.200 2 -> 1.100\r | |
148 | \r | |
149 | dddiv130 divide 12345 4.999 -> 2469.493898779756 Inexact Rounded\r | |
150 | dddiv131 divide 12345 4.99 -> 2473.947895791583 Inexact Rounded\r | |
151 | dddiv132 divide 12345 4.9 -> 2519.387755102041 Inexact Rounded\r | |
152 | dddiv133 divide 12345 5 -> 2469\r | |
153 | dddiv134 divide 12345 5.1 -> 2420.588235294118 Inexact Rounded\r | |
154 | dddiv135 divide 12345 5.01 -> 2464.071856287425 Inexact Rounded\r | |
155 | dddiv136 divide 12345 5.001 -> 2468.506298740252 Inexact Rounded\r | |
156 | \r | |
157 | -- test possibly imprecise results\r | |
158 | dddiv220 divide 391 597 -> 0.6549413735343384 Inexact Rounded\r | |
159 | dddiv221 divide 391 -597 -> -0.6549413735343384 Inexact Rounded\r | |
160 | dddiv222 divide -391 597 -> -0.6549413735343384 Inexact Rounded\r | |
161 | dddiv223 divide -391 -597 -> 0.6549413735343384 Inexact Rounded\r | |
162 | \r | |
163 | -- test some cases that are close to exponent overflow, some with coefficient padding\r | |
164 | dddiv270 divide 1 1e384 -> 1E-384 Subnormal\r | |
165 | dddiv271 divide 1 0.9e384 -> 1.11111111111111E-384 Rounded Inexact Subnormal Underflow\r | |
166 | dddiv272 divide 1 0.99e384 -> 1.01010101010101E-384 Rounded Inexact Subnormal Underflow\r | |
167 | dddiv273 divide 1 0.9999999999999999e384 -> 1.00000000000000E-384 Rounded Inexact Subnormal Underflow\r | |
168 | dddiv274 divide 9e384 1 -> 9.000000000000000E+384 Clamped\r | |
169 | dddiv275 divide 9.9e384 1 -> 9.900000000000000E+384 Clamped\r | |
170 | dddiv276 divide 9.99e384 1 -> 9.990000000000000E+384 Clamped\r | |
171 | dddiv277 divide 9.9999999999999e384 1 -> 9.999999999999900E+384 Clamped\r | |
172 | dddiv278 divide 9.99999999999999e384 1 -> 9.999999999999990E+384 Clamped\r | |
173 | dddiv279 divide 9.999999999999999e384 1 -> 9.999999999999999E+384\r | |
174 | \r | |
175 | dddiv285 divide 9.9e384 1.1 -> 9.000000000000000E+384 Clamped\r | |
176 | dddiv286 divide 9.99e384 1.1 -> 9.081818181818182E+384 Inexact Rounded\r | |
177 | dddiv287 divide 9.9999999999999e384 1.1 -> 9.090909090909000E+384 Clamped\r | |
178 | dddiv288 divide 9.99999999999999e384 1.1 -> 9.090909090909082E+384 Inexact Rounded\r | |
179 | dddiv289 divide 9.999999999999999e384 1.1 -> 9.090909090909090E+384 Clamped\r | |
180 | \r | |
181 | \r | |
182 | -- Divide into 0 tests\r | |
183 | dddiv301 divide 0 7 -> 0\r | |
184 | dddiv302 divide 0 7E-5 -> 0E+5\r | |
185 | dddiv303 divide 0 7E-1 -> 0E+1\r | |
186 | dddiv304 divide 0 7E+1 -> 0.0\r | |
187 | dddiv305 divide 0 7E+5 -> 0.00000\r | |
188 | dddiv306 divide 0 7E+6 -> 0.000000\r | |
189 | dddiv307 divide 0 7E+7 -> 0E-7\r | |
190 | dddiv308 divide 0 70E-5 -> 0E+5\r | |
191 | dddiv309 divide 0 70E-1 -> 0E+1\r | |
192 | dddiv310 divide 0 70E+0 -> 0\r | |
193 | dddiv311 divide 0 70E+1 -> 0.0\r | |
194 | dddiv312 divide 0 70E+5 -> 0.00000\r | |
195 | dddiv313 divide 0 70E+6 -> 0.000000\r | |
196 | dddiv314 divide 0 70E+7 -> 0E-7\r | |
197 | dddiv315 divide 0 700E-5 -> 0E+5\r | |
198 | dddiv316 divide 0 700E-1 -> 0E+1\r | |
199 | dddiv317 divide 0 700E+0 -> 0\r | |
200 | dddiv318 divide 0 700E+1 -> 0.0\r | |
201 | dddiv319 divide 0 700E+5 -> 0.00000\r | |
202 | dddiv320 divide 0 700E+6 -> 0.000000\r | |
203 | dddiv321 divide 0 700E+7 -> 0E-7\r | |
204 | dddiv322 divide 0 700E+77 -> 0E-77\r | |
205 | \r | |
206 | dddiv331 divide 0E-3 7E-5 -> 0E+2\r | |
207 | dddiv332 divide 0E-3 7E-1 -> 0.00\r | |
208 | dddiv333 divide 0E-3 7E+1 -> 0.0000\r | |
209 | dddiv334 divide 0E-3 7E+5 -> 0E-8\r | |
210 | dddiv335 divide 0E-1 7E-5 -> 0E+4\r | |
211 | dddiv336 divide 0E-1 7E-1 -> 0\r | |
212 | dddiv337 divide 0E-1 7E+1 -> 0.00\r | |
213 | dddiv338 divide 0E-1 7E+5 -> 0.000000\r | |
214 | dddiv339 divide 0E+1 7E-5 -> 0E+6\r | |
215 | dddiv340 divide 0E+1 7E-1 -> 0E+2\r | |
216 | dddiv341 divide 0E+1 7E+1 -> 0\r | |
217 | dddiv342 divide 0E+1 7E+5 -> 0.0000\r | |
218 | dddiv343 divide 0E+3 7E-5 -> 0E+8\r | |
219 | dddiv344 divide 0E+3 7E-1 -> 0E+4\r | |
220 | dddiv345 divide 0E+3 7E+1 -> 0E+2\r | |
221 | dddiv346 divide 0E+3 7E+5 -> 0.00\r | |
222 | \r | |
223 | -- These were 'input rounding'\r | |
224 | dddiv441 divide 12345678000 1 -> 12345678000\r | |
225 | dddiv442 divide 1 12345678000 -> 8.100000664200054E-11 Inexact Rounded\r | |
226 | dddiv443 divide 1234567800 1 -> 1234567800\r | |
227 | dddiv444 divide 1 1234567800 -> 8.100000664200054E-10 Inexact Rounded\r | |
228 | dddiv445 divide 1234567890 1 -> 1234567890\r | |
229 | dddiv446 divide 1 1234567890 -> 8.100000073710001E-10 Inexact Rounded\r | |
230 | dddiv447 divide 1234567891 1 -> 1234567891\r | |
231 | dddiv448 divide 1 1234567891 -> 8.100000067149001E-10 Inexact Rounded\r | |
232 | dddiv449 divide 12345678901 1 -> 12345678901\r | |
233 | dddiv450 divide 1 12345678901 -> 8.100000073053901E-11 Inexact Rounded\r | |
234 | dddiv451 divide 1234567896 1 -> 1234567896\r | |
235 | dddiv452 divide 1 1234567896 -> 8.100000034344000E-10 Inexact Rounded\r | |
236 | \r | |
237 | -- high-lows\r | |
238 | dddiv453 divide 1e+1 1 -> 1E+1\r | |
239 | dddiv454 divide 1e+1 1.0 -> 1E+1\r | |
240 | dddiv455 divide 1e+1 1.00 -> 1E+1\r | |
241 | dddiv456 divide 1e+2 2 -> 5E+1\r | |
242 | dddiv457 divide 1e+2 2.0 -> 5E+1\r | |
243 | dddiv458 divide 1e+2 2.00 -> 5E+1\r | |
244 | \r | |
245 | -- some from IEEE discussions\r | |
246 | dddiv460 divide 3e0 2e0 -> 1.5\r | |
247 | dddiv461 divide 30e-1 2e0 -> 1.5\r | |
248 | dddiv462 divide 300e-2 2e0 -> 1.50\r | |
249 | dddiv464 divide 3000e-3 2e0 -> 1.500\r | |
250 | dddiv465 divide 3e0 20e-1 -> 1.5\r | |
251 | dddiv466 divide 30e-1 20e-1 -> 1.5\r | |
252 | dddiv467 divide 300e-2 20e-1 -> 1.5\r | |
253 | dddiv468 divide 3000e-3 20e-1 -> 1.50\r | |
254 | dddiv469 divide 3e0 200e-2 -> 1.5\r | |
255 | dddiv470 divide 30e-1 200e-2 -> 1.5\r | |
256 | dddiv471 divide 300e-2 200e-2 -> 1.5\r | |
257 | dddiv472 divide 3000e-3 200e-2 -> 1.5\r | |
258 | dddiv473 divide 3e0 2000e-3 -> 1.5\r | |
259 | dddiv474 divide 30e-1 2000e-3 -> 1.5\r | |
260 | dddiv475 divide 300e-2 2000e-3 -> 1.5\r | |
261 | dddiv476 divide 3000e-3 2000e-3 -> 1.5\r | |
262 | \r | |
263 | -- some reciprocals\r | |
264 | dddiv480 divide 1 1.0E+33 -> 1E-33\r | |
265 | dddiv481 divide 1 10E+33 -> 1E-34\r | |
266 | dddiv482 divide 1 1.0E-33 -> 1E+33\r | |
267 | dddiv483 divide 1 10E-33 -> 1E+32\r | |
268 | \r | |
269 | -- RMS discussion table\r | |
270 | dddiv484 divide 0e5 1e3 -> 0E+2\r | |
271 | dddiv485 divide 0e5 2e3 -> 0E+2\r | |
272 | dddiv486 divide 0e5 10e2 -> 0E+3\r | |
273 | dddiv487 divide 0e5 20e2 -> 0E+3\r | |
274 | dddiv488 divide 0e5 100e1 -> 0E+4\r | |
275 | dddiv489 divide 0e5 200e1 -> 0E+4\r | |
276 | \r | |
277 | dddiv491 divide 1e5 1e3 -> 1E+2\r | |
278 | dddiv492 divide 1e5 2e3 -> 5E+1\r | |
279 | dddiv493 divide 1e5 10e2 -> 1E+2\r | |
280 | dddiv494 divide 1e5 20e2 -> 5E+1\r | |
281 | dddiv495 divide 1e5 100e1 -> 1E+2\r | |
282 | dddiv496 divide 1e5 200e1 -> 5E+1\r | |
283 | \r | |
284 | -- tryzeros cases\r | |
285 | rounding: half_up\r | |
286 | dddiv497 divide 0E+380 1000E-13 -> 0E+369 Clamped\r | |
287 | dddiv498 divide 0E-390 1000E+13 -> 0E-398 Clamped\r | |
288 | \r | |
289 | rounding: half_up\r | |
290 | \r | |
291 | -- focus on trailing zeros issues\r | |
292 | dddiv500 divide 1 9.9 -> 0.1010101010101010 Inexact Rounded\r | |
293 | dddiv501 divide 1 9.09 -> 0.1100110011001100 Inexact Rounded\r | |
294 | dddiv502 divide 1 9.009 -> 0.1110001110001110 Inexact Rounded\r | |
295 | \r | |
296 | dddiv511 divide 1 2 -> 0.5\r | |
297 | dddiv512 divide 1.0 2 -> 0.5\r | |
298 | dddiv513 divide 1.00 2 -> 0.50\r | |
299 | dddiv514 divide 1.000 2 -> 0.500\r | |
300 | dddiv515 divide 1.0000 2 -> 0.5000\r | |
301 | dddiv516 divide 1.00000 2 -> 0.50000\r | |
302 | dddiv517 divide 1.000000 2 -> 0.500000\r | |
303 | dddiv518 divide 1.0000000 2 -> 0.5000000\r | |
304 | dddiv519 divide 1.00 2.00 -> 0.5\r | |
305 | \r | |
306 | dddiv521 divide 2 1 -> 2\r | |
307 | dddiv522 divide 2 1.0 -> 2\r | |
308 | dddiv523 divide 2 1.00 -> 2\r | |
309 | dddiv524 divide 2 1.000 -> 2\r | |
310 | dddiv525 divide 2 1.0000 -> 2\r | |
311 | dddiv526 divide 2 1.00000 -> 2\r | |
312 | dddiv527 divide 2 1.000000 -> 2\r | |
313 | dddiv528 divide 2 1.0000000 -> 2\r | |
314 | dddiv529 divide 2.00 1.00 -> 2\r | |
315 | \r | |
316 | dddiv530 divide 2.40 2 -> 1.20\r | |
317 | dddiv531 divide 2.40 4 -> 0.60\r | |
318 | dddiv532 divide 2.40 10 -> 0.24\r | |
319 | dddiv533 divide 2.40 2.0 -> 1.2\r | |
320 | dddiv534 divide 2.40 4.0 -> 0.6\r | |
321 | dddiv535 divide 2.40 10.0 -> 0.24\r | |
322 | dddiv536 divide 2.40 2.00 -> 1.2\r | |
323 | dddiv537 divide 2.40 4.00 -> 0.6\r | |
324 | dddiv538 divide 2.40 10.00 -> 0.24\r | |
325 | dddiv539 divide 0.9 0.1 -> 9\r | |
326 | dddiv540 divide 0.9 0.01 -> 9E+1\r | |
327 | dddiv541 divide 0.9 0.001 -> 9E+2\r | |
328 | dddiv542 divide 5 2 -> 2.5\r | |
329 | dddiv543 divide 5 2.0 -> 2.5\r | |
330 | dddiv544 divide 5 2.00 -> 2.5\r | |
331 | dddiv545 divide 5 20 -> 0.25\r | |
332 | dddiv546 divide 5 20.0 -> 0.25\r | |
333 | dddiv547 divide 2.400 2 -> 1.200\r | |
334 | dddiv548 divide 2.400 2.0 -> 1.20\r | |
335 | dddiv549 divide 2.400 2.400 -> 1\r | |
336 | \r | |
337 | dddiv550 divide 240 1 -> 240\r | |
338 | dddiv551 divide 240 10 -> 24\r | |
339 | dddiv552 divide 240 100 -> 2.4\r | |
340 | dddiv553 divide 240 1000 -> 0.24\r | |
341 | dddiv554 divide 2400 1 -> 2400\r | |
342 | dddiv555 divide 2400 10 -> 240\r | |
343 | dddiv556 divide 2400 100 -> 24\r | |
344 | dddiv557 divide 2400 1000 -> 2.4\r | |
345 | \r | |
346 | -- +ve exponent\r | |
347 | dddiv600 divide 2.4E+9 2 -> 1.2E+9\r | |
348 | dddiv601 divide 2.40E+9 2 -> 1.20E+9\r | |
349 | dddiv602 divide 2.400E+9 2 -> 1.200E+9\r | |
350 | dddiv603 divide 2.4000E+9 2 -> 1.2000E+9\r | |
351 | dddiv604 divide 24E+8 2 -> 1.2E+9\r | |
352 | dddiv605 divide 240E+7 2 -> 1.20E+9\r | |
353 | dddiv606 divide 2400E+6 2 -> 1.200E+9\r | |
354 | dddiv607 divide 24000E+5 2 -> 1.2000E+9\r | |
355 | \r | |
356 | -- more zeros, etc.\r | |
357 | dddiv731 divide 5.00 1E-3 -> 5.00E+3\r | |
358 | dddiv732 divide 00.00 0.000 -> NaN Division_undefined\r | |
359 | dddiv733 divide 00.00 0E-3 -> NaN Division_undefined\r | |
360 | dddiv734 divide 0 -0 -> NaN Division_undefined\r | |
361 | dddiv735 divide -0 0 -> NaN Division_undefined\r | |
362 | dddiv736 divide -0 -0 -> NaN Division_undefined\r | |
363 | \r | |
364 | dddiv741 divide 0 -1 -> -0\r | |
365 | dddiv742 divide -0 -1 -> 0\r | |
366 | dddiv743 divide 0 1 -> 0\r | |
367 | dddiv744 divide -0 1 -> -0\r | |
368 | dddiv745 divide -1 0 -> -Infinity Division_by_zero\r | |
369 | dddiv746 divide -1 -0 -> Infinity Division_by_zero\r | |
370 | dddiv747 divide 1 0 -> Infinity Division_by_zero\r | |
371 | dddiv748 divide 1 -0 -> -Infinity Division_by_zero\r | |
372 | \r | |
373 | dddiv751 divide 0.0 -1 -> -0.0\r | |
374 | dddiv752 divide -0.0 -1 -> 0.0\r | |
375 | dddiv753 divide 0.0 1 -> 0.0\r | |
376 | dddiv754 divide -0.0 1 -> -0.0\r | |
377 | dddiv755 divide -1.0 0 -> -Infinity Division_by_zero\r | |
378 | dddiv756 divide -1.0 -0 -> Infinity Division_by_zero\r | |
379 | dddiv757 divide 1.0 0 -> Infinity Division_by_zero\r | |
380 | dddiv758 divide 1.0 -0 -> -Infinity Division_by_zero\r | |
381 | \r | |
382 | dddiv761 divide 0 -1.0 -> -0E+1\r | |
383 | dddiv762 divide -0 -1.0 -> 0E+1\r | |
384 | dddiv763 divide 0 1.0 -> 0E+1\r | |
385 | dddiv764 divide -0 1.0 -> -0E+1\r | |
386 | dddiv765 divide -1 0.0 -> -Infinity Division_by_zero\r | |
387 | dddiv766 divide -1 -0.0 -> Infinity Division_by_zero\r | |
388 | dddiv767 divide 1 0.0 -> Infinity Division_by_zero\r | |
389 | dddiv768 divide 1 -0.0 -> -Infinity Division_by_zero\r | |
390 | \r | |
391 | dddiv771 divide 0.0 -1.0 -> -0\r | |
392 | dddiv772 divide -0.0 -1.0 -> 0\r | |
393 | dddiv773 divide 0.0 1.0 -> 0\r | |
394 | dddiv774 divide -0.0 1.0 -> -0\r | |
395 | dddiv775 divide -1.0 0.0 -> -Infinity Division_by_zero\r | |
396 | dddiv776 divide -1.0 -0.0 -> Infinity Division_by_zero\r | |
397 | dddiv777 divide 1.0 0.0 -> Infinity Division_by_zero\r | |
398 | dddiv778 divide 1.0 -0.0 -> -Infinity Division_by_zero\r | |
399 | \r | |
400 | -- Specials\r | |
401 | dddiv780 divide Inf -Inf -> NaN Invalid_operation\r | |
402 | dddiv781 divide Inf -1000 -> -Infinity\r | |
403 | dddiv782 divide Inf -1 -> -Infinity\r | |
404 | dddiv783 divide Inf -0 -> -Infinity\r | |
405 | dddiv784 divide Inf 0 -> Infinity\r | |
406 | dddiv785 divide Inf 1 -> Infinity\r | |
407 | dddiv786 divide Inf 1000 -> Infinity\r | |
408 | dddiv787 divide Inf Inf -> NaN Invalid_operation\r | |
409 | dddiv788 divide -1000 Inf -> -0E-398 Clamped\r | |
410 | dddiv789 divide -Inf Inf -> NaN Invalid_operation\r | |
411 | dddiv790 divide -1 Inf -> -0E-398 Clamped\r | |
412 | dddiv791 divide -0 Inf -> -0E-398 Clamped\r | |
413 | dddiv792 divide 0 Inf -> 0E-398 Clamped\r | |
414 | dddiv793 divide 1 Inf -> 0E-398 Clamped\r | |
415 | dddiv794 divide 1000 Inf -> 0E-398 Clamped\r | |
416 | dddiv795 divide Inf Inf -> NaN Invalid_operation\r | |
417 | \r | |
418 | dddiv800 divide -Inf -Inf -> NaN Invalid_operation\r | |
419 | dddiv801 divide -Inf -1000 -> Infinity\r | |
420 | dddiv802 divide -Inf -1 -> Infinity\r | |
421 | dddiv803 divide -Inf -0 -> Infinity\r | |
422 | dddiv804 divide -Inf 0 -> -Infinity\r | |
423 | dddiv805 divide -Inf 1 -> -Infinity\r | |
424 | dddiv806 divide -Inf 1000 -> -Infinity\r | |
425 | dddiv807 divide -Inf Inf -> NaN Invalid_operation\r | |
426 | dddiv808 divide -1000 Inf -> -0E-398 Clamped\r | |
427 | dddiv809 divide -Inf -Inf -> NaN Invalid_operation\r | |
428 | dddiv810 divide -1 -Inf -> 0E-398 Clamped\r | |
429 | dddiv811 divide -0 -Inf -> 0E-398 Clamped\r | |
430 | dddiv812 divide 0 -Inf -> -0E-398 Clamped\r | |
431 | dddiv813 divide 1 -Inf -> -0E-398 Clamped\r | |
432 | dddiv814 divide 1000 -Inf -> -0E-398 Clamped\r | |
433 | dddiv815 divide Inf -Inf -> NaN Invalid_operation\r | |
434 | \r | |
435 | dddiv821 divide NaN -Inf -> NaN\r | |
436 | dddiv822 divide NaN -1000 -> NaN\r | |
437 | dddiv823 divide NaN -1 -> NaN\r | |
438 | dddiv824 divide NaN -0 -> NaN\r | |
439 | dddiv825 divide NaN 0 -> NaN\r | |
440 | dddiv826 divide NaN 1 -> NaN\r | |
441 | dddiv827 divide NaN 1000 -> NaN\r | |
442 | dddiv828 divide NaN Inf -> NaN\r | |
443 | dddiv829 divide NaN NaN -> NaN\r | |
444 | dddiv830 divide -Inf NaN -> NaN\r | |
445 | dddiv831 divide -1000 NaN -> NaN\r | |
446 | dddiv832 divide -1 NaN -> NaN\r | |
447 | dddiv833 divide -0 NaN -> NaN\r | |
448 | dddiv834 divide 0 NaN -> NaN\r | |
449 | dddiv835 divide 1 NaN -> NaN\r | |
450 | dddiv836 divide 1000 NaN -> NaN\r | |
451 | dddiv837 divide Inf NaN -> NaN\r | |
452 | \r | |
453 | dddiv841 divide sNaN -Inf -> NaN Invalid_operation\r | |
454 | dddiv842 divide sNaN -1000 -> NaN Invalid_operation\r | |
455 | dddiv843 divide sNaN -1 -> NaN Invalid_operation\r | |
456 | dddiv844 divide sNaN -0 -> NaN Invalid_operation\r | |
457 | dddiv845 divide sNaN 0 -> NaN Invalid_operation\r | |
458 | dddiv846 divide sNaN 1 -> NaN Invalid_operation\r | |
459 | dddiv847 divide sNaN 1000 -> NaN Invalid_operation\r | |
460 | dddiv848 divide sNaN NaN -> NaN Invalid_operation\r | |
461 | dddiv849 divide sNaN sNaN -> NaN Invalid_operation\r | |
462 | dddiv850 divide NaN sNaN -> NaN Invalid_operation\r | |
463 | dddiv851 divide -Inf sNaN -> NaN Invalid_operation\r | |
464 | dddiv852 divide -1000 sNaN -> NaN Invalid_operation\r | |
465 | dddiv853 divide -1 sNaN -> NaN Invalid_operation\r | |
466 | dddiv854 divide -0 sNaN -> NaN Invalid_operation\r | |
467 | dddiv855 divide 0 sNaN -> NaN Invalid_operation\r | |
468 | dddiv856 divide 1 sNaN -> NaN Invalid_operation\r | |
469 | dddiv857 divide 1000 sNaN -> NaN Invalid_operation\r | |
470 | dddiv858 divide Inf sNaN -> NaN Invalid_operation\r | |
471 | dddiv859 divide NaN sNaN -> NaN Invalid_operation\r | |
472 | \r | |
473 | -- propagating NaNs\r | |
474 | dddiv861 divide NaN9 -Inf -> NaN9\r | |
475 | dddiv862 divide NaN8 1000 -> NaN8\r | |
476 | dddiv863 divide NaN7 Inf -> NaN7\r | |
477 | dddiv864 divide NaN6 NaN5 -> NaN6\r | |
478 | dddiv865 divide -Inf NaN4 -> NaN4\r | |
479 | dddiv866 divide -1000 NaN3 -> NaN3\r | |
480 | dddiv867 divide Inf NaN2 -> NaN2\r | |
481 | \r | |
482 | dddiv871 divide sNaN99 -Inf -> NaN99 Invalid_operation\r | |
483 | dddiv872 divide sNaN98 -1 -> NaN98 Invalid_operation\r | |
484 | dddiv873 divide sNaN97 NaN -> NaN97 Invalid_operation\r | |
485 | dddiv874 divide sNaN96 sNaN94 -> NaN96 Invalid_operation\r | |
486 | dddiv875 divide NaN95 sNaN93 -> NaN93 Invalid_operation\r | |
487 | dddiv876 divide -Inf sNaN92 -> NaN92 Invalid_operation\r | |
488 | dddiv877 divide 0 sNaN91 -> NaN91 Invalid_operation\r | |
489 | dddiv878 divide Inf sNaN90 -> NaN90 Invalid_operation\r | |
490 | dddiv879 divide NaN sNaN89 -> NaN89 Invalid_operation\r | |
491 | \r | |
492 | dddiv881 divide -NaN9 -Inf -> -NaN9\r | |
493 | dddiv882 divide -NaN8 1000 -> -NaN8\r | |
494 | dddiv883 divide -NaN7 Inf -> -NaN7\r | |
495 | dddiv884 divide -NaN6 -NaN5 -> -NaN6\r | |
496 | dddiv885 divide -Inf -NaN4 -> -NaN4\r | |
497 | dddiv886 divide -1000 -NaN3 -> -NaN3\r | |
498 | dddiv887 divide Inf -NaN2 -> -NaN2\r | |
499 | \r | |
500 | dddiv891 divide -sNaN99 -Inf -> -NaN99 Invalid_operation\r | |
501 | dddiv892 divide -sNaN98 -1 -> -NaN98 Invalid_operation\r | |
502 | dddiv893 divide -sNaN97 NaN -> -NaN97 Invalid_operation\r | |
503 | dddiv894 divide -sNaN96 -sNaN94 -> -NaN96 Invalid_operation\r | |
504 | dddiv895 divide -NaN95 -sNaN93 -> -NaN93 Invalid_operation\r | |
505 | dddiv896 divide -Inf -sNaN92 -> -NaN92 Invalid_operation\r | |
506 | dddiv897 divide 0 -sNaN91 -> -NaN91 Invalid_operation\r | |
507 | dddiv898 divide Inf -sNaN90 -> -NaN90 Invalid_operation\r | |
508 | dddiv899 divide -NaN -sNaN89 -> -NaN89 Invalid_operation\r | |
509 | \r | |
510 | -- Various flavours of divide by 0\r | |
511 | dddiv901 divide 0 0 -> NaN Division_undefined\r | |
512 | dddiv902 divide 0.0E5 0 -> NaN Division_undefined\r | |
513 | dddiv903 divide 0.000 0 -> NaN Division_undefined\r | |
514 | dddiv904 divide 0.0001 0 -> Infinity Division_by_zero\r | |
515 | dddiv905 divide 0.01 0 -> Infinity Division_by_zero\r | |
516 | dddiv906 divide 0.1 0 -> Infinity Division_by_zero\r | |
517 | dddiv907 divide 1 0 -> Infinity Division_by_zero\r | |
518 | dddiv908 divide 1 0.0 -> Infinity Division_by_zero\r | |
519 | dddiv909 divide 10 0.0 -> Infinity Division_by_zero\r | |
520 | dddiv910 divide 1E+100 0.0 -> Infinity Division_by_zero\r | |
521 | dddiv911 divide 1E+100 0 -> Infinity Division_by_zero\r | |
522 | \r | |
523 | dddiv921 divide -0.0001 0 -> -Infinity Division_by_zero\r | |
524 | dddiv922 divide -0.01 0 -> -Infinity Division_by_zero\r | |
525 | dddiv923 divide -0.1 0 -> -Infinity Division_by_zero\r | |
526 | dddiv924 divide -1 0 -> -Infinity Division_by_zero\r | |
527 | dddiv925 divide -1 0.0 -> -Infinity Division_by_zero\r | |
528 | dddiv926 divide -10 0.0 -> -Infinity Division_by_zero\r | |
529 | dddiv927 divide -1E+100 0.0 -> -Infinity Division_by_zero\r | |
530 | dddiv928 divide -1E+100 0 -> -Infinity Division_by_zero\r | |
531 | \r | |
532 | dddiv931 divide 0.0001 -0 -> -Infinity Division_by_zero\r | |
533 | dddiv932 divide 0.01 -0 -> -Infinity Division_by_zero\r | |
534 | dddiv933 divide 0.1 -0 -> -Infinity Division_by_zero\r | |
535 | dddiv934 divide 1 -0 -> -Infinity Division_by_zero\r | |
536 | dddiv935 divide 1 -0.0 -> -Infinity Division_by_zero\r | |
537 | dddiv936 divide 10 -0.0 -> -Infinity Division_by_zero\r | |
538 | dddiv937 divide 1E+100 -0.0 -> -Infinity Division_by_zero\r | |
539 | dddiv938 divide 1E+100 -0 -> -Infinity Division_by_zero\r | |
540 | \r | |
541 | dddiv941 divide -0.0001 -0 -> Infinity Division_by_zero\r | |
542 | dddiv942 divide -0.01 -0 -> Infinity Division_by_zero\r | |
543 | dddiv943 divide -0.1 -0 -> Infinity Division_by_zero\r | |
544 | dddiv944 divide -1 -0 -> Infinity Division_by_zero\r | |
545 | dddiv945 divide -1 -0.0 -> Infinity Division_by_zero\r | |
546 | dddiv946 divide -10 -0.0 -> Infinity Division_by_zero\r | |
547 | dddiv947 divide -1E+100 -0.0 -> Infinity Division_by_zero\r | |
548 | dddiv948 divide -1E+100 -0 -> Infinity Division_by_zero\r | |
549 | \r | |
550 | -- Examples from SQL proposal (Krishna Kulkarni)\r | |
551 | dddiv1021 divide 1E0 1E0 -> 1\r | |
552 | dddiv1022 divide 1E0 2E0 -> 0.5\r | |
553 | dddiv1023 divide 1E0 3E0 -> 0.3333333333333333 Inexact Rounded\r | |
554 | dddiv1024 divide 100E-2 1000E-3 -> 1\r | |
555 | dddiv1025 divide 24E-1 2E0 -> 1.2\r | |
556 | dddiv1026 divide 2400E-3 2E0 -> 1.200\r | |
557 | dddiv1027 divide 5E0 2E0 -> 2.5\r | |
558 | dddiv1028 divide 5E0 20E-1 -> 2.5\r | |
559 | dddiv1029 divide 5E0 2000E-3 -> 2.5\r | |
560 | dddiv1030 divide 5E0 2E-1 -> 25\r | |
561 | dddiv1031 divide 5E0 20E-2 -> 25\r | |
562 | dddiv1032 divide 480E-2 3E0 -> 1.60\r | |
563 | dddiv1033 divide 47E-1 2E0 -> 2.35\r | |
564 | \r | |
565 | -- ECMAScript bad examples\r | |
566 | rounding: half_down\r | |
567 | dddiv1040 divide 5 9 -> 0.5555555555555556 Inexact Rounded\r | |
568 | rounding: half_even\r | |
569 | dddiv1041 divide 6 11 -> 0.5454545454545455 Inexact Rounded\r | |
570 | \r | |
571 | -- overflow and underflow tests .. note subnormal results\r | |
572 | -- signs\r | |
573 | dddiv1051 divide 1e+277 1e-311 -> Infinity Overflow Inexact Rounded\r | |
574 | dddiv1052 divide 1e+277 -1e-311 -> -Infinity Overflow Inexact Rounded\r | |
575 | dddiv1053 divide -1e+277 1e-311 -> -Infinity Overflow Inexact Rounded\r | |
576 | dddiv1054 divide -1e+277 -1e-311 -> Infinity Overflow Inexact Rounded\r | |
577 | dddiv1055 divide 1e-277 1e+311 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped\r | |
578 | dddiv1056 divide 1e-277 -1e+311 -> -0E-398 Underflow Subnormal Inexact Rounded Clamped\r | |
579 | dddiv1057 divide -1e-277 1e+311 -> -0E-398 Underflow Subnormal Inexact Rounded Clamped\r | |
580 | dddiv1058 divide -1e-277 -1e+311 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped\r | |
581 | \r | |
582 | -- 'subnormal' boundary (all hard underflow or overflow in base arithemtic)\r | |
583 | dddiv1060 divide 1e-291 1e+101 -> 1E-392 Subnormal\r | |
584 | dddiv1061 divide 1e-291 1e+102 -> 1E-393 Subnormal\r | |
585 | dddiv1062 divide 1e-291 1e+103 -> 1E-394 Subnormal\r | |
586 | dddiv1063 divide 1e-291 1e+104 -> 1E-395 Subnormal\r | |
587 | dddiv1064 divide 1e-291 1e+105 -> 1E-396 Subnormal\r | |
588 | dddiv1065 divide 1e-291 1e+106 -> 1E-397 Subnormal\r | |
589 | dddiv1066 divide 1e-291 1e+107 -> 1E-398 Subnormal\r | |
590 | dddiv1067 divide 1e-291 1e+108 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped\r | |
591 | dddiv1068 divide 1e-291 1e+109 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped\r | |
592 | dddiv1069 divide 1e-291 1e+110 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped\r | |
593 | -- [no equivalent of 'subnormal' for overflow]\r | |
594 | dddiv1070 divide 1e+60 1e-321 -> 1.000000000000E+381 Clamped\r | |
595 | dddiv1071 divide 1e+60 1e-322 -> 1.0000000000000E+382 Clamped\r | |
596 | dddiv1072 divide 1e+60 1e-323 -> 1.00000000000000E+383 Clamped\r | |
597 | dddiv1073 divide 1e+60 1e-324 -> 1.000000000000000E+384 Clamped\r | |
598 | dddiv1074 divide 1e+60 1e-325 -> Infinity Overflow Inexact Rounded\r | |
599 | dddiv1075 divide 1e+60 1e-326 -> Infinity Overflow Inexact Rounded\r | |
600 | dddiv1076 divide 1e+60 1e-327 -> Infinity Overflow Inexact Rounded\r | |
601 | dddiv1077 divide 1e+60 1e-328 -> Infinity Overflow Inexact Rounded\r | |
602 | dddiv1078 divide 1e+60 1e-329 -> Infinity Overflow Inexact Rounded\r | |
603 | dddiv1079 divide 1e+60 1e-330 -> Infinity Overflow Inexact Rounded\r | |
604 | \r | |
605 | dddiv1101 divide 1.0000E-394 1 -> 1.0000E-394 Subnormal\r | |
606 | dddiv1102 divide 1.000E-394 1e+1 -> 1.000E-395 Subnormal\r | |
607 | dddiv1103 divide 1.00E-394 1e+2 -> 1.00E-396 Subnormal\r | |
608 | dddiv1104 divide 1.0E-394 1e+3 -> 1.0E-397 Subnormal\r | |
609 | dddiv1105 divide 1.0E-394 1e+4 -> 1E-398 Subnormal Rounded\r | |
610 | dddiv1106 divide 1.3E-394 1e+4 -> 1E-398 Underflow Subnormal Inexact Rounded\r | |
611 | dddiv1107 divide 1.5E-394 1e+4 -> 2E-398 Underflow Subnormal Inexact Rounded\r | |
612 | dddiv1108 divide 1.7E-394 1e+4 -> 2E-398 Underflow Subnormal Inexact Rounded\r | |
613 | dddiv1109 divide 2.3E-394 1e+4 -> 2E-398 Underflow Subnormal Inexact Rounded\r | |
614 | dddiv1110 divide 2.5E-394 1e+4 -> 2E-398 Underflow Subnormal Inexact Rounded\r | |
615 | dddiv1111 divide 2.7E-394 1e+4 -> 3E-398 Underflow Subnormal Inexact Rounded\r | |
616 | dddiv1112 divide 1.49E-394 1e+4 -> 1E-398 Underflow Subnormal Inexact Rounded\r | |
617 | dddiv1113 divide 1.50E-394 1e+4 -> 2E-398 Underflow Subnormal Inexact Rounded\r | |
618 | dddiv1114 divide 1.51E-394 1e+4 -> 2E-398 Underflow Subnormal Inexact Rounded\r | |
619 | dddiv1115 divide 2.49E-394 1e+4 -> 2E-398 Underflow Subnormal Inexact Rounded\r | |
620 | dddiv1116 divide 2.50E-394 1e+4 -> 2E-398 Underflow Subnormal Inexact Rounded\r | |
621 | dddiv1117 divide 2.51E-394 1e+4 -> 3E-398 Underflow Subnormal Inexact Rounded\r | |
622 | \r | |
623 | dddiv1118 divide 1E-394 1e+4 -> 1E-398 Subnormal\r | |
624 | dddiv1119 divide 3E-394 1e+5 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped\r | |
625 | dddiv1120 divide 5E-394 1e+5 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped\r | |
626 | dddiv1121 divide 7E-394 1e+5 -> 1E-398 Underflow Subnormal Inexact Rounded\r | |
627 | dddiv1122 divide 9E-394 1e+5 -> 1E-398 Underflow Subnormal Inexact Rounded\r | |
628 | dddiv1123 divide 9.9E-394 1e+5 -> 1E-398 Underflow Subnormal Inexact Rounded\r | |
629 | \r | |
630 | dddiv1124 divide 1E-394 -1e+4 -> -1E-398 Subnormal\r | |
631 | dddiv1125 divide 3E-394 -1e+5 -> -0E-398 Underflow Subnormal Inexact Rounded Clamped\r | |
632 | dddiv1126 divide -5E-394 1e+5 -> -0E-398 Underflow Subnormal Inexact Rounded Clamped\r | |
633 | dddiv1127 divide 7E-394 -1e+5 -> -1E-398 Underflow Subnormal Inexact Rounded\r | |
634 | dddiv1128 divide -9E-394 1e+5 -> -1E-398 Underflow Subnormal Inexact Rounded\r | |
635 | dddiv1129 divide 9.9E-394 -1e+5 -> -1E-398 Underflow Subnormal Inexact Rounded\r | |
636 | dddiv1130 divide 3.0E-394 -1e+5 -> -0E-398 Underflow Subnormal Inexact Rounded Clamped\r | |
637 | \r | |
638 | dddiv1131 divide 1.0E-199 1e+200 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped\r | |
639 | dddiv1132 divide 1.0E-199 1e+199 -> 1E-398 Subnormal Rounded\r | |
640 | dddiv1133 divide 1.0E-199 1e+198 -> 1.0E-397 Subnormal\r | |
641 | dddiv1134 divide 2.0E-199 2e+198 -> 1.0E-397 Subnormal\r | |
642 | dddiv1135 divide 4.0E-199 4e+198 -> 1.0E-397 Subnormal\r | |
643 | dddiv1136 divide 10.0E-199 10e+198 -> 1.0E-397 Subnormal\r | |
644 | dddiv1137 divide 30.0E-199 30e+198 -> 1.0E-397 Subnormal\r | |
645 | \r | |
646 | -- randoms\r | |
647 | dddiv2010 divide -3.303226714900711E-35 8.796578842713183E+73 -> -3.755126594058783E-109 Inexact Rounded\r | |
648 | dddiv2011 divide 933153327821073.6 68782181090246.25 -> 13.56678885475763 Inexact Rounded\r | |
649 | dddiv2012 divide 5.04752436057906E-72 -8.179481771238642E+64 -> -6.170958627632835E-137 Inexact Rounded\r | |
650 | dddiv2013 divide -3707613309582318 3394911196503.048 -> -1092.109070010836 Inexact Rounded\r | |
651 | dddiv2014 divide 99689.0555190461 -4.735208553891464 -> -21052.72753765411 Inexact Rounded\r | |
652 | dddiv2015 divide -1447915775613329 269750797.8184875 -> -5367605.164925653 Inexact Rounded\r | |
653 | dddiv2016 divide -9.394881304225258E-19 -830585.0252671636 -> 1.131116143251358E-24 Inexact Rounded\r | |
654 | dddiv2017 divide -1.056283432738934 88.58754555124013 -> -0.01192361100159352 Inexact Rounded\r | |
655 | dddiv2018 divide 5763220933343.081 689089567025052.1 -> 0.008363529516524456 Inexact Rounded\r | |
656 | dddiv2019 divide 873819.122103216 9.740612494523300E-49 -> 8.970884763093948E+53 Inexact Rounded\r | |
657 | dddiv2020 divide 8022914.838533576 6178.566801742713 -> 1298.507420243583 Inexact Rounded\r | |
658 | dddiv2021 divide 203982.7605650363 -2158.283639053435 -> -94.51156320422168 Inexact Rounded\r | |
659 | dddiv2022 divide 803.6310547013030 7101143795399.238 -> 1.131692411611166E-10 Inexact Rounded\r | |
660 | dddiv2023 divide 9.251697842123399E-82 -1.342350220606119E-7 -> -6.892163982321936E-75 Inexact Rounded\r | |
661 | dddiv2024 divide -1.980600645637992E-53 -5.474262753214457E+77 -> 3.618022617703168E-131 Inexact Rounded\r | |
662 | dddiv2025 divide -210.0322996351690 -8.580951835872843E+80 -> 2.447657365434971E-79 Inexact Rounded\r | |
663 | dddiv2026 divide -1.821980314020370E+85 -3.018915267138165 -> 6.035215144503042E+84 Inexact Rounded\r | |
664 | dddiv2027 divide -772264503601.1047 5.158258271408988E-86 -> -1.497141986630614E+97 Inexact Rounded\r | |
665 | dddiv2028 divide -767.0532415847106 2.700027228028939E-59 -> -2.840909282772941E+61 Inexact Rounded\r | |
666 | dddiv2029 divide 496724.8548250093 7.32700588163100E+66 -> 6.779370220929013E-62 Inexact Rounded\r | |
667 | dddiv2030 divide -304232651447703.9 -108.9730808657440 -> 2791814721862.565 Inexact Rounded\r | |
668 | dddiv2031 divide -7.233817192699405E+42 -5711302004.149411 -> 1.266579352211430E+33 Inexact Rounded\r | |
669 | dddiv2032 divide -9.999221444912745E+96 4010569406446197 -> -2.493217404202250E+81 Inexact Rounded\r | |
670 | dddiv2033 divide -1837272.061937622 8.356322838066762 -> -219866.0939196882 Inexact Rounded\r | |
671 | dddiv2034 divide 2168.517555606529 209.1910258615061 -> 10.36620737756784 Inexact Rounded\r | |
672 | dddiv2035 divide -1.884389790576371E+88 2.95181953870583E+20 -> -6.383824505079828E+67 Inexact Rounded\r | |
673 | dddiv2036 divide 732263.6037438196 961222.3634446889 -> 0.7618045850698269 Inexact Rounded\r | |
674 | dddiv2037 divide -813461419.0348336 5.376293753809143E+84 -> -1.513052404285927E-76 Inexact Rounded\r | |
675 | dddiv2038 divide -45562133508108.50 -9.776843494690107E+51 -> 4.660208945029519E-39 Inexact Rounded\r | |
676 | dddiv2039 divide -6.489393172441016E+80 -9101965.097852113 -> 7.129661674897421E+73 Inexact Rounded\r | |
677 | dddiv2040 divide 3.694576237117349E+93 6683512.012622003 -> 5.527896456443912E+86 Inexact Rounded\r | |
678 | dddiv2041 divide -2.252877726403272E+19 -7451913256.181367 -> 3023220546.125531 Inexact Rounded\r | |
679 | dddiv2042 divide 518303.1989111842 50.01587020474133 -> 10362.77479107123 Inexact Rounded\r | |
680 | dddiv2043 divide 2.902087881880103E+24 33.32400992305702 -> 8.708699488989578E+22 Inexact Rounded\r | |
681 | dddiv2044 divide 549619.4559510557 1660824845196338 -> 3.309316196351104E-10 Inexact Rounded\r | |
682 | dddiv2045 divide -6775670774684043 8292152023.077262 -> -817118.4941891062 Inexact Rounded\r | |
683 | dddiv2046 divide -77.50923921524079 -5.636882655425815E+74 -> 1.375037302588405E-73 Inexact Rounded\r | |
684 | dddiv2047 divide -2.984889459605149E-10 -88106156784122.99 -> 3.387833005721384E-24 Inexact Rounded\r | |
685 | dddiv2048 divide 0.949517293997085 44767115.96450998 -> 2.121015110175589E-8 Inexact Rounded\r | |
686 | dddiv2049 divide -2760937211.084521 -1087015876975408 -> 0.000002539923537057024 Inexact Rounded\r | |
687 | dddiv2050 divide 28438351.85030536 -4.209397904088624E-47 -> -6.755919135770688E+53 Inexact Rounded\r | |
688 | dddiv2051 divide -85562731.6820956 -7.166045442530185E+45 -> 1.194002080621542E-38 Inexact Rounded\r | |
689 | dddiv2052 divide 2533802852165.25 7154.119606235955 -> 354173957.3317501 Inexact Rounded\r | |
690 | dddiv2053 divide -8858831346851.474 97.59734208801716 -> -90769186509.83577 Inexact Rounded\r | |
691 | dddiv2054 divide 176783629801387.5 840073263.3109817 -> 210438.3480848206 Inexact Rounded\r | |
692 | dddiv2055 divide -493506471796175.6 79733894790822.03 -> -6.189418854940746 Inexact Rounded\r | |
693 | dddiv2056 divide 790.1682542103445 829.9449370367435 -> 0.9520731062371214 Inexact Rounded\r | |
694 | dddiv2057 divide -8920459838.583164 -4767.889187899214 -> 1870945.294035581 Inexact Rounded\r | |
695 | dddiv2058 divide 53536687164422.1 53137.5007032689 -> 1007512330.385698 Inexact Rounded\r | |
696 | dddiv2059 divide 4.051532311146561E-74 -2.343089768972261E+94 -> -1.729140882606332E-168 Inexact Rounded\r | |
697 | dddiv2060 divide -14847758778636.88 3.062543516383807E-43 -> -4.848178874587497E+55 Inexact Rounded\r | |
698 | \r | |
699 | -- Division probably has pre-rounding, so need to test rounding\r | |
700 | -- explicitly rather than assume included through other tests;\r | |
701 | -- tests include simple rounding and also the tricky cases of sticky\r | |
702 | -- bits following two zeros\r | |
703 | --\r | |
704 | -- 1/99999 gives 0.0000100001000010000100001000010000100001\r | |
705 | -- 1234567890123456\r | |
706 | --\r | |
707 | -- 1/999999 gives 0.000001000001000001000001000001000001000001\r | |
708 | -- 1234567890123456\r | |
709 | \r | |
710 | rounding: ceiling\r | |
711 | dddiv3001 divide 1 3 -> 0.3333333333333334 Inexact Rounded\r | |
712 | dddiv3002 divide 2 3 -> 0.6666666666666667 Inexact Rounded\r | |
713 | dddiv3003 divide 1 99999 -> 0.00001000010000100002 Inexact Rounded\r | |
714 | dddiv3004 divide 1 999999 -> 0.000001000001000001001 Inexact Rounded\r | |
715 | \r | |
716 | rounding: floor\r | |
717 | dddiv3011 divide 1 3 -> 0.3333333333333333 Inexact Rounded\r | |
718 | dddiv3012 divide 2 3 -> 0.6666666666666666 Inexact Rounded\r | |
719 | dddiv3013 divide 1 99999 -> 0.00001000010000100001 Inexact Rounded\r | |
720 | dddiv3014 divide 1 999999 -> 0.000001000001000001000 Inexact Rounded\r | |
721 | \r | |
722 | rounding: up\r | |
723 | dddiv3021 divide 1 3 -> 0.3333333333333334 Inexact Rounded\r | |
724 | dddiv3022 divide 2 3 -> 0.6666666666666667 Inexact Rounded\r | |
725 | dddiv3023 divide 1 99999 -> 0.00001000010000100002 Inexact Rounded\r | |
726 | dddiv3024 divide 1 999999 -> 0.000001000001000001001 Inexact Rounded\r | |
727 | \r | |
728 | rounding: down\r | |
729 | dddiv3031 divide 1 3 -> 0.3333333333333333 Inexact Rounded\r | |
730 | dddiv3032 divide 2 3 -> 0.6666666666666666 Inexact Rounded\r | |
731 | dddiv3033 divide 1 99999 -> 0.00001000010000100001 Inexact Rounded\r | |
732 | dddiv3034 divide 1 999999 -> 0.000001000001000001000 Inexact Rounded\r | |
733 | \r | |
734 | rounding: half_up\r | |
735 | dddiv3041 divide 1 3 -> 0.3333333333333333 Inexact Rounded\r | |
736 | dddiv3042 divide 2 3 -> 0.6666666666666667 Inexact Rounded\r | |
737 | dddiv3043 divide 1 99999 -> 0.00001000010000100001 Inexact Rounded\r | |
738 | dddiv3044 divide 1 999999 -> 0.000001000001000001000 Inexact Rounded\r | |
739 | \r | |
740 | rounding: half_down\r | |
741 | dddiv3051 divide 1 3 -> 0.3333333333333333 Inexact Rounded\r | |
742 | dddiv3052 divide 2 3 -> 0.6666666666666667 Inexact Rounded\r | |
743 | dddiv3053 divide 1 99999 -> 0.00001000010000100001 Inexact Rounded\r | |
744 | dddiv3054 divide 1 999999 -> 0.000001000001000001000 Inexact Rounded\r | |
745 | \r | |
746 | rounding: half_even\r | |
747 | dddiv3061 divide 1 3 -> 0.3333333333333333 Inexact Rounded\r | |
748 | dddiv3062 divide 2 3 -> 0.6666666666666667 Inexact Rounded\r | |
749 | dddiv3063 divide 1 99999 -> 0.00001000010000100001 Inexact Rounded\r | |
750 | dddiv3064 divide 1 999999 -> 0.000001000001000001000 Inexact Rounded\r | |
751 | \r | |
752 | rounding: 05up\r | |
753 | dddiv3071 divide 1 3 -> 0.3333333333333333 Inexact Rounded\r | |
754 | dddiv3072 divide 2 3 -> 0.6666666666666666 Inexact Rounded\r | |
755 | dddiv3073 divide 1 99999 -> 0.00001000010000100001 Inexact Rounded\r | |
756 | dddiv3074 divide 1 999999 -> 0.000001000001000001001 Inexact Rounded\r | |
757 | \r | |
758 | -- random divide tests with result near 1\r | |
759 | rounding: half_even\r | |
760 | dddiv4001 divide 3195385192916917 3195385192946695 -> 0.9999999999906809 Inexact Rounded\r | |
761 | dddiv4002 divide 1393723067526993 1393723067519475 -> 1.000000000005394 Inexact Rounded\r | |
762 | dddiv4003 divide 759985543702302 759985543674015 -> 1.000000000037220 Inexact Rounded\r | |
763 | dddiv4004 divide 9579158456027302 9579158456036864 -> 0.9999999999990018 Inexact Rounded\r | |
764 | dddiv4005 divide 7079398299143569 7079398299156904 -> 0.9999999999981164 Inexact Rounded\r | |
765 | dddiv4006 divide 6636169255366598 6636169255336386 -> 1.000000000004553 Inexact Rounded\r | |
766 | dddiv4007 divide 6964813971340090 6964813971321554 -> 1.000000000002661 Inexact Rounded\r | |
767 | dddiv4008 divide 4182275225480784 4182275225454009 -> 1.000000000006402 Inexact Rounded\r | |
768 | dddiv4009 divide 9228325124938029 9228325124918730 -> 1.000000000002091 Inexact Rounded\r | |
769 | dddiv4010 divide 3428346338630192 3428346338609843 -> 1.000000000005936 Inexact Rounded\r | |
770 | dddiv4011 divide 2143511550722893 2143511550751754 -> 0.9999999999865356 Inexact Rounded\r | |
771 | dddiv4012 divide 1672732924396785 1672732924401811 -> 0.9999999999969953 Inexact Rounded\r | |
772 | dddiv4013 divide 4190714611948216 4190714611948664 -> 0.9999999999998931 Inexact Rounded\r | |
773 | dddiv4014 divide 3942254800848877 3942254800814556 -> 1.000000000008706 Inexact Rounded\r | |
774 | dddiv4015 divide 2854459826952334 2854459826960762 -> 0.9999999999970474 Inexact Rounded\r | |
775 | dddiv4016 divide 2853258953664731 2853258953684471 -> 0.9999999999930816 Inexact Rounded\r | |
776 | dddiv4017 divide 9453512638125978 9453512638146425 -> 0.9999999999978371 Inexact Rounded\r | |
777 | dddiv4018 divide 339476633940369 339476633912887 -> 1.000000000080954 Inexact Rounded\r | |
778 | dddiv4019 divide 4542181492688467 4542181492697735 -> 0.9999999999979596 Inexact Rounded\r | |
779 | dddiv4020 divide 7312600192399197 7312600192395424 -> 1.000000000000516 Inexact Rounded\r | |
780 | dddiv4021 divide 1811674985570111 1811674985603935 -> 0.9999999999813300 Inexact Rounded\r | |
781 | dddiv4022 divide 1706462639003481 1706462639017740 -> 0.9999999999916441 Inexact Rounded\r | |
782 | dddiv4023 divide 6697052654940368 6697052654934110 -> 1.000000000000934 Inexact Rounded\r | |
783 | dddiv4024 divide 5015283664277539 5015283664310719 -> 0.9999999999933842 Inexact Rounded\r | |
784 | dddiv4025 divide 2359501561537464 2359501561502464 -> 1.000000000014834 Inexact Rounded\r | |
785 | dddiv4026 divide 2669850227909157 2669850227901548 -> 1.000000000002850 Inexact Rounded\r | |
786 | dddiv4027 divide 9329725546974648 9329725547002445 -> 0.9999999999970206 Inexact Rounded\r | |
787 | dddiv4028 divide 3228562867071248 3228562867106206 -> 0.9999999999891723 Inexact Rounded\r | |
788 | dddiv4029 divide 4862226644921175 4862226644909380 -> 1.000000000002426 Inexact Rounded\r | |
789 | dddiv4030 divide 1022267997054529 1022267997071329 -> 0.9999999999835660 Inexact Rounded\r | |
790 | dddiv4031 divide 1048777482023719 1048777482000948 -> 1.000000000021712 Inexact Rounded\r | |
791 | dddiv4032 divide 9980113777337098 9980113777330539 -> 1.000000000000657 Inexact Rounded\r | |
792 | dddiv4033 divide 7506839167963908 7506839167942901 -> 1.000000000002798 Inexact Rounded\r | |
793 | dddiv4034 divide 231119751977860 231119751962453 -> 1.000000000066662 Inexact Rounded\r | |
794 | dddiv4035 divide 4034903664762962 4034903664795526 -> 0.9999999999919294 Inexact Rounded\r | |
795 | dddiv4036 divide 5700122152274696 5700122152251386 -> 1.000000000004089 Inexact Rounded\r | |
796 | dddiv4037 divide 6869599590293110 6869599590293495 -> 0.9999999999999440 Inexact Rounded\r | |
797 | dddiv4038 divide 5576281960092797 5576281960105579 -> 0.9999999999977078 Inexact Rounded\r | |
798 | dddiv4039 divide 2304844888381318 2304844888353073 -> 1.000000000012255 Inexact Rounded\r | |
799 | dddiv4040 divide 3265933651656452 3265933651682779 -> 0.9999999999919389 Inexact Rounded\r | |
800 | dddiv4041 divide 5235714985079914 5235714985066131 -> 1.000000000002632 Inexact Rounded\r | |
801 | dddiv4042 divide 5578481572827551 5578481572822945 -> 1.000000000000826 Inexact Rounded\r | |
802 | dddiv4043 divide 4909616081396134 4909616081373076 -> 1.000000000004696 Inexact Rounded\r | |
803 | dddiv4044 divide 636447224349537 636447224338757 -> 1.000000000016938 Inexact Rounded\r | |
804 | dddiv4045 divide 1539373428396640 1539373428364727 -> 1.000000000020731 Inexact Rounded\r | |
805 | dddiv4046 divide 2028786707377893 2028786707378866 -> 0.9999999999995204 Inexact Rounded\r | |
806 | dddiv4047 divide 137643260486222 137643260487419 -> 0.9999999999913036 Inexact Rounded\r | |
807 | dddiv4048 divide 247451519746765 247451519752267 -> 0.9999999999777653 Inexact Rounded\r | |
808 | dddiv4049 divide 7877858475022054 7877858474999794 -> 1.000000000002826 Inexact Rounded\r | |
809 | dddiv4050 divide 7333242694766258 7333242694744628 -> 1.000000000002950 Inexact Rounded\r | |
810 | dddiv4051 divide 124051503698592 124051503699397 -> 0.9999999999935108 Inexact Rounded\r | |
811 | dddiv4052 divide 8944737432385188 8944737432406860 -> 0.9999999999975771 Inexact Rounded\r | |
812 | dddiv4053 divide 9883948923406874 9883948923424843 -> 0.9999999999981820 Inexact Rounded\r | |
813 | dddiv4054 divide 6829178741654284 6829178741671973 -> 0.9999999999974098 Inexact Rounded\r | |
814 | dddiv4055 divide 7342752479768122 7342752479793385 -> 0.9999999999965595 Inexact Rounded\r | |
815 | dddiv4056 divide 8066426579008783 8066426578977563 -> 1.000000000003870 Inexact Rounded\r | |
816 | dddiv4057 divide 8992775071383295 8992775071352712 -> 1.000000000003401 Inexact Rounded\r | |
817 | dddiv4058 divide 5485011755545641 5485011755543611 -> 1.000000000000370 Inexact Rounded\r | |
818 | dddiv4059 divide 5779983054353918 5779983054365300 -> 0.9999999999980308 Inexact Rounded\r | |
819 | dddiv4060 divide 9502265102713774 9502265102735208 -> 0.9999999999977443 Inexact Rounded\r | |
820 | dddiv4061 divide 2109558399130981 2109558399116281 -> 1.000000000006968 Inexact Rounded\r | |
821 | dddiv4062 divide 5296182636350471 5296182636351521 -> 0.9999999999998017 Inexact Rounded\r | |
822 | dddiv4063 divide 1440019225591883 1440019225601844 -> 0.9999999999930827 Inexact Rounded\r | |
823 | dddiv4064 divide 8182110791881341 8182110791847174 -> 1.000000000004176 Inexact Rounded\r | |
824 | dddiv4065 divide 489098235512060 489098235534516 -> 0.9999999999540869 Inexact Rounded\r | |
825 | dddiv4066 divide 6475687084782038 6475687084756089 -> 1.000000000004007 Inexact Rounded\r | |
826 | dddiv4067 divide 8094348555736948 8094348555759236 -> 0.9999999999972465 Inexact Rounded\r | |
827 | dddiv4068 divide 1982766816291543 1982766816309463 -> 0.9999999999909621 Inexact Rounded\r | |
828 | dddiv4069 divide 9277314300113251 9277314300084467 -> 1.000000000003103 Inexact Rounded\r | |
829 | dddiv4070 divide 4335532959318934 4335532959293167 -> 1.000000000005943 Inexact Rounded\r | |
830 | dddiv4071 divide 7767113032981348 7767113032968132 -> 1.000000000001702 Inexact Rounded\r | |
831 | dddiv4072 divide 1578548053342868 1578548053370448 -> 0.9999999999825282 Inexact Rounded\r | |
832 | dddiv4073 divide 3790420686666898 3790420686636315 -> 1.000000000008068 Inexact Rounded\r | |
833 | dddiv4074 divide 871682421955147 871682421976441 -> 0.9999999999755714 Inexact Rounded\r | |
834 | dddiv4075 divide 744141054479940 744141054512329 -> 0.9999999999564746 Inexact Rounded\r | |
835 | dddiv4076 divide 8956824183670735 8956824183641741 -> 1.000000000003237 Inexact Rounded\r | |
836 | dddiv4077 divide 8337291694485682 8337291694451193 -> 1.000000000004137 Inexact Rounded\r | |
837 | dddiv4078 divide 4107775944683669 4107775944657097 -> 1.000000000006469 Inexact Rounded\r | |
838 | dddiv4079 divide 8691900057964648 8691900057997555 -> 0.9999999999962141 Inexact Rounded\r | |
839 | dddiv4080 divide 2229528520536462 2229528520502337 -> 1.000000000015306 Inexact Rounded\r | |
840 | dddiv4081 divide 398442083774322 398442083746273 -> 1.000000000070397 Inexact Rounded\r | |
841 | dddiv4082 divide 5319819776808759 5319819776838313 -> 0.9999999999944445 Inexact Rounded\r | |
842 | dddiv4083 divide 7710491299066855 7710491299041858 -> 1.000000000003242 Inexact Rounded\r | |
843 | dddiv4084 divide 9083231296087266 9083231296058160 -> 1.000000000003204 Inexact Rounded\r | |
844 | dddiv4085 divide 3566873574904559 3566873574890328 -> 1.000000000003990 Inexact Rounded\r | |
845 | dddiv4086 divide 596343290550525 596343290555614 -> 0.9999999999914663 Inexact Rounded\r | |
846 | dddiv4087 divide 278227925093192 278227925068104 -> 1.000000000090171 Inexact Rounded\r | |
847 | dddiv4088 divide 3292902958490649 3292902958519881 -> 0.9999999999911227 Inexact Rounded\r | |
848 | dddiv4089 divide 5521871364245881 5521871364229536 -> 1.000000000002960 Inexact Rounded\r | |
849 | dddiv4090 divide 2406505602883617 2406505602857997 -> 1.000000000010646 Inexact Rounded\r | |
850 | dddiv4091 divide 7741146984869208 7741146984867255 -> 1.000000000000252 Inexact Rounded\r | |
851 | dddiv4092 divide 4576041832414909 4576041832405102 -> 1.000000000002143 Inexact Rounded\r | |
852 | dddiv4093 divide 9183756982878057 9183756982901934 -> 0.9999999999974001 Inexact Rounded\r | |
853 | dddiv4094 divide 6215736513855159 6215736513870342 -> 0.9999999999975573 Inexact Rounded\r | |
854 | dddiv4095 divide 248554968534533 248554968551417 -> 0.9999999999320714 Inexact Rounded\r | |
855 | dddiv4096 divide 376314165668645 376314165659755 -> 1.000000000023624 Inexact Rounded\r | |
856 | dddiv4097 divide 5513569249809718 5513569249808906 -> 1.000000000000147 Inexact Rounded\r | |
857 | dddiv4098 divide 3367992242167904 3367992242156228 -> 1.000000000003467 Inexact Rounded\r | |
858 | dddiv4099 divide 6134869538966967 6134869538985986 -> 0.9999999999968999 Inexact Rounded\r | |
859 | \r | |
860 | -- Null tests\r | |
861 | dddiv9998 divide 10 # -> NaN Invalid_operation\r | |
862 | dddiv9999 divide # 10 -> NaN Invalid_operation\r | |
863 | \r |