------------------------------------------------------------------------
-- logb.decTest -- return integral adjusted exponent as per 754r      --
-- Copyright (c) IBM Corporation, 2005, 2009.  All rights reserved.   --
------------------------------------------------------------------------
-- Please see the document "General Decimal Arithmetic Testcases"     --
-- at http://www2.hursley.ibm.com/decimal for the description of      --
-- these testcases.                                                   --
--                                                                    --
-- These testcases are experimental ('beta' versions), and they       --
-- may contain errors.  They are offered on an as-is basis.  In       --
-- particular, achieving the same results as the tests here is not    --
-- a guarantee that an implementation complies with any Standard      --
-- or specification.  The tests are not exhaustive.                   --
--                                                                    --
-- Please send comments, suggestions, and corrections to the author:  --
--   Mike Cowlishaw, IBM Fellow                                       --
--   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --
--   mfc@uk.ibm.com                                                   --
------------------------------------------------------------------------
version: 2.59

-- This emphasises the testing of notable cases, as they will often
-- have unusual paths (especially the 10**n results).

extended:    1
rounding:    half_even
maxExponent: 999
minexponent: -999

-- basics & examples
precision:   9
logbx001 logb  0                 -> -Infinity  Division_by_zero
logbx002 logb  1E-999            -> -999
logbx003 logb  9E-999            -> -999
logbx004 logb  0.001             -> -3
logbx005 logb  0.03              -> -2
logbx006 logb  1                 ->  0
logbx007 logb  2                 ->  0
logbx008 logb  2.5               ->  0
logbx009 logb  2.50              ->  0
logbx010 logb  10                ->  1
logbx011 logb  70                ->  1
logbx012 logb  100               ->  2
logbx013 logb  250               ->  2
logbx014 logb +Infinity          ->  Infinity

-- negatives are treated as positives
logbx021 logb -0                 -> -Infinity  Division_by_zero
logbx022 logb -1E-999            -> -999
logbx023 logb -9E-999            -> -999
logbx024 logb -0.001             -> -3
logbx025 logb -1                 ->  0
logbx026 logb -2                 ->  0
logbx027 logb -10                ->  1
logbx028 logb -70                ->  1
logbx029 logb -100               ->  2
logbx030 logb -100000000         ->  8
logbx031 logb -Infinity          ->  Infinity

-- zeros
logbx111 logb          0   -> -Infinity  Division_by_zero
logbx112 logb         -0   -> -Infinity  Division_by_zero
logbx113 logb       0E+4   -> -Infinity  Division_by_zero
logbx114 logb      -0E+4   -> -Infinity  Division_by_zero
logbx115 logb     0.0000   -> -Infinity  Division_by_zero
logbx116 logb    -0.0000   -> -Infinity  Division_by_zero
logbx117 logb      0E-141  -> -Infinity  Division_by_zero
logbx118 logb     -0E-141  -> -Infinity  Division_by_zero

-- full coefficients, alternating bits
logbx121 logb   268268268        -> 8
logbx122 logb  -268268268        -> 8
logbx123 logb   134134134        -> 8
logbx124 logb  -134134134        -> 8

-- Nmax, Nmin, Ntiny
logbx131 logb  9.99999999E+999   -> 999
logbx132 logb  1E-999            -> -999
logbx133 logb  1.00000000E-999   -> -999
logbx134 logb  1E-1007           -> -1007

logbx135 logb  -1E-1007          -> -1007
logbx136 logb  -1.00000000E-999  -> -999
logbx137 logb  -1E-999           -> -999
logbx138 logb  -9.99999999E+999  ->  999

-- ones
logbx0061 logb  1                 ->   0
logbx0062 logb  1.0               ->   0
logbx0063 logb  1.000000000000000 ->   0
logbx0064 logb  1.000000000000000000 ->   0

-- notable cases -- exact powers of 10
logbx1100 logb 1             -> 0
logbx1101 logb 10            -> 1
logbx1102 logb 100           -> 2
logbx1103 logb 1000          -> 3
logbx1104 logb 10000         -> 4
logbx1105 logb 100000        -> 5
logbx1106 logb 1000000       -> 6
logbx1107 logb 10000000      -> 7
logbx1108 logb 100000000     -> 8
logbx1109 logb 1000000000    -> 9
logbx1110 logb 10000000000   -> 10
logbx1111 logb 100000000000  -> 11
logbx1112 logb 1000000000000 -> 12
logbx1113 logb 0.00000000001 -> -11
logbx1114 logb 0.0000000001 -> -10
logbx1115 logb 0.000000001 -> -9
logbx1116 logb 0.00000001 -> -8
logbx1117 logb 0.0000001 -> -7
logbx1118 logb 0.000001 -> -6
logbx1119 logb 0.00001 -> -5
logbx1120 logb 0.0001 -> -4
logbx1121 logb 0.001 -> -3
logbx1122 logb 0.01 -> -2
logbx1123 logb 0.1 -> -1
logbx1124 logb 1E-99  -> -99
logbx1125 logb 1E-100 -> -100
logbx1126 logb 1E-383 -> -383
logbx1127 logb 1E-999 -> -999

-- suggestions from Ilan Nehama
logbx1400 logb 10E-3    -> -2
logbx1401 logb 10E-2    -> -1
logbx1402 logb 100E-2   ->  0
logbx1403 logb 1000E-2  ->  1
logbx1404 logb 10000E-2 ->  2
logbx1405 logb 10E-1    ->  0
logbx1406 logb 100E-1   ->  1
logbx1407 logb 1000E-1  ->  2
logbx1408 logb 10000E-1 ->  3
logbx1409 logb 10E0     ->  1
logbx1410 logb 100E0    ->  2
logbx1411 logb 1000E0   ->  3
logbx1412 logb 10000E0  ->  4
logbx1413 logb 10E1     ->  2
logbx1414 logb 100E1    ->  3
logbx1415 logb 1000E1   ->  4
logbx1416 logb 10000E1  ->  5
logbx1417 logb 10E2     ->  3
logbx1418 logb 100E2    ->  4
logbx1419 logb 1000E2   ->  5
logbx1420 logb 10000E2  ->  6

-- inexacts
precision: 2
logbx1500 logb 10000E2       ->  6
logbx1501 logb 1E+99         ->  99
logbx1502 logb 1E-99         -> -99
logbx1503 logb 1E+100        ->  1.0E+2  Rounded
logbx1504 logb 1E+999        ->  1.0E+3  Inexact Rounded
logbx1505 logb 1E-100        -> -1.0E+2  Rounded
logbx1506 logb 1E-999        -> -1.0E+3  Inexact Rounded
logbx1507 logb 1E-1111       -> -1.1E+3  Inexact Rounded
logbx1508 logb 1E-3333       -> -3.3E+3  Inexact Rounded
logbx1509 logb 1E-6666       -> -6.7E+3  Inexact Rounded
logbx1510 logb 1E+999999999  ->  1.0E+9  Inexact Rounded
logbx1511 logb 1E-999999999  -> -1.0E+9  Inexact Rounded
precision: 1
logbx1517 logb 1E-1111       -> -1E+3    Inexact Rounded
logbx1518 logb 1E-3333       -> -3E+3    Inexact Rounded
logbx1519 logb 1E-6666       -> -7E+3    Inexact Rounded
precision: 8
logbx1520 logb 1E+999999999  ->  1.0000000E+9 Inexact Rounded
logbx1521 logb 1E-999999999  -> -1.0000000E+9 Inexact Rounded
precision: 9
logbx1523 logb 1E+999999999  ->  999999999
logbx1524 logb 1E-999999999  -> -999999999

-- special values
precision: 9
logbx820  logb   Infinity ->   Infinity
logbx821  logb  -Infinity ->   Infinity
logbx822  logb   0        ->  -Infinity Division_by_zero
logbx823  logb   NaN      ->   NaN
logbx824  logb   sNaN     ->   NaN     Invalid_operation
-- propagating NaNs
logbx825  logb   sNaN123  ->   NaN123  Invalid_operation
logbx826  logb   -sNaN321 ->  -NaN321  Invalid_operation
logbx827  logb   NaN456   ->   NaN456
logbx828  logb   -NaN654  ->  -NaN654
logbx829  logb   NaN1     ->   NaN1

-- Null test
logbx900  logb #   -> NaN Invalid_operation


