python-2.5.2/win32/Lib/test/decimaltestdata/divide.decTest
changeset 0 ae805ac0140d
equal deleted inserted replaced
-1:000000000000 0:ae805ac0140d
       
     1 ------------------------------------------------------------------------
       
     2 -- divide.decTest -- decimal division                                 --
       
     3 -- Copyright (c) IBM Corporation, 1981, 2007.  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.57
       
    21 
       
    22 extended:    1
       
    23 precision:   9
       
    24 rounding:    half_up
       
    25 maxExponent: 384
       
    26 minexponent: -383
       
    27 
       
    28 -- sanity checks
       
    29 divx001 divide  1     1    ->  1
       
    30 divx002 divide  2     1    ->  2
       
    31 divx003 divide  1     2    ->  0.5
       
    32 divx004 divide  2     2    ->  1
       
    33 divx005 divide  0     1    ->  0
       
    34 divx006 divide  0     2    ->  0
       
    35 divx007 divide  1     3    ->  0.333333333 Inexact Rounded
       
    36 divx008 divide  2     3    ->  0.666666667 Inexact Rounded
       
    37 divx009 divide  3     3    ->  1
       
    38 
       
    39 divx010 divide  2.4   1    ->  2.4
       
    40 divx011 divide  2.4   -1   ->  -2.4
       
    41 divx012 divide  -2.4  1    ->  -2.4
       
    42 divx013 divide  -2.4  -1   ->  2.4
       
    43 divx014 divide  2.40  1    ->  2.40
       
    44 divx015 divide  2.400 1    ->  2.400
       
    45 divx016 divide  2.4   2    ->  1.2
       
    46 divx017 divide  2.400 2    ->  1.200
       
    47 divx018 divide  2.    2    ->  1
       
    48 divx019 divide  20    20   ->  1
       
    49 
       
    50 divx020 divide  187   187    ->  1
       
    51 divx021 divide  5     2      ->  2.5
       
    52 divx022 divide  50    20     ->  2.5
       
    53 divx023 divide  500   200    ->  2.5
       
    54 divx024 divide  50.0  20.0   ->  2.5
       
    55 divx025 divide  5.00  2.00   ->  2.5
       
    56 divx026 divide  5     2.0    ->  2.5
       
    57 divx027 divide  5     2.000  ->  2.5
       
    58 divx028 divide  5     0.20   ->  25
       
    59 divx029 divide  5     0.200  ->  25
       
    60 divx030 divide  10    1      ->  10
       
    61 divx031 divide  100   1      ->  100
       
    62 divx032 divide  1000  1      ->  1000
       
    63 divx033 divide  1000  100    ->  10
       
    64 
       
    65 divx035 divide  1     2      ->  0.5
       
    66 divx036 divide  1     4      ->  0.25
       
    67 divx037 divide  1     8      ->  0.125
       
    68 divx038 divide  1     16     ->  0.0625
       
    69 divx039 divide  1     32     ->  0.03125
       
    70 divx040 divide  1     64     ->  0.015625
       
    71 divx041 divide  1    -2      ->  -0.5
       
    72 divx042 divide  1    -4      ->  -0.25
       
    73 divx043 divide  1    -8      ->  -0.125
       
    74 divx044 divide  1    -16     ->  -0.0625
       
    75 divx045 divide  1    -32     ->  -0.03125
       
    76 divx046 divide  1    -64     ->  -0.015625
       
    77 divx047 divide -1     2      ->  -0.5
       
    78 divx048 divide -1     4      ->  -0.25
       
    79 divx049 divide -1     8      ->  -0.125
       
    80 divx050 divide -1     16     ->  -0.0625
       
    81 divx051 divide -1     32     ->  -0.03125
       
    82 divx052 divide -1     64     ->  -0.015625
       
    83 divx053 divide -1    -2      ->  0.5
       
    84 divx054 divide -1    -4      ->  0.25
       
    85 divx055 divide -1    -8      ->  0.125
       
    86 divx056 divide -1    -16     ->  0.0625
       
    87 divx057 divide -1    -32     ->  0.03125
       
    88 divx058 divide -1    -64     ->  0.015625
       
    89 
       
    90 divx070 divide  999999999        1    ->  999999999
       
    91 divx071 divide  999999999.4      1    ->  999999999 Inexact Rounded
       
    92 divx072 divide  999999999.5      1    ->  1.00000000E+9 Inexact Rounded
       
    93 divx073 divide  999999999.9      1    ->  1.00000000E+9 Inexact Rounded
       
    94 divx074 divide  999999999.999    1    ->  1.00000000E+9 Inexact Rounded
       
    95 precision: 6
       
    96 divx080 divide  999999999     1  ->  1.00000E+9 Inexact Rounded
       
    97 divx081 divide  99999999      1  ->  1.00000E+8 Inexact Rounded
       
    98 divx082 divide  9999999       1  ->  1.00000E+7 Inexact Rounded
       
    99 divx083 divide  999999        1  ->  999999
       
   100 divx084 divide  99999         1  ->  99999
       
   101 divx085 divide  9999          1  ->  9999
       
   102 divx086 divide  999           1  ->  999
       
   103 divx087 divide  99            1  ->  99
       
   104 divx088 divide  9             1  ->  9
       
   105 
       
   106 precision: 9
       
   107 divx090 divide  0.            1    ->  0
       
   108 divx091 divide  .0            1    ->  0.0
       
   109 divx092 divide  0.00          1    ->  0.00
       
   110 divx093 divide  0.00E+9       1    ->  0E+7
       
   111 divx094 divide  0.0000E-50    1    ->  0E-54
       
   112 
       
   113 divx095 divide  1            1E-8  ->  1E+8
       
   114 divx096 divide  1            1E-9  ->  1E+9
       
   115 divx097 divide  1            1E-10 ->  1E+10
       
   116 divx098 divide  1            1E-11 ->  1E+11
       
   117 divx099 divide  1            1E-12 ->  1E+12
       
   118 
       
   119 divx100 divide  1  1   -> 1
       
   120 divx101 divide  1  2   -> 0.5
       
   121 divx102 divide  1  3   -> 0.333333333 Inexact Rounded
       
   122 divx103 divide  1  4   -> 0.25
       
   123 divx104 divide  1  5   -> 0.2
       
   124 divx105 divide  1  6   -> 0.166666667 Inexact Rounded
       
   125 divx106 divide  1  7   -> 0.142857143 Inexact Rounded
       
   126 divx107 divide  1  8   -> 0.125
       
   127 divx108 divide  1  9   -> 0.111111111 Inexact Rounded
       
   128 divx109 divide  1  10  -> 0.1
       
   129 divx110 divide  1  1   -> 1
       
   130 divx111 divide  2  1   -> 2
       
   131 divx112 divide  3  1   -> 3
       
   132 divx113 divide  4  1   -> 4
       
   133 divx114 divide  5  1   -> 5
       
   134 divx115 divide  6  1   -> 6
       
   135 divx116 divide  7  1   -> 7
       
   136 divx117 divide  8  1   -> 8
       
   137 divx118 divide  9  1   -> 9
       
   138 divx119 divide  10 1   -> 10
       
   139 
       
   140 divx120 divide  3E+1 0.001  -> 3E+4
       
   141 divx121 divide  2.200 2     -> 1.100
       
   142 
       
   143 divx130 divide  12345  4.999  ->  2469.49390 Inexact Rounded
       
   144 divx131 divide  12345  4.99   ->  2473.94790 Inexact Rounded
       
   145 divx132 divide  12345  4.9    ->  2519.38776 Inexact Rounded
       
   146 divx133 divide  12345  5      ->  2469
       
   147 divx134 divide  12345  5.1    ->  2420.58824 Inexact Rounded
       
   148 divx135 divide  12345  5.01   ->  2464.07186 Inexact Rounded
       
   149 divx136 divide  12345  5.001  ->  2468.50630 Inexact Rounded
       
   150 
       
   151 precision:   9
       
   152 maxexponent: 999999999
       
   153 minexponent: -999999999
       
   154 
       
   155 -- test possibly imprecise results
       
   156 divx220 divide 391   597 ->  0.654941374 Inexact Rounded
       
   157 divx221 divide 391  -597 -> -0.654941374 Inexact Rounded
       
   158 divx222 divide -391  597 -> -0.654941374 Inexact Rounded
       
   159 divx223 divide -391 -597 ->  0.654941374 Inexact Rounded
       
   160 
       
   161 -- test some cases that are close to exponent overflow
       
   162 maxexponent: 999999999
       
   163 minexponent: -999999999
       
   164 divx270 divide 1 1e999999999    -> 1E-999999999
       
   165 divx271 divide 1 0.9e999999999  -> 1.11111111E-999999999 Inexact Rounded
       
   166 divx272 divide 1 0.99e999999999 -> 1.01010101E-999999999 Inexact Rounded
       
   167 divx273 divide 1 0.999999999e999999999 -> 1.00000000E-999999999 Inexact Rounded
       
   168 divx274 divide 9e999999999    1 -> 9E+999999999
       
   169 divx275 divide 9.9e999999999  1 -> 9.9E+999999999
       
   170 divx276 divide 9.99e999999999 1 -> 9.99E+999999999
       
   171 divx277 divide 9.99999999e999999999 1 -> 9.99999999E+999999999
       
   172 
       
   173 divx280 divide 0.1 9e-999999999   -> 1.11111111E+999999997 Inexact Rounded
       
   174 divx281 divide 0.1 99e-999999999  -> 1.01010101E+999999996 Inexact Rounded
       
   175 divx282 divide 0.1 999e-999999999 -> 1.00100100E+999999995 Inexact Rounded
       
   176 
       
   177 divx283 divide 0.1 9e-999999998     -> 1.11111111E+999999996 Inexact Rounded
       
   178 divx284 divide 0.1 99e-999999998    -> 1.01010101E+999999995 Inexact Rounded
       
   179 divx285 divide 0.1 999e-999999998   -> 1.00100100E+999999994 Inexact Rounded
       
   180 divx286 divide 0.1 999e-999999997   -> 1.00100100E+999999993 Inexact Rounded
       
   181 divx287 divide 0.1 9999e-999999997  -> 1.00010001E+999999992 Inexact Rounded
       
   182 divx288 divide 0.1 99999e-999999997 -> 1.00001000E+999999991 Inexact Rounded
       
   183 
       
   184 -- Divide into 0 tests
       
   185 
       
   186 divx301 divide    0    7     -> 0
       
   187 divx302 divide    0    7E-5  -> 0E+5
       
   188 divx303 divide    0    7E-1  -> 0E+1
       
   189 divx304 divide    0    7E+1  -> 0.0
       
   190 divx305 divide    0    7E+5  -> 0.00000
       
   191 divx306 divide    0    7E+6  -> 0.000000
       
   192 divx307 divide    0    7E+7  -> 0E-7
       
   193 divx308 divide    0   70E-5  -> 0E+5
       
   194 divx309 divide    0   70E-1  -> 0E+1
       
   195 divx310 divide    0   70E+0  -> 0
       
   196 divx311 divide    0   70E+1  -> 0.0
       
   197 divx312 divide    0   70E+5  -> 0.00000
       
   198 divx313 divide    0   70E+6  -> 0.000000
       
   199 divx314 divide    0   70E+7  -> 0E-7
       
   200 divx315 divide    0  700E-5  -> 0E+5
       
   201 divx316 divide    0  700E-1  -> 0E+1
       
   202 divx317 divide    0  700E+0  -> 0
       
   203 divx318 divide    0  700E+1  -> 0.0
       
   204 divx319 divide    0  700E+5  -> 0.00000
       
   205 divx320 divide    0  700E+6  -> 0.000000
       
   206 divx321 divide    0  700E+7  -> 0E-7
       
   207 divx322 divide    0  700E+77 -> 0E-77
       
   208 
       
   209 divx331 divide 0E-3    7E-5  -> 0E+2
       
   210 divx332 divide 0E-3    7E-1  -> 0.00
       
   211 divx333 divide 0E-3    7E+1  -> 0.0000
       
   212 divx334 divide 0E-3    7E+5  -> 0E-8
       
   213 divx335 divide 0E-1    7E-5  -> 0E+4
       
   214 divx336 divide 0E-1    7E-1  -> 0
       
   215 divx337 divide 0E-1    7E+1  -> 0.00
       
   216 divx338 divide 0E-1    7E+5  -> 0.000000
       
   217 divx339 divide 0E+1    7E-5  -> 0E+6
       
   218 divx340 divide 0E+1    7E-1  -> 0E+2
       
   219 divx341 divide 0E+1    7E+1  -> 0
       
   220 divx342 divide 0E+1    7E+5  -> 0.0000
       
   221 divx343 divide 0E+3    7E-5  -> 0E+8
       
   222 divx344 divide 0E+3    7E-1  -> 0E+4
       
   223 divx345 divide 0E+3    7E+1  -> 0E+2
       
   224 divx346 divide 0E+3    7E+5  -> 0.00
       
   225 
       
   226 maxexponent: 92
       
   227 minexponent: -92
       
   228 precision:    7
       
   229 divx351 divide 0E-92   7E-1  -> 0E-91
       
   230 divx352 divide 0E-92   7E+1  -> 0E-93
       
   231 divx353 divide 0E-92   7E+5  -> 0E-97
       
   232 divx354 divide 0E-92   7E+6  -> 0E-98
       
   233 divx355 divide 0E-92   7E+7  -> 0E-98 Clamped
       
   234 divx356 divide 0E-92 777E-1  -> 0E-91
       
   235 divx357 divide 0E-92 777E+1  -> 0E-93
       
   236 divx358 divide 0E-92 777E+3  -> 0E-95
       
   237 divx359 divide 0E-92 777E+4  -> 0E-96
       
   238 divx360 divide 0E-92 777E+5  -> 0E-97
       
   239 divx361 divide 0E-92 777E+6  -> 0E-98
       
   240 divx362 divide 0E-92 777E+7  -> 0E-98 Clamped
       
   241 divx363 divide 0E-92   7E+92 -> 0E-98 Clamped
       
   242 
       
   243 divx371 divide 0E-92 700E-1  -> 0E-91
       
   244 divx372 divide 0E-92 700E+1  -> 0E-93
       
   245 divx373 divide 0E-92 700E+3  -> 0E-95
       
   246 divx374 divide 0E-92 700E+4  -> 0E-96
       
   247 divx375 divide 0E-92 700E+5  -> 0E-97
       
   248 divx376 divide 0E-92 700E+6  -> 0E-98
       
   249 divx377 divide 0E-92 700E+7  -> 0E-98 Clamped
       
   250 
       
   251 divx381 divide 0E+92   7E+1  -> 0E+91
       
   252 divx382 divide 0E+92   7E+0  -> 0E+92
       
   253 divx383 divide 0E+92   7E-1  -> 0E+92 Clamped
       
   254 divx384 divide 0E+90 777E+1  -> 0E+89
       
   255 divx385 divide 0E+90 777E-1  -> 0E+91
       
   256 divx386 divide 0E+90 777E-2  -> 0E+92
       
   257 divx387 divide 0E+90 777E-3  -> 0E+92 Clamped
       
   258 divx388 divide 0E+90 777E-4  -> 0E+92 Clamped
       
   259 
       
   260 divx391 divide 0E+90 700E+1  -> 0E+89
       
   261 divx392 divide 0E+90 700E-1  -> 0E+91
       
   262 divx393 divide 0E+90 700E-2  -> 0E+92
       
   263 divx394 divide 0E+90 700E-3  -> 0E+92 Clamped
       
   264 divx395 divide 0E+90 700E-4  -> 0E+92 Clamped
       
   265 
       
   266 -- input rounding checks
       
   267 maxexponent: 999
       
   268 minexponent: -999
       
   269 precision: 9
       
   270 divx401 divide 12345678000 1 -> 1.23456780E+10 Rounded
       
   271 divx402 divide 1 12345678000 -> 8.10000066E-11 Inexact Rounded
       
   272 divx403 divide 1234567800  1 -> 1.23456780E+9  Rounded
       
   273 divx404 divide 1 1234567800  -> 8.10000066E-10 Inexact Rounded
       
   274 divx405 divide 1234567890  1 -> 1.23456789E+9  Rounded
       
   275 divx406 divide 1 1234567890  -> 8.10000007E-10 Inexact Rounded
       
   276 divx407 divide 1234567891  1 -> 1.23456789E+9  Inexact Rounded
       
   277 divx408 divide 1 1234567891  -> 8.10000007E-10 Inexact Rounded
       
   278 divx409 divide 12345678901 1 -> 1.23456789E+10 Inexact Rounded
       
   279 divx410 divide 1 12345678901 -> 8.10000007E-11 Inexact Rounded
       
   280 divx411 divide 1234567896  1 -> 1.23456790E+9  Inexact Rounded
       
   281 divx412 divide 1 1234567896  -> 8.10000003E-10 Inexact Rounded
       
   282 divx413 divide 1 1234567897  -> 8.10000003E-10 Inexact Rounded
       
   283 divx414 divide 1 1234567898  -> 8.10000002E-10 Inexact Rounded
       
   284 divx415 divide 1 1234567899  -> 8.10000001E-10 Inexact Rounded
       
   285 divx416 divide 1 1234567900  -> 8.10000001E-10 Inexact Rounded
       
   286 divx417 divide 1 1234567901  -> 8.10000000E-10 Inexact Rounded
       
   287 divx418 divide 1 1234567902  -> 8.09999999E-10 Inexact Rounded
       
   288 -- some longies
       
   289 divx421 divide 1234567896.000000000000  1 -> 1.23456790E+9  Inexact Rounded
       
   290 divx422 divide 1 1234567896.000000000000  -> 8.10000003E-10 Inexact Rounded
       
   291 divx423 divide 1234567896.000000000001  1 -> 1.23456790E+9  Inexact Rounded
       
   292 divx424 divide 1 1234567896.000000000001  -> 8.10000003E-10 Inexact Rounded
       
   293 divx425 divide 1234567896.000000000000000000000000000000000000000009  1 -> 1.23456790E+9  Inexact Rounded
       
   294 divx426 divide 1 1234567896.000000000000000000000000000000000000000009  -> 8.10000003E-10 Inexact Rounded
       
   295 divx427 divide 1234567897.900010000000000000000000000000000000000009  1 -> 1.23456790E+9  Inexact Rounded
       
   296 divx428 divide 1 1234567897.900010000000000000000000000000000000000009  -> 8.10000002E-10 Inexact Rounded
       
   297 
       
   298 precision: 15
       
   299 -- still checking...
       
   300 divx441 divide 12345678000 1 -> 12345678000
       
   301 divx442 divide 1 12345678000 -> 8.10000066420005E-11 Inexact Rounded
       
   302 divx443 divide 1234567800  1 -> 1234567800
       
   303 divx444 divide 1 1234567800  -> 8.10000066420005E-10 Inexact Rounded
       
   304 divx445 divide 1234567890  1 -> 1234567890
       
   305 divx446 divide 1 1234567890  -> 8.10000007371000E-10 Inexact Rounded
       
   306 divx447 divide 1234567891  1 -> 1234567891
       
   307 divx448 divide 1 1234567891  -> 8.10000006714900E-10 Inexact Rounded
       
   308 divx449 divide 12345678901 1 -> 12345678901
       
   309 divx450 divide 1 12345678901 -> 8.10000007305390E-11 Inexact Rounded
       
   310 divx451 divide 1234567896  1 -> 1234567896
       
   311 divx452 divide 1 1234567896  -> 8.10000003434400E-10 Inexact Rounded
       
   312 
       
   313 -- high-lows
       
   314 divx453 divide 1e+1   1    ->   1E+1
       
   315 divx454 divide 1e+1   1.0  ->   1E+1
       
   316 divx455 divide 1e+1   1.00 ->   1E+1
       
   317 divx456 divide 1e+2   2    ->   5E+1
       
   318 divx457 divide 1e+2   2.0  ->   5E+1
       
   319 divx458 divide 1e+2   2.00 ->   5E+1
       
   320 
       
   321 -- some from IEEE discussions
       
   322 divx460 divide 3e0      2e0     -> 1.5
       
   323 divx461 divide 30e-1    2e0     -> 1.5
       
   324 divx462 divide 300e-2   2e0     -> 1.50
       
   325 divx464 divide 3000e-3  2e0     -> 1.500
       
   326 divx465 divide 3e0      20e-1   -> 1.5
       
   327 divx466 divide 30e-1    20e-1   -> 1.5
       
   328 divx467 divide 300e-2   20e-1   -> 1.5
       
   329 divx468 divide 3000e-3  20e-1   -> 1.50
       
   330 divx469 divide 3e0      200e-2  -> 1.5
       
   331 divx470 divide 30e-1    200e-2  -> 1.5
       
   332 divx471 divide 300e-2   200e-2  -> 1.5
       
   333 divx472 divide 3000e-3  200e-2  -> 1.5
       
   334 divx473 divide 3e0      2000e-3 -> 1.5
       
   335 divx474 divide 30e-1    2000e-3 -> 1.5
       
   336 divx475 divide 300e-2   2000e-3 -> 1.5
       
   337 divx476 divide 3000e-3  2000e-3 -> 1.5
       
   338 
       
   339 -- some reciprocals
       
   340 divx480 divide 1        1.0E+33 -> 1E-33
       
   341 divx481 divide 1        10E+33  -> 1E-34
       
   342 divx482 divide 1        1.0E-33 -> 1E+33
       
   343 divx483 divide 1        10E-33  -> 1E+32
       
   344 
       
   345 -- RMS discussion table
       
   346 maxexponent:  96
       
   347 minexponent: -95
       
   348 precision:     7
       
   349 
       
   350 divx484 divide 0e5     1e3 ->   0E+2
       
   351 divx485 divide 0e5     2e3 ->   0E+2
       
   352 divx486 divide 0e5    10e2 ->   0E+3
       
   353 divx487 divide 0e5    20e2 ->   0E+3
       
   354 divx488 divide 0e5   100e1 ->   0E+4
       
   355 divx489 divide 0e5   200e1 ->   0E+4
       
   356 
       
   357 divx491 divide 1e5     1e3 ->   1E+2
       
   358 divx492 divide 1e5     2e3 ->   5E+1
       
   359 divx493 divide 1e5    10e2 ->   1E+2
       
   360 divx494 divide 1e5    20e2 ->   5E+1
       
   361 divx495 divide 1e5   100e1 ->   1E+2
       
   362 divx496 divide 1e5   200e1 ->   5E+1
       
   363 
       
   364 -- tryzeros cases
       
   365 precision:   7
       
   366 rounding:    half_up
       
   367 maxExponent: 92
       
   368 minexponent: -92
       
   369 divx497  divide  0E+86 1000E-13  -> 0E+92 Clamped
       
   370 divx498  divide  0E-98 1000E+13  -> 0E-98 Clamped
       
   371 
       
   372 precision:   9
       
   373 rounding:    half_up
       
   374 maxExponent: 999
       
   375 minexponent: -999
       
   376 
       
   377 -- focus on trailing zeros issues
       
   378 precision:   9
       
   379 divx500 divide  1      9.9    ->  0.101010101  Inexact Rounded
       
   380 precision:   8
       
   381 divx501 divide  1      9.9    ->  0.10101010   Inexact Rounded
       
   382 precision:   7
       
   383 divx502 divide  1      9.9    ->  0.1010101    Inexact Rounded
       
   384 precision:   6
       
   385 divx503 divide  1      9.9    ->  0.101010     Inexact Rounded
       
   386 precision:   9
       
   387 
       
   388 divx511 divide 1         2    -> 0.5
       
   389 divx512 divide 1.0       2    -> 0.5
       
   390 divx513 divide 1.00      2    -> 0.50
       
   391 divx514 divide 1.000     2    -> 0.500
       
   392 divx515 divide 1.0000    2    -> 0.5000
       
   393 divx516 divide 1.00000   2    -> 0.50000
       
   394 divx517 divide 1.000000  2    -> 0.500000
       
   395 divx518 divide 1.0000000 2    -> 0.5000000
       
   396 divx519 divide 1.00      2.00 -> 0.5
       
   397 
       
   398 divx521 divide 2    1         -> 2
       
   399 divx522 divide 2    1.0       -> 2
       
   400 divx523 divide 2    1.00      -> 2
       
   401 divx524 divide 2    1.000     -> 2
       
   402 divx525 divide 2    1.0000    -> 2
       
   403 divx526 divide 2    1.00000   -> 2
       
   404 divx527 divide 2    1.000000  -> 2
       
   405 divx528 divide 2    1.0000000 -> 2
       
   406 divx529 divide 2.00 1.00      -> 2
       
   407 
       
   408 divx530 divide  2.40   2      ->  1.20
       
   409 divx531 divide  2.40   4      ->  0.60
       
   410 divx532 divide  2.40  10      ->  0.24
       
   411 divx533 divide  2.40   2.0    ->  1.2
       
   412 divx534 divide  2.40   4.0    ->  0.6
       
   413 divx535 divide  2.40  10.0    ->  0.24
       
   414 divx536 divide  2.40   2.00   ->  1.2
       
   415 divx537 divide  2.40   4.00   ->  0.6
       
   416 divx538 divide  2.40  10.00   ->  0.24
       
   417 divx539 divide  0.9    0.1    ->  9
       
   418 divx540 divide  0.9    0.01   ->  9E+1
       
   419 divx541 divide  0.9    0.001  ->  9E+2
       
   420 divx542 divide  5      2      ->  2.5
       
   421 divx543 divide  5      2.0    ->  2.5
       
   422 divx544 divide  5      2.00   ->  2.5
       
   423 divx545 divide  5      20     ->  0.25
       
   424 divx546 divide  5      20.0   ->  0.25
       
   425 divx547 divide  2.400  2      ->  1.200
       
   426 divx548 divide  2.400  2.0    ->  1.20
       
   427 divx549 divide  2.400  2.400  ->  1
       
   428 
       
   429 divx550 divide  240    1      ->  240
       
   430 divx551 divide  240    10     ->  24
       
   431 divx552 divide  240    100    ->  2.4
       
   432 divx553 divide  240    1000   ->  0.24
       
   433 divx554 divide  2400   1      ->  2400
       
   434 divx555 divide  2400   10     ->  240
       
   435 divx556 divide  2400   100    ->  24
       
   436 divx557 divide  2400   1000   ->  2.4
       
   437 
       
   438 -- +ve exponent
       
   439 precision: 5
       
   440 divx570 divide  2.4E+6     2  ->  1.2E+6
       
   441 divx571 divide  2.40E+6    2  ->  1.20E+6
       
   442 divx572 divide  2.400E+6   2  ->  1.200E+6
       
   443 divx573 divide  2.4000E+6  2  ->  1.2000E+6
       
   444 divx574 divide  24E+5      2  ->  1.2E+6
       
   445 divx575 divide  240E+4     2  ->  1.20E+6
       
   446 divx576 divide  2400E+3    2  ->  1.200E+6
       
   447 divx577 divide  24000E+2   2  ->  1.2000E+6
       
   448 precision: 6
       
   449 divx580 divide  2.4E+6     2  ->  1.2E+6
       
   450 divx581 divide  2.40E+6    2  ->  1.20E+6
       
   451 divx582 divide  2.400E+6   2  ->  1.200E+6
       
   452 divx583 divide  2.4000E+6  2  ->  1.2000E+6
       
   453 divx584 divide  24E+5      2  ->  1.2E+6
       
   454 divx585 divide  240E+4     2  ->  1.20E+6
       
   455 divx586 divide  2400E+3    2  ->  1.200E+6
       
   456 divx587 divide  24000E+2   2  ->  1.2000E+6
       
   457 precision: 7
       
   458 divx590 divide  2.4E+6     2  ->  1.2E+6
       
   459 divx591 divide  2.40E+6    2  ->  1.20E+6
       
   460 divx592 divide  2.400E+6   2  ->  1.200E+6
       
   461 divx593 divide  2.4000E+6  2  ->  1.2000E+6
       
   462 divx594 divide  24E+5      2  ->  1.2E+6
       
   463 divx595 divide  240E+4     2  ->  1.20E+6
       
   464 divx596 divide  2400E+3    2  ->  1.200E+6
       
   465 divx597 divide  24000E+2   2  ->  1.2000E+6
       
   466 precision:   9
       
   467 divx600 divide  2.4E+9     2  ->  1.2E+9
       
   468 divx601 divide  2.40E+9    2  ->  1.20E+9
       
   469 divx602 divide  2.400E+9   2  ->  1.200E+9
       
   470 divx603 divide  2.4000E+9  2  ->  1.2000E+9
       
   471 divx604 divide  24E+8      2  ->  1.2E+9
       
   472 divx605 divide  240E+7     2  ->  1.20E+9
       
   473 divx606 divide  2400E+6    2  ->  1.200E+9
       
   474 divx607 divide  24000E+5   2  ->  1.2000E+9
       
   475 
       
   476 -- long operand triangle
       
   477 precision: 33
       
   478 divx610 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131097703792 Inexact Rounded
       
   479 precision: 32
       
   480 divx611 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813109770379  Inexact Rounded
       
   481 precision: 31
       
   482 divx612 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81310977038   Inexact Rounded
       
   483 precision: 30
       
   484 divx613 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131097704    Inexact Rounded
       
   485 precision: 29
       
   486 divx614 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813109770     Inexact Rounded
       
   487 precision: 28
       
   488 divx615 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81310977      Inexact Rounded
       
   489 precision: 27
       
   490 divx616 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131098       Inexact Rounded
       
   491 precision: 26
       
   492 divx617 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813110        Inexact Rounded
       
   493 precision: 25
       
   494 divx618 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81311         Inexact Rounded
       
   495 precision: 24
       
   496 divx619 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131          Inexact Rounded
       
   497 precision: 23
       
   498 divx620 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813           Inexact Rounded
       
   499 precision: 22
       
   500 divx621 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81            Inexact Rounded
       
   501 precision: 21
       
   502 divx622 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8             Inexact Rounded
       
   503 precision: 20
       
   504 divx623 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817798               Inexact Rounded
       
   505 precision: 19
       
   506 divx624 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888379681780E+19         Inexact Rounded
       
   507 precision: 18
       
   508 divx625 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114088837968178E+19         Inexact Rounded
       
   509 precision: 17
       
   510 divx626 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011408883796818E+19         Inexact Rounded
       
   511 precision: 16
       
   512 divx627 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888379682E+19         Inexact Rounded
       
   513 precision: 15
       
   514 divx628 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114088837968E+19         Inexact Rounded
       
   515 precision: 14
       
   516 divx629 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011408883797E+19         Inexact Rounded
       
   517 precision: 13
       
   518 divx630 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888380E+19         Inexact Rounded
       
   519 precision: 12
       
   520 divx631 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114088838E+19         Inexact Rounded
       
   521 precision: 11
       
   522 divx632 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011408884E+19         Inexact Rounded
       
   523 precision: 10
       
   524 divx633 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888E+19         Inexact Rounded
       
   525 precision:  9
       
   526 divx634 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114089E+19         Inexact Rounded
       
   527 precision:  8
       
   528 divx635 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011409E+19         Inexact Rounded
       
   529 precision:  7
       
   530 divx636 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101141E+19         Inexact Rounded
       
   531 precision:  6
       
   532 divx637 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114E+19         Inexact Rounded
       
   533 precision:  5
       
   534 divx638 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011E+19         Inexact Rounded
       
   535 precision:  4
       
   536 divx639 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101E+19         Inexact Rounded
       
   537 precision:  3
       
   538 divx640 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10E+19         Inexact Rounded
       
   539 precision:  2
       
   540 divx641 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1E+19         Inexact Rounded
       
   541 precision:  1
       
   542 divx642 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4E+19         Inexact Rounded
       
   543 
       
   544 -- more zeros, etc.
       
   545 precision:   16
       
   546 rounding:    half_up
       
   547 maxExponent: 384
       
   548 minExponent: -383
       
   549 
       
   550 divx731 divide 5.00 1E-3    -> 5.00E+3
       
   551 divx732 divide 00.00 0.000  -> NaN Division_undefined
       
   552 divx733 divide 00.00 0E-3   -> NaN Division_undefined
       
   553 divx734 divide  0    -0     -> NaN Division_undefined
       
   554 divx735 divide -0     0     -> NaN Division_undefined
       
   555 divx736 divide -0    -0     -> NaN Division_undefined
       
   556 
       
   557 divx741 divide  0    -1     -> -0
       
   558 divx742 divide -0    -1     ->  0
       
   559 divx743 divide  0     1     ->  0
       
   560 divx744 divide -0     1     -> -0
       
   561 divx745 divide -1     0     -> -Infinity Division_by_zero
       
   562 divx746 divide -1    -0     ->  Infinity Division_by_zero
       
   563 divx747 divide  1     0     ->  Infinity Division_by_zero
       
   564 divx748 divide  1    -0     -> -Infinity Division_by_zero
       
   565 
       
   566 divx751 divide  0.0  -1     -> -0.0
       
   567 divx752 divide -0.0  -1     ->  0.0
       
   568 divx753 divide  0.0   1     ->  0.0
       
   569 divx754 divide -0.0   1     -> -0.0
       
   570 divx755 divide -1.0   0     -> -Infinity Division_by_zero
       
   571 divx756 divide -1.0  -0     ->  Infinity Division_by_zero
       
   572 divx757 divide  1.0   0     ->  Infinity Division_by_zero
       
   573 divx758 divide  1.0  -0     -> -Infinity Division_by_zero
       
   574 
       
   575 divx761 divide  0    -1.0   -> -0E+1
       
   576 divx762 divide -0    -1.0   ->  0E+1
       
   577 divx763 divide  0     1.0   ->  0E+1
       
   578 divx764 divide -0     1.0   -> -0E+1
       
   579 divx765 divide -1     0.0   -> -Infinity Division_by_zero
       
   580 divx766 divide -1    -0.0   ->  Infinity Division_by_zero
       
   581 divx767 divide  1     0.0   ->  Infinity Division_by_zero
       
   582 divx768 divide  1    -0.0   -> -Infinity Division_by_zero
       
   583 
       
   584 divx771 divide  0.0  -1.0   -> -0
       
   585 divx772 divide -0.0  -1.0   ->  0
       
   586 divx773 divide  0.0   1.0   ->  0
       
   587 divx774 divide -0.0   1.0   -> -0
       
   588 divx775 divide -1.0   0.0   -> -Infinity Division_by_zero
       
   589 divx776 divide -1.0  -0.0   ->  Infinity Division_by_zero
       
   590 divx777 divide  1.0   0.0   ->  Infinity Division_by_zero
       
   591 divx778 divide  1.0  -0.0   -> -Infinity Division_by_zero
       
   592 
       
   593 -- Specials
       
   594 divx780 divide  Inf  -Inf   ->  NaN Invalid_operation
       
   595 divx781 divide  Inf  -1000  -> -Infinity
       
   596 divx782 divide  Inf  -1     -> -Infinity
       
   597 divx783 divide  Inf  -0     -> -Infinity
       
   598 divx784 divide  Inf   0     ->  Infinity
       
   599 divx785 divide  Inf   1     ->  Infinity
       
   600 divx786 divide  Inf   1000  ->  Infinity
       
   601 divx787 divide  Inf   Inf   ->  NaN Invalid_operation
       
   602 divx788 divide -1000  Inf   -> -0E-398 Clamped
       
   603 divx789 divide -Inf   Inf   ->  NaN Invalid_operation
       
   604 divx790 divide -1     Inf   -> -0E-398 Clamped
       
   605 divx791 divide -0     Inf   -> -0E-398 Clamped
       
   606 divx792 divide  0     Inf   ->  0E-398 Clamped
       
   607 divx793 divide  1     Inf   ->  0E-398 Clamped
       
   608 divx794 divide  1000  Inf   ->  0E-398 Clamped
       
   609 divx795 divide  Inf   Inf   ->  NaN Invalid_operation
       
   610 
       
   611 divx800 divide -Inf  -Inf   ->  NaN Invalid_operation
       
   612 divx801 divide -Inf  -1000  ->  Infinity
       
   613 divx802 divide -Inf  -1     ->  Infinity
       
   614 divx803 divide -Inf  -0     ->  Infinity
       
   615 divx804 divide -Inf   0     -> -Infinity
       
   616 divx805 divide -Inf   1     -> -Infinity
       
   617 divx806 divide -Inf   1000  -> -Infinity
       
   618 divx807 divide -Inf   Inf   ->  NaN Invalid_operation
       
   619 divx808 divide -1000  Inf   -> -0E-398 Clamped
       
   620 divx809 divide -Inf  -Inf   ->  NaN Invalid_operation
       
   621 divx810 divide -1    -Inf   ->  0E-398 Clamped
       
   622 divx811 divide -0    -Inf   ->  0E-398 Clamped
       
   623 divx812 divide  0    -Inf   -> -0E-398 Clamped
       
   624 divx813 divide  1    -Inf   -> -0E-398 Clamped
       
   625 divx814 divide  1000 -Inf   -> -0E-398 Clamped
       
   626 divx815 divide  Inf  -Inf   ->  NaN Invalid_operation
       
   627 
       
   628 divx821 divide  NaN -Inf    ->  NaN
       
   629 divx822 divide  NaN -1000   ->  NaN
       
   630 divx823 divide  NaN -1      ->  NaN
       
   631 divx824 divide  NaN -0      ->  NaN
       
   632 divx825 divide  NaN  0      ->  NaN
       
   633 divx826 divide  NaN  1      ->  NaN
       
   634 divx827 divide  NaN  1000   ->  NaN
       
   635 divx828 divide  NaN  Inf    ->  NaN
       
   636 divx829 divide  NaN  NaN    ->  NaN
       
   637 divx830 divide -Inf  NaN    ->  NaN
       
   638 divx831 divide -1000 NaN    ->  NaN
       
   639 divx832 divide -1    NaN    ->  NaN
       
   640 divx833 divide -0    NaN    ->  NaN
       
   641 divx834 divide  0    NaN    ->  NaN
       
   642 divx835 divide  1    NaN    ->  NaN
       
   643 divx836 divide  1000 NaN    ->  NaN
       
   644 divx837 divide  Inf  NaN    ->  NaN
       
   645 
       
   646 divx841 divide  sNaN -Inf   ->  NaN  Invalid_operation
       
   647 divx842 divide  sNaN -1000  ->  NaN  Invalid_operation
       
   648 divx843 divide  sNaN -1     ->  NaN  Invalid_operation
       
   649 divx844 divide  sNaN -0     ->  NaN  Invalid_operation
       
   650 divx845 divide  sNaN  0     ->  NaN  Invalid_operation
       
   651 divx846 divide  sNaN  1     ->  NaN  Invalid_operation
       
   652 divx847 divide  sNaN  1000  ->  NaN  Invalid_operation
       
   653 divx848 divide  sNaN  NaN   ->  NaN  Invalid_operation
       
   654 divx849 divide  sNaN sNaN   ->  NaN  Invalid_operation
       
   655 divx850 divide  NaN  sNaN   ->  NaN  Invalid_operation
       
   656 divx851 divide -Inf  sNaN   ->  NaN  Invalid_operation
       
   657 divx852 divide -1000 sNaN   ->  NaN  Invalid_operation
       
   658 divx853 divide -1    sNaN   ->  NaN  Invalid_operation
       
   659 divx854 divide -0    sNaN   ->  NaN  Invalid_operation
       
   660 divx855 divide  0    sNaN   ->  NaN  Invalid_operation
       
   661 divx856 divide  1    sNaN   ->  NaN  Invalid_operation
       
   662 divx857 divide  1000 sNaN   ->  NaN  Invalid_operation
       
   663 divx858 divide  Inf  sNaN   ->  NaN  Invalid_operation
       
   664 divx859 divide  NaN  sNaN   ->  NaN  Invalid_operation
       
   665 
       
   666 -- propagating NaNs
       
   667 divx861 divide  NaN9 -Inf   ->  NaN9
       
   668 divx862 divide  NaN8  1000  ->  NaN8
       
   669 divx863 divide  NaN7  Inf   ->  NaN7
       
   670 divx864 divide  NaN6  NaN5  ->  NaN6
       
   671 divx865 divide -Inf   NaN4  ->  NaN4
       
   672 divx866 divide -1000  NaN3  ->  NaN3
       
   673 divx867 divide  Inf   NaN2  ->  NaN2
       
   674 
       
   675 divx871 divide  sNaN99 -Inf    ->  NaN99 Invalid_operation
       
   676 divx872 divide  sNaN98 -1      ->  NaN98 Invalid_operation
       
   677 divx873 divide  sNaN97  NaN    ->  NaN97 Invalid_operation
       
   678 divx874 divide  sNaN96 sNaN94  ->  NaN96 Invalid_operation
       
   679 divx875 divide  NaN95  sNaN93  ->  NaN93 Invalid_operation
       
   680 divx876 divide -Inf    sNaN92  ->  NaN92 Invalid_operation
       
   681 divx877 divide  0      sNaN91  ->  NaN91 Invalid_operation
       
   682 divx878 divide  Inf    sNaN90  ->  NaN90 Invalid_operation
       
   683 divx879 divide  NaN    sNaN89  ->  NaN89 Invalid_operation
       
   684 
       
   685 divx881 divide  -NaN9  -Inf   ->  -NaN9
       
   686 divx882 divide  -NaN8   1000  ->  -NaN8
       
   687 divx883 divide  -NaN7   Inf   ->  -NaN7
       
   688 divx884 divide  -NaN6  -NaN5  ->  -NaN6
       
   689 divx885 divide  -Inf   -NaN4  ->  -NaN4
       
   690 divx886 divide  -1000  -NaN3  ->  -NaN3
       
   691 divx887 divide   Inf   -NaN2  ->  -NaN2
       
   692 
       
   693 divx891 divide -sNaN99 -Inf    -> -NaN99 Invalid_operation
       
   694 divx892 divide -sNaN98 -1      -> -NaN98 Invalid_operation
       
   695 divx893 divide -sNaN97  NaN    -> -NaN97 Invalid_operation
       
   696 divx894 divide -sNaN96 -sNaN94 -> -NaN96 Invalid_operation
       
   697 divx895 divide -NaN95  -sNaN93 -> -NaN93 Invalid_operation
       
   698 divx896 divide -Inf    -sNaN92 -> -NaN92 Invalid_operation
       
   699 divx897 divide  0      -sNaN91 -> -NaN91 Invalid_operation
       
   700 divx898 divide  Inf    -sNaN90 -> -NaN90 Invalid_operation
       
   701 divx899 divide -NaN    -sNaN89 -> -NaN89 Invalid_operation
       
   702 
       
   703 maxexponent: 999999999
       
   704 minexponent: -999999999
       
   705 
       
   706 -- Various flavours of divide by 0
       
   707 divx901 divide    0       0   ->  NaN Division_undefined
       
   708 divx902 divide    0.0E5   0   ->  NaN Division_undefined
       
   709 divx903 divide    0.000   0   ->  NaN Division_undefined
       
   710 divx904 divide    0.0001  0   ->  Infinity Division_by_zero
       
   711 divx905 divide    0.01    0   ->  Infinity Division_by_zero
       
   712 divx906 divide    0.1     0   ->  Infinity Division_by_zero
       
   713 divx907 divide    1       0   ->  Infinity Division_by_zero
       
   714 divx908 divide    1       0.0 ->  Infinity Division_by_zero
       
   715 divx909 divide   10       0.0 ->  Infinity Division_by_zero
       
   716 divx910 divide   1E+100   0.0 ->  Infinity Division_by_zero
       
   717 divx911 divide   1E+1000  0   ->  Infinity Division_by_zero
       
   718 
       
   719 divx921 divide   -0.0001  0   -> -Infinity Division_by_zero
       
   720 divx922 divide   -0.01    0   -> -Infinity Division_by_zero
       
   721 divx923 divide   -0.1     0   -> -Infinity Division_by_zero
       
   722 divx924 divide   -1       0   -> -Infinity Division_by_zero
       
   723 divx925 divide   -1       0.0 -> -Infinity Division_by_zero
       
   724 divx926 divide  -10       0.0 -> -Infinity Division_by_zero
       
   725 divx927 divide  -1E+100   0.0 -> -Infinity Division_by_zero
       
   726 divx928 divide  -1E+1000  0   -> -Infinity Division_by_zero
       
   727 
       
   728 divx931 divide    0.0001 -0   -> -Infinity Division_by_zero
       
   729 divx932 divide    0.01   -0   -> -Infinity Division_by_zero
       
   730 divx933 divide    0.1    -0   -> -Infinity Division_by_zero
       
   731 divx934 divide    1      -0   -> -Infinity Division_by_zero
       
   732 divx935 divide    1      -0.0 -> -Infinity Division_by_zero
       
   733 divx936 divide   10      -0.0 -> -Infinity Division_by_zero
       
   734 divx937 divide   1E+100  -0.0 -> -Infinity Division_by_zero
       
   735 divx938 divide   1E+1000 -0   -> -Infinity Division_by_zero
       
   736 
       
   737 divx941 divide   -0.0001 -0   ->  Infinity Division_by_zero
       
   738 divx942 divide   -0.01   -0   ->  Infinity Division_by_zero
       
   739 divx943 divide   -0.1    -0   ->  Infinity Division_by_zero
       
   740 divx944 divide   -1      -0   ->  Infinity Division_by_zero
       
   741 divx945 divide   -1      -0.0 ->  Infinity Division_by_zero
       
   742 divx946 divide  -10      -0.0 ->  Infinity Division_by_zero
       
   743 divx947 divide  -1E+100  -0.0 ->  Infinity Division_by_zero
       
   744 divx948 divide  -1E+1000 -0   ->  Infinity Division_by_zero
       
   745 
       
   746 -- overflow and underflow tests
       
   747 precision: 9
       
   748 maxexponent: 999999999
       
   749 minexponent: -999999999
       
   750 divx951 divide 9E+999999999 +0.23456789012345E-0 -> Infinity Inexact Overflow Rounded
       
   751 divx952 divide +0.100 9E+999999999 -> 1.111111E-1000000001 Inexact Rounded Underflow Subnormal
       
   752 divx953 divide 9E-999999999 +9.100 -> 9.8901099E-1000000000 Inexact Rounded Underflow Subnormal
       
   753 divx954 divide -1.23456789          9E+999999999 -> -1.3717421E-1000000000 Subnormal
       
   754 divx955 divide -1.23456789012345E-0 9E+999999999 -> -1.3717421E-1000000000 Underflow Subnormal Rounded Inexact
       
   755 divx956 divide -1.23456789012345E-0 7E+999999999 -> -1.7636684E-1000000000 Inexact Rounded Underflow Subnormal
       
   756 divx957 divide 9E+999999999 -0.83456789012345E-0 -> -Infinity Inexact Overflow Rounded
       
   757 divx958 divide -0.100 9E+999999999 -> -1.111111E-1000000001 Subnormal Inexact Rounded Underflow
       
   758 divx959 divide 9E-999999999 -9.100 -> -9.8901099E-1000000000 Inexact Rounded Underflow Subnormal
       
   759 
       
   760 -- overflow and underflow (additional edge tests in multiply.decTest)
       
   761 -- 'subnormal' results now possible (all hard underflow or overflow in
       
   762 -- base arithemtic)
       
   763 divx960 divide 1e-600000000 1e+400000001 -> 1E-1000000001 Subnormal
       
   764 divx961 divide 1e-600000000 1e+400000002 -> 1E-1000000002 Subnormal
       
   765 divx962 divide 1e-600000000 1e+400000003 -> 1E-1000000003 Subnormal
       
   766 divx963 divide 1e-600000000 1e+400000004 -> 1E-1000000004 Subnormal
       
   767 divx964 divide 1e-600000000 1e+400000005 -> 1E-1000000005 Subnormal
       
   768 divx965 divide 1e-600000000 1e+400000006 -> 1E-1000000006 Subnormal
       
   769 divx966 divide 1e-600000000 1e+400000007 -> 1E-1000000007 Subnormal
       
   770 divx967 divide 1e-600000000 1e+400000008 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
       
   771 divx968 divide 1e-600000000 1e+400000009 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
       
   772 divx969 divide 1e-600000000 1e+400000010 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
       
   773 -- [no equivalent of 'subnormal' for overflow]
       
   774 divx970 divide 1e+600000000 1e-400000001 -> Infinity Overflow Inexact Rounded
       
   775 divx971 divide 1e+600000000 1e-400000002 -> Infinity Overflow Inexact Rounded
       
   776 divx972 divide 1e+600000000 1e-400000003 -> Infinity Overflow Inexact Rounded
       
   777 divx973 divide 1e+600000000 1e-400000004 -> Infinity Overflow Inexact Rounded
       
   778 divx974 divide 1e+600000000 1e-400000005 -> Infinity Overflow Inexact Rounded
       
   779 divx975 divide 1e+600000000 1e-400000006 -> Infinity Overflow Inexact Rounded
       
   780 divx976 divide 1e+600000000 1e-400000007 -> Infinity Overflow Inexact Rounded
       
   781 divx977 divide 1e+600000000 1e-400000008 -> Infinity Overflow Inexact Rounded
       
   782 divx978 divide 1e+600000000 1e-400000009 -> Infinity Overflow Inexact Rounded
       
   783 divx979 divide 1e+600000000 1e-400000010 -> Infinity Overflow Inexact Rounded
       
   784 
       
   785 -- Sign after overflow and underflow
       
   786 divx980 divide  1e-600000000  1e+400000009 ->  0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
       
   787 divx981 divide  1e-600000000 -1e+400000009 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
       
   788 divx982 divide -1e-600000000  1e+400000009 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
       
   789 divx983 divide -1e-600000000 -1e+400000009 ->  0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
       
   790 divx984 divide  1e+600000000  1e-400000009 ->  Infinity Overflow Inexact Rounded
       
   791 divx985 divide  1e+600000000 -1e-400000009 -> -Infinity Overflow Inexact Rounded
       
   792 divx986 divide -1e+600000000  1e-400000009 -> -Infinity Overflow Inexact Rounded
       
   793 divx987 divide -1e+600000000 -1e-400000009 ->  Infinity Overflow Inexact Rounded
       
   794 
       
   795 -- Long operand overflow may be a different path
       
   796 precision: 3
       
   797 divx990 divide 1000  9.999E-999999999      ->  Infinity Inexact Overflow Rounded
       
   798 divx991 divide 1000 -9.999E-999999999      -> -Infinity Inexact Overflow Rounded
       
   799 divx992 divide       9.999E+999999999 0.01 ->  Infinity Inexact Overflow Rounded
       
   800 divx993 divide      -9.999E+999999999 0.01 -> -Infinity Inexact Overflow Rounded
       
   801 
       
   802 -- check for double-rounded subnormals
       
   803 precision:   5
       
   804 maxexponent: 79
       
   805 minexponent: -79
       
   806 divx1001 divide    1.52444E-80 1      -> 1.524E-80 Inexact Rounded Subnormal Underflow
       
   807 divx1002 divide    1.52445E-80 1      -> 1.524E-80 Inexact Rounded Subnormal Underflow
       
   808 divx1003 divide    1.52446E-80 1      -> 1.524E-80 Inexact Rounded Subnormal Underflow
       
   809 
       
   810 -- a rounding problem in one implementation
       
   811 precision:   34
       
   812 rounding:    half_up
       
   813 maxExponent: 6144
       
   814 minExponent: -6143
       
   815 -- Unbounded answer to 40 digits:
       
   816 --   1.465811965811965811965811965811965811966E+7000
       
   817 divx1010 divide 343E6000  234E-1000 -> Infinity Overflow Inexact Rounded
       
   818 
       
   819 precision:   34
       
   820 rounding:    half_up
       
   821 maxExponent: 6144
       
   822 minExponent: -6143
       
   823 
       
   824 -- Examples from SQL proposal (Krishna Kulkarni)
       
   825 precision: 7
       
   826 divx1021  divide 1E0          1E0 -> 1
       
   827 divx1022  divide 1E0          2E0 -> 0.5
       
   828 divx1023  divide 1E0          3E0 -> 0.3333333 Inexact Rounded
       
   829 divx1024  divide 100E-2   1000E-3 -> 1
       
   830 divx1025  divide 24E-1        2E0 -> 1.2
       
   831 divx1026  divide 2400E-3      2E0 -> 1.200
       
   832 divx1027  divide 5E0          2E0 -> 2.5
       
   833 divx1028  divide 5E0        20E-1 -> 2.5
       
   834 divx1029  divide 5E0      2000E-3 -> 2.5
       
   835 divx1030  divide 5E0         2E-1 -> 25
       
   836 divx1031  divide 5E0        20E-2 -> 25
       
   837 divx1032  divide 480E-2       3E0 -> 1.60
       
   838 divx1033  divide 47E-1        2E0 -> 2.35
       
   839 
       
   840 -- ECMAScript bad examples
       
   841 rounding:    half_down
       
   842 precision: 7
       
   843 divx1050  divide 5 9  -> 0.5555556 Inexact Rounded
       
   844 rounding:    half_even
       
   845 divx1051  divide 5 11 -> 0.4545455 Inexact Rounded
       
   846 
       
   847 -- payload decapitate
       
   848 precision: 5
       
   849 divx1055  divide   sNaN987654321 1 ->  NaN54321  Invalid_operation
       
   850 
       
   851 -- Null tests
       
   852 divx9998 divide 10  # -> NaN Invalid_operation
       
   853 divx9999 divide  # 10 -> NaN Invalid_operation
       
   854