17db96d56Sopenharmony_ci------------------------------------------------------------------------
27db96d56Sopenharmony_ci-- maxmag.decTest -- decimal maximum by magnitude                     --
37db96d56Sopenharmony_ci-- Copyright (c) IBM Corporation, 1981, 2008.  All rights reserved.   --
47db96d56Sopenharmony_ci------------------------------------------------------------------------
57db96d56Sopenharmony_ci-- Please see the document "General Decimal Arithmetic Testcases"     --
67db96d56Sopenharmony_ci-- at http://www2.hursley.ibm.com/decimal for the description of      --
77db96d56Sopenharmony_ci-- these testcases.                                                   --
87db96d56Sopenharmony_ci--                                                                    --
97db96d56Sopenharmony_ci-- These testcases are experimental ('beta' versions), and they       --
107db96d56Sopenharmony_ci-- may contain errors.  They are offered on an as-is basis.  In       --
117db96d56Sopenharmony_ci-- particular, achieving the same results as the tests here is not    --
127db96d56Sopenharmony_ci-- a guarantee that an implementation complies with any Standard      --
137db96d56Sopenharmony_ci-- or specification.  The tests are not exhaustive.                   --
147db96d56Sopenharmony_ci--                                                                    --
157db96d56Sopenharmony_ci-- Please send comments, suggestions, and corrections to the author:  --
167db96d56Sopenharmony_ci--   Mike Cowlishaw, IBM Fellow                                       --
177db96d56Sopenharmony_ci--   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --
187db96d56Sopenharmony_ci--   mfc@uk.ibm.com                                                   --
197db96d56Sopenharmony_ci------------------------------------------------------------------------
207db96d56Sopenharmony_civersion: 2.59
217db96d56Sopenharmony_ci
227db96d56Sopenharmony_ci-- we assume that base comparison is tested in compare.decTest, so
237db96d56Sopenharmony_ci-- these mainly cover special cases and rounding
247db96d56Sopenharmony_ci
257db96d56Sopenharmony_ciextended:    1
267db96d56Sopenharmony_ciprecision:   9
277db96d56Sopenharmony_cirounding:    half_up
287db96d56Sopenharmony_cimaxExponent: 384
297db96d56Sopenharmony_ciminexponent: -383
307db96d56Sopenharmony_ci
317db96d56Sopenharmony_ci-- sanity checks
327db96d56Sopenharmony_cimxgx001 maxmag  -2  -2  -> -2
337db96d56Sopenharmony_cimxgx002 maxmag  -2  -1  -> -2
347db96d56Sopenharmony_cimxgx003 maxmag  -2   0  -> -2
357db96d56Sopenharmony_cimxgx004 maxmag  -2   1  -> -2
367db96d56Sopenharmony_cimxgx005 maxmag  -2   2  ->  2
377db96d56Sopenharmony_cimxgx006 maxmag  -1  -2  -> -2
387db96d56Sopenharmony_cimxgx007 maxmag  -1  -1  -> -1
397db96d56Sopenharmony_cimxgx008 maxmag  -1   0  -> -1
407db96d56Sopenharmony_cimxgx009 maxmag  -1   1  ->  1
417db96d56Sopenharmony_cimxgx010 maxmag  -1   2  ->  2
427db96d56Sopenharmony_cimxgx011 maxmag   0  -2  -> -2
437db96d56Sopenharmony_cimxgx012 maxmag   0  -1  -> -1
447db96d56Sopenharmony_cimxgx013 maxmag   0   0  ->  0
457db96d56Sopenharmony_cimxgx014 maxmag   0   1  ->  1
467db96d56Sopenharmony_cimxgx015 maxmag   0   2  ->  2
477db96d56Sopenharmony_cimxgx016 maxmag   1  -2  -> -2
487db96d56Sopenharmony_cimxgx017 maxmag   1  -1  ->  1
497db96d56Sopenharmony_cimxgx018 maxmag   1   0  ->  1
507db96d56Sopenharmony_cimxgx019 maxmag   1   1  ->  1
517db96d56Sopenharmony_cimxgx020 maxmag   1   2  ->  2
527db96d56Sopenharmony_cimxgx021 maxmag   2  -2  ->  2
537db96d56Sopenharmony_cimxgx022 maxmag   2  -1  ->  2
547db96d56Sopenharmony_cimxgx023 maxmag   2   0  ->  2
557db96d56Sopenharmony_cimxgx025 maxmag   2   1  ->  2
567db96d56Sopenharmony_cimxgx026 maxmag   2   2  ->  2
577db96d56Sopenharmony_ci
587db96d56Sopenharmony_ci-- extended zeros
597db96d56Sopenharmony_cimxgx030 maxmag   0     0   ->  0
607db96d56Sopenharmony_cimxgx031 maxmag   0    -0   ->  0
617db96d56Sopenharmony_cimxgx032 maxmag   0    -0.0 ->  0
627db96d56Sopenharmony_cimxgx033 maxmag   0     0.0 ->  0
637db96d56Sopenharmony_cimxgx034 maxmag  -0     0   ->  0    -- note: -0 = 0, but 0 chosen
647db96d56Sopenharmony_cimxgx035 maxmag  -0    -0   -> -0
657db96d56Sopenharmony_cimxgx036 maxmag  -0    -0.0 -> -0.0
667db96d56Sopenharmony_cimxgx037 maxmag  -0     0.0 ->  0.0
677db96d56Sopenharmony_cimxgx038 maxmag   0.0   0   ->  0
687db96d56Sopenharmony_cimxgx039 maxmag   0.0  -0   ->  0.0
697db96d56Sopenharmony_cimxgx040 maxmag   0.0  -0.0 ->  0.0
707db96d56Sopenharmony_cimxgx041 maxmag   0.0   0.0 ->  0.0
717db96d56Sopenharmony_cimxgx042 maxmag  -0.0   0   ->  0
727db96d56Sopenharmony_cimxgx043 maxmag  -0.0  -0   -> -0.0
737db96d56Sopenharmony_cimxgx044 maxmag  -0.0  -0.0 -> -0.0
747db96d56Sopenharmony_cimxgx045 maxmag  -0.0   0.0 ->  0.0
757db96d56Sopenharmony_ci
767db96d56Sopenharmony_cimxgx050 maxmag  -0E1   0E1 ->  0E+1
777db96d56Sopenharmony_cimxgx051 maxmag  -0E2   0E2 ->  0E+2
787db96d56Sopenharmony_cimxgx052 maxmag  -0E2   0E1 ->  0E+1
797db96d56Sopenharmony_cimxgx053 maxmag  -0E1   0E2 ->  0E+2
807db96d56Sopenharmony_cimxgx054 maxmag   0E1  -0E1 ->  0E+1
817db96d56Sopenharmony_cimxgx055 maxmag   0E2  -0E2 ->  0E+2
827db96d56Sopenharmony_cimxgx056 maxmag   0E2  -0E1 ->  0E+2
837db96d56Sopenharmony_cimxgx057 maxmag   0E1  -0E2 ->  0E+1
847db96d56Sopenharmony_ci
857db96d56Sopenharmony_cimxgx058 maxmag   0E1   0E1 ->  0E+1
867db96d56Sopenharmony_cimxgx059 maxmag   0E2   0E2 ->  0E+2
877db96d56Sopenharmony_cimxgx060 maxmag   0E2   0E1 ->  0E+2
887db96d56Sopenharmony_cimxgx061 maxmag   0E1   0E2 ->  0E+2
897db96d56Sopenharmony_cimxgx062 maxmag  -0E1  -0E1 -> -0E+1
907db96d56Sopenharmony_cimxgx063 maxmag  -0E2  -0E2 -> -0E+2
917db96d56Sopenharmony_cimxgx064 maxmag  -0E2  -0E1 -> -0E+1
927db96d56Sopenharmony_cimxgx065 maxmag  -0E1  -0E2 -> -0E+1
937db96d56Sopenharmony_ci
947db96d56Sopenharmony_ci-- Specials
957db96d56Sopenharmony_ciprecision: 9
967db96d56Sopenharmony_cimxgx090 maxmag  Inf  -Inf   ->  Infinity
977db96d56Sopenharmony_cimxgx091 maxmag  Inf  -1000  ->  Infinity
987db96d56Sopenharmony_cimxgx092 maxmag  Inf  -1     ->  Infinity
997db96d56Sopenharmony_cimxgx093 maxmag  Inf  -0     ->  Infinity
1007db96d56Sopenharmony_cimxgx094 maxmag  Inf   0     ->  Infinity
1017db96d56Sopenharmony_cimxgx095 maxmag  Inf   1     ->  Infinity
1027db96d56Sopenharmony_cimxgx096 maxmag  Inf   1000  ->  Infinity
1037db96d56Sopenharmony_cimxgx097 maxmag  Inf   Inf   ->  Infinity
1047db96d56Sopenharmony_cimxgx098 maxmag -1000  Inf   ->  Infinity
1057db96d56Sopenharmony_cimxgx099 maxmag -Inf   Inf   ->  Infinity
1067db96d56Sopenharmony_cimxgx100 maxmag -1     Inf   ->  Infinity
1077db96d56Sopenharmony_cimxgx101 maxmag -0     Inf   ->  Infinity
1087db96d56Sopenharmony_cimxgx102 maxmag  0     Inf   ->  Infinity
1097db96d56Sopenharmony_cimxgx103 maxmag  1     Inf   ->  Infinity
1107db96d56Sopenharmony_cimxgx104 maxmag  1000  Inf   ->  Infinity
1117db96d56Sopenharmony_cimxgx105 maxmag  Inf   Inf   ->  Infinity
1127db96d56Sopenharmony_ci
1137db96d56Sopenharmony_cimxgx120 maxmag -Inf  -Inf   -> -Infinity
1147db96d56Sopenharmony_cimxgx121 maxmag -Inf  -1000  -> -Infinity
1157db96d56Sopenharmony_cimxgx122 maxmag -Inf  -1     -> -Infinity
1167db96d56Sopenharmony_cimxgx123 maxmag -Inf  -0     -> -Infinity
1177db96d56Sopenharmony_cimxgx124 maxmag -Inf   0     -> -Infinity
1187db96d56Sopenharmony_cimxgx125 maxmag -Inf   1     -> -Infinity
1197db96d56Sopenharmony_cimxgx126 maxmag -Inf   1000  -> -Infinity
1207db96d56Sopenharmony_cimxgx127 maxmag -Inf   Inf   ->  Infinity
1217db96d56Sopenharmony_cimxgx128 maxmag -Inf  -Inf   -> -Infinity
1227db96d56Sopenharmony_cimxgx129 maxmag -1000 -Inf   -> -Infinity
1237db96d56Sopenharmony_cimxgx130 maxmag -1    -Inf   -> -Infinity
1247db96d56Sopenharmony_cimxgx131 maxmag -0    -Inf   -> -Infinity
1257db96d56Sopenharmony_cimxgx132 maxmag  0    -Inf   -> -Infinity
1267db96d56Sopenharmony_cimxgx133 maxmag  1    -Inf   -> -Infinity
1277db96d56Sopenharmony_cimxgx134 maxmag  1000 -Inf   -> -Infinity
1287db96d56Sopenharmony_cimxgx135 maxmag  Inf  -Inf   ->  Infinity
1297db96d56Sopenharmony_ci
1307db96d56Sopenharmony_ci-- 2004.08.02 754r chooses number over NaN in mixed cases
1317db96d56Sopenharmony_cimxgx141 maxmag  NaN -Inf    -> -Infinity
1327db96d56Sopenharmony_cimxgx142 maxmag  NaN -1000   -> -1000
1337db96d56Sopenharmony_cimxgx143 maxmag  NaN -1      -> -1
1347db96d56Sopenharmony_cimxgx144 maxmag  NaN -0      -> -0
1357db96d56Sopenharmony_cimxgx145 maxmag  NaN  0      ->  0
1367db96d56Sopenharmony_cimxgx146 maxmag  NaN  1      ->  1
1377db96d56Sopenharmony_cimxgx147 maxmag  NaN  1000   ->  1000
1387db96d56Sopenharmony_cimxgx148 maxmag  NaN  Inf    ->  Infinity
1397db96d56Sopenharmony_cimxgx149 maxmag  NaN  NaN    ->  NaN
1407db96d56Sopenharmony_cimxgx150 maxmag -Inf  NaN    -> -Infinity
1417db96d56Sopenharmony_cimxgx151 maxmag -1000 NaN    -> -1000
1427db96d56Sopenharmony_cimxgx152 maxmag -1    NaN    -> -1
1437db96d56Sopenharmony_cimxgx153 maxmag -0    NaN    -> -0
1447db96d56Sopenharmony_cimxgx154 maxmag  0    NaN    ->  0
1457db96d56Sopenharmony_cimxgx155 maxmag  1    NaN    ->  1
1467db96d56Sopenharmony_cimxgx156 maxmag  1000 NaN    ->  1000
1477db96d56Sopenharmony_cimxgx157 maxmag  Inf  NaN    ->  Infinity
1487db96d56Sopenharmony_ci
1497db96d56Sopenharmony_cimxgx161 maxmag  sNaN -Inf   ->  NaN  Invalid_operation
1507db96d56Sopenharmony_cimxgx162 maxmag  sNaN -1000  ->  NaN  Invalid_operation
1517db96d56Sopenharmony_cimxgx163 maxmag  sNaN -1     ->  NaN  Invalid_operation
1527db96d56Sopenharmony_cimxgx164 maxmag  sNaN -0     ->  NaN  Invalid_operation
1537db96d56Sopenharmony_cimxgx165 maxmag  sNaN  0     ->  NaN  Invalid_operation
1547db96d56Sopenharmony_cimxgx166 maxmag  sNaN  1     ->  NaN  Invalid_operation
1557db96d56Sopenharmony_cimxgx167 maxmag  sNaN  1000  ->  NaN  Invalid_operation
1567db96d56Sopenharmony_cimxgx168 maxmag  sNaN  NaN   ->  NaN  Invalid_operation
1577db96d56Sopenharmony_cimxgx169 maxmag  sNaN sNaN   ->  NaN  Invalid_operation
1587db96d56Sopenharmony_cimxgx170 maxmag  NaN  sNaN   ->  NaN  Invalid_operation
1597db96d56Sopenharmony_cimxgx171 maxmag -Inf  sNaN   ->  NaN  Invalid_operation
1607db96d56Sopenharmony_cimxgx172 maxmag -1000 sNaN   ->  NaN  Invalid_operation
1617db96d56Sopenharmony_cimxgx173 maxmag -1    sNaN   ->  NaN  Invalid_operation
1627db96d56Sopenharmony_cimxgx174 maxmag -0    sNaN   ->  NaN  Invalid_operation
1637db96d56Sopenharmony_cimxgx175 maxmag  0    sNaN   ->  NaN  Invalid_operation
1647db96d56Sopenharmony_cimxgx176 maxmag  1    sNaN   ->  NaN  Invalid_operation
1657db96d56Sopenharmony_cimxgx177 maxmag  1000 sNaN   ->  NaN  Invalid_operation
1667db96d56Sopenharmony_cimxgx178 maxmag  Inf  sNaN   ->  NaN  Invalid_operation
1677db96d56Sopenharmony_cimxgx179 maxmag  NaN  sNaN   ->  NaN  Invalid_operation
1687db96d56Sopenharmony_ci
1697db96d56Sopenharmony_ci-- propagating NaNs
1707db96d56Sopenharmony_cimxgx181 maxmag  NaN9  -Inf   -> -Infinity
1717db96d56Sopenharmony_cimxgx182 maxmag  NaN8     9   ->  9
1727db96d56Sopenharmony_cimxgx183 maxmag -NaN7   Inf   ->  Infinity
1737db96d56Sopenharmony_ci
1747db96d56Sopenharmony_cimxgx184 maxmag -NaN1   NaN11 -> -NaN1
1757db96d56Sopenharmony_cimxgx185 maxmag  NaN2   NaN12 ->  NaN2
1767db96d56Sopenharmony_cimxgx186 maxmag -NaN13 -NaN7  -> -NaN13
1777db96d56Sopenharmony_cimxgx187 maxmag  NaN14 -NaN5  ->  NaN14
1787db96d56Sopenharmony_ci
1797db96d56Sopenharmony_cimxgx188 maxmag -Inf    NaN4  -> -Infinity
1807db96d56Sopenharmony_cimxgx189 maxmag -9     -NaN3  -> -9
1817db96d56Sopenharmony_cimxgx190 maxmag  Inf    NaN2  ->  Infinity
1827db96d56Sopenharmony_ci
1837db96d56Sopenharmony_cimxgx191 maxmag  sNaN99 -Inf    ->  NaN99 Invalid_operation
1847db96d56Sopenharmony_cimxgx192 maxmag  sNaN98 -1      ->  NaN98 Invalid_operation
1857db96d56Sopenharmony_cimxgx193 maxmag -sNaN97  NaN    -> -NaN97 Invalid_operation
1867db96d56Sopenharmony_cimxgx194 maxmag  sNaN96 sNaN94  ->  NaN96 Invalid_operation
1877db96d56Sopenharmony_cimxgx195 maxmag  NaN95  sNaN93  ->  NaN93 Invalid_operation
1887db96d56Sopenharmony_cimxgx196 maxmag -Inf    sNaN92  ->  NaN92 Invalid_operation
1897db96d56Sopenharmony_cimxgx197 maxmag  0      sNaN91  ->  NaN91 Invalid_operation
1907db96d56Sopenharmony_cimxgx198 maxmag  Inf   -sNaN90  -> -NaN90 Invalid_operation
1917db96d56Sopenharmony_cimxgx199 maxmag  NaN    sNaN89  ->  NaN89 Invalid_operation
1927db96d56Sopenharmony_ci
1937db96d56Sopenharmony_ci-- rounding checks
1947db96d56Sopenharmony_cimaxexponent: 999
1957db96d56Sopenharmony_ciminexponent: -999
1967db96d56Sopenharmony_ciprecision: 9
1977db96d56Sopenharmony_cimxgx201 maxmag 12345678000 1  -> 1.23456780E+10 Rounded
1987db96d56Sopenharmony_cimxgx202 maxmag 1 12345678000  -> 1.23456780E+10 Rounded
1997db96d56Sopenharmony_cimxgx203 maxmag 1234567800  1  -> 1.23456780E+9 Rounded
2007db96d56Sopenharmony_cimxgx204 maxmag 1 1234567800   -> 1.23456780E+9 Rounded
2017db96d56Sopenharmony_cimxgx205 maxmag 1234567890  1  -> 1.23456789E+9 Rounded
2027db96d56Sopenharmony_cimxgx206 maxmag 1 1234567890   -> 1.23456789E+9 Rounded
2037db96d56Sopenharmony_cimxgx207 maxmag 1234567891  1  -> 1.23456789E+9 Inexact Rounded
2047db96d56Sopenharmony_cimxgx208 maxmag 1 1234567891   -> 1.23456789E+9 Inexact Rounded
2057db96d56Sopenharmony_cimxgx209 maxmag 12345678901 1  -> 1.23456789E+10 Inexact Rounded
2067db96d56Sopenharmony_cimxgx210 maxmag 1 12345678901  -> 1.23456789E+10 Inexact Rounded
2077db96d56Sopenharmony_cimxgx211 maxmag 1234567896  1  -> 1.23456790E+9 Inexact Rounded
2087db96d56Sopenharmony_cimxgx212 maxmag 1 1234567896   -> 1.23456790E+9 Inexact Rounded
2097db96d56Sopenharmony_cimxgx213 maxmag -1234567891  1 -> -1.23456789E+9   Inexact Rounded
2107db96d56Sopenharmony_cimxgx214 maxmag 1 -1234567891  -> -1.23456789E+9   Inexact Rounded
2117db96d56Sopenharmony_cimxgx215 maxmag -12345678901 1 -> -1.23456789E+10  Inexact Rounded
2127db96d56Sopenharmony_cimxgx216 maxmag 1 -12345678901 -> -1.23456789E+10  Inexact Rounded
2137db96d56Sopenharmony_cimxgx217 maxmag -1234567896  1 -> -1.23456790E+9   Inexact Rounded
2147db96d56Sopenharmony_cimxgx218 maxmag 1 -1234567896  -> -1.23456790E+9   Inexact Rounded
2157db96d56Sopenharmony_ci
2167db96d56Sopenharmony_ciprecision: 15
2177db96d56Sopenharmony_cimxgx221 maxmag 12345678000 1  -> 12345678000
2187db96d56Sopenharmony_cimxgx222 maxmag 1 12345678000  -> 12345678000
2197db96d56Sopenharmony_cimxgx223 maxmag 1234567800  1  -> 1234567800
2207db96d56Sopenharmony_cimxgx224 maxmag 1 1234567800   -> 1234567800
2217db96d56Sopenharmony_cimxgx225 maxmag 1234567890  1  -> 1234567890
2227db96d56Sopenharmony_cimxgx226 maxmag 1 1234567890   -> 1234567890
2237db96d56Sopenharmony_cimxgx227 maxmag 1234567891  1  -> 1234567891
2247db96d56Sopenharmony_cimxgx228 maxmag 1 1234567891   -> 1234567891
2257db96d56Sopenharmony_cimxgx229 maxmag 12345678901 1  -> 12345678901
2267db96d56Sopenharmony_cimxgx230 maxmag 1 12345678901  -> 12345678901
2277db96d56Sopenharmony_cimxgx231 maxmag 1234567896  1  -> 1234567896
2287db96d56Sopenharmony_cimxgx232 maxmag 1 1234567896   -> 1234567896
2297db96d56Sopenharmony_cimxgx233 maxmag -1234567891  1 -> -1234567891
2307db96d56Sopenharmony_cimxgx234 maxmag 1 -1234567891  -> -1234567891
2317db96d56Sopenharmony_cimxgx235 maxmag -12345678901 1 -> -12345678901
2327db96d56Sopenharmony_cimxgx236 maxmag 1 -12345678901 -> -12345678901
2337db96d56Sopenharmony_cimxgx237 maxmag -1234567896  1 -> -1234567896
2347db96d56Sopenharmony_cimxgx238 maxmag 1 -1234567896  -> -1234567896
2357db96d56Sopenharmony_ci
2367db96d56Sopenharmony_ci-- from examples
2377db96d56Sopenharmony_cimxgx280 maxmag '3'   '2'  ->  '3'
2387db96d56Sopenharmony_cimxgx281 maxmag '-10' '3'  ->  '-10'
2397db96d56Sopenharmony_cimxgx282 maxmag '1.0' '1'  ->  '1'
2407db96d56Sopenharmony_cimxgx283 maxmag '1' '1.0'  ->  '1'
2417db96d56Sopenharmony_cimxgx284 maxmag '7' 'NaN'  ->  '7'
2427db96d56Sopenharmony_ci
2437db96d56Sopenharmony_ci-- overflow and underflow tests ...
2447db96d56Sopenharmony_cimaxExponent: 999999999
2457db96d56Sopenharmony_ciminexponent: -999999999
2467db96d56Sopenharmony_cimxgx330 maxmag +1.23456789012345E-0 9E+999999999 ->  9E+999999999
2477db96d56Sopenharmony_cimxgx331 maxmag 9E+999999999 +1.23456789012345E-0 ->  9E+999999999
2487db96d56Sopenharmony_cimxgx332 maxmag +0.100 9E-999999999               ->  0.100
2497db96d56Sopenharmony_cimxgx333 maxmag 9E-999999999 +0.100               ->  0.100
2507db96d56Sopenharmony_cimxgx335 maxmag -1.23456789012345E-0 9E+999999999 ->  9E+999999999
2517db96d56Sopenharmony_cimxgx336 maxmag 9E+999999999 -1.23456789012345E-0 ->  9E+999999999
2527db96d56Sopenharmony_cimxgx337 maxmag -0.100 9E-999999999               ->  -0.100
2537db96d56Sopenharmony_cimxgx338 maxmag 9E-999999999 -0.100               ->  -0.100
2547db96d56Sopenharmony_ci
2557db96d56Sopenharmony_cimxgx339 maxmag 1e-599999999 1e-400000001   ->  1E-400000001
2567db96d56Sopenharmony_cimxgx340 maxmag 1e-599999999 1e-400000000   ->  1E-400000000
2577db96d56Sopenharmony_cimxgx341 maxmag 1e-600000000 1e-400000000   ->  1E-400000000
2587db96d56Sopenharmony_cimxgx342 maxmag 9e-999999998 0.01           ->  0.01
2597db96d56Sopenharmony_cimxgx343 maxmag 9e-999999998 0.1            ->  0.1
2607db96d56Sopenharmony_cimxgx344 maxmag 0.01 9e-999999998           ->  0.01
2617db96d56Sopenharmony_cimxgx345 maxmag 1e599999999 1e400000001     ->  1E+599999999
2627db96d56Sopenharmony_cimxgx346 maxmag 1e599999999 1e400000000     ->  1E+599999999
2637db96d56Sopenharmony_cimxgx347 maxmag 1e600000000 1e400000000     ->  1E+600000000
2647db96d56Sopenharmony_cimxgx348 maxmag 9e999999998 100             ->  9E+999999998
2657db96d56Sopenharmony_cimxgx349 maxmag 9e999999998 10              ->  9E+999999998
2667db96d56Sopenharmony_cimxgx350 maxmag 100  9e999999998            ->  9E+999999998
2677db96d56Sopenharmony_ci-- signs
2687db96d56Sopenharmony_cimxgx351 maxmag  1e+777777777  1e+411111111 ->  1E+777777777
2697db96d56Sopenharmony_cimxgx352 maxmag  1e+777777777 -1e+411111111 ->  1E+777777777
2707db96d56Sopenharmony_cimxgx353 maxmag -1e+777777777  1e+411111111 -> -1E+777777777
2717db96d56Sopenharmony_cimxgx354 maxmag -1e+777777777 -1e+411111111 -> -1E+777777777
2727db96d56Sopenharmony_cimxgx355 maxmag  1e-777777777  1e-411111111 ->  1E-411111111
2737db96d56Sopenharmony_cimxgx356 maxmag  1e-777777777 -1e-411111111 -> -1E-411111111
2747db96d56Sopenharmony_cimxgx357 maxmag -1e-777777777  1e-411111111 ->  1E-411111111
2757db96d56Sopenharmony_cimxgx358 maxmag -1e-777777777 -1e-411111111 -> -1E-411111111
2767db96d56Sopenharmony_ci
2777db96d56Sopenharmony_ci-- expanded list from min/max 754r purple prose
2787db96d56Sopenharmony_ci-- [explicit tests for exponent ordering]
2797db96d56Sopenharmony_cimxgx401 maxmag  Inf    1.1     ->  Infinity
2807db96d56Sopenharmony_cimxgx402 maxmag  1.1    1       ->  1.1
2817db96d56Sopenharmony_cimxgx403 maxmag  1      1.0     ->  1
2827db96d56Sopenharmony_cimxgx404 maxmag  1.0    0.1     ->  1.0
2837db96d56Sopenharmony_cimxgx405 maxmag  0.1    0.10    ->  0.1
2847db96d56Sopenharmony_cimxgx406 maxmag  0.10   0.100   ->  0.10
2857db96d56Sopenharmony_cimxgx407 maxmag  0.10   0       ->  0.10
2867db96d56Sopenharmony_cimxgx408 maxmag  0      0.0     ->  0
2877db96d56Sopenharmony_cimxgx409 maxmag  0.0   -0       ->  0.0
2887db96d56Sopenharmony_cimxgx410 maxmag  0.0   -0.0     ->  0.0
2897db96d56Sopenharmony_cimxgx411 maxmag  0.00  -0.0     ->  0.00
2907db96d56Sopenharmony_cimxgx412 maxmag  0.0   -0.00    ->  0.0
2917db96d56Sopenharmony_cimxgx413 maxmag  0     -0.0     ->  0
2927db96d56Sopenharmony_cimxgx414 maxmag  0     -0       ->  0
2937db96d56Sopenharmony_cimxgx415 maxmag -0.0   -0       -> -0.0
2947db96d56Sopenharmony_cimxgx416 maxmag -0     -0.100   -> -0.100
2957db96d56Sopenharmony_cimxgx417 maxmag -0.100 -0.10    -> -0.100
2967db96d56Sopenharmony_cimxgx418 maxmag -0.10  -0.1     -> -0.10
2977db96d56Sopenharmony_cimxgx419 maxmag -0.1   -1.0     -> -1.0
2987db96d56Sopenharmony_cimxgx420 maxmag -1.0   -1       -> -1.0
2997db96d56Sopenharmony_cimxgx421 maxmag -1     -1.1     -> -1.1
3007db96d56Sopenharmony_cimxgx423 maxmag -1.1   -Inf     -> -Infinity
3017db96d56Sopenharmony_ci-- same with operands reversed
3027db96d56Sopenharmony_cimxgx431 maxmag  1.1    Inf     ->  Infinity
3037db96d56Sopenharmony_cimxgx432 maxmag  1      1.1     ->  1.1
3047db96d56Sopenharmony_cimxgx433 maxmag  1.0    1       ->  1
3057db96d56Sopenharmony_cimxgx434 maxmag  0.1    1.0     ->  1.0
3067db96d56Sopenharmony_cimxgx435 maxmag  0.10   0.1     ->  0.1
3077db96d56Sopenharmony_cimxgx436 maxmag  0.100  0.10    ->  0.10
3087db96d56Sopenharmony_cimxgx437 maxmag  0      0.10    ->  0.10
3097db96d56Sopenharmony_cimxgx438 maxmag  0.0    0       ->  0
3107db96d56Sopenharmony_cimxgx439 maxmag -0      0.0     ->  0.0
3117db96d56Sopenharmony_cimxgx440 maxmag -0.0    0.0     ->  0.0
3127db96d56Sopenharmony_cimxgx441 maxmag -0.0    0.00    ->  0.00
3137db96d56Sopenharmony_cimxgx442 maxmag -0.00   0.0     ->  0.0
3147db96d56Sopenharmony_cimxgx443 maxmag -0.0    0       ->  0
3157db96d56Sopenharmony_cimxgx444 maxmag -0      0       ->  0
3167db96d56Sopenharmony_cimxgx445 maxmag -0     -0.0     -> -0.0
3177db96d56Sopenharmony_cimxgx446 maxmag -0.100 -0       -> -0.100
3187db96d56Sopenharmony_cimxgx447 maxmag -0.10  -0.100   -> -0.100
3197db96d56Sopenharmony_cimxgx448 maxmag -0.1   -0.10    -> -0.10
3207db96d56Sopenharmony_cimxgx449 maxmag -1.0   -0.1     -> -1.0
3217db96d56Sopenharmony_cimxgx450 maxmag -1     -1.0     -> -1.0
3227db96d56Sopenharmony_cimxgx451 maxmag -1.1   -1       -> -1.1
3237db96d56Sopenharmony_cimxgx453 maxmag -Inf   -1.1     -> -Infinity
3247db96d56Sopenharmony_ci-- largies
3257db96d56Sopenharmony_cimxgx460 maxmag  1000   1E+3    ->  1E+3
3267db96d56Sopenharmony_cimxgx461 maxmag  1E+3   1000    ->  1E+3
3277db96d56Sopenharmony_cimxgx462 maxmag  1000  -1E+3    ->  1000
3287db96d56Sopenharmony_cimxgx463 maxmag  1E+3  -1000    ->  1E+3
3297db96d56Sopenharmony_cimxgx464 maxmag -1000   1E+3    ->  1E+3
3307db96d56Sopenharmony_cimxgx465 maxmag -1E+3   1000    ->  1000
3317db96d56Sopenharmony_cimxgx466 maxmag -1000  -1E+3    -> -1000
3327db96d56Sopenharmony_cimxgx467 maxmag -1E+3  -1000    -> -1000
3337db96d56Sopenharmony_ci
3347db96d56Sopenharmony_ci-- rounding (results treated as though plus)
3357db96d56Sopenharmony_cimaxexponent: 999999999
3367db96d56Sopenharmony_ciminexponent: -999999999
3377db96d56Sopenharmony_ciprecision: 3
3387db96d56Sopenharmony_ci
3397db96d56Sopenharmony_cimxgx470 maxmag  1      .5     ->  1
3407db96d56Sopenharmony_cimxgx471 maxmag  10     5      ->  10
3417db96d56Sopenharmony_cimxgx472 maxmag  100    50     ->  100
3427db96d56Sopenharmony_cimxgx473 maxmag  1000   500    ->  1.00E+3 Rounded
3437db96d56Sopenharmony_cimxgx474 maxmag  10000  5000   ->  1.00E+4 Rounded
3447db96d56Sopenharmony_cimxgx475 maxmag  6      .5     ->  6
3457db96d56Sopenharmony_cimxgx476 maxmag  66     5      ->  66
3467db96d56Sopenharmony_cimxgx477 maxmag  666    50     ->  666
3477db96d56Sopenharmony_cimxgx478 maxmag  6666   500    ->  6.67E+3 Rounded Inexact
3487db96d56Sopenharmony_cimxgx479 maxmag  66666  5000   ->  6.67E+4 Rounded Inexact
3497db96d56Sopenharmony_cimxgx480 maxmag  33333  5000   ->  3.33E+4 Rounded Inexact
3507db96d56Sopenharmony_cimxgx481 maxmag  .5     1      ->  1
3517db96d56Sopenharmony_cimxgx482 maxmag  .5     10     ->  10
3527db96d56Sopenharmony_cimxgx483 maxmag  .5     100    ->  100
3537db96d56Sopenharmony_cimxgx484 maxmag  .5     1000   ->  1.00E+3 Rounded
3547db96d56Sopenharmony_cimxgx485 maxmag  .5     10000  ->  1.00E+4 Rounded
3557db96d56Sopenharmony_cimxgx486 maxmag  .5     6      ->  6
3567db96d56Sopenharmony_cimxgx487 maxmag  .5     66     ->  66
3577db96d56Sopenharmony_cimxgx488 maxmag  .5     666    ->  666
3587db96d56Sopenharmony_cimxgx489 maxmag  .5     6666   ->  6.67E+3 Rounded Inexact
3597db96d56Sopenharmony_cimxgx490 maxmag  .5     66666  ->  6.67E+4 Rounded Inexact
3607db96d56Sopenharmony_cimxgx491 maxmag  .5     33333  ->  3.33E+4 Rounded Inexact
3617db96d56Sopenharmony_ci
3627db96d56Sopenharmony_ci-- overflow tests
3637db96d56Sopenharmony_cimaxexponent: 999999999
3647db96d56Sopenharmony_ciminexponent: -999999999
3657db96d56Sopenharmony_ciprecision: 3
3667db96d56Sopenharmony_cimxgx500 maxmag 9.999E+999999999  0 ->  Infinity Inexact Overflow Rounded
3677db96d56Sopenharmony_cimxgx501 maxmag -9.999E+999999999 0 -> -Infinity Inexact Overflow Rounded
3687db96d56Sopenharmony_ci
3697db96d56Sopenharmony_ci-- subnormals and underflow
3707db96d56Sopenharmony_ciprecision: 3
3717db96d56Sopenharmony_cimaxexponent: 999
3727db96d56Sopenharmony_ciminexponent: -999
3737db96d56Sopenharmony_cimxgx510 maxmag  1.00E-999       0  ->   1.00E-999
3747db96d56Sopenharmony_cimxgx511 maxmag  0.1E-999        0  ->   1E-1000   Subnormal
3757db96d56Sopenharmony_cimxgx512 maxmag  0.10E-999       0  ->   1.0E-1000 Subnormal
3767db96d56Sopenharmony_cimxgx513 maxmag  0.100E-999      0  ->   1.0E-1000 Subnormal Rounded
3777db96d56Sopenharmony_cimxgx514 maxmag  0.01E-999       0  ->   1E-1001   Subnormal
3787db96d56Sopenharmony_ci-- next is rounded to Nmin
3797db96d56Sopenharmony_cimxgx515 maxmag  0.999E-999      0  ->   1.00E-999 Inexact Rounded Subnormal Underflow
3807db96d56Sopenharmony_cimxgx516 maxmag  0.099E-999      0  ->   1.0E-1000 Inexact Rounded Subnormal Underflow
3817db96d56Sopenharmony_cimxgx517 maxmag  0.009E-999      0  ->   1E-1001   Inexact Rounded Subnormal Underflow
3827db96d56Sopenharmony_cimxgx518 maxmag  0.001E-999      0  ->   0E-1001   Inexact Rounded Subnormal Underflow Clamped
3837db96d56Sopenharmony_cimxgx519 maxmag  0.0009E-999     0  ->   0E-1001   Inexact Rounded Subnormal Underflow Clamped
3847db96d56Sopenharmony_cimxgx520 maxmag  0.0001E-999     0  ->   0E-1001   Inexact Rounded Subnormal Underflow Clamped
3857db96d56Sopenharmony_ci
3867db96d56Sopenharmony_cimxgx530 maxmag -1.00E-999       0  ->  -1.00E-999
3877db96d56Sopenharmony_cimxgx531 maxmag -0.1E-999        0  ->  -1E-1000   Subnormal
3887db96d56Sopenharmony_cimxgx532 maxmag -0.10E-999       0  ->  -1.0E-1000 Subnormal
3897db96d56Sopenharmony_cimxgx533 maxmag -0.100E-999      0  ->  -1.0E-1000 Subnormal Rounded
3907db96d56Sopenharmony_cimxgx534 maxmag -0.01E-999       0  ->  -1E-1001   Subnormal
3917db96d56Sopenharmony_ci-- next is rounded to -Nmin
3927db96d56Sopenharmony_cimxgx535 maxmag -0.999E-999      0  ->  -1.00E-999 Inexact Rounded Subnormal Underflow
3937db96d56Sopenharmony_cimxgx536 maxmag -0.099E-999      0  ->  -1.0E-1000 Inexact Rounded Subnormal Underflow
3947db96d56Sopenharmony_cimxgx537 maxmag -0.009E-999      0  ->  -1E-1001   Inexact Rounded Subnormal Underflow
3957db96d56Sopenharmony_cimxgx538 maxmag -0.001E-999      0  ->  -0E-1001   Inexact Rounded Subnormal Underflow Clamped
3967db96d56Sopenharmony_cimxgx539 maxmag -0.0009E-999     0  ->  -0E-1001   Inexact Rounded Subnormal Underflow Clamped
3977db96d56Sopenharmony_cimxgx540 maxmag -0.0001E-999     0  ->  -0E-1001   Inexact Rounded Subnormal Underflow Clamped
3987db96d56Sopenharmony_ci
3997db96d56Sopenharmony_ci-- Null tests
4007db96d56Sopenharmony_cimxgx900 maxmag 10  #  -> NaN Invalid_operation
4017db96d56Sopenharmony_cimxgx901 maxmag  # 10  -> NaN Invalid_operation
4027db96d56Sopenharmony_ci
4037db96d56Sopenharmony_ci
4047db96d56Sopenharmony_ci
405