Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | ------------------------------------------------------------------------ |
2 | -- rounding.decTest -- decimal rounding modes testcases -- | |
3 | -- Copyright (c) IBM Corporation, 1981, 2003. 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.39 | |
21 | ||
22 | -- These tests require that implementations take account of residues in | |
23 | -- order to get correct results for some rounding modes. Rather than | |
24 | -- single rounding tests we therefore need tests for most operators. | |
25 | -- [We do assume add/minus/plus/subtract are common paths, however, as | |
26 | -- is rounding of negatives (if the latter works for addition, assume it | |
27 | -- works for the others, too).] | |
28 | -- | |
29 | -- Underflow Subnormal and overflow behaviours are tested under the individual | |
30 | -- operators. | |
31 | ||
32 | extended: 1 | |
33 | precision: 5 -- for easier visual inspection | |
34 | maxExponent: 999 | |
35 | minexponent: -999 | |
36 | ||
37 | -- Addition operators ------------------------------------------------- | |
38 | rounding: down | |
39 | ||
40 | radx100 add 12345 -0.1 -> 12344 Inexact Rounded | |
41 | radx101 add 12345 -0.01 -> 12344 Inexact Rounded | |
42 | radx102 add 12345 -0.001 -> 12344 Inexact Rounded | |
43 | radx103 add 12345 -0.00001 -> 12344 Inexact Rounded | |
44 | radx104 add 12345 -0.000001 -> 12344 Inexact Rounded | |
45 | radx105 add 12345 -0.0000001 -> 12344 Inexact Rounded | |
46 | radx106 add 12345 0 -> 12345 | |
47 | radx107 add 12345 0.0000001 -> 12345 Inexact Rounded | |
48 | radx108 add 12345 0.000001 -> 12345 Inexact Rounded | |
49 | radx109 add 12345 0.00001 -> 12345 Inexact Rounded | |
50 | radx110 add 12345 0.0001 -> 12345 Inexact Rounded | |
51 | radx111 add 12345 0.001 -> 12345 Inexact Rounded | |
52 | radx112 add 12345 0.01 -> 12345 Inexact Rounded | |
53 | radx113 add 12345 0.1 -> 12345 Inexact Rounded | |
54 | ||
55 | radx115 add 12346 0.49999 -> 12346 Inexact Rounded | |
56 | radx116 add 12346 0.5 -> 12346 Inexact Rounded | |
57 | radx117 add 12346 0.50001 -> 12346 Inexact Rounded | |
58 | ||
59 | radx120 add 12345 0.4 -> 12345 Inexact Rounded | |
60 | radx121 add 12345 0.49 -> 12345 Inexact Rounded | |
61 | radx122 add 12345 0.499 -> 12345 Inexact Rounded | |
62 | radx123 add 12345 0.49999 -> 12345 Inexact Rounded | |
63 | radx124 add 12345 0.5 -> 12345 Inexact Rounded | |
64 | radx125 add 12345 0.50001 -> 12345 Inexact Rounded | |
65 | radx126 add 12345 0.5001 -> 12345 Inexact Rounded | |
66 | radx127 add 12345 0.501 -> 12345 Inexact Rounded | |
67 | radx128 add 12345 0.51 -> 12345 Inexact Rounded | |
68 | radx129 add 12345 0.6 -> 12345 Inexact Rounded | |
69 | ||
70 | rounding: half_down | |
71 | ||
72 | radx140 add 12345 -0.1 -> 12345 Inexact Rounded | |
73 | radx141 add 12345 -0.01 -> 12345 Inexact Rounded | |
74 | radx142 add 12345 -0.001 -> 12345 Inexact Rounded | |
75 | radx143 add 12345 -0.00001 -> 12345 Inexact Rounded | |
76 | radx144 add 12345 -0.000001 -> 12345 Inexact Rounded | |
77 | radx145 add 12345 -0.0000001 -> 12345 Inexact Rounded | |
78 | radx146 add 12345 0 -> 12345 | |
79 | radx147 add 12345 0.0000001 -> 12345 Inexact Rounded | |
80 | radx148 add 12345 0.000001 -> 12345 Inexact Rounded | |
81 | radx149 add 12345 0.00001 -> 12345 Inexact Rounded | |
82 | radx150 add 12345 0.0001 -> 12345 Inexact Rounded | |
83 | radx151 add 12345 0.001 -> 12345 Inexact Rounded | |
84 | radx152 add 12345 0.01 -> 12345 Inexact Rounded | |
85 | radx153 add 12345 0.1 -> 12345 Inexact Rounded | |
86 | ||
87 | radx155 add 12346 0.49999 -> 12346 Inexact Rounded | |
88 | radx156 add 12346 0.5 -> 12346 Inexact Rounded | |
89 | radx157 add 12346 0.50001 -> 12347 Inexact Rounded | |
90 | ||
91 | radx160 add 12345 0.4 -> 12345 Inexact Rounded | |
92 | radx161 add 12345 0.49 -> 12345 Inexact Rounded | |
93 | radx162 add 12345 0.499 -> 12345 Inexact Rounded | |
94 | radx163 add 12345 0.49999 -> 12345 Inexact Rounded | |
95 | radx164 add 12345 0.5 -> 12345 Inexact Rounded | |
96 | radx165 add 12345 0.50001 -> 12346 Inexact Rounded | |
97 | radx166 add 12345 0.5001 -> 12346 Inexact Rounded | |
98 | radx167 add 12345 0.501 -> 12346 Inexact Rounded | |
99 | radx168 add 12345 0.51 -> 12346 Inexact Rounded | |
100 | radx169 add 12345 0.6 -> 12346 Inexact Rounded | |
101 | ||
102 | rounding: half_even | |
103 | ||
104 | radx170 add 12345 -0.1 -> 12345 Inexact Rounded | |
105 | radx171 add 12345 -0.01 -> 12345 Inexact Rounded | |
106 | radx172 add 12345 -0.001 -> 12345 Inexact Rounded | |
107 | radx173 add 12345 -0.00001 -> 12345 Inexact Rounded | |
108 | radx174 add 12345 -0.000001 -> 12345 Inexact Rounded | |
109 | radx175 add 12345 -0.0000001 -> 12345 Inexact Rounded | |
110 | radx176 add 12345 0 -> 12345 | |
111 | radx177 add 12345 0.0000001 -> 12345 Inexact Rounded | |
112 | radx178 add 12345 0.000001 -> 12345 Inexact Rounded | |
113 | radx179 add 12345 0.00001 -> 12345 Inexact Rounded | |
114 | radx180 add 12345 0.0001 -> 12345 Inexact Rounded | |
115 | radx181 add 12345 0.001 -> 12345 Inexact Rounded | |
116 | radx182 add 12345 0.01 -> 12345 Inexact Rounded | |
117 | radx183 add 12345 0.1 -> 12345 Inexact Rounded | |
118 | ||
119 | radx185 add 12346 0.49999 -> 12346 Inexact Rounded | |
120 | radx186 add 12346 0.5 -> 12346 Inexact Rounded | |
121 | radx187 add 12346 0.50001 -> 12347 Inexact Rounded | |
122 | ||
123 | radx190 add 12345 0.4 -> 12345 Inexact Rounded | |
124 | radx191 add 12345 0.49 -> 12345 Inexact Rounded | |
125 | radx192 add 12345 0.499 -> 12345 Inexact Rounded | |
126 | radx193 add 12345 0.49999 -> 12345 Inexact Rounded | |
127 | radx194 add 12345 0.5 -> 12346 Inexact Rounded | |
128 | radx195 add 12345 0.50001 -> 12346 Inexact Rounded | |
129 | radx196 add 12345 0.5001 -> 12346 Inexact Rounded | |
130 | radx197 add 12345 0.501 -> 12346 Inexact Rounded | |
131 | radx198 add 12345 0.51 -> 12346 Inexact Rounded | |
132 | radx199 add 12345 0.6 -> 12346 Inexact Rounded | |
133 | ||
134 | rounding: half_up | |
135 | ||
136 | radx200 add 12345 -0.1 -> 12345 Inexact Rounded | |
137 | radx201 add 12345 -0.01 -> 12345 Inexact Rounded | |
138 | radx202 add 12345 -0.001 -> 12345 Inexact Rounded | |
139 | radx203 add 12345 -0.00001 -> 12345 Inexact Rounded | |
140 | radx204 add 12345 -0.000001 -> 12345 Inexact Rounded | |
141 | radx205 add 12345 -0.0000001 -> 12345 Inexact Rounded | |
142 | radx206 add 12345 0 -> 12345 | |
143 | radx207 add 12345 0.0000001 -> 12345 Inexact Rounded | |
144 | radx208 add 12345 0.000001 -> 12345 Inexact Rounded | |
145 | radx209 add 12345 0.00001 -> 12345 Inexact Rounded | |
146 | radx210 add 12345 0.0001 -> 12345 Inexact Rounded | |
147 | radx211 add 12345 0.001 -> 12345 Inexact Rounded | |
148 | radx212 add 12345 0.01 -> 12345 Inexact Rounded | |
149 | radx213 add 12345 0.1 -> 12345 Inexact Rounded | |
150 | ||
151 | radx215 add 12346 0.49999 -> 12346 Inexact Rounded | |
152 | radx216 add 12346 0.5 -> 12347 Inexact Rounded | |
153 | radx217 add 12346 0.50001 -> 12347 Inexact Rounded | |
154 | ||
155 | radx220 add 12345 0.4 -> 12345 Inexact Rounded | |
156 | radx221 add 12345 0.49 -> 12345 Inexact Rounded | |
157 | radx222 add 12345 0.499 -> 12345 Inexact Rounded | |
158 | radx223 add 12345 0.49999 -> 12345 Inexact Rounded | |
159 | radx224 add 12345 0.5 -> 12346 Inexact Rounded | |
160 | radx225 add 12345 0.50001 -> 12346 Inexact Rounded | |
161 | radx226 add 12345 0.5001 -> 12346 Inexact Rounded | |
162 | radx227 add 12345 0.501 -> 12346 Inexact Rounded | |
163 | radx228 add 12345 0.51 -> 12346 Inexact Rounded | |
164 | radx229 add 12345 0.6 -> 12346 Inexact Rounded | |
165 | ||
166 | rounding: up | |
167 | ||
168 | radx230 add 12345 -0.1 -> 12345 Inexact Rounded | |
169 | radx231 add 12345 -0.01 -> 12345 Inexact Rounded | |
170 | radx232 add 12345 -0.001 -> 12345 Inexact Rounded | |
171 | radx233 add 12345 -0.00001 -> 12345 Inexact Rounded | |
172 | radx234 add 12345 -0.000001 -> 12345 Inexact Rounded | |
173 | radx235 add 12345 -0.0000001 -> 12345 Inexact Rounded | |
174 | radx236 add 12345 0 -> 12345 | |
175 | radx237 add 12345 0.0000001 -> 12346 Inexact Rounded | |
176 | radx238 add 12345 0.000001 -> 12346 Inexact Rounded | |
177 | radx239 add 12345 0.00001 -> 12346 Inexact Rounded | |
178 | radx240 add 12345 0.0001 -> 12346 Inexact Rounded | |
179 | radx241 add 12345 0.001 -> 12346 Inexact Rounded | |
180 | radx242 add 12345 0.01 -> 12346 Inexact Rounded | |
181 | radx243 add 12345 0.1 -> 12346 Inexact Rounded | |
182 | ||
183 | radx245 add 12346 0.49999 -> 12347 Inexact Rounded | |
184 | radx246 add 12346 0.5 -> 12347 Inexact Rounded | |
185 | radx247 add 12346 0.50001 -> 12347 Inexact Rounded | |
186 | ||
187 | radx250 add 12345 0.4 -> 12346 Inexact Rounded | |
188 | radx251 add 12345 0.49 -> 12346 Inexact Rounded | |
189 | radx252 add 12345 0.499 -> 12346 Inexact Rounded | |
190 | radx253 add 12345 0.49999 -> 12346 Inexact Rounded | |
191 | radx254 add 12345 0.5 -> 12346 Inexact Rounded | |
192 | radx255 add 12345 0.50001 -> 12346 Inexact Rounded | |
193 | radx256 add 12345 0.5001 -> 12346 Inexact Rounded | |
194 | radx257 add 12345 0.501 -> 12346 Inexact Rounded | |
195 | radx258 add 12345 0.51 -> 12346 Inexact Rounded | |
196 | radx259 add 12345 0.6 -> 12346 Inexact Rounded | |
197 | ||
198 | rounding: floor | |
199 | ||
200 | radx300 add 12345 -0.1 -> 12344 Inexact Rounded | |
201 | radx301 add 12345 -0.01 -> 12344 Inexact Rounded | |
202 | radx302 add 12345 -0.001 -> 12344 Inexact Rounded | |
203 | radx303 add 12345 -0.00001 -> 12344 Inexact Rounded | |
204 | radx304 add 12345 -0.000001 -> 12344 Inexact Rounded | |
205 | radx305 add 12345 -0.0000001 -> 12344 Inexact Rounded | |
206 | radx306 add 12345 0 -> 12345 | |
207 | radx307 add 12345 0.0000001 -> 12345 Inexact Rounded | |
208 | radx308 add 12345 0.000001 -> 12345 Inexact Rounded | |
209 | radx309 add 12345 0.00001 -> 12345 Inexact Rounded | |
210 | radx310 add 12345 0.0001 -> 12345 Inexact Rounded | |
211 | radx311 add 12345 0.001 -> 12345 Inexact Rounded | |
212 | radx312 add 12345 0.01 -> 12345 Inexact Rounded | |
213 | radx313 add 12345 0.1 -> 12345 Inexact Rounded | |
214 | ||
215 | radx315 add 12346 0.49999 -> 12346 Inexact Rounded | |
216 | radx316 add 12346 0.5 -> 12346 Inexact Rounded | |
217 | radx317 add 12346 0.50001 -> 12346 Inexact Rounded | |
218 | ||
219 | radx320 add 12345 0.4 -> 12345 Inexact Rounded | |
220 | radx321 add 12345 0.49 -> 12345 Inexact Rounded | |
221 | radx322 add 12345 0.499 -> 12345 Inexact Rounded | |
222 | radx323 add 12345 0.49999 -> 12345 Inexact Rounded | |
223 | radx324 add 12345 0.5 -> 12345 Inexact Rounded | |
224 | radx325 add 12345 0.50001 -> 12345 Inexact Rounded | |
225 | radx326 add 12345 0.5001 -> 12345 Inexact Rounded | |
226 | radx327 add 12345 0.501 -> 12345 Inexact Rounded | |
227 | radx328 add 12345 0.51 -> 12345 Inexact Rounded | |
228 | radx329 add 12345 0.6 -> 12345 Inexact Rounded | |
229 | ||
230 | rounding: ceiling | |
231 | ||
232 | radx330 add 12345 -0.1 -> 12345 Inexact Rounded | |
233 | radx331 add 12345 -0.01 -> 12345 Inexact Rounded | |
234 | radx332 add 12345 -0.001 -> 12345 Inexact Rounded | |
235 | radx333 add 12345 -0.00001 -> 12345 Inexact Rounded | |
236 | radx334 add 12345 -0.000001 -> 12345 Inexact Rounded | |
237 | radx335 add 12345 -0.0000001 -> 12345 Inexact Rounded | |
238 | radx336 add 12345 0 -> 12345 | |
239 | radx337 add 12345 0.0000001 -> 12346 Inexact Rounded | |
240 | radx338 add 12345 0.000001 -> 12346 Inexact Rounded | |
241 | radx339 add 12345 0.00001 -> 12346 Inexact Rounded | |
242 | radx340 add 12345 0.0001 -> 12346 Inexact Rounded | |
243 | radx341 add 12345 0.001 -> 12346 Inexact Rounded | |
244 | radx342 add 12345 0.01 -> 12346 Inexact Rounded | |
245 | radx343 add 12345 0.1 -> 12346 Inexact Rounded | |
246 | ||
247 | radx345 add 12346 0.49999 -> 12347 Inexact Rounded | |
248 | radx346 add 12346 0.5 -> 12347 Inexact Rounded | |
249 | radx347 add 12346 0.50001 -> 12347 Inexact Rounded | |
250 | ||
251 | radx350 add 12345 0.4 -> 12346 Inexact Rounded | |
252 | radx351 add 12345 0.49 -> 12346 Inexact Rounded | |
253 | radx352 add 12345 0.499 -> 12346 Inexact Rounded | |
254 | radx353 add 12345 0.49999 -> 12346 Inexact Rounded | |
255 | radx354 add 12345 0.5 -> 12346 Inexact Rounded | |
256 | radx355 add 12345 0.50001 -> 12346 Inexact Rounded | |
257 | radx356 add 12345 0.5001 -> 12346 Inexact Rounded | |
258 | radx357 add 12345 0.501 -> 12346 Inexact Rounded | |
259 | radx358 add 12345 0.51 -> 12346 Inexact Rounded | |
260 | radx359 add 12345 0.6 -> 12346 Inexact Rounded | |
261 | ||
262 | -- negatives... | |
263 | ||
264 | rounding: down | |
265 | ||
266 | rsux100 add -12345 -0.1 -> -12345 Inexact Rounded | |
267 | rsux101 add -12345 -0.01 -> -12345 Inexact Rounded | |
268 | rsux102 add -12345 -0.001 -> -12345 Inexact Rounded | |
269 | rsux103 add -12345 -0.00001 -> -12345 Inexact Rounded | |
270 | rsux104 add -12345 -0.000001 -> -12345 Inexact Rounded | |
271 | rsux105 add -12345 -0.0000001 -> -12345 Inexact Rounded | |
272 | rsux106 add -12345 0 -> -12345 | |
273 | rsux107 add -12345 0.0000001 -> -12344 Inexact Rounded | |
274 | rsux108 add -12345 0.000001 -> -12344 Inexact Rounded | |
275 | rsux109 add -12345 0.00001 -> -12344 Inexact Rounded | |
276 | rsux110 add -12345 0.0001 -> -12344 Inexact Rounded | |
277 | rsux111 add -12345 0.001 -> -12344 Inexact Rounded | |
278 | rsux112 add -12345 0.01 -> -12344 Inexact Rounded | |
279 | rsux113 add -12345 0.1 -> -12344 Inexact Rounded | |
280 | ||
281 | rsux115 add -12346 0.49999 -> -12345 Inexact Rounded | |
282 | rsux116 add -12346 0.5 -> -12345 Inexact Rounded | |
283 | rsux117 add -12346 0.50001 -> -12345 Inexact Rounded | |
284 | ||
285 | rsux120 add -12345 0.4 -> -12344 Inexact Rounded | |
286 | rsux121 add -12345 0.49 -> -12344 Inexact Rounded | |
287 | rsux122 add -12345 0.499 -> -12344 Inexact Rounded | |
288 | rsux123 add -12345 0.49999 -> -12344 Inexact Rounded | |
289 | rsux124 add -12345 0.5 -> -12344 Inexact Rounded | |
290 | rsux125 add -12345 0.50001 -> -12344 Inexact Rounded | |
291 | rsux126 add -12345 0.5001 -> -12344 Inexact Rounded | |
292 | rsux127 add -12345 0.501 -> -12344 Inexact Rounded | |
293 | rsux128 add -12345 0.51 -> -12344 Inexact Rounded | |
294 | rsux129 add -12345 0.6 -> -12344 Inexact Rounded | |
295 | ||
296 | rounding: half_down | |
297 | ||
298 | rsux140 add -12345 -0.1 -> -12345 Inexact Rounded | |
299 | rsux141 add -12345 -0.01 -> -12345 Inexact Rounded | |
300 | rsux142 add -12345 -0.001 -> -12345 Inexact Rounded | |
301 | rsux143 add -12345 -0.00001 -> -12345 Inexact Rounded | |
302 | rsux144 add -12345 -0.000001 -> -12345 Inexact Rounded | |
303 | rsux145 add -12345 -0.0000001 -> -12345 Inexact Rounded | |
304 | rsux146 add -12345 0 -> -12345 | |
305 | rsux147 add -12345 0.0000001 -> -12345 Inexact Rounded | |
306 | rsux148 add -12345 0.000001 -> -12345 Inexact Rounded | |
307 | rsux149 add -12345 0.00001 -> -12345 Inexact Rounded | |
308 | rsux150 add -12345 0.0001 -> -12345 Inexact Rounded | |
309 | rsux151 add -12345 0.001 -> -12345 Inexact Rounded | |
310 | rsux152 add -12345 0.01 -> -12345 Inexact Rounded | |
311 | rsux153 add -12345 0.1 -> -12345 Inexact Rounded | |
312 | ||
313 | rsux155 add -12346 0.49999 -> -12346 Inexact Rounded | |
314 | rsux156 add -12346 0.5 -> -12345 Inexact Rounded | |
315 | rsux157 add -12346 0.50001 -> -12345 Inexact Rounded | |
316 | ||
317 | rsux160 add -12345 0.4 -> -12345 Inexact Rounded | |
318 | rsux161 add -12345 0.49 -> -12345 Inexact Rounded | |
319 | rsux162 add -12345 0.499 -> -12345 Inexact Rounded | |
320 | rsux163 add -12345 0.49999 -> -12345 Inexact Rounded | |
321 | rsux164 add -12345 0.5 -> -12344 Inexact Rounded | |
322 | rsux165 add -12345 0.50001 -> -12344 Inexact Rounded | |
323 | rsux166 add -12345 0.5001 -> -12344 Inexact Rounded | |
324 | rsux167 add -12345 0.501 -> -12344 Inexact Rounded | |
325 | rsux168 add -12345 0.51 -> -12344 Inexact Rounded | |
326 | rsux169 add -12345 0.6 -> -12344 Inexact Rounded | |
327 | ||
328 | rounding: half_even | |
329 | ||
330 | rsux170 add -12345 -0.1 -> -12345 Inexact Rounded | |
331 | rsux171 add -12345 -0.01 -> -12345 Inexact Rounded | |
332 | rsux172 add -12345 -0.001 -> -12345 Inexact Rounded | |
333 | rsux173 add -12345 -0.00001 -> -12345 Inexact Rounded | |
334 | rsux174 add -12345 -0.000001 -> -12345 Inexact Rounded | |
335 | rsux175 add -12345 -0.0000001 -> -12345 Inexact Rounded | |
336 | rsux176 add -12345 0 -> -12345 | |
337 | rsux177 add -12345 0.0000001 -> -12345 Inexact Rounded | |
338 | rsux178 add -12345 0.000001 -> -12345 Inexact Rounded | |
339 | rsux179 add -12345 0.00001 -> -12345 Inexact Rounded | |
340 | rsux180 add -12345 0.0001 -> -12345 Inexact Rounded | |
341 | rsux181 add -12345 0.001 -> -12345 Inexact Rounded | |
342 | rsux182 add -12345 0.01 -> -12345 Inexact Rounded | |
343 | rsux183 add -12345 0.1 -> -12345 Inexact Rounded | |
344 | ||
345 | rsux185 add -12346 0.49999 -> -12346 Inexact Rounded | |
346 | rsux186 add -12346 0.5 -> -12346 Inexact Rounded | |
347 | rsux187 add -12346 0.50001 -> -12345 Inexact Rounded | |
348 | ||
349 | rsux190 add -12345 0.4 -> -12345 Inexact Rounded | |
350 | rsux191 add -12345 0.49 -> -12345 Inexact Rounded | |
351 | rsux192 add -12345 0.499 -> -12345 Inexact Rounded | |
352 | rsux193 add -12345 0.49999 -> -12345 Inexact Rounded | |
353 | rsux194 add -12345 0.5 -> -12344 Inexact Rounded | |
354 | rsux195 add -12345 0.50001 -> -12344 Inexact Rounded | |
355 | rsux196 add -12345 0.5001 -> -12344 Inexact Rounded | |
356 | rsux197 add -12345 0.501 -> -12344 Inexact Rounded | |
357 | rsux198 add -12345 0.51 -> -12344 Inexact Rounded | |
358 | rsux199 add -12345 0.6 -> -12344 Inexact Rounded | |
359 | ||
360 | rounding: half_up | |
361 | ||
362 | rsux200 add -12345 -0.1 -> -12345 Inexact Rounded | |
363 | rsux201 add -12345 -0.01 -> -12345 Inexact Rounded | |
364 | rsux202 add -12345 -0.001 -> -12345 Inexact Rounded | |
365 | rsux203 add -12345 -0.00001 -> -12345 Inexact Rounded | |
366 | rsux204 add -12345 -0.000001 -> -12345 Inexact Rounded | |
367 | rsux205 add -12345 -0.0000001 -> -12345 Inexact Rounded | |
368 | rsux206 add -12345 0 -> -12345 | |
369 | rsux207 add -12345 0.0000001 -> -12345 Inexact Rounded | |
370 | rsux208 add -12345 0.000001 -> -12345 Inexact Rounded | |
371 | rsux209 add -12345 0.00001 -> -12345 Inexact Rounded | |
372 | rsux210 add -12345 0.0001 -> -12345 Inexact Rounded | |
373 | rsux211 add -12345 0.001 -> -12345 Inexact Rounded | |
374 | rsux212 add -12345 0.01 -> -12345 Inexact Rounded | |
375 | rsux213 add -12345 0.1 -> -12345 Inexact Rounded | |
376 | ||
377 | rsux215 add -12346 0.49999 -> -12346 Inexact Rounded | |
378 | rsux216 add -12346 0.5 -> -12346 Inexact Rounded | |
379 | rsux217 add -12346 0.50001 -> -12345 Inexact Rounded | |
380 | ||
381 | rsux220 add -12345 0.4 -> -12345 Inexact Rounded | |
382 | rsux221 add -12345 0.49 -> -12345 Inexact Rounded | |
383 | rsux222 add -12345 0.499 -> -12345 Inexact Rounded | |
384 | rsux223 add -12345 0.49999 -> -12345 Inexact Rounded | |
385 | rsux224 add -12345 0.5 -> -12345 Inexact Rounded | |
386 | rsux225 add -12345 0.50001 -> -12344 Inexact Rounded | |
387 | rsux226 add -12345 0.5001 -> -12344 Inexact Rounded | |
388 | rsux227 add -12345 0.501 -> -12344 Inexact Rounded | |
389 | rsux228 add -12345 0.51 -> -12344 Inexact Rounded | |
390 | rsux229 add -12345 0.6 -> -12344 Inexact Rounded | |
391 | ||
392 | rounding: up | |
393 | ||
394 | rsux230 add -12345 -0.1 -> -12346 Inexact Rounded | |
395 | rsux231 add -12345 -0.01 -> -12346 Inexact Rounded | |
396 | rsux232 add -12345 -0.001 -> -12346 Inexact Rounded | |
397 | rsux233 add -12345 -0.00001 -> -12346 Inexact Rounded | |
398 | rsux234 add -12345 -0.000001 -> -12346 Inexact Rounded | |
399 | rsux235 add -12345 -0.0000001 -> -12346 Inexact Rounded | |
400 | rsux236 add -12345 0 -> -12345 | |
401 | rsux237 add -12345 0.0000001 -> -12345 Inexact Rounded | |
402 | rsux238 add -12345 0.000001 -> -12345 Inexact Rounded | |
403 | rsux239 add -12345 0.00001 -> -12345 Inexact Rounded | |
404 | rsux240 add -12345 0.0001 -> -12345 Inexact Rounded | |
405 | rsux241 add -12345 0.001 -> -12345 Inexact Rounded | |
406 | rsux242 add -12345 0.01 -> -12345 Inexact Rounded | |
407 | rsux243 add -12345 0.1 -> -12345 Inexact Rounded | |
408 | ||
409 | rsux245 add -12346 0.49999 -> -12346 Inexact Rounded | |
410 | rsux246 add -12346 0.5 -> -12346 Inexact Rounded | |
411 | rsux247 add -12346 0.50001 -> -12346 Inexact Rounded | |
412 | ||
413 | rsux250 add -12345 0.4 -> -12345 Inexact Rounded | |
414 | rsux251 add -12345 0.49 -> -12345 Inexact Rounded | |
415 | rsux252 add -12345 0.499 -> -12345 Inexact Rounded | |
416 | rsux253 add -12345 0.49999 -> -12345 Inexact Rounded | |
417 | rsux254 add -12345 0.5 -> -12345 Inexact Rounded | |
418 | rsux255 add -12345 0.50001 -> -12345 Inexact Rounded | |
419 | rsux256 add -12345 0.5001 -> -12345 Inexact Rounded | |
420 | rsux257 add -12345 0.501 -> -12345 Inexact Rounded | |
421 | rsux258 add -12345 0.51 -> -12345 Inexact Rounded | |
422 | rsux259 add -12345 0.6 -> -12345 Inexact Rounded | |
423 | ||
424 | rounding: floor | |
425 | ||
426 | rsux300 add -12345 -0.1 -> -12346 Inexact Rounded | |
427 | rsux301 add -12345 -0.01 -> -12346 Inexact Rounded | |
428 | rsux302 add -12345 -0.001 -> -12346 Inexact Rounded | |
429 | rsux303 add -12345 -0.00001 -> -12346 Inexact Rounded | |
430 | rsux304 add -12345 -0.000001 -> -12346 Inexact Rounded | |
431 | rsux305 add -12345 -0.0000001 -> -12346 Inexact Rounded | |
432 | rsux306 add -12345 0 -> -12345 | |
433 | rsux307 add -12345 0.0000001 -> -12345 Inexact Rounded | |
434 | rsux308 add -12345 0.000001 -> -12345 Inexact Rounded | |
435 | rsux309 add -12345 0.00001 -> -12345 Inexact Rounded | |
436 | rsux310 add -12345 0.0001 -> -12345 Inexact Rounded | |
437 | rsux311 add -12345 0.001 -> -12345 Inexact Rounded | |
438 | rsux312 add -12345 0.01 -> -12345 Inexact Rounded | |
439 | rsux313 add -12345 0.1 -> -12345 Inexact Rounded | |
440 | ||
441 | rsux315 add -12346 0.49999 -> -12346 Inexact Rounded | |
442 | rsux316 add -12346 0.5 -> -12346 Inexact Rounded | |
443 | rsux317 add -12346 0.50001 -> -12346 Inexact Rounded | |
444 | ||
445 | rsux320 add -12345 0.4 -> -12345 Inexact Rounded | |
446 | rsux321 add -12345 0.49 -> -12345 Inexact Rounded | |
447 | rsux322 add -12345 0.499 -> -12345 Inexact Rounded | |
448 | rsux323 add -12345 0.49999 -> -12345 Inexact Rounded | |
449 | rsux324 add -12345 0.5 -> -12345 Inexact Rounded | |
450 | rsux325 add -12345 0.50001 -> -12345 Inexact Rounded | |
451 | rsux326 add -12345 0.5001 -> -12345 Inexact Rounded | |
452 | rsux327 add -12345 0.501 -> -12345 Inexact Rounded | |
453 | rsux328 add -12345 0.51 -> -12345 Inexact Rounded | |
454 | rsux329 add -12345 0.6 -> -12345 Inexact Rounded | |
455 | ||
456 | rounding: ceiling | |
457 | ||
458 | rsux330 add -12345 -0.1 -> -12345 Inexact Rounded | |
459 | rsux331 add -12345 -0.01 -> -12345 Inexact Rounded | |
460 | rsux332 add -12345 -0.001 -> -12345 Inexact Rounded | |
461 | rsux333 add -12345 -0.00001 -> -12345 Inexact Rounded | |
462 | rsux334 add -12345 -0.000001 -> -12345 Inexact Rounded | |
463 | rsux335 add -12345 -0.0000001 -> -12345 Inexact Rounded | |
464 | rsux336 add -12345 0 -> -12345 | |
465 | rsux337 add -12345 0.0000001 -> -12344 Inexact Rounded | |
466 | rsux338 add -12345 0.000001 -> -12344 Inexact Rounded | |
467 | rsux339 add -12345 0.00001 -> -12344 Inexact Rounded | |
468 | rsux340 add -12345 0.0001 -> -12344 Inexact Rounded | |
469 | rsux341 add -12345 0.001 -> -12344 Inexact Rounded | |
470 | rsux342 add -12345 0.01 -> -12344 Inexact Rounded | |
471 | rsux343 add -12345 0.1 -> -12344 Inexact Rounded | |
472 | ||
473 | rsux345 add -12346 0.49999 -> -12345 Inexact Rounded | |
474 | rsux346 add -12346 0.5 -> -12345 Inexact Rounded | |
475 | rsux347 add -12346 0.50001 -> -12345 Inexact Rounded | |
476 | ||
477 | rsux350 add -12345 0.4 -> -12344 Inexact Rounded | |
478 | rsux351 add -12345 0.49 -> -12344 Inexact Rounded | |
479 | rsux352 add -12345 0.499 -> -12344 Inexact Rounded | |
480 | rsux353 add -12345 0.49999 -> -12344 Inexact Rounded | |
481 | rsux354 add -12345 0.5 -> -12344 Inexact Rounded | |
482 | rsux355 add -12345 0.50001 -> -12344 Inexact Rounded | |
483 | rsux356 add -12345 0.5001 -> -12344 Inexact Rounded | |
484 | rsux357 add -12345 0.501 -> -12344 Inexact Rounded | |
485 | rsux358 add -12345 0.51 -> -12344 Inexact Rounded | |
486 | rsux359 add -12345 0.6 -> -12344 Inexact Rounded | |
487 | ||
488 | -- Check cancellation subtractions | |
489 | -- (The IEEE 854 'curious rule' in $6.3) | |
490 | ||
491 | rounding: down | |
492 | rzex001 add 0 0 -> 0 | |
493 | rzex002 add 0 -0 -> 0 | |
494 | rzex003 add -0 0 -> 0 | |
495 | rzex004 add -0 -0 -> -0 | |
496 | rzex005 add 1 -1 -> 0 | |
497 | rzex006 add -1 1 -> 0 | |
498 | rzex007 add 1.5 -1.5 -> 0.0 | |
499 | rzex008 add -1.5 1.5 -> 0.0 | |
500 | rzex009 add 2 -2 -> 0 | |
501 | rzex010 add -2 2 -> 0 | |
502 | ||
503 | rounding: up | |
504 | rzex011 add 0 0 -> 0 | |
505 | rzex012 add 0 -0 -> 0 | |
506 | rzex013 add -0 0 -> 0 | |
507 | rzex014 add -0 -0 -> -0 | |
508 | rzex015 add 1 -1 -> 0 | |
509 | rzex016 add -1 1 -> 0 | |
510 | rzex017 add 1.5 -1.5 -> 0.0 | |
511 | rzex018 add -1.5 1.5 -> 0.0 | |
512 | rzex019 add 2 -2 -> 0 | |
513 | rzex020 add -2 2 -> 0 | |
514 | ||
515 | rounding: half_up | |
516 | rzex021 add 0 0 -> 0 | |
517 | rzex022 add 0 -0 -> 0 | |
518 | rzex023 add -0 0 -> 0 | |
519 | rzex024 add -0 -0 -> -0 | |
520 | rzex025 add 1 -1 -> 0 | |
521 | rzex026 add -1 1 -> 0 | |
522 | rzex027 add 1.5 -1.5 -> 0.0 | |
523 | rzex028 add -1.5 1.5 -> 0.0 | |
524 | rzex029 add 2 -2 -> 0 | |
525 | rzex030 add -2 2 -> 0 | |
526 | ||
527 | rounding: half_down | |
528 | rzex031 add 0 0 -> 0 | |
529 | rzex032 add 0 -0 -> 0 | |
530 | rzex033 add -0 0 -> 0 | |
531 | rzex034 add -0 -0 -> -0 | |
532 | rzex035 add 1 -1 -> 0 | |
533 | rzex036 add -1 1 -> 0 | |
534 | rzex037 add 1.5 -1.5 -> 0.0 | |
535 | rzex038 add -1.5 1.5 -> 0.0 | |
536 | rzex039 add 2 -2 -> 0 | |
537 | rzex040 add -2 2 -> 0 | |
538 | ||
539 | rounding: half_even | |
540 | rzex041 add 0 0 -> 0 | |
541 | rzex042 add 0 -0 -> 0 | |
542 | rzex043 add -0 0 -> 0 | |
543 | rzex044 add -0 -0 -> -0 | |
544 | rzex045 add 1 -1 -> 0 | |
545 | rzex046 add -1 1 -> 0 | |
546 | rzex047 add 1.5 -1.5 -> 0.0 | |
547 | rzex048 add -1.5 1.5 -> 0.0 | |
548 | rzex049 add 2 -2 -> 0 | |
549 | rzex050 add -2 2 -> 0 | |
550 | ||
551 | rounding: floor | |
552 | rzex051 add 0 0 -> 0 | |
553 | rzex052 add 0 -0 -> -0 -- here are two 'curious' | |
554 | rzex053 add -0 0 -> -0 -- | |
555 | rzex054 add -0 -0 -> -0 | |
556 | rzex055 add 1 -1 -> -0 -- here are the rest | |
557 | rzex056 add -1 1 -> -0 -- .. | |
558 | rzex057 add 1.5 -1.5 -> -0.0 -- .. | |
559 | rzex058 add -1.5 1.5 -> -0.0 -- .. | |
560 | rzex059 add 2 -2 -> -0 -- .. | |
561 | rzex060 add -2 2 -> -0 -- .. | |
562 | ||
563 | rounding: ceiling | |
564 | rzex061 add 0 0 -> 0 | |
565 | rzex062 add 0 -0 -> 0 | |
566 | rzex063 add -0 0 -> 0 | |
567 | rzex064 add -0 -0 -> -0 | |
568 | rzex065 add 1 -1 -> 0 | |
569 | rzex066 add -1 1 -> 0 | |
570 | rzex067 add 1.5 -1.5 -> 0.0 | |
571 | rzex068 add -1.5 1.5 -> 0.0 | |
572 | rzex069 add 2 -2 -> 0 | |
573 | rzex070 add -2 2 -> 0 | |
574 | ||
575 | ||
576 | -- Division operators ------------------------------------------------- | |
577 | ||
578 | rounding: down | |
579 | rdvx101 divide 12345 1 -> 12345 | |
580 | rdvx102 divide 12345 1.0001 -> 12343 Inexact Rounded | |
581 | rdvx103 divide 12345 1.001 -> 12332 Inexact Rounded | |
582 | rdvx104 divide 12345 1.01 -> 12222 Inexact Rounded | |
583 | rdvx105 divide 12345 1.1 -> 11222 Inexact Rounded | |
584 | rdvx106 divide 12355 4 -> 3088.7 Inexact Rounded | |
585 | rdvx107 divide 12345 4 -> 3086.2 Inexact Rounded | |
586 | rdvx108 divide 12355 4.0001 -> 3088.6 Inexact Rounded | |
587 | rdvx109 divide 12345 4.0001 -> 3086.1 Inexact Rounded | |
588 | rdvx110 divide 12345 4.9 -> 2519.3 Inexact Rounded | |
589 | rdvx111 divide 12345 4.99 -> 2473.9 Inexact Rounded | |
590 | rdvx112 divide 12345 4.999 -> 2469.4 Inexact Rounded | |
591 | rdvx113 divide 12345 4.9999 -> 2469.0 Inexact Rounded | |
592 | rdvx114 divide 12345 5 -> 2469 | |
593 | rdvx115 divide 12345 5.0001 -> 2468.9 Inexact Rounded | |
594 | rdvx116 divide 12345 5.001 -> 2468.5 Inexact Rounded | |
595 | rdvx117 divide 12345 5.01 -> 2464.0 Inexact Rounded | |
596 | rdvx118 divide 12345 5.1 -> 2420.5 Inexact Rounded | |
597 | ||
598 | rounding: half_down | |
599 | rdvx201 divide 12345 1 -> 12345 | |
600 | rdvx202 divide 12345 1.0001 -> 12344 Inexact Rounded | |
601 | rdvx203 divide 12345 1.001 -> 12333 Inexact Rounded | |
602 | rdvx204 divide 12345 1.01 -> 12223 Inexact Rounded | |
603 | rdvx205 divide 12345 1.1 -> 11223 Inexact Rounded | |
604 | rdvx206 divide 12355 4 -> 3088.7 Inexact Rounded | |
605 | rdvx207 divide 12345 4 -> 3086.2 Inexact Rounded | |
606 | rdvx208 divide 12355 4.0001 -> 3088.7 Inexact Rounded | |
607 | rdvx209 divide 12345 4.0001 -> 3086.2 Inexact Rounded | |
608 | rdvx210 divide 12345 4.9 -> 2519.4 Inexact Rounded | |
609 | rdvx211 divide 12345 4.99 -> 2473.9 Inexact Rounded | |
610 | rdvx212 divide 12345 4.999 -> 2469.5 Inexact Rounded | |
611 | rdvx213 divide 12345 4.9999 -> 2469.0 Inexact Rounded | |
612 | rdvx214 divide 12345 5 -> 2469 | |
613 | rdvx215 divide 12345 5.0001 -> 2469.0 Inexact Rounded | |
614 | rdvx216 divide 12345 5.001 -> 2468.5 Inexact Rounded | |
615 | rdvx217 divide 12345 5.01 -> 2464.1 Inexact Rounded | |
616 | rdvx218 divide 12345 5.1 -> 2420.6 Inexact Rounded | |
617 | ||
618 | rounding: half_even | |
619 | rdvx301 divide 12345 1 -> 12345 | |
620 | rdvx302 divide 12345 1.0001 -> 12344 Inexact Rounded | |
621 | rdvx303 divide 12345 1.001 -> 12333 Inexact Rounded | |
622 | rdvx304 divide 12345 1.01 -> 12223 Inexact Rounded | |
623 | rdvx305 divide 12345 1.1 -> 11223 Inexact Rounded | |
624 | rdvx306 divide 12355 4 -> 3088.8 Inexact Rounded | |
625 | rdvx307 divide 12345 4 -> 3086.2 Inexact Rounded | |
626 | rdvx308 divide 12355 4.0001 -> 3088.7 Inexact Rounded | |
627 | rdvx309 divide 12345 4.0001 -> 3086.2 Inexact Rounded | |
628 | rdvx310 divide 12345 4.9 -> 2519.4 Inexact Rounded | |
629 | rdvx311 divide 12345 4.99 -> 2473.9 Inexact Rounded | |
630 | rdvx312 divide 12345 4.999 -> 2469.5 Inexact Rounded | |
631 | rdvx313 divide 12345 4.9999 -> 2469.0 Inexact Rounded | |
632 | rdvx314 divide 12345 5 -> 2469 | |
633 | rdvx315 divide 12345 5.0001 -> 2469.0 Inexact Rounded | |
634 | rdvx316 divide 12345 5.001 -> 2468.5 Inexact Rounded | |
635 | rdvx317 divide 12345 5.01 -> 2464.1 Inexact Rounded | |
636 | rdvx318 divide 12345 5.1 -> 2420.6 Inexact Rounded | |
637 | ||
638 | rounding: half_up | |
639 | rdvx401 divide 12345 1 -> 12345 | |
640 | rdvx402 divide 12345 1.0001 -> 12344 Inexact Rounded | |
641 | rdvx403 divide 12345 1.001 -> 12333 Inexact Rounded | |
642 | rdvx404 divide 12345 1.01 -> 12223 Inexact Rounded | |
643 | rdvx405 divide 12345 1.1 -> 11223 Inexact Rounded | |
644 | rdvx406 divide 12355 4 -> 3088.8 Inexact Rounded | |
645 | rdvx407 divide 12345 4 -> 3086.3 Inexact Rounded | |
646 | rdvx408 divide 12355 4.0001 -> 3088.7 Inexact Rounded | |
647 | rdvx409 divide 12345 4.0001 -> 3086.2 Inexact Rounded | |
648 | rdvx410 divide 12345 4.9 -> 2519.4 Inexact Rounded | |
649 | rdvx411 divide 12345 4.99 -> 2473.9 Inexact Rounded | |
650 | rdvx412 divide 12345 4.999 -> 2469.5 Inexact Rounded | |
651 | rdvx413 divide 12345 4.9999 -> 2469.0 Inexact Rounded | |
652 | rdvx414 divide 12345 5 -> 2469 | |
653 | rdvx415 divide 12345 5.0001 -> 2469.0 Inexact Rounded | |
654 | rdvx416 divide 12345 5.001 -> 2468.5 Inexact Rounded | |
655 | rdvx417 divide 12345 5.01 -> 2464.1 Inexact Rounded | |
656 | rdvx418 divide 12345 5.1 -> 2420.6 Inexact Rounded | |
657 | ||
658 | rounding: up | |
659 | rdvx501 divide 12345 1 -> 12345 | |
660 | rdvx502 divide 12345 1.0001 -> 12344 Inexact Rounded | |
661 | rdvx503 divide 12345 1.001 -> 12333 Inexact Rounded | |
662 | rdvx504 divide 12345 1.01 -> 12223 Inexact Rounded | |
663 | rdvx505 divide 12345 1.1 -> 11223 Inexact Rounded | |
664 | rdvx506 divide 12355 4 -> 3088.8 Inexact Rounded | |
665 | rdvx507 divide 12345 4 -> 3086.3 Inexact Rounded | |
666 | rdvx508 divide 12355 4.0001 -> 3088.7 Inexact Rounded | |
667 | rdvx509 divide 12345 4.0001 -> 3086.2 Inexact Rounded | |
668 | rdvx510 divide 12345 4.9 -> 2519.4 Inexact Rounded | |
669 | rdvx511 divide 12345 4.99 -> 2474.0 Inexact Rounded | |
670 | rdvx512 divide 12345 4.999 -> 2469.5 Inexact Rounded | |
671 | rdvx513 divide 12345 4.9999 -> 2469.1 Inexact Rounded | |
672 | rdvx514 divide 12345 5 -> 2469 | |
673 | rdvx515 divide 12345 5.0001 -> 2469.0 Inexact Rounded | |
674 | rdvx516 divide 12345 5.001 -> 2468.6 Inexact Rounded | |
675 | rdvx517 divide 12345 5.01 -> 2464.1 Inexact Rounded | |
676 | rdvx518 divide 12345 5.1 -> 2420.6 Inexact Rounded | |
677 | ||
678 | rounding: floor | |
679 | rdvx601 divide 12345 1 -> 12345 | |
680 | rdvx602 divide 12345 1.0001 -> 12343 Inexact Rounded | |
681 | rdvx603 divide 12345 1.001 -> 12332 Inexact Rounded | |
682 | rdvx604 divide 12345 1.01 -> 12222 Inexact Rounded | |
683 | rdvx605 divide 12345 1.1 -> 11222 Inexact Rounded | |
684 | rdvx606 divide 12355 4 -> 3088.7 Inexact Rounded | |
685 | rdvx607 divide 12345 4 -> 3086.2 Inexact Rounded | |
686 | rdvx608 divide 12355 4.0001 -> 3088.6 Inexact Rounded | |
687 | rdvx609 divide 12345 4.0001 -> 3086.1 Inexact Rounded | |
688 | rdvx610 divide 12345 4.9 -> 2519.3 Inexact Rounded | |
689 | rdvx611 divide 12345 4.99 -> 2473.9 Inexact Rounded | |
690 | rdvx612 divide 12345 4.999 -> 2469.4 Inexact Rounded | |
691 | rdvx613 divide 12345 4.9999 -> 2469.0 Inexact Rounded | |
692 | rdvx614 divide 12345 5 -> 2469 | |
693 | rdvx615 divide 12345 5.0001 -> 2468.9 Inexact Rounded | |
694 | rdvx616 divide 12345 5.001 -> 2468.5 Inexact Rounded | |
695 | rdvx617 divide 12345 5.01 -> 2464.0 Inexact Rounded | |
696 | rdvx618 divide 12345 5.1 -> 2420.5 Inexact Rounded | |
697 | ||
698 | rounding: ceiling | |
699 | rdvx701 divide 12345 1 -> 12345 | |
700 | rdvx702 divide 12345 1.0001 -> 12344 Inexact Rounded | |
701 | rdvx703 divide 12345 1.001 -> 12333 Inexact Rounded | |
702 | rdvx704 divide 12345 1.01 -> 12223 Inexact Rounded | |
703 | rdvx705 divide 12345 1.1 -> 11223 Inexact Rounded | |
704 | rdvx706 divide 12355 4 -> 3088.8 Inexact Rounded | |
705 | rdvx707 divide 12345 4 -> 3086.3 Inexact Rounded | |
706 | rdvx708 divide 12355 4.0001 -> 3088.7 Inexact Rounded | |
707 | rdvx709 divide 12345 4.0001 -> 3086.2 Inexact Rounded | |
708 | rdvx710 divide 12345 4.9 -> 2519.4 Inexact Rounded | |
709 | rdvx711 divide 12345 4.99 -> 2474.0 Inexact Rounded | |
710 | rdvx712 divide 12345 4.999 -> 2469.5 Inexact Rounded | |
711 | rdvx713 divide 12345 4.9999 -> 2469.1 Inexact Rounded | |
712 | rdvx714 divide 12345 5 -> 2469 | |
713 | rdvx715 divide 12345 5.0001 -> 2469.0 Inexact Rounded | |
714 | rdvx716 divide 12345 5.001 -> 2468.6 Inexact Rounded | |
715 | rdvx717 divide 12345 5.01 -> 2464.1 Inexact Rounded | |
716 | rdvx718 divide 12345 5.1 -> 2420.6 Inexact Rounded | |
717 | ||
718 | -- [divideInteger and remainder unaffected] | |
719 | ||
720 | -- Multiplication operator -------------------------------------------- | |
721 | ||
722 | rounding: down | |
723 | rmux101 multiply 12345 1 -> 12345 | |
724 | rmux102 multiply 12345 1.0001 -> 12346 Inexact Rounded | |
725 | rmux103 multiply 12345 1.001 -> 12357 Inexact Rounded | |
726 | rmux104 multiply 12345 1.01 -> 12468 Inexact Rounded | |
727 | rmux105 multiply 12345 1.1 -> 13579 Inexact Rounded | |
728 | rmux106 multiply 12345 4 -> 49380 | |
729 | rmux107 multiply 12345 4.0001 -> 49381 Inexact Rounded | |
730 | rmux108 multiply 12345 4.9 -> 60490 Inexact Rounded | |
731 | rmux109 multiply 12345 4.99 -> 61601 Inexact Rounded | |
732 | rmux110 multiply 12345 4.999 -> 61712 Inexact Rounded | |
733 | rmux111 multiply 12345 4.9999 -> 61723 Inexact Rounded | |
734 | rmux112 multiply 12345 5 -> 61725 | |
735 | rmux113 multiply 12345 5.0001 -> 61726 Inexact Rounded | |
736 | rmux114 multiply 12345 5.001 -> 61737 Inexact Rounded | |
737 | rmux115 multiply 12345 5.01 -> 61848 Inexact Rounded | |
738 | rmux116 multiply 12345 12 -> 1.4814E+5 Rounded | |
739 | rmux117 multiply 12345 13 -> 1.6048E+5 Inexact Rounded | |
740 | rmux118 multiply 12355 12 -> 1.4826E+5 Rounded | |
741 | rmux119 multiply 12355 13 -> 1.6061E+5 Inexact Rounded | |
742 | ||
743 | rounding: half_down | |
744 | rmux201 multiply 12345 1 -> 12345 | |
745 | rmux202 multiply 12345 1.0001 -> 12346 Inexact Rounded | |
746 | rmux203 multiply 12345 1.001 -> 12357 Inexact Rounded | |
747 | rmux204 multiply 12345 1.01 -> 12468 Inexact Rounded | |
748 | rmux205 multiply 12345 1.1 -> 13579 Inexact Rounded | |
749 | rmux206 multiply 12345 4 -> 49380 | |
750 | rmux207 multiply 12345 4.0001 -> 49381 Inexact Rounded | |
751 | rmux208 multiply 12345 4.9 -> 60490 Inexact Rounded | |
752 | rmux209 multiply 12345 4.99 -> 61602 Inexact Rounded | |
753 | rmux210 multiply 12345 4.999 -> 61713 Inexact Rounded | |
754 | rmux211 multiply 12345 4.9999 -> 61724 Inexact Rounded | |
755 | rmux212 multiply 12345 5 -> 61725 | |
756 | rmux213 multiply 12345 5.0001 -> 61726 Inexact Rounded | |
757 | rmux214 multiply 12345 5.001 -> 61737 Inexact Rounded | |
758 | rmux215 multiply 12345 5.01 -> 61848 Inexact Rounded | |
759 | rmux216 multiply 12345 12 -> 1.4814E+5 Rounded | |
760 | rmux217 multiply 12345 13 -> 1.6048E+5 Inexact Rounded | |
761 | rmux218 multiply 12355 12 -> 1.4826E+5 Rounded | |
762 | rmux219 multiply 12355 13 -> 1.6061E+5 Inexact Rounded | |
763 | ||
764 | rounding: half_even | |
765 | rmux301 multiply 12345 1 -> 12345 | |
766 | rmux302 multiply 12345 1.0001 -> 12346 Inexact Rounded | |
767 | rmux303 multiply 12345 1.001 -> 12357 Inexact Rounded | |
768 | rmux304 multiply 12345 1.01 -> 12468 Inexact Rounded | |
769 | rmux305 multiply 12345 1.1 -> 13580 Inexact Rounded | |
770 | rmux306 multiply 12345 4 -> 49380 | |
771 | rmux307 multiply 12345 4.0001 -> 49381 Inexact Rounded | |
772 | rmux308 multiply 12345 4.9 -> 60490 Inexact Rounded | |
773 | rmux309 multiply 12345 4.99 -> 61602 Inexact Rounded | |
774 | rmux310 multiply 12345 4.999 -> 61713 Inexact Rounded | |
775 | rmux311 multiply 12345 4.9999 -> 61724 Inexact Rounded | |
776 | rmux312 multiply 12345 5 -> 61725 | |
777 | rmux313 multiply 12345 5.0001 -> 61726 Inexact Rounded | |
778 | rmux314 multiply 12345 5.001 -> 61737 Inexact Rounded | |
779 | rmux315 multiply 12345 5.01 -> 61848 Inexact Rounded | |
780 | rmux316 multiply 12345 12 -> 1.4814E+5 Rounded | |
781 | rmux317 multiply 12345 13 -> 1.6048E+5 Inexact Rounded | |
782 | rmux318 multiply 12355 12 -> 1.4826E+5 Rounded | |
783 | rmux319 multiply 12355 13 -> 1.6062E+5 Inexact Rounded | |
784 | ||
785 | rounding: half_up | |
786 | rmux401 multiply 12345 1 -> 12345 | |
787 | rmux402 multiply 12345 1.0001 -> 12346 Inexact Rounded | |
788 | rmux403 multiply 12345 1.001 -> 12357 Inexact Rounded | |
789 | rmux404 multiply 12345 1.01 -> 12468 Inexact Rounded | |
790 | rmux405 multiply 12345 1.1 -> 13580 Inexact Rounded | |
791 | rmux406 multiply 12345 4 -> 49380 | |
792 | rmux407 multiply 12345 4.0001 -> 49381 Inexact Rounded | |
793 | rmux408 multiply 12345 4.9 -> 60491 Inexact Rounded | |
794 | rmux409 multiply 12345 4.99 -> 61602 Inexact Rounded | |
795 | rmux410 multiply 12345 4.999 -> 61713 Inexact Rounded | |
796 | rmux411 multiply 12345 4.9999 -> 61724 Inexact Rounded | |
797 | rmux412 multiply 12345 5 -> 61725 | |
798 | rmux413 multiply 12345 5.0001 -> 61726 Inexact Rounded | |
799 | rmux414 multiply 12345 5.001 -> 61737 Inexact Rounded | |
800 | rmux415 multiply 12345 5.01 -> 61848 Inexact Rounded | |
801 | rmux416 multiply 12345 12 -> 1.4814E+5 Rounded | |
802 | rmux417 multiply 12345 13 -> 1.6049E+5 Inexact Rounded | |
803 | rmux418 multiply 12355 12 -> 1.4826E+5 Rounded | |
804 | rmux419 multiply 12355 13 -> 1.6062E+5 Inexact Rounded | |
805 | ||
806 | rounding: up | |
807 | rmux501 multiply 12345 1 -> 12345 | |
808 | rmux502 multiply 12345 1.0001 -> 12347 Inexact Rounded | |
809 | rmux503 multiply 12345 1.001 -> 12358 Inexact Rounded | |
810 | rmux504 multiply 12345 1.01 -> 12469 Inexact Rounded | |
811 | rmux505 multiply 12345 1.1 -> 13580 Inexact Rounded | |
812 | rmux506 multiply 12345 4 -> 49380 | |
813 | rmux507 multiply 12345 4.0001 -> 49382 Inexact Rounded | |
814 | rmux508 multiply 12345 4.9 -> 60491 Inexact Rounded | |
815 | rmux509 multiply 12345 4.99 -> 61602 Inexact Rounded | |
816 | rmux510 multiply 12345 4.999 -> 61713 Inexact Rounded | |
817 | rmux511 multiply 12345 4.9999 -> 61724 Inexact Rounded | |
818 | rmux512 multiply 12345 5 -> 61725 | |
819 | rmux513 multiply 12345 5.0001 -> 61727 Inexact Rounded | |
820 | rmux514 multiply 12345 5.001 -> 61738 Inexact Rounded | |
821 | rmux515 multiply 12345 5.01 -> 61849 Inexact Rounded | |
822 | rmux516 multiply 12345 12 -> 1.4814E+5 Rounded | |
823 | rmux517 multiply 12345 13 -> 1.6049E+5 Inexact Rounded | |
824 | rmux518 multiply 12355 12 -> 1.4826E+5 Rounded | |
825 | rmux519 multiply 12355 13 -> 1.6062E+5 Inexact Rounded | |
826 | -- [rmux516 & rmux518] can surprise | |
827 | ||
828 | rounding: floor | |
829 | rmux601 multiply 12345 1 -> 12345 | |
830 | rmux602 multiply 12345 1.0001 -> 12346 Inexact Rounded | |
831 | rmux603 multiply 12345 1.001 -> 12357 Inexact Rounded | |
832 | rmux604 multiply 12345 1.01 -> 12468 Inexact Rounded | |
833 | rmux605 multiply 12345 1.1 -> 13579 Inexact Rounded | |
834 | rmux606 multiply 12345 4 -> 49380 | |
835 | rmux607 multiply 12345 4.0001 -> 49381 Inexact Rounded | |
836 | rmux608 multiply 12345 4.9 -> 60490 Inexact Rounded | |
837 | rmux609 multiply 12345 4.99 -> 61601 Inexact Rounded | |
838 | rmux610 multiply 12345 4.999 -> 61712 Inexact Rounded | |
839 | rmux611 multiply 12345 4.9999 -> 61723 Inexact Rounded | |
840 | rmux612 multiply 12345 5 -> 61725 | |
841 | rmux613 multiply 12345 5.0001 -> 61726 Inexact Rounded | |
842 | rmux614 multiply 12345 5.001 -> 61737 Inexact Rounded | |
843 | rmux615 multiply 12345 5.01 -> 61848 Inexact Rounded | |
844 | rmux616 multiply 12345 12 -> 1.4814E+5 Rounded | |
845 | rmux617 multiply 12345 13 -> 1.6048E+5 Inexact Rounded | |
846 | rmux618 multiply 12355 12 -> 1.4826E+5 Rounded | |
847 | rmux619 multiply 12355 13 -> 1.6061E+5 Inexact Rounded | |
848 | ||
849 | rounding: ceiling | |
850 | rmux701 multiply 12345 1 -> 12345 | |
851 | rmux702 multiply 12345 1.0001 -> 12347 Inexact Rounded | |
852 | rmux703 multiply 12345 1.001 -> 12358 Inexact Rounded | |
853 | rmux704 multiply 12345 1.01 -> 12469 Inexact Rounded | |
854 | rmux705 multiply 12345 1.1 -> 13580 Inexact Rounded | |
855 | rmux706 multiply 12345 4 -> 49380 | |
856 | rmux707 multiply 12345 4.0001 -> 49382 Inexact Rounded | |
857 | rmux708 multiply 12345 4.9 -> 60491 Inexact Rounded | |
858 | rmux709 multiply 12345 4.99 -> 61602 Inexact Rounded | |
859 | rmux710 multiply 12345 4.999 -> 61713 Inexact Rounded | |
860 | rmux711 multiply 12345 4.9999 -> 61724 Inexact Rounded | |
861 | rmux712 multiply 12345 5 -> 61725 | |
862 | rmux713 multiply 12345 5.0001 -> 61727 Inexact Rounded | |
863 | rmux714 multiply 12345 5.001 -> 61738 Inexact Rounded | |
864 | rmux715 multiply 12345 5.01 -> 61849 Inexact Rounded | |
865 | rmux716 multiply 12345 12 -> 1.4814E+5 Rounded | |
866 | rmux717 multiply 12345 13 -> 1.6049E+5 Inexact Rounded | |
867 | rmux718 multiply 12355 12 -> 1.4826E+5 Rounded | |
868 | rmux719 multiply 12355 13 -> 1.6062E+5 Inexact Rounded | |
869 | ||
870 | -- Power operator ----------------------------------------------------- | |
871 | ||
872 | rounding: down | |
873 | rpox101 power 12345 -5 -> 3.4877E-21 Inexact Rounded | |
874 | rpox102 power 12345 -4 -> 4.3056E-17 Inexact Rounded | |
875 | rpox103 power 12345 -3 -> 5.3152E-13 Inexact Rounded | |
876 | rpox104 power 12345 -2 -> 6.5617E-9 Inexact Rounded | |
877 | rpox105 power 12345 -1 -> 0.000081004 Inexact Rounded | |
878 | rpox106 power 12345 0 -> 1 | |
879 | rpox107 power 12345 1 -> 12345 | |
880 | rpox108 power 12345 2 -> 1.5239E+8 Inexact Rounded | |
881 | rpox109 power 12345 3 -> 1.8813E+12 Inexact Rounded | |
882 | rpox110 power 12345 4 -> 2.3225E+16 Inexact Rounded | |
883 | rpox111 power 12345 5 -> 2.8671E+20 Inexact Rounded | |
884 | rpox112 power 415 2 -> 1.7222E+5 Inexact Rounded | |
885 | rpox113 power 75 3 -> 4.2187E+5 Inexact Rounded | |
886 | ||
887 | rounding: half_down | |
888 | rpox201 power 12345 -5 -> 3.4877E-21 Inexact Rounded | |
889 | rpox202 power 12345 -4 -> 4.3056E-17 Inexact Rounded | |
890 | rpox203 power 12345 -3 -> 5.3153E-13 Inexact Rounded | |
891 | rpox204 power 12345 -2 -> 6.5617E-9 Inexact Rounded | |
892 | rpox205 power 12345 -1 -> 0.000081004 Inexact Rounded | |
893 | rpox206 power 12345 0 -> 1 | |
894 | rpox207 power 12345 1 -> 12345 | |
895 | rpox208 power 12345 2 -> 1.5240E+8 Inexact Rounded | |
896 | rpox209 power 12345 3 -> 1.8814E+12 Inexact Rounded | |
897 | rpox210 power 12345 4 -> 2.3225E+16 Inexact Rounded | |
898 | rpox211 power 12345 5 -> 2.8672E+20 Inexact Rounded | |
899 | rpox212 power 415 2 -> 1.7222E+5 Inexact Rounded | |
900 | rpox213 power 75 3 -> 4.2187E+5 Inexact Rounded | |
901 | ||
902 | rounding: half_even | |
903 | rpox301 power 12345 -5 -> 3.4877E-21 Inexact Rounded | |
904 | rpox302 power 12345 -4 -> 4.3056E-17 Inexact Rounded | |
905 | rpox303 power 12345 -3 -> 5.3153E-13 Inexact Rounded | |
906 | rpox304 power 12345 -2 -> 6.5617E-9 Inexact Rounded | |
907 | rpox305 power 12345 -1 -> 0.000081004 Inexact Rounded | |
908 | rpox306 power 12345 0 -> 1 | |
909 | rpox307 power 12345 1 -> 12345 | |
910 | rpox308 power 12345 2 -> 1.5240E+8 Inexact Rounded | |
911 | rpox309 power 12345 3 -> 1.8814E+12 Inexact Rounded | |
912 | rpox310 power 12345 4 -> 2.3225E+16 Inexact Rounded | |
913 | rpox311 power 12345 5 -> 2.8672E+20 Inexact Rounded | |
914 | rpox312 power 415 2 -> 1.7222E+5 Inexact Rounded | |
915 | rpox313 power 75 3 -> 4.2188E+5 Inexact Rounded | |
916 | ||
917 | rounding: half_up | |
918 | rpox401 power 12345 -5 -> 3.4877E-21 Inexact Rounded | |
919 | rpox402 power 12345 -4 -> 4.3056E-17 Inexact Rounded | |
920 | rpox403 power 12345 -3 -> 5.3153E-13 Inexact Rounded | |
921 | rpox404 power 12345 -2 -> 6.5617E-9 Inexact Rounded | |
922 | rpox405 power 12345 -1 -> 0.000081004 Inexact Rounded | |
923 | rpox406 power 12345 0 -> 1 | |
924 | rpox407 power 12345 1 -> 12345 | |
925 | rpox408 power 12345 2 -> 1.5240E+8 Inexact Rounded | |
926 | rpox409 power 12345 3 -> 1.8814E+12 Inexact Rounded | |
927 | rpox410 power 12345 4 -> 2.3225E+16 Inexact Rounded | |
928 | rpox411 power 12345 5 -> 2.8672E+20 Inexact Rounded | |
929 | rpox412 power 415 2 -> 1.7223E+5 Inexact Rounded | |
930 | rpox413 power 75 3 -> 4.2188E+5 Inexact Rounded | |
931 | ||
932 | rounding: up | |
933 | rpox501 power 12345 -5 -> 3.4878E-21 Inexact Rounded | |
934 | rpox502 power 12345 -4 -> 4.3057E-17 Inexact Rounded | |
935 | rpox503 power 12345 -3 -> 5.3153E-13 Inexact Rounded | |
936 | rpox504 power 12345 -2 -> 6.5618E-9 Inexact Rounded | |
937 | rpox505 power 12345 -1 -> 0.000081005 Inexact Rounded | |
938 | rpox506 power 12345 0 -> 1 | |
939 | rpox507 power 12345 1 -> 12345 | |
940 | rpox508 power 12345 2 -> 1.5240E+8 Inexact Rounded | |
941 | rpox509 power 12345 3 -> 1.8814E+12 Inexact Rounded | |
942 | rpox510 power 12345 4 -> 2.3226E+16 Inexact Rounded | |
943 | rpox511 power 12345 5 -> 2.8672E+20 Inexact Rounded | |
944 | rpox512 power 415 2 -> 1.7223E+5 Inexact Rounded | |
945 | rpox513 power 75 3 -> 4.2188E+5 Inexact Rounded | |
946 | ||
947 | rounding: floor | |
948 | rpox601 power 12345 -5 -> 3.4877E-21 Inexact Rounded | |
949 | rpox602 power 12345 -4 -> 4.3056E-17 Inexact Rounded | |
950 | rpox603 power 12345 -3 -> 5.3152E-13 Inexact Rounded | |
951 | rpox604 power 12345 -2 -> 6.5617E-9 Inexact Rounded | |
952 | rpox605 power 12345 -1 -> 0.000081004 Inexact Rounded | |
953 | rpox606 power 12345 0 -> 1 | |
954 | rpox607 power 12345 1 -> 12345 | |
955 | rpox608 power 12345 2 -> 1.5239E+8 Inexact Rounded | |
956 | rpox609 power 12345 3 -> 1.8813E+12 Inexact Rounded | |
957 | rpox610 power 12345 4 -> 2.3225E+16 Inexact Rounded | |
958 | rpox611 power 12345 5 -> 2.8671E+20 Inexact Rounded | |
959 | rpox612 power 415 2 -> 1.7222E+5 Inexact Rounded | |
960 | rpox613 power 75 3 -> 4.2187E+5 Inexact Rounded | |
961 | ||
962 | rounding: ceiling | |
963 | rpox701 power 12345 -5 -> 3.4878E-21 Inexact Rounded | |
964 | rpox702 power 12345 -4 -> 4.3057E-17 Inexact Rounded | |
965 | rpox703 power 12345 -3 -> 5.3153E-13 Inexact Rounded | |
966 | rpox704 power 12345 -2 -> 6.5618E-9 Inexact Rounded | |
967 | rpox705 power 12345 -1 -> 0.000081005 Inexact Rounded | |
968 | rpox706 power 12345 0 -> 1 | |
969 | rpox707 power 12345 1 -> 12345 | |
970 | rpox708 power 12345 2 -> 1.5240E+8 Inexact Rounded | |
971 | rpox709 power 12345 3 -> 1.8814E+12 Inexact Rounded | |
972 | rpox710 power 12345 4 -> 2.3226E+16 Inexact Rounded | |
973 | rpox711 power 12345 5 -> 2.8672E+20 Inexact Rounded | |
974 | rpox712 power 415 2 -> 1.7223E+5 Inexact Rounded | |
975 | rpox713 power 75 3 -> 4.2188E+5 Inexact Rounded | |
976 | ||
977 | -- Underflow Subnormal and overflow values vary with rounding mode and sign | |
978 | maxexponent: 999999999 | |
979 | minexponent: -999999999 | |
980 | rounding: down | |
981 | rovx100 multiply 10 9E+999999999 -> 9.9999E+999999999 Overflow Inexact Rounded | |
982 | rovx101 multiply -10 9E+999999999 -> -9.9999E+999999999 Overflow Inexact Rounded | |
983 | rovx102 divide 1E-9 9E+999999999 -> 0E-1000000003 Underflow Subnormal Inexact Rounded | |
984 | rovx104 divide -1E-9 9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded | |
985 | ||
986 | rounding: up | |
987 | rovx110 multiply 10 9E+999999999 -> Infinity Overflow Inexact Rounded | |
988 | rovx111 multiply -10 9E+999999999 -> -Infinity Overflow Inexact Rounded | |
989 | rovx112 divide 1E-9 9E+999999999 -> 1E-1000000003 Underflow Subnormal Inexact Rounded | |
990 | rovx114 divide -1E-9 9E+999999999 -> -1E-1000000003 Underflow Subnormal Inexact Rounded | |
991 | ||
992 | rounding: ceiling | |
993 | rovx120 multiply 10 9E+999999999 -> Infinity Overflow Inexact Rounded | |
994 | rovx121 multiply -10 9E+999999999 -> -9.9999E+999999999 Overflow Inexact Rounded | |
995 | rovx122 divide 1E-9 9E+999999999 -> 1E-1000000003 Underflow Subnormal Inexact Rounded | |
996 | rovx124 divide -1E-9 9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded | |
997 | ||
998 | rounding: floor | |
999 | rovx130 multiply 10 9E+999999999 -> 9.9999E+999999999 Overflow Inexact Rounded | |
1000 | rovx131 multiply -10 9E+999999999 -> -Infinity Overflow Inexact Rounded | |
1001 | rovx132 divide 1E-9 9E+999999999 -> 0E-1000000003 Underflow Subnormal Inexact Rounded | |
1002 | rovx134 divide -1E-9 9E+999999999 -> -1E-1000000003 Underflow Subnormal Inexact Rounded | |
1003 | ||
1004 | rounding: half_up | |
1005 | rovx140 multiply 10 9E+999999999 -> Infinity Overflow Inexact Rounded | |
1006 | rovx141 multiply -10 9E+999999999 -> -Infinity Overflow Inexact Rounded | |
1007 | rovx142 divide 1E-9 9E+999999999 -> 0E-1000000003 Underflow Subnormal Inexact Rounded | |
1008 | rovx144 divide -1E-9 9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded | |
1009 | ||
1010 | rounding: half_even | |
1011 | rovx150 multiply 10 9E+999999999 -> Infinity Overflow Inexact Rounded | |
1012 | rovx151 multiply -10 9E+999999999 -> -Infinity Overflow Inexact Rounded | |
1013 | rovx152 divide 1E-9 9E+999999999 -> 0E-1000000003 Underflow Subnormal Inexact Rounded | |
1014 | rovx154 divide -1E-9 9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded | |
1015 | ||
1016 | rounding: half_down | |
1017 | rovx160 multiply 10 9E+999999999 -> Infinity Overflow Inexact Rounded | |
1018 | rovx161 multiply -10 9E+999999999 -> -Infinity Overflow Inexact Rounded | |
1019 | rovx162 divide 1E-9 9E+999999999 -> 0E-1000000003 Underflow Subnormal Inexact Rounded | |
1020 | rovx164 divide -1E-9 9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded | |
1021 | ||
1022 | -- check maximum finite value over a range of precisions | |
1023 | rounding: down | |
1024 | precision: 1 | |
1025 | rovx200 multiply 10 9E+999999999 -> 9E+999999999 Overflow Inexact Rounded | |
1026 | rovx201 multiply -10 9E+999999999 -> -9E+999999999 Overflow Inexact Rounded | |
1027 | precision: 2 | |
1028 | rovx210 multiply 10 9E+999999999 -> 9.9E+999999999 Overflow Inexact Rounded | |
1029 | rovx211 multiply -10 9E+999999999 -> -9.9E+999999999 Overflow Inexact Rounded | |
1030 | precision: 3 | |
1031 | rovx220 multiply 10 9E+999999999 -> 9.99E+999999999 Overflow Inexact Rounded | |
1032 | rovx221 multiply -10 9E+999999999 -> -9.99E+999999999 Overflow Inexact Rounded | |
1033 | precision: 4 | |
1034 | rovx230 multiply 10 9E+999999999 -> 9.999E+999999999 Overflow Inexact Rounded | |
1035 | rovx231 multiply -10 9E+999999999 -> -9.999E+999999999 Overflow Inexact Rounded | |
1036 | precision: 5 | |
1037 | rovx240 multiply 10 9E+999999999 -> 9.9999E+999999999 Overflow Inexact Rounded | |
1038 | rovx241 multiply -10 9E+999999999 -> -9.9999E+999999999 Overflow Inexact Rounded | |
1039 | precision: 6 | |
1040 | rovx250 multiply 10 9E+999999999 -> 9.99999E+999999999 Overflow Inexact Rounded | |
1041 | rovx251 multiply -10 9E+999999999 -> -9.99999E+999999999 Overflow Inexact Rounded | |
1042 | precision: 7 | |
1043 | rovx260 multiply 10 9E+999999999 -> 9.999999E+999999999 Overflow Inexact Rounded | |
1044 | rovx261 multiply -10 9E+999999999 -> -9.999999E+999999999 Overflow Inexact Rounded | |
1045 | precision: 8 | |
1046 | rovx270 multiply 10 9E+999999999 -> 9.9999999E+999999999 Overflow Inexact Rounded | |
1047 | rovx271 multiply -10 9E+999999999 -> -9.9999999E+999999999 Overflow Inexact Rounded | |
1048 | precision: 9 | |
1049 | rovx280 multiply 10 9E+999999999 -> 9.99999999E+999999999 Overflow Inexact Rounded | |
1050 | rovx281 multiply -10 9E+999999999 -> -9.99999999E+999999999 Overflow Inexact Rounded | |
1051 | precision: 10 | |
1052 | rovx290 multiply 10 9E+999999999 -> 9.999999999E+999999999 Overflow Inexact Rounded | |
1053 | rovx291 multiply -10 9E+999999999 -> -9.999999999E+999999999 Overflow Inexact Rounded | |
1054 | ||
1055 | -- reprise rounding mode effect (using multiplies so precision directive used) | |
1056 | precision: 9 | |
1057 | maxexponent: 999999999 | |
1058 | rounding: half_up | |
1059 | rmex400 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded | |
1060 | rmex401 multiply 9.999E+999999999 10 -> Infinity Overflow Inexact Rounded | |
1061 | rounding: half_down | |
1062 | rmex402 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded | |
1063 | rmex403 multiply 9.999E+999999999 10 -> Infinity Overflow Inexact Rounded | |
1064 | rounding: half_even | |
1065 | rmex404 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded | |
1066 | rmex405 multiply 9.999E+999999999 10 -> Infinity Overflow Inexact Rounded | |
1067 | rounding: floor | |
1068 | rmex406 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded | |
1069 | rmex407 multiply 9.999E+999999999 10 -> 9.99999999E+999999999 Overflow Inexact Rounded | |
1070 | rounding: ceiling | |
1071 | rmex408 multiply -9.999E+999999999 10 -> -9.99999999E+999999999 Overflow Inexact Rounded | |
1072 | rmex409 multiply 9.999E+999999999 10 -> Infinity Overflow Inexact Rounded | |
1073 | rounding: up | |
1074 | rmex410 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded | |
1075 | rmex411 multiply 9.999E+999999999 10 -> Infinity Overflow Inexact Rounded | |
1076 | rounding: down | |
1077 | rmex412 multiply -9.999E+999999999 10 -> -9.99999999E+999999999 Overflow Inexact Rounded | |
1078 | rmex413 multiply 9.999E+999999999 10 -> 9.99999999E+999999999 Overflow Inexact Rounded | |
1079 |