~malept/ubuntu/lucid/python2.6/dev-dependency-fix

« back to all changes in this revision

Viewing changes to Lib/test/decimaltestdata/ddQuantize.decTest

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2009-02-13 12:51:00 UTC
  • Revision ID: james.westby@ubuntu.com-20090213125100-uufgcb9yeqzujpqw
Tags: upstream-2.6.1
ImportĀ upstreamĀ versionĀ 2.6.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
------------------------------------------------------------------------
 
2
-- ddQuantize.decTest -- decDouble quantize operation                 --
 
3
-- Copyright (c) IBM Corporation, 1981, 2008.  All rights reserved.   --
 
4
------------------------------------------------------------------------
 
5
-- Please see the document "General Decimal Arithmetic Testcases"     --
 
6
-- at http://www2.hursley.ibm.com/decimal for the description of      --
 
7
-- these testcases.                                                   --
 
8
--                                                                    --
 
9
-- These testcases are experimental ('beta' versions), and they       --
 
10
-- may contain errors.  They are offered on an as-is basis.  In       --
 
11
-- particular, achieving the same results as the tests here is not    --
 
12
-- a guarantee that an implementation complies with any Standard      --
 
13
-- or specification.  The tests are not exhaustive.                   --
 
14
--                                                                    --
 
15
-- Please send comments, suggestions, and corrections to the author:  --
 
16
--   Mike Cowlishaw, IBM Fellow                                       --
 
17
--   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --
 
18
--   mfc@uk.ibm.com                                                   --
 
19
------------------------------------------------------------------------
 
20
version: 2.58
 
21
 
 
22
-- Most of the tests here assume a "regular pattern", where the
 
23
-- sign and coefficient are +1.
 
24
-- 2004.03.15 Underflow for quantize is suppressed
 
25
-- 2005.06.08 More extensive tests for 'does not fit'
 
26
precision:   16
 
27
maxExponent: 384
 
28
minExponent: -383
 
29
extended:    1
 
30
clamp:       1
 
31
rounding:    half_even
 
32
 
 
33
-- sanity checks
 
34
ddqua001 quantize 0       1e0   -> 0
 
35
ddqua002 quantize 1       1e0   -> 1
 
36
ddqua003 quantize 0.1    1e+2   -> 0E+2 Inexact Rounded
 
37
ddqua005 quantize 0.1    1e+1   -> 0E+1 Inexact Rounded
 
38
ddqua006 quantize 0.1     1e0   -> 0 Inexact Rounded
 
39
ddqua007 quantize 0.1    1e-1   -> 0.1
 
40
ddqua008 quantize 0.1    1e-2   -> 0.10
 
41
ddqua009 quantize 0.1    1e-3   -> 0.100
 
42
ddqua010 quantize 0.9    1e+2   -> 0E+2 Inexact Rounded
 
43
ddqua011 quantize 0.9    1e+1   -> 0E+1 Inexact Rounded
 
44
ddqua012 quantize 0.9    1e+0   -> 1 Inexact Rounded
 
45
ddqua013 quantize 0.9    1e-1   -> 0.9
 
46
ddqua014 quantize 0.9    1e-2   -> 0.90
 
47
ddqua015 quantize 0.9    1e-3   -> 0.900
 
48
-- negatives
 
49
ddqua021 quantize -0      1e0   -> -0
 
50
ddqua022 quantize -1      1e0   -> -1
 
51
ddqua023 quantize -0.1   1e+2   -> -0E+2 Inexact Rounded
 
52
ddqua025 quantize -0.1   1e+1   -> -0E+1 Inexact Rounded
 
53
ddqua026 quantize -0.1    1e0   -> -0 Inexact Rounded
 
54
ddqua027 quantize -0.1   1e-1   -> -0.1
 
55
ddqua028 quantize -0.1   1e-2   -> -0.10
 
56
ddqua029 quantize -0.1   1e-3   -> -0.100
 
57
ddqua030 quantize -0.9   1e+2   -> -0E+2 Inexact Rounded
 
58
ddqua031 quantize -0.9   1e+1   -> -0E+1 Inexact Rounded
 
59
ddqua032 quantize -0.9   1e+0   -> -1 Inexact Rounded
 
60
ddqua033 quantize -0.9   1e-1   -> -0.9
 
61
ddqua034 quantize -0.9   1e-2   -> -0.90
 
62
ddqua035 quantize -0.9   1e-3   -> -0.900
 
63
ddqua036 quantize -0.5   1e+2   -> -0E+2 Inexact Rounded
 
64
ddqua037 quantize -0.5   1e+1   -> -0E+1 Inexact Rounded
 
65
ddqua038 quantize -0.5   1e+0   -> -0 Inexact Rounded
 
66
ddqua039 quantize -0.5   1e-1   -> -0.5
 
67
ddqua040 quantize -0.5   1e-2   -> -0.50
 
68
ddqua041 quantize -0.5   1e-3   -> -0.500
 
69
ddqua042 quantize -0.9   1e+2   -> -0E+2 Inexact Rounded
 
70
ddqua043 quantize -0.9   1e+1   -> -0E+1 Inexact Rounded
 
71
ddqua044 quantize -0.9   1e+0   -> -1 Inexact Rounded
 
72
ddqua045 quantize -0.9   1e-1   -> -0.9
 
73
ddqua046 quantize -0.9   1e-2   -> -0.90
 
74
ddqua047 quantize -0.9   1e-3   -> -0.900
 
75
 
 
76
-- examples from Specification
 
77
ddqua060 quantize 2.17   0.001  -> 2.170
 
78
ddqua061 quantize 2.17   0.01   -> 2.17
 
79
ddqua062 quantize 2.17   0.1    -> 2.2 Inexact Rounded
 
80
ddqua063 quantize 2.17   1e+0   -> 2 Inexact Rounded
 
81
ddqua064 quantize 2.17   1e+1   -> 0E+1 Inexact Rounded
 
82
ddqua065 quantize -Inf    Inf   -> -Infinity
 
83
ddqua066 quantize 2       Inf   -> NaN Invalid_operation
 
84
ddqua067 quantize -0.1    1     -> -0 Inexact Rounded
 
85
ddqua068 quantize -0      1e+5     -> -0E+5
 
86
ddqua069 quantize +123456789012345.6 1e-2 -> NaN Invalid_operation
 
87
ddqua070 quantize -987654335236450.6 1e-2 -> NaN Invalid_operation
 
88
ddqua071 quantize 217    1e-1   -> 217.0
 
89
ddqua072 quantize 217    1e+0   -> 217
 
90
ddqua073 quantize 217    1e+1   -> 2.2E+2 Inexact Rounded
 
91
ddqua074 quantize 217    1e+2   -> 2E+2 Inexact Rounded
 
92
 
 
93
-- general tests ..
 
94
ddqua089 quantize 12     1e+4   -> 0E+4 Inexact Rounded
 
95
ddqua090 quantize 12     1e+3   -> 0E+3 Inexact Rounded
 
96
ddqua091 quantize 12     1e+2   -> 0E+2 Inexact Rounded
 
97
ddqua092 quantize 12     1e+1   -> 1E+1 Inexact Rounded
 
98
ddqua093 quantize 1.2345 1e-2   -> 1.23 Inexact Rounded
 
99
ddqua094 quantize 1.2355 1e-2   -> 1.24 Inexact Rounded
 
100
ddqua095 quantize 1.2345 1e-6   -> 1.234500
 
101
ddqua096 quantize 9.9999 1e-2   -> 10.00 Inexact Rounded
 
102
ddqua097 quantize 0.0001 1e-2   -> 0.00 Inexact Rounded
 
103
ddqua098 quantize 0.001  1e-2   -> 0.00 Inexact Rounded
 
104
ddqua099 quantize 0.009  1e-2   -> 0.01 Inexact Rounded
 
105
ddqua100 quantize 92     1e+2   -> 1E+2 Inexact Rounded
 
106
 
 
107
ddqua101 quantize -1      1e0   ->  -1
 
108
ddqua102 quantize -1     1e-1   ->  -1.0
 
109
ddqua103 quantize -1     1e-2   ->  -1.00
 
110
ddqua104 quantize  0      1e0   ->  0
 
111
ddqua105 quantize  0     1e-1   ->  0.0
 
112
ddqua106 quantize  0     1e-2   ->  0.00
 
113
ddqua107 quantize  0.00   1e0   ->  0
 
114
ddqua108 quantize  0     1e+1   ->  0E+1
 
115
ddqua109 quantize  0     1e+2   ->  0E+2
 
116
ddqua110 quantize +1      1e0   ->  1
 
117
ddqua111 quantize +1     1e-1   ->  1.0
 
118
ddqua112 quantize +1     1e-2   ->  1.00
 
119
 
 
120
ddqua120 quantize   1.04  1e-3 ->  1.040
 
121
ddqua121 quantize   1.04  1e-2 ->  1.04
 
122
ddqua122 quantize   1.04  1e-1 ->  1.0 Inexact Rounded
 
123
ddqua123 quantize   1.04   1e0 ->  1 Inexact Rounded
 
124
ddqua124 quantize   1.05  1e-3 ->  1.050
 
125
ddqua125 quantize   1.05  1e-2 ->  1.05
 
126
ddqua126 quantize   1.05  1e-1 ->  1.0 Inexact Rounded
 
127
ddqua131 quantize   1.05   1e0 ->  1 Inexact Rounded
 
128
ddqua132 quantize   1.06  1e-3 ->  1.060
 
129
ddqua133 quantize   1.06  1e-2 ->  1.06
 
130
ddqua134 quantize   1.06  1e-1 ->  1.1 Inexact Rounded
 
131
ddqua135 quantize   1.06   1e0 ->  1 Inexact Rounded
 
132
 
 
133
ddqua140 quantize   -10    1e-2  ->  -10.00
 
134
ddqua141 quantize   +1     1e-2  ->  1.00
 
135
ddqua142 quantize   +10    1e-2  ->  10.00
 
136
ddqua143 quantize   1E+17  1e-2  ->  NaN Invalid_operation
 
137
ddqua144 quantize   1E-17  1e-2  ->  0.00 Inexact Rounded
 
138
ddqua145 quantize   1E-3   1e-2  ->  0.00 Inexact Rounded
 
139
ddqua146 quantize   1E-2   1e-2  ->  0.01
 
140
ddqua147 quantize   1E-1   1e-2  ->  0.10
 
141
ddqua148 quantize   0E-17  1e-2  ->  0.00
 
142
 
 
143
ddqua150 quantize   1.0600 1e-5 ->  1.06000
 
144
ddqua151 quantize   1.0600 1e-4 ->  1.0600
 
145
ddqua152 quantize   1.0600 1e-3 ->  1.060 Rounded
 
146
ddqua153 quantize   1.0600 1e-2 ->  1.06 Rounded
 
147
ddqua154 quantize   1.0600 1e-1 ->  1.1 Inexact Rounded
 
148
ddqua155 quantize   1.0600  1e0 ->  1 Inexact Rounded
 
149
 
 
150
-- a couple where rounding was different in base tests
 
151
rounding:    half_up
 
152
ddqua157 quantize -0.5   1e+0   -> -1 Inexact Rounded
 
153
ddqua158 quantize   1.05  1e-1 ->  1.1 Inexact Rounded
 
154
ddqua159 quantize   1.06   1e0 ->  1 Inexact Rounded
 
155
rounding:    half_even
 
156
 
 
157
-- base tests with non-1 coefficients
 
158
ddqua161 quantize 0      -9e0   -> 0
 
159
ddqua162 quantize 1      -7e0   -> 1
 
160
ddqua163 quantize 0.1   -1e+2   -> 0E+2 Inexact Rounded
 
161
ddqua165 quantize 0.1    0e+1   -> 0E+1 Inexact Rounded
 
162
ddqua166 quantize 0.1     2e0   -> 0 Inexact Rounded
 
163
ddqua167 quantize 0.1    3e-1   -> 0.1
 
164
ddqua168 quantize 0.1   44e-2   -> 0.10
 
165
ddqua169 quantize 0.1  555e-3   -> 0.100
 
166
ddqua170 quantize 0.9 6666e+2   -> 0E+2 Inexact Rounded
 
167
ddqua171 quantize 0.9 -777e+1   -> 0E+1 Inexact Rounded
 
168
ddqua172 quantize 0.9  -88e+0   -> 1 Inexact Rounded
 
169
ddqua173 quantize 0.9   -9e-1   -> 0.9
 
170
ddqua174 quantize 0.9    0e-2   -> 0.90
 
171
ddqua175 quantize 0.9  1.1e-3   -> 0.9000
 
172
-- negatives
 
173
ddqua181 quantize -0    1.1e0   -> -0.0
 
174
ddqua182 quantize -1     -1e0   -> -1
 
175
ddqua183 quantize -0.1  11e+2   -> -0E+2 Inexact Rounded
 
176
ddqua185 quantize -0.1 111e+1   -> -0E+1 Inexact Rounded
 
177
ddqua186 quantize -0.1   71e0   -> -0 Inexact Rounded
 
178
ddqua187 quantize -0.1 -91e-1   -> -0.1
 
179
ddqua188 quantize -0.1 -.1e-2   -> -0.100
 
180
ddqua189 quantize -0.1  -1e-3   -> -0.100
 
181
ddqua190 quantize -0.9   0e+2   -> -0E+2 Inexact Rounded
 
182
ddqua191 quantize -0.9  -0e+1   -> -0E+1 Inexact Rounded
 
183
ddqua192 quantize -0.9 -10e+0   -> -1 Inexact Rounded
 
184
ddqua193 quantize -0.9 100e-1   -> -0.9
 
185
ddqua194 quantize -0.9 999e-2   -> -0.90
 
186
 
 
187
-- +ve exponents ..
 
188
ddqua201 quantize   -1   1e+0 ->  -1
 
189
ddqua202 quantize   -1   1e+1 ->  -0E+1 Inexact Rounded
 
190
ddqua203 quantize   -1   1e+2 ->  -0E+2 Inexact Rounded
 
191
ddqua204 quantize    0   1e+0 ->  0
 
192
ddqua205 quantize    0   1e+1 ->  0E+1
 
193
ddqua206 quantize    0   1e+2 ->  0E+2
 
194
ddqua207 quantize   +1   1e+0 ->  1
 
195
ddqua208 quantize   +1   1e+1 ->  0E+1 Inexact Rounded
 
196
ddqua209 quantize   +1   1e+2 ->  0E+2 Inexact Rounded
 
197
 
 
198
ddqua220 quantize   1.04 1e+3 ->  0E+3 Inexact Rounded
 
199
ddqua221 quantize   1.04 1e+2 ->  0E+2 Inexact Rounded
 
200
ddqua222 quantize   1.04 1e+1 ->  0E+1 Inexact Rounded
 
201
ddqua223 quantize   1.04 1e+0 ->  1 Inexact Rounded
 
202
ddqua224 quantize   1.05 1e+3 ->  0E+3 Inexact Rounded
 
203
ddqua225 quantize   1.05 1e+2 ->  0E+2 Inexact Rounded
 
204
ddqua226 quantize   1.05 1e+1 ->  0E+1 Inexact Rounded
 
205
ddqua227 quantize   1.05 1e+0 ->  1 Inexact Rounded
 
206
ddqua228 quantize   1.05 1e+3 ->  0E+3 Inexact Rounded
 
207
ddqua229 quantize   1.05 1e+2 ->  0E+2 Inexact Rounded
 
208
ddqua230 quantize   1.05 1e+1 ->  0E+1 Inexact Rounded
 
209
ddqua231 quantize   1.05 1e+0 ->  1 Inexact Rounded
 
210
ddqua232 quantize   1.06 1e+3 ->  0E+3 Inexact Rounded
 
211
ddqua233 quantize   1.06 1e+2 ->  0E+2 Inexact Rounded
 
212
ddqua234 quantize   1.06 1e+1 ->  0E+1 Inexact Rounded
 
213
ddqua235 quantize   1.06 1e+0 ->  1 Inexact Rounded
 
214
 
 
215
ddqua240 quantize   -10   1e+1  ->  -1E+1 Rounded
 
216
ddqua241 quantize   +1    1e+1  ->  0E+1 Inexact Rounded
 
217
ddqua242 quantize   +10   1e+1  ->  1E+1 Rounded
 
218
ddqua243 quantize   1E+1  1e+1  ->  1E+1          -- underneath this is E+1
 
219
ddqua244 quantize   1E+2  1e+1  ->  1.0E+2        -- underneath this is E+1
 
220
ddqua245 quantize   1E+3  1e+1  ->  1.00E+3       -- underneath this is E+1
 
221
ddqua246 quantize   1E+4  1e+1  ->  1.000E+4      -- underneath this is E+1
 
222
ddqua247 quantize   1E+5  1e+1  ->  1.0000E+5     -- underneath this is E+1
 
223
ddqua248 quantize   1E+6  1e+1  ->  1.00000E+6    -- underneath this is E+1
 
224
ddqua249 quantize   1E+7  1e+1  ->  1.000000E+7   -- underneath this is E+1
 
225
ddqua250 quantize   1E+8  1e+1  ->  1.0000000E+8  -- underneath this is E+1
 
226
ddqua251 quantize   1E+9  1e+1  ->  1.00000000E+9 -- underneath this is E+1
 
227
-- next one tries to add 9 zeros
 
228
ddqua252 quantize   1E+17 1e+1  ->  NaN Invalid_operation
 
229
ddqua253 quantize   1E-17 1e+1  ->  0E+1 Inexact Rounded
 
230
ddqua254 quantize   1E-2  1e+1  ->  0E+1 Inexact Rounded
 
231
ddqua255 quantize   0E-17 1e+1  ->  0E+1
 
232
ddqua256 quantize  -0E-17 1e+1  -> -0E+1
 
233
ddqua257 quantize  -0E-1  1e+1  -> -0E+1
 
234
ddqua258 quantize  -0     1e+1  -> -0E+1
 
235
ddqua259 quantize  -0E+1  1e+1  -> -0E+1
 
236
 
 
237
ddqua260 quantize   -10   1e+2  ->  -0E+2 Inexact Rounded
 
238
ddqua261 quantize   +1    1e+2  ->  0E+2 Inexact Rounded
 
239
ddqua262 quantize   +10   1e+2  ->  0E+2 Inexact Rounded
 
240
ddqua263 quantize   1E+1  1e+2  ->  0E+2 Inexact Rounded
 
241
ddqua264 quantize   1E+2  1e+2  ->  1E+2
 
242
ddqua265 quantize   1E+3  1e+2  ->  1.0E+3
 
243
ddqua266 quantize   1E+4  1e+2  ->  1.00E+4
 
244
ddqua267 quantize   1E+5  1e+2  ->  1.000E+5
 
245
ddqua268 quantize   1E+6  1e+2  ->  1.0000E+6
 
246
ddqua269 quantize   1E+7  1e+2  ->  1.00000E+7
 
247
ddqua270 quantize   1E+8  1e+2  ->  1.000000E+8
 
248
ddqua271 quantize   1E+9  1e+2  ->  1.0000000E+9
 
249
ddqua272 quantize   1E+10 1e+2  ->  1.00000000E+10
 
250
ddqua273 quantize   1E-10 1e+2  ->  0E+2 Inexact Rounded
 
251
ddqua274 quantize   1E-2  1e+2  ->  0E+2 Inexact Rounded
 
252
ddqua275 quantize   0E-10 1e+2  ->  0E+2
 
253
 
 
254
ddqua280 quantize   -10   1e+3  ->  -0E+3 Inexact Rounded
 
255
ddqua281 quantize   +1    1e+3  ->  0E+3 Inexact Rounded
 
256
ddqua282 quantize   +10   1e+3  ->  0E+3 Inexact Rounded
 
257
ddqua283 quantize   1E+1  1e+3  ->  0E+3 Inexact Rounded
 
258
ddqua284 quantize   1E+2  1e+3  ->  0E+3 Inexact Rounded
 
259
ddqua285 quantize   1E+3  1e+3  ->  1E+3
 
260
ddqua286 quantize   1E+4  1e+3  ->  1.0E+4
 
261
ddqua287 quantize   1E+5  1e+3  ->  1.00E+5
 
262
ddqua288 quantize   1E+6  1e+3  ->  1.000E+6
 
263
ddqua289 quantize   1E+7  1e+3  ->  1.0000E+7
 
264
ddqua290 quantize   1E+8  1e+3  ->  1.00000E+8
 
265
ddqua291 quantize   1E+9  1e+3  ->  1.000000E+9
 
266
ddqua292 quantize   1E+10 1e+3  ->  1.0000000E+10
 
267
ddqua293 quantize   1E-10 1e+3  ->  0E+3 Inexact Rounded
 
268
ddqua294 quantize   1E-2  1e+3  ->  0E+3 Inexact Rounded
 
269
ddqua295 quantize   0E-10 1e+3  ->  0E+3
 
270
 
 
271
-- round up from below [sign wrong in JIT compiler once]
 
272
ddqua300 quantize   0.0078 1e-5 ->  0.00780
 
273
ddqua301 quantize   0.0078 1e-4 ->  0.0078
 
274
ddqua302 quantize   0.0078 1e-3 ->  0.008 Inexact Rounded
 
275
ddqua303 quantize   0.0078 1e-2 ->  0.01 Inexact Rounded
 
276
ddqua304 quantize   0.0078 1e-1 ->  0.0 Inexact Rounded
 
277
ddqua305 quantize   0.0078  1e0 ->  0 Inexact Rounded
 
278
ddqua306 quantize   0.0078 1e+1 ->  0E+1 Inexact Rounded
 
279
ddqua307 quantize   0.0078 1e+2 ->  0E+2 Inexact Rounded
 
280
 
 
281
ddqua310 quantize  -0.0078 1e-5 -> -0.00780
 
282
ddqua311 quantize  -0.0078 1e-4 -> -0.0078
 
283
ddqua312 quantize  -0.0078 1e-3 -> -0.008 Inexact Rounded
 
284
ddqua313 quantize  -0.0078 1e-2 -> -0.01 Inexact Rounded
 
285
ddqua314 quantize  -0.0078 1e-1 -> -0.0 Inexact Rounded
 
286
ddqua315 quantize  -0.0078  1e0 -> -0 Inexact Rounded
 
287
ddqua316 quantize  -0.0078 1e+1 -> -0E+1 Inexact Rounded
 
288
ddqua317 quantize  -0.0078 1e+2 -> -0E+2 Inexact Rounded
 
289
 
 
290
ddqua320 quantize   0.078 1e-5 ->  0.07800
 
291
ddqua321 quantize   0.078 1e-4 ->  0.0780
 
292
ddqua322 quantize   0.078 1e-3 ->  0.078
 
293
ddqua323 quantize   0.078 1e-2 ->  0.08 Inexact Rounded
 
294
ddqua324 quantize   0.078 1e-1 ->  0.1 Inexact Rounded
 
295
ddqua325 quantize   0.078  1e0 ->  0 Inexact Rounded
 
296
ddqua326 quantize   0.078 1e+1 ->  0E+1 Inexact Rounded
 
297
ddqua327 quantize   0.078 1e+2 ->  0E+2 Inexact Rounded
 
298
 
 
299
ddqua330 quantize  -0.078 1e-5 -> -0.07800
 
300
ddqua331 quantize  -0.078 1e-4 -> -0.0780
 
301
ddqua332 quantize  -0.078 1e-3 -> -0.078
 
302
ddqua333 quantize  -0.078 1e-2 -> -0.08 Inexact Rounded
 
303
ddqua334 quantize  -0.078 1e-1 -> -0.1 Inexact Rounded
 
304
ddqua335 quantize  -0.078  1e0 -> -0 Inexact Rounded
 
305
ddqua336 quantize  -0.078 1e+1 -> -0E+1 Inexact Rounded
 
306
ddqua337 quantize  -0.078 1e+2 -> -0E+2 Inexact Rounded
 
307
 
 
308
ddqua340 quantize   0.78 1e-5 ->  0.78000
 
309
ddqua341 quantize   0.78 1e-4 ->  0.7800
 
310
ddqua342 quantize   0.78 1e-3 ->  0.780
 
311
ddqua343 quantize   0.78 1e-2 ->  0.78
 
312
ddqua344 quantize   0.78 1e-1 ->  0.8 Inexact Rounded
 
313
ddqua345 quantize   0.78  1e0 ->  1 Inexact Rounded
 
314
ddqua346 quantize   0.78 1e+1 ->  0E+1 Inexact Rounded
 
315
ddqua347 quantize   0.78 1e+2 ->  0E+2 Inexact Rounded
 
316
 
 
317
ddqua350 quantize  -0.78 1e-5 -> -0.78000
 
318
ddqua351 quantize  -0.78 1e-4 -> -0.7800
 
319
ddqua352 quantize  -0.78 1e-3 -> -0.780
 
320
ddqua353 quantize  -0.78 1e-2 -> -0.78
 
321
ddqua354 quantize  -0.78 1e-1 -> -0.8 Inexact Rounded
 
322
ddqua355 quantize  -0.78  1e0 -> -1 Inexact Rounded
 
323
ddqua356 quantize  -0.78 1e+1 -> -0E+1 Inexact Rounded
 
324
ddqua357 quantize  -0.78 1e+2 -> -0E+2 Inexact Rounded
 
325
 
 
326
ddqua360 quantize   7.8 1e-5 ->  7.80000
 
327
ddqua361 quantize   7.8 1e-4 ->  7.8000
 
328
ddqua362 quantize   7.8 1e-3 ->  7.800
 
329
ddqua363 quantize   7.8 1e-2 ->  7.80
 
330
ddqua364 quantize   7.8 1e-1 ->  7.8
 
331
ddqua365 quantize   7.8  1e0 ->  8 Inexact Rounded
 
332
ddqua366 quantize   7.8 1e+1 ->  1E+1 Inexact Rounded
 
333
ddqua367 quantize   7.8 1e+2 ->  0E+2 Inexact Rounded
 
334
ddqua368 quantize   7.8 1e+3 ->  0E+3 Inexact Rounded
 
335
 
 
336
ddqua370 quantize  -7.8 1e-5 -> -7.80000
 
337
ddqua371 quantize  -7.8 1e-4 -> -7.8000
 
338
ddqua372 quantize  -7.8 1e-3 -> -7.800
 
339
ddqua373 quantize  -7.8 1e-2 -> -7.80
 
340
ddqua374 quantize  -7.8 1e-1 -> -7.8
 
341
ddqua375 quantize  -7.8  1e0 -> -8 Inexact Rounded
 
342
ddqua376 quantize  -7.8 1e+1 -> -1E+1 Inexact Rounded
 
343
ddqua377 quantize  -7.8 1e+2 -> -0E+2 Inexact Rounded
 
344
ddqua378 quantize  -7.8 1e+3 -> -0E+3 Inexact Rounded
 
345
 
 
346
-- some individuals
 
347
ddqua380 quantize   1234567352364.506 1e-2 -> 1234567352364.51 Inexact Rounded
 
348
ddqua381 quantize   12345673523645.06 1e-2 -> 12345673523645.06
 
349
ddqua382 quantize   123456735236450.6 1e-2 -> NaN Invalid_operation
 
350
ddqua383 quantize   1234567352364506  1e-2 -> NaN Invalid_operation
 
351
ddqua384 quantize  -1234567352364.506 1e-2 -> -1234567352364.51 Inexact Rounded
 
352
ddqua385 quantize  -12345673523645.06 1e-2 -> -12345673523645.06
 
353
ddqua386 quantize  -123456735236450.6 1e-2 -> NaN Invalid_operation
 
354
ddqua387 quantize  -1234567352364506  1e-2 -> NaN Invalid_operation
 
355
 
 
356
rounding: down
 
357
ddqua389 quantize   123456735236450.6 1e-2 -> NaN Invalid_operation
 
358
-- ? should that one instead have been:
 
359
-- ddqua389 quantize   123456735236450.6 1e-2 -> NaN Invalid_operation
 
360
rounding: half_up
 
361
 
 
362
-- and a few more from e-mail discussions
 
363
ddqua391 quantize  12345678912.34567  1e-3 -> 12345678912.346   Inexact Rounded
 
364
ddqua392 quantize  123456789123.4567  1e-3 -> 123456789123.457  Inexact Rounded
 
365
ddqua393 quantize  1234567891234.567  1e-3 -> 1234567891234.567
 
366
ddqua394 quantize  12345678912345.67  1e-3 -> NaN Invalid_operation
 
367
ddqua395 quantize  123456789123456.7  1e-3 -> NaN Invalid_operation
 
368
ddqua396 quantize  1234567891234567.  1e-3 -> NaN Invalid_operation
 
369
 
 
370
-- some 9999 round-up cases
 
371
ddqua400 quantize   9.999        1e-5  ->  9.99900
 
372
ddqua401 quantize   9.999        1e-4  ->  9.9990
 
373
ddqua402 quantize   9.999        1e-3  ->  9.999
 
374
ddqua403 quantize   9.999        1e-2  -> 10.00     Inexact Rounded
 
375
ddqua404 quantize   9.999        1e-1  -> 10.0      Inexact Rounded
 
376
ddqua405 quantize   9.999         1e0  -> 10        Inexact Rounded
 
377
ddqua406 quantize   9.999         1e1  -> 1E+1      Inexact Rounded
 
378
ddqua407 quantize   9.999         1e2  -> 0E+2      Inexact Rounded
 
379
 
 
380
ddqua410 quantize   0.999        1e-5  ->  0.99900
 
381
ddqua411 quantize   0.999        1e-4  ->  0.9990
 
382
ddqua412 quantize   0.999        1e-3  ->  0.999
 
383
ddqua413 quantize   0.999        1e-2  ->  1.00     Inexact Rounded
 
384
ddqua414 quantize   0.999        1e-1  ->  1.0      Inexact Rounded
 
385
ddqua415 quantize   0.999         1e0  ->  1        Inexact Rounded
 
386
ddqua416 quantize   0.999         1e1  -> 0E+1      Inexact Rounded
 
387
 
 
388
ddqua420 quantize   0.0999       1e-5  ->  0.09990
 
389
ddqua421 quantize   0.0999       1e-4  ->  0.0999
 
390
ddqua422 quantize   0.0999       1e-3  ->  0.100    Inexact Rounded
 
391
ddqua423 quantize   0.0999       1e-2  ->  0.10     Inexact Rounded
 
392
ddqua424 quantize   0.0999       1e-1  ->  0.1      Inexact Rounded
 
393
ddqua425 quantize   0.0999        1e0  ->  0        Inexact Rounded
 
394
ddqua426 quantize   0.0999        1e1  -> 0E+1      Inexact Rounded
 
395
 
 
396
ddqua430 quantize   0.00999      1e-5  ->  0.00999
 
397
ddqua431 quantize   0.00999      1e-4  ->  0.0100   Inexact Rounded
 
398
ddqua432 quantize   0.00999      1e-3  ->  0.010    Inexact Rounded
 
399
ddqua433 quantize   0.00999      1e-2  ->  0.01     Inexact Rounded
 
400
ddqua434 quantize   0.00999      1e-1  ->  0.0      Inexact Rounded
 
401
ddqua435 quantize   0.00999       1e0  ->  0        Inexact Rounded
 
402
ddqua436 quantize   0.00999       1e1  -> 0E+1      Inexact Rounded
 
403
 
 
404
ddqua440 quantize   0.000999     1e-5  ->  0.00100  Inexact Rounded
 
405
ddqua441 quantize   0.000999     1e-4  ->  0.0010   Inexact Rounded
 
406
ddqua442 quantize   0.000999     1e-3  ->  0.001    Inexact Rounded
 
407
ddqua443 quantize   0.000999     1e-2  ->  0.00     Inexact Rounded
 
408
ddqua444 quantize   0.000999     1e-1  ->  0.0      Inexact Rounded
 
409
ddqua445 quantize   0.000999      1e0  ->  0        Inexact Rounded
 
410
ddqua446 quantize   0.000999      1e1  -> 0E+1      Inexact Rounded
 
411
 
 
412
ddqua1001 quantize  0.000        0.001 ->  0.000
 
413
ddqua1002 quantize  0.001        0.001 ->  0.001
 
414
ddqua1003 quantize  0.0012       0.001 ->  0.001     Inexact Rounded
 
415
ddqua1004 quantize  0.0018       0.001 ->  0.002     Inexact Rounded
 
416
ddqua1005 quantize  0.501        0.001 ->  0.501
 
417
ddqua1006 quantize  0.5012       0.001 ->  0.501     Inexact Rounded
 
418
ddqua1007 quantize  0.5018       0.001 ->  0.502     Inexact Rounded
 
419
ddqua1008 quantize  0.999        0.001 ->  0.999
 
420
 
 
421
ddqua481 quantize 12345678000 1e+3 -> 1.2345678E+10 Rounded
 
422
ddqua482 quantize 1234567800  1e+1 -> 1.23456780E+9 Rounded
 
423
ddqua483 quantize 1234567890  1e+1 -> 1.23456789E+9 Rounded
 
424
ddqua484 quantize 1234567891  1e+1 -> 1.23456789E+9 Inexact Rounded
 
425
ddqua485 quantize 12345678901 1e+2 -> 1.23456789E+10 Inexact Rounded
 
426
ddqua486 quantize 1234567896  1e+1 -> 1.23456790E+9 Inexact Rounded
 
427
-- a potential double-round
 
428
ddqua487 quantize 1234.987643 1e-4 -> 1234.9876 Inexact Rounded
 
429
ddqua488 quantize 1234.987647 1e-4 -> 1234.9876 Inexact Rounded
 
430
 
 
431
ddqua491 quantize 12345678000 1e+3 -> 1.2345678E+10 Rounded
 
432
ddqua492 quantize 1234567800  1e+1 -> 1.23456780E+9 Rounded
 
433
ddqua493 quantize 1234567890  1e+1 -> 1.23456789E+9 Rounded
 
434
ddqua494 quantize 1234567891  1e+1 -> 1.23456789E+9 Inexact Rounded
 
435
ddqua495 quantize 12345678901 1e+2 -> 1.23456789E+10 Inexact Rounded
 
436
ddqua496 quantize 1234567896  1e+1 -> 1.23456790E+9 Inexact Rounded
 
437
ddqua497 quantize 1234.987643 1e-4 -> 1234.9876 Inexact Rounded
 
438
ddqua498 quantize 1234.987647 1e-4 -> 1234.9876 Inexact Rounded
 
439
 
 
440
-- Zeros
 
441
ddqua500 quantize   0     1e1 ->  0E+1
 
442
ddqua501 quantize   0     1e0 ->  0
 
443
ddqua502 quantize   0    1e-1 ->  0.0
 
444
ddqua503 quantize   0.0  1e-1 ->  0.0
 
445
ddqua504 quantize   0.0   1e0 ->  0
 
446
ddqua505 quantize   0.0  1e+1 ->  0E+1
 
447
ddqua506 quantize   0E+1 1e-1 ->  0.0
 
448
ddqua507 quantize   0E+1  1e0 ->  0
 
449
ddqua508 quantize   0E+1 1e+1 ->  0E+1
 
450
ddqua509 quantize  -0     1e1 -> -0E+1
 
451
ddqua510 quantize  -0     1e0 -> -0
 
452
ddqua511 quantize  -0    1e-1 -> -0.0
 
453
ddqua512 quantize  -0.0  1e-1 -> -0.0
 
454
ddqua513 quantize  -0.0   1e0 -> -0
 
455
ddqua514 quantize  -0.0  1e+1 -> -0E+1
 
456
ddqua515 quantize  -0E+1 1e-1 -> -0.0
 
457
ddqua516 quantize  -0E+1  1e0 -> -0
 
458
ddqua517 quantize  -0E+1 1e+1 -> -0E+1
 
459
 
 
460
-- Suspicious RHS values
 
461
ddqua520 quantize   1.234    1e359 -> 0E+359 Inexact Rounded
 
462
ddqua521 quantize 123.456    1e359 -> 0E+359 Inexact Rounded
 
463
ddqua522 quantize   1.234    1e359 -> 0E+359 Inexact Rounded
 
464
ddqua523 quantize 123.456    1e359 -> 0E+359 Inexact Rounded
 
465
-- next four are "won't fit" overfl
 
466
ddqua526 quantize   1.234   1e-299 -> NaN Invalid_operation
 
467
ddqua527 quantize 123.456   1e-299 -> NaN Invalid_operation
 
468
ddqua528 quantize   1.234   1e-299 -> NaN Invalid_operation
 
469
ddqua529 quantize 123.456   1e-299 -> NaN Invalid_operation
 
470
 
 
471
ddqua532 quantize   1.234E+299    1e299 -> 1E+299    Inexact Rounded
 
472
ddqua533 quantize   1.234E+298    1e299 -> 0E+299    Inexact Rounded
 
473
ddqua534 quantize   1.234         1e299 -> 0E+299    Inexact Rounded
 
474
ddqua537 quantize   0            1e-299 -> 0E-299
 
475
-- next two are "won't fit" overflows
 
476
ddqua538 quantize   1.234        1e-299 -> NaN Invalid_operation
 
477
ddqua539 quantize   1.234        1e-300 -> NaN Invalid_operation
 
478
-- [more below]
 
479
 
 
480
-- Specials
 
481
ddqua580 quantize  Inf    -Inf   ->  Infinity
 
482
ddqua581 quantize  Inf  1e-299   ->  NaN  Invalid_operation
 
483
ddqua582 quantize  Inf  1e-1     ->  NaN  Invalid_operation
 
484
ddqua583 quantize  Inf   1e0     ->  NaN  Invalid_operation
 
485
ddqua584 quantize  Inf   1e1     ->  NaN  Invalid_operation
 
486
ddqua585 quantize  Inf   1e299   ->  NaN  Invalid_operation
 
487
ddqua586 quantize  Inf     Inf   ->  Infinity
 
488
ddqua587 quantize -1000    Inf   ->  NaN  Invalid_operation
 
489
ddqua588 quantize -Inf     Inf   ->  -Infinity
 
490
ddqua589 quantize -1       Inf   ->  NaN  Invalid_operation
 
491
ddqua590 quantize  0       Inf   ->  NaN  Invalid_operation
 
492
ddqua591 quantize  1       Inf   ->  NaN  Invalid_operation
 
493
ddqua592 quantize  1000    Inf   ->  NaN  Invalid_operation
 
494
ddqua593 quantize  Inf     Inf   ->  Infinity
 
495
ddqua594 quantize  Inf  1e-0     ->  NaN  Invalid_operation
 
496
ddqua595 quantize -0       Inf   ->  NaN  Invalid_operation
 
497
 
 
498
ddqua600 quantize -Inf    -Inf   ->  -Infinity
 
499
ddqua601 quantize -Inf  1e-299   ->  NaN  Invalid_operation
 
500
ddqua602 quantize -Inf  1e-1     ->  NaN  Invalid_operation
 
501
ddqua603 quantize -Inf   1e0     ->  NaN  Invalid_operation
 
502
ddqua604 quantize -Inf   1e1     ->  NaN  Invalid_operation
 
503
ddqua605 quantize -Inf   1e299   ->  NaN  Invalid_operation
 
504
ddqua606 quantize -Inf     Inf   ->  -Infinity
 
505
ddqua607 quantize -1000    Inf   ->  NaN  Invalid_operation
 
506
ddqua608 quantize -Inf    -Inf   ->  -Infinity
 
507
ddqua609 quantize -1      -Inf   ->  NaN  Invalid_operation
 
508
ddqua610 quantize  0      -Inf   ->  NaN  Invalid_operation
 
509
ddqua611 quantize  1      -Inf   ->  NaN  Invalid_operation
 
510
ddqua612 quantize  1000   -Inf   ->  NaN  Invalid_operation
 
511
ddqua613 quantize  Inf    -Inf   ->  Infinity
 
512
ddqua614 quantize -Inf  1e-0     ->  NaN  Invalid_operation
 
513
ddqua615 quantize -0      -Inf   ->  NaN  Invalid_operation
 
514
 
 
515
ddqua621 quantize  NaN   -Inf    ->  NaN
 
516
ddqua622 quantize  NaN 1e-299    ->  NaN
 
517
ddqua623 quantize  NaN 1e-1      ->  NaN
 
518
ddqua624 quantize  NaN  1e0      ->  NaN
 
519
ddqua625 quantize  NaN  1e1      ->  NaN
 
520
ddqua626 quantize  NaN  1e299    ->  NaN
 
521
ddqua627 quantize  NaN    Inf    ->  NaN
 
522
ddqua628 quantize  NaN    NaN    ->  NaN
 
523
ddqua629 quantize -Inf    NaN    ->  NaN
 
524
ddqua630 quantize -1000   NaN    ->  NaN
 
525
ddqua631 quantize -1      NaN    ->  NaN
 
526
ddqua632 quantize  0      NaN    ->  NaN
 
527
ddqua633 quantize  1      NaN    ->  NaN
 
528
ddqua634 quantize  1000   NaN    ->  NaN
 
529
ddqua635 quantize  Inf    NaN    ->  NaN
 
530
ddqua636 quantize  NaN 1e-0      ->  NaN
 
531
ddqua637 quantize -0      NaN    ->  NaN
 
532
 
 
533
ddqua641 quantize  sNaN   -Inf   ->  NaN  Invalid_operation
 
534
ddqua642 quantize  sNaN 1e-299   ->  NaN  Invalid_operation
 
535
ddqua643 quantize  sNaN 1e-1     ->  NaN  Invalid_operation
 
536
ddqua644 quantize  sNaN  1e0     ->  NaN  Invalid_operation
 
537
ddqua645 quantize  sNaN  1e1     ->  NaN  Invalid_operation
 
538
ddqua646 quantize  sNaN  1e299   ->  NaN  Invalid_operation
 
539
ddqua647 quantize  sNaN    NaN   ->  NaN  Invalid_operation
 
540
ddqua648 quantize  sNaN   sNaN   ->  NaN  Invalid_operation
 
541
ddqua649 quantize  NaN    sNaN   ->  NaN  Invalid_operation
 
542
ddqua650 quantize -Inf    sNaN   ->  NaN  Invalid_operation
 
543
ddqua651 quantize -1000   sNaN   ->  NaN  Invalid_operation
 
544
ddqua652 quantize -1      sNaN   ->  NaN  Invalid_operation
 
545
ddqua653 quantize  0      sNaN   ->  NaN  Invalid_operation
 
546
ddqua654 quantize  1      sNaN   ->  NaN  Invalid_operation
 
547
ddqua655 quantize  1000   sNaN   ->  NaN  Invalid_operation
 
548
ddqua656 quantize  Inf    sNaN   ->  NaN  Invalid_operation
 
549
ddqua657 quantize  NaN    sNaN   ->  NaN  Invalid_operation
 
550
ddqua658 quantize  sNaN 1e-0     ->  NaN  Invalid_operation
 
551
ddqua659 quantize -0      sNaN   ->  NaN  Invalid_operation
 
552
 
 
553
-- propagating NaNs
 
554
ddqua661 quantize  NaN9 -Inf   ->  NaN9
 
555
ddqua662 quantize  NaN8  919   ->  NaN8
 
556
ddqua663 quantize  NaN71 Inf   ->  NaN71
 
557
ddqua664 quantize  NaN6  NaN5  ->  NaN6
 
558
ddqua665 quantize -Inf   NaN4  ->  NaN4
 
559
ddqua666 quantize -919   NaN31 ->  NaN31
 
560
ddqua667 quantize  Inf   NaN2  ->  NaN2
 
561
 
 
562
ddqua671 quantize  sNaN99 -Inf    ->  NaN99 Invalid_operation
 
563
ddqua672 quantize  sNaN98 -11     ->  NaN98 Invalid_operation
 
564
ddqua673 quantize  sNaN97  NaN    ->  NaN97 Invalid_operation
 
565
ddqua674 quantize  sNaN16 sNaN94  ->  NaN16 Invalid_operation
 
566
ddqua675 quantize  NaN95  sNaN93  ->  NaN93 Invalid_operation
 
567
ddqua676 quantize -Inf    sNaN92  ->  NaN92 Invalid_operation
 
568
ddqua677 quantize  088    sNaN91  ->  NaN91 Invalid_operation
 
569
ddqua678 quantize  Inf    sNaN90  ->  NaN90 Invalid_operation
 
570
ddqua679 quantize  NaN    sNaN88  ->  NaN88 Invalid_operation
 
571
 
 
572
ddqua681 quantize -NaN9 -Inf   -> -NaN9
 
573
ddqua682 quantize -NaN8  919   -> -NaN8
 
574
ddqua683 quantize -NaN71 Inf   -> -NaN71
 
575
ddqua684 quantize -NaN6 -NaN5  -> -NaN6
 
576
ddqua685 quantize -Inf  -NaN4  -> -NaN4
 
577
ddqua686 quantize -919  -NaN31 -> -NaN31
 
578
ddqua687 quantize  Inf  -NaN2  -> -NaN2
 
579
 
 
580
ddqua691 quantize -sNaN99 -Inf    -> -NaN99 Invalid_operation
 
581
ddqua692 quantize -sNaN98 -11     -> -NaN98 Invalid_operation
 
582
ddqua693 quantize -sNaN97  NaN    -> -NaN97 Invalid_operation
 
583
ddqua694 quantize -sNaN16 sNaN94  -> -NaN16 Invalid_operation
 
584
ddqua695 quantize -NaN95 -sNaN93  -> -NaN93 Invalid_operation
 
585
ddqua696 quantize -Inf   -sNaN92  -> -NaN92 Invalid_operation
 
586
ddqua697 quantize  088   -sNaN91  -> -NaN91 Invalid_operation
 
587
ddqua698 quantize  Inf   -sNaN90  -> -NaN90 Invalid_operation
 
588
ddqua699 quantize  NaN   -sNaN88  -> -NaN88 Invalid_operation
 
589
 
 
590
-- subnormals and underflow
 
591
ddqua710 quantize  1.00E-383    1e-383  ->   1E-383    Rounded
 
592
ddqua711 quantize  0.1E-383    2e-384  ->   1E-384   Subnormal
 
593
ddqua712 quantize  0.10E-383   3e-384  ->   1E-384   Subnormal Rounded
 
594
ddqua713 quantize  0.100E-383  4e-384  ->   1E-384   Subnormal Rounded
 
595
ddqua714 quantize  0.01E-383   5e-385  ->   1E-385   Subnormal
 
596
-- next is rounded to Emin
 
597
ddqua715 quantize  0.999E-383   1e-383  ->   1E-383    Inexact Rounded
 
598
ddqua716 quantize  0.099E-383 10e-384  ->   1E-384   Inexact Rounded Subnormal
 
599
 
 
600
ddqua717 quantize  0.009E-383  1e-385  ->   1E-385   Inexact Rounded Subnormal
 
601
ddqua718 quantize  0.001E-383  1e-385  ->   0E-385   Inexact Rounded
 
602
ddqua719 quantize  0.0009E-383 1e-385  ->   0E-385   Inexact Rounded
 
603
ddqua720 quantize  0.0001E-383 1e-385  ->   0E-385   Inexact Rounded
 
604
 
 
605
ddqua730 quantize -1.00E-383   1e-383  ->  -1E-383     Rounded
 
606
ddqua731 quantize -0.1E-383    1e-383  ->  -0E-383     Rounded Inexact
 
607
ddqua732 quantize -0.10E-383   1e-383  ->  -0E-383     Rounded Inexact
 
608
ddqua733 quantize -0.100E-383  1e-383  ->  -0E-383     Rounded Inexact
 
609
ddqua734 quantize -0.01E-383   1e-383  ->  -0E-383     Inexact Rounded
 
610
-- next is rounded to Emin
 
611
ddqua735 quantize -0.999E-383 90e-383  ->  -1E-383     Inexact Rounded
 
612
ddqua736 quantize -0.099E-383 -1e-383  ->  -0E-383     Inexact Rounded
 
613
ddqua737 quantize -0.009E-383 -1e-383  ->  -0E-383     Inexact Rounded
 
614
ddqua738 quantize -0.001E-383 -0e-383  ->  -0E-383     Inexact Rounded
 
615
ddqua739 quantize -0.0001E-383 0e-383  ->  -0E-383     Inexact Rounded
 
616
 
 
617
ddqua740 quantize -1.00E-383   1e-384 ->  -1.0E-383   Rounded
 
618
ddqua741 quantize -0.1E-383    1e-384 ->  -1E-384    Subnormal
 
619
ddqua742 quantize -0.10E-383   1e-384 ->  -1E-384    Subnormal Rounded
 
620
ddqua743 quantize -0.100E-383  1e-384 ->  -1E-384    Subnormal Rounded
 
621
ddqua744 quantize -0.01E-383   1e-384 ->  -0E-384    Inexact Rounded
 
622
-- next is rounded to Emin
 
623
ddqua745 quantize -0.999E-383  1e-384 ->  -1.0E-383   Inexact Rounded
 
624
ddqua746 quantize -0.099E-383  1e-384 ->  -1E-384    Inexact Rounded Subnormal
 
625
ddqua747 quantize -0.009E-383  1e-384 ->  -0E-384    Inexact Rounded
 
626
ddqua748 quantize -0.001E-383  1e-384 ->  -0E-384    Inexact Rounded
 
627
ddqua749 quantize -0.0001E-383 1e-384 ->  -0E-384    Inexact Rounded
 
628
 
 
629
ddqua750 quantize -1.00E-383   1e-385 ->  -1.00E-383
 
630
ddqua751 quantize -0.1E-383    1e-385 ->  -1.0E-384  Subnormal
 
631
ddqua752 quantize -0.10E-383   1e-385 ->  -1.0E-384  Subnormal
 
632
ddqua753 quantize -0.100E-383  1e-385 ->  -1.0E-384  Subnormal Rounded
 
633
ddqua754 quantize -0.01E-383   1e-385 ->  -1E-385    Subnormal
 
634
-- next is rounded to Emin
 
635
ddqua755 quantize -0.999E-383  1e-385 ->  -1.00E-383  Inexact Rounded
 
636
ddqua756 quantize -0.099E-383  1e-385 ->  -1.0E-384  Inexact Rounded Subnormal
 
637
ddqua757 quantize -0.009E-383  1e-385 ->  -1E-385    Inexact Rounded Subnormal
 
638
ddqua758 quantize -0.001E-383  1e-385 ->  -0E-385    Inexact Rounded
 
639
ddqua759 quantize -0.0001E-383 1e-385 ->  -0E-385    Inexact Rounded
 
640
 
 
641
ddqua760 quantize -1.00E-383   1e-386 ->  -1.000E-383
 
642
ddqua761 quantize -0.1E-383    1e-386 ->  -1.00E-384  Subnormal
 
643
ddqua762 quantize -0.10E-383   1e-386 ->  -1.00E-384  Subnormal
 
644
ddqua763 quantize -0.100E-383  1e-386 ->  -1.00E-384  Subnormal
 
645
ddqua764 quantize -0.01E-383   1e-386 ->  -1.0E-385   Subnormal
 
646
ddqua765 quantize -0.999E-383  1e-386 ->  -9.99E-384  Subnormal
 
647
ddqua766 quantize -0.099E-383  1e-386 ->  -9.9E-385   Subnormal
 
648
ddqua767 quantize -0.009E-383  1e-386 ->  -9E-386     Subnormal
 
649
ddqua768 quantize -0.001E-383  1e-386 ->  -1E-386     Subnormal
 
650
ddqua769 quantize -0.0001E-383 1e-386 ->  -0E-386     Inexact Rounded
 
651
 
 
652
-- More from Fung Lee
 
653
ddqua1021 quantize  8.666666666666000E+384  1.000000000000000E+384 ->  8.666666666666000E+384
 
654
ddqua1022 quantize -8.666666666666000E+384  1.000000000000000E+384 -> -8.666666666666000E+384
 
655
ddqua1027 quantize 8.666666666666000E+323  1E+31    -> NaN Invalid_operation
 
656
ddqua1029 quantize 8.66666666E+3           1E+3     -> 9E+3 Inexact Rounded
 
657
 
 
658
 
 
659
--ddqua1030 quantize 8.666666666666000E+384 1E+384   -> 9.000000000000000E+384 Rounded Inexact
 
660
--ddqua1031 quantize 8.666666666666000E+384 1E+384   -> 8.666666666666000E+384 Rounded
 
661
--ddqua1032 quantize 8.666666666666000E+384 1E+383   -> 8.666666666666000E+384 Rounded
 
662
--ddqua1033 quantize 8.666666666666000E+384 1E+382   -> 8.666666666666000E+384 Rounded
 
663
--ddqua1034 quantize 8.666666666666000E+384 1E+381   -> 8.666666666666000E+384 Rounded
 
664
--ddqua1035 quantize 8.666666666666000E+384 1E+380   -> 8.666666666666000E+384 Rounded
 
665
 
 
666
-- Int and uInt32 edge values for testing conversions
 
667
ddqua1040 quantize -2147483646     0 -> -2147483646
 
668
ddqua1041 quantize -2147483647     0 -> -2147483647
 
669
ddqua1042 quantize -2147483648     0 -> -2147483648
 
670
ddqua1043 quantize -2147483649     0 -> -2147483649
 
671
ddqua1044 quantize  2147483646     0 ->  2147483646
 
672
ddqua1045 quantize  2147483647     0 ->  2147483647
 
673
ddqua1046 quantize  2147483648     0 ->  2147483648
 
674
ddqua1047 quantize  2147483649     0 ->  2147483649
 
675
ddqua1048 quantize  4294967294     0 ->  4294967294
 
676
ddqua1049 quantize  4294967295     0 ->  4294967295
 
677
ddqua1050 quantize  4294967296     0 ->  4294967296
 
678
ddqua1051 quantize  4294967297     0 ->  4294967297
 
679
 
 
680
-- Rounding swathe
 
681
rounding: half_even
 
682
ddqua1100 quantize  1.2300    1.00    ->  1.23  Rounded
 
683
ddqua1101 quantize  1.2301    1.00    ->  1.23  Inexact Rounded
 
684
ddqua1102 quantize  1.2310    1.00    ->  1.23  Inexact Rounded
 
685
ddqua1103 quantize  1.2350    1.00    ->  1.24  Inexact Rounded
 
686
ddqua1104 quantize  1.2351    1.00    ->  1.24  Inexact Rounded
 
687
ddqua1105 quantize  1.2450    1.00    ->  1.24  Inexact Rounded
 
688
ddqua1106 quantize  1.2451    1.00    ->  1.25  Inexact Rounded
 
689
ddqua1107 quantize  1.2360    1.00    ->  1.24  Inexact Rounded
 
690
ddqua1108 quantize  1.2370    1.00    ->  1.24  Inexact Rounded
 
691
ddqua1109 quantize  1.2399    1.00    ->  1.24  Inexact Rounded
 
692
 
 
693
rounding: half_up
 
694
ddqua1200 quantize  1.2300    1.00    ->  1.23  Rounded
 
695
ddqua1201 quantize  1.2301    1.00    ->  1.23  Inexact Rounded
 
696
ddqua1202 quantize  1.2310    1.00    ->  1.23  Inexact Rounded
 
697
ddqua1203 quantize  1.2350    1.00    ->  1.24  Inexact Rounded
 
698
ddqua1204 quantize  1.2351    1.00    ->  1.24  Inexact Rounded
 
699
ddqua1205 quantize  1.2450    1.00    ->  1.25  Inexact Rounded
 
700
ddqua1206 quantize  1.2451    1.00    ->  1.25  Inexact Rounded
 
701
ddqua1207 quantize  1.2360    1.00    ->  1.24  Inexact Rounded
 
702
ddqua1208 quantize  1.2370    1.00    ->  1.24  Inexact Rounded
 
703
ddqua1209 quantize  1.2399    1.00    ->  1.24  Inexact Rounded
 
704
 
 
705
rounding: half_down
 
706
ddqua1300 quantize  1.2300    1.00    ->  1.23  Rounded
 
707
ddqua1301 quantize  1.2301    1.00    ->  1.23  Inexact Rounded
 
708
ddqua1302 quantize  1.2310    1.00    ->  1.23  Inexact Rounded
 
709
ddqua1303 quantize  1.2350    1.00    ->  1.23  Inexact Rounded
 
710
ddqua1304 quantize  1.2351    1.00    ->  1.24  Inexact Rounded
 
711
ddqua1305 quantize  1.2450    1.00    ->  1.24  Inexact Rounded
 
712
ddqua1306 quantize  1.2451    1.00    ->  1.25  Inexact Rounded
 
713
ddqua1307 quantize  1.2360    1.00    ->  1.24  Inexact Rounded
 
714
ddqua1308 quantize  1.2370    1.00    ->  1.24  Inexact Rounded
 
715
ddqua1309 quantize  1.2399    1.00    ->  1.24  Inexact Rounded
 
716
 
 
717
rounding: up
 
718
ddqua1400 quantize  1.2300    1.00    ->  1.23  Rounded
 
719
ddqua1401 quantize  1.2301    1.00    ->  1.24  Inexact Rounded
 
720
ddqua1402 quantize  1.2310    1.00    ->  1.24  Inexact Rounded
 
721
ddqua1403 quantize  1.2350    1.00    ->  1.24  Inexact Rounded
 
722
ddqua1404 quantize  1.2351    1.00    ->  1.24  Inexact Rounded
 
723
ddqua1405 quantize  1.2450    1.00    ->  1.25  Inexact Rounded
 
724
ddqua1406 quantize  1.2451    1.00    ->  1.25  Inexact Rounded
 
725
ddqua1407 quantize  1.2360    1.00    ->  1.24  Inexact Rounded
 
726
ddqua1408 quantize  1.2370    1.00    ->  1.24  Inexact Rounded
 
727
ddqua1409 quantize  1.2399    1.00    ->  1.24  Inexact Rounded
 
728
ddqua1411 quantize -1.2399    1.00    -> -1.24  Inexact Rounded
 
729
 
 
730
rounding: down
 
731
ddqua1500 quantize  1.2300    1.00    ->  1.23  Rounded
 
732
ddqua1501 quantize  1.2301    1.00    ->  1.23  Inexact Rounded
 
733
ddqua1502 quantize  1.2310    1.00    ->  1.23  Inexact Rounded
 
734
ddqua1503 quantize  1.2350    1.00    ->  1.23  Inexact Rounded
 
735
ddqua1504 quantize  1.2351    1.00    ->  1.23  Inexact Rounded
 
736
ddqua1505 quantize  1.2450    1.00    ->  1.24  Inexact Rounded
 
737
ddqua1506 quantize  1.2451    1.00    ->  1.24  Inexact Rounded
 
738
ddqua1507 quantize  1.2360    1.00    ->  1.23  Inexact Rounded
 
739
ddqua1508 quantize  1.2370    1.00    ->  1.23  Inexact Rounded
 
740
ddqua1509 quantize  1.2399    1.00    ->  1.23  Inexact Rounded
 
741
ddqua1511 quantize -1.2399    1.00    -> -1.23  Inexact Rounded
 
742
 
 
743
rounding: ceiling
 
744
ddqua1600 quantize  1.2300    1.00    ->  1.23  Rounded
 
745
ddqua1601 quantize  1.2301    1.00    ->  1.24  Inexact Rounded
 
746
ddqua1602 quantize  1.2310    1.00    ->  1.24  Inexact Rounded
 
747
ddqua1603 quantize  1.2350    1.00    ->  1.24  Inexact Rounded
 
748
ddqua1604 quantize  1.2351    1.00    ->  1.24  Inexact Rounded
 
749
ddqua1605 quantize  1.2450    1.00    ->  1.25  Inexact Rounded
 
750
ddqua1606 quantize  1.2451    1.00    ->  1.25  Inexact Rounded
 
751
ddqua1607 quantize  1.2360    1.00    ->  1.24  Inexact Rounded
 
752
ddqua1608 quantize  1.2370    1.00    ->  1.24  Inexact Rounded
 
753
ddqua1609 quantize  1.2399    1.00    ->  1.24  Inexact Rounded
 
754
ddqua1611 quantize -1.2399    1.00    -> -1.23  Inexact Rounded
 
755
 
 
756
rounding: floor
 
757
ddqua1700 quantize  1.2300    1.00    ->  1.23  Rounded
 
758
ddqua1701 quantize  1.2301    1.00    ->  1.23  Inexact Rounded
 
759
ddqua1702 quantize  1.2310    1.00    ->  1.23  Inexact Rounded
 
760
ddqua1703 quantize  1.2350    1.00    ->  1.23  Inexact Rounded
 
761
ddqua1704 quantize  1.2351    1.00    ->  1.23  Inexact Rounded
 
762
ddqua1705 quantize  1.2450    1.00    ->  1.24  Inexact Rounded
 
763
ddqua1706 quantize  1.2451    1.00    ->  1.24  Inexact Rounded
 
764
ddqua1707 quantize  1.2360    1.00    ->  1.23  Inexact Rounded
 
765
ddqua1708 quantize  1.2370    1.00    ->  1.23  Inexact Rounded
 
766
ddqua1709 quantize  1.2399    1.00    ->  1.23  Inexact Rounded
 
767
ddqua1711 quantize -1.2399    1.00    -> -1.24  Inexact Rounded
 
768
 
 
769
rounding: 05up
 
770
ddqua1800 quantize  1.2000    1.00    ->  1.20  Rounded
 
771
ddqua1801 quantize  1.2001    1.00    ->  1.21  Inexact Rounded
 
772
ddqua1802 quantize  1.2010    1.00    ->  1.21  Inexact Rounded
 
773
ddqua1803 quantize  1.2050    1.00    ->  1.21  Inexact Rounded
 
774
ddqua1804 quantize  1.2051    1.00    ->  1.21  Inexact Rounded
 
775
ddqua1807 quantize  1.2060    1.00    ->  1.21  Inexact Rounded
 
776
ddqua1808 quantize  1.2070    1.00    ->  1.21  Inexact Rounded
 
777
ddqua1809 quantize  1.2099    1.00    ->  1.21  Inexact Rounded
 
778
ddqua1811 quantize -1.2099    1.00    -> -1.21  Inexact Rounded
 
779
 
 
780
ddqua1900 quantize  1.2100    1.00    ->  1.21  Rounded
 
781
ddqua1901 quantize  1.2101    1.00    ->  1.21  Inexact Rounded
 
782
ddqua1902 quantize  1.2110    1.00    ->  1.21  Inexact Rounded
 
783
ddqua1903 quantize  1.2150    1.00    ->  1.21  Inexact Rounded
 
784
ddqua1904 quantize  1.2151    1.00    ->  1.21  Inexact Rounded
 
785
ddqua1907 quantize  1.2160    1.00    ->  1.21  Inexact Rounded
 
786
ddqua1908 quantize  1.2170    1.00    ->  1.21  Inexact Rounded
 
787
ddqua1909 quantize  1.2199    1.00    ->  1.21  Inexact Rounded
 
788
ddqua1911 quantize -1.2199    1.00    -> -1.21  Inexact Rounded
 
789
 
 
790
ddqua2000 quantize  1.2400    1.00    ->  1.24  Rounded
 
791
ddqua2001 quantize  1.2401    1.00    ->  1.24  Inexact Rounded
 
792
ddqua2002 quantize  1.2410    1.00    ->  1.24  Inexact Rounded
 
793
ddqua2003 quantize  1.2450    1.00    ->  1.24  Inexact Rounded
 
794
ddqua2004 quantize  1.2451    1.00    ->  1.24  Inexact Rounded
 
795
ddqua2007 quantize  1.2460    1.00    ->  1.24  Inexact Rounded
 
796
ddqua2008 quantize  1.2470    1.00    ->  1.24  Inexact Rounded
 
797
ddqua2009 quantize  1.2499    1.00    ->  1.24  Inexact Rounded
 
798
ddqua2011 quantize -1.2499    1.00    -> -1.24  Inexact Rounded
 
799
 
 
800
ddqua2100 quantize  1.2500    1.00    ->  1.25  Rounded
 
801
ddqua2101 quantize  1.2501    1.00    ->  1.26  Inexact Rounded
 
802
ddqua2102 quantize  1.2510    1.00    ->  1.26  Inexact Rounded
 
803
ddqua2103 quantize  1.2550    1.00    ->  1.26  Inexact Rounded
 
804
ddqua2104 quantize  1.2551    1.00    ->  1.26  Inexact Rounded
 
805
ddqua2107 quantize  1.2560    1.00    ->  1.26  Inexact Rounded
 
806
ddqua2108 quantize  1.2570    1.00    ->  1.26  Inexact Rounded
 
807
ddqua2109 quantize  1.2599    1.00    ->  1.26  Inexact Rounded
 
808
ddqua2111 quantize -1.2599    1.00    -> -1.26  Inexact Rounded
 
809
 
 
810
ddqua2200 quantize  1.2600    1.00    ->  1.26  Rounded
 
811
ddqua2201 quantize  1.2601    1.00    ->  1.26  Inexact Rounded
 
812
ddqua2202 quantize  1.2610    1.00    ->  1.26  Inexact Rounded
 
813
ddqua2203 quantize  1.2650    1.00    ->  1.26  Inexact Rounded
 
814
ddqua2204 quantize  1.2651    1.00    ->  1.26  Inexact Rounded
 
815
ddqua2207 quantize  1.2660    1.00    ->  1.26  Inexact Rounded
 
816
ddqua2208 quantize  1.2670    1.00    ->  1.26  Inexact Rounded
 
817
ddqua2209 quantize  1.2699    1.00    ->  1.26  Inexact Rounded
 
818
ddqua2211 quantize -1.2699    1.00    -> -1.26  Inexact Rounded
 
819
 
 
820
ddqua2300 quantize  1.2900    1.00    ->  1.29  Rounded
 
821
ddqua2301 quantize  1.2901    1.00    ->  1.29  Inexact Rounded
 
822
ddqua2302 quantize  1.2910    1.00    ->  1.29  Inexact Rounded
 
823
ddqua2303 quantize  1.2950    1.00    ->  1.29  Inexact Rounded
 
824
ddqua2304 quantize  1.2951    1.00    ->  1.29  Inexact Rounded
 
825
ddqua2307 quantize  1.2960    1.00    ->  1.29  Inexact Rounded
 
826
ddqua2308 quantize  1.2970    1.00    ->  1.29  Inexact Rounded
 
827
ddqua2309 quantize  1.2999    1.00    ->  1.29  Inexact Rounded
 
828
ddqua2311 quantize -1.2999    1.00    -> -1.29  Inexact Rounded
 
829
 
 
830
-- Null tests
 
831
rounding:    half_even
 
832
ddqua998 quantize 10    # -> NaN Invalid_operation
 
833
ddqua999 quantize  # 1e10 -> NaN Invalid_operation