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