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