154
154
extr1302 fma 0E123 -Inf sNaN789 -> NaN Invalid_operation
155
155
extr1302 fma -Inf 0E-456 sNaN148 -> NaN Invalid_operation
157
extr1400 comparetotal NaN123 NaN45 -> 1
158
extr1401 comparetotal sNaN123 sNaN45 -> 1
159
extr1402 comparetotal -NaN123 -NaN45 -> -1
160
extr1403 comparetotal -sNaN123 -sNaN45 -> -1
161
extr1404 comparetotal NaN45 NaN123 -> -1
162
extr1405 comparetotal sNaN45 sNaN123 -> -1
163
extr1406 comparetotal -NaN45 -NaN123 -> 1
164
extr1407 comparetotal -sNaN45 -sNaN123 -> 1
166
extr1410 comparetotal -sNaN63450748854172416 -sNaN911993 -> -1
167
extr1411 comparetotmag NaN1222222222222 -NaN999999 -> 1
170
157
-- max/min/max_mag/min_mag bug in 2.5.2/2.6/3.0: max(NaN, finite) gave
171
158
-- incorrect answers when the finite number required rounding; similarly
172
159
-- for the other thre functions
187
171
extr1430 min_mag 9181716151 -NaN -> 9.18172E+9 Inexact Rounded
188
172
extr1431 min_mag NaN4 1.818180E100 -> 1.81818E+100 Rounded
174
-- Issue #6794: when comparing NaNs using compare_total, payloads
175
-- should be compared as though positive integers; not
176
-- lexicographically as strings.
177
extr1500 comparetotal NaN123 NaN45 -> 1
178
extr1501 comparetotal sNaN123 sNaN45 -> 1
179
extr1502 comparetotal -NaN123 -NaN45 -> -1
180
extr1503 comparetotal -sNaN123 -sNaN45 -> -1
181
extr1504 comparetotal NaN45 NaN123 -> -1
182
extr1505 comparetotal sNaN45 sNaN123 -> -1
183
extr1506 comparetotal -NaN45 -NaN123 -> 1
184
extr1507 comparetotal -sNaN45 -sNaN123 -> 1
186
extr1510 comparetotal -sNaN63450748854172416 -sNaN911993 -> -1
187
extr1511 comparetotmag NaN1222222222222 -NaN999999 -> 1
189
-- Issue #7233: rotate and scale should truncate an argument
190
-- of length greater than the current precision.
192
extr1600 rotate 1234567 -5 -> NaN Invalid_operation
193
extr1601 rotate 1234567 -4 -> 4567
194
extr1602 rotate 1234567 -3 -> 5674
195
extr1603 rotate 1234567 -2 -> 6745
196
extr1604 rotate 1234567 -1 -> 7456
197
extr1605 rotate 1234567 0 -> 4567
198
extr1606 rotate 1234567 1 -> 5674
199
extr1607 rotate 1234567 2 -> 6745
200
extr1608 rotate 1234567 3 -> 7456
201
extr1609 rotate 1234567 4 -> 4567
202
extr1610 rotate 1234567 5 -> NaN Invalid_operation
204
extr1650 shift 1234567 -5 -> NaN Invalid_operation
205
extr1651 shift 1234567 -4 -> 0
206
extr1652 shift 1234567 -3 -> 4
207
extr1653 shift 1234567 -2 -> 45
208
extr1654 shift 1234567 -1 -> 456
209
extr1655 shift 1234567 0 -> 4567
210
extr1656 shift 1234567 1 -> 5670
211
extr1657 shift 1234567 2 -> 6700
212
extr1658 shift 1234567 3 -> 7000
213
extr1659 shift 1234567 4 -> 0
214
extr1660 shift 1234567 5 -> NaN Invalid_operation
190
218
-- Tests for the is_* boolean operations
1128
1156
bool0933 isnormal -1E+998 -> 1
1129
1157
bool0934 isnormal 1E+999 -> 1
1130
1158
bool0935 isnormal -1E+999 -> 1
1131
bool0936 isnormal 1E+1000 -> 0
1132
bool0937 isnormal -1E+1000 -> 0
1133
bool0938 isnormal 1E+2000 -> 0
1134
bool0939 isnormal -1E+2000 -> 0
1159
bool0936 isnormal 1E+1000 -> 1
1160
bool0937 isnormal -1E+1000 -> 1
1161
bool0938 isnormal 1E+2000 -> 1
1162
bool0939 isnormal -1E+2000 -> 1
1135
1163
bool0940 isnormal 9E-2000 -> 0
1136
1164
bool0941 isnormal -9E-2000 -> 0
1137
1165
bool0942 isnormal 9E-1008 -> 0
1178
1206
bool0983 isnormal -9E+998 -> 1
1179
1207
bool0984 isnormal 9E+999 -> 1
1180
1208
bool0985 isnormal -9E+999 -> 1
1181
bool0986 isnormal 9E+1000 -> 0
1182
bool0987 isnormal -9E+1000 -> 0
1183
bool0988 isnormal 9E+2000 -> 0
1184
bool0989 isnormal -9E+2000 -> 0
1209
bool0986 isnormal 9E+1000 -> 1
1210
bool0987 isnormal -9E+1000 -> 1
1211
bool0988 isnormal 9E+2000 -> 1
1212
bool0989 isnormal -9E+2000 -> 1
1185
1213
bool0990 isnormal 9.99999999E-2000 -> 0
1186
1214
bool0991 isnormal -9.99999999E-2000 -> 0
1187
1215
bool0992 isnormal 9.99999999E-1008 -> 0
1228
1256
bool1033 isnormal -9.99999999E+998 -> 1
1229
1257
bool1034 isnormal 9.99999999E+999 -> 1
1230
1258
bool1035 isnormal -9.99999999E+999 -> 1
1231
bool1036 isnormal 9.99999999E+1000 -> 0
1232
bool1037 isnormal -9.99999999E+1000 -> 0
1233
bool1038 isnormal 9.99999999E+2000 -> 0
1234
bool1039 isnormal -9.99999999E+2000 -> 0
1259
bool1036 isnormal 9.99999999E+1000 -> 1
1260
bool1037 isnormal -9.99999999E+1000 -> 1
1261
bool1038 isnormal 9.99999999E+2000 -> 1
1262
bool1039 isnormal -9.99999999E+2000 -> 1
1235
1263
bool1040 isnormal Infinity -> 0
1236
1264
bool1041 isnormal -Infinity -> 0
1237
1265
bool1042 isnormal NaN -> 0