Learn more  » Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

agriconnect / libpython3.8-testsuite   deb

Repository URL to install this package:

Version: 3.8.5-1+stretch1 

/ usr / lib / python3.8 / test / decimaltestdata / ddEncode.decTest

------------------------------------------------------------------------
-- ddEncode.decTest -- decimal eight-byte format testcases            --
-- Copyright (c) IBM Corporation, 2000, 2008.  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                                                   --
------------------------------------------------------------------------
-- [Previously called decimal64.decTest]
version: 2.59

-- This set of tests is for the eight-byte concrete representation.
-- Its characteristics are:
--
--  1 bit  sign
--  5 bits combination field
--  8 bits exponent continuation
-- 50 bits coefficient continuation
--
-- Total exponent length 10 bits
-- Total coefficient length 54 bits (16 digits)
--
-- Elimit =  767 (maximum encoded exponent)
-- Emax   =  384 (largest exponent value)
-- Emin   = -383 (smallest exponent value)
-- bias   =  398 (subtracted from encoded exponent) = -Etiny

-- The testcases here have only exactly representable data on the
-- 'left-hand-side'; rounding from strings is tested in 'base'
-- testcase groups.

extended:    1
clamp:       1
precision:   16
rounding:    half_up
maxExponent: 384
minExponent: -383

-- General testcases
-- (mostly derived from the Strawman 4 document and examples)
dece001 apply   #A2300000000003D0 -> -7.50
dece002 apply   -7.50             -> #A2300000000003D0
-- derivative canonical plain strings
dece003 apply   #A23c0000000003D0 -> -7.50E+3
dece004 apply   -7.50E+3          -> #A23c0000000003D0
dece005 apply   #A2380000000003D0 -> -750
dece006 apply   -750              -> #A2380000000003D0
dece007 apply   #A2340000000003D0 -> -75.0
dece008 apply   -75.0             -> #A2340000000003D0
dece009 apply   #A22c0000000003D0 -> -0.750
dece010 apply   -0.750            -> #A22c0000000003D0
dece011 apply   #A2280000000003D0 -> -0.0750
dece012 apply   -0.0750           -> #A2280000000003D0
dece013 apply   #A2200000000003D0 -> -0.000750
dece014 apply   -0.000750         -> #A2200000000003D0
dece015 apply   #A2180000000003D0 -> -0.00000750
dece016 apply   -0.00000750       -> #A2180000000003D0
dece017 apply   #A2140000000003D0 -> -7.50E-7
dece018 apply   -7.50E-7          -> #A2140000000003D0

-- Normality
dece020 apply   1234567890123456   -> #263934b9c1e28e56
dece021 apply  -1234567890123456   -> #a63934b9c1e28e56
dece022 apply   1234.567890123456  -> #260934b9c1e28e56
dece023 apply  #260934b9c1e28e56   -> 1234.567890123456
dece024 apply   1111111111111111   -> #2638912449124491
dece025 apply   9999999999999999   -> #6e38ff3fcff3fcff

-- Nmax and similar
dece031 apply   9999999999999999E+369   -> #77fcff3fcff3fcff
dece032 apply   9.999999999999999E+384  -> #77fcff3fcff3fcff
dece033 apply   #77fcff3fcff3fcff       -> 9.999999999999999E+384
dece034 apply   1.234567890123456E+384  -> #47fd34b9c1e28e56
dece035 apply   #47fd34b9c1e28e56       -> 1.234567890123456E+384
-- fold-downs (more below)
dece036 apply   1.23E+384               -> #47fd300000000000 Clamped
dece037 apply   #47fd300000000000       -> 1.230000000000000E+384
decd038 apply   1E+384                  -> #47fc000000000000 Clamped
decd039 apply   #47fc000000000000       -> 1.000000000000000E+384

decd051 apply   12345                   -> #22380000000049c5
decd052 apply   #22380000000049c5       -> 12345
decd053 apply   1234                    -> #2238000000000534
decd054 apply   #2238000000000534       -> 1234
decd055 apply   123                     -> #22380000000000a3
decd056 apply   #22380000000000a3       -> 123
decd057 apply   12                      -> #2238000000000012
decd058 apply   #2238000000000012       -> 12
decd059 apply   1                       -> #2238000000000001
decd060 apply   #2238000000000001       -> 1
decd061 apply   1.23                    -> #22300000000000a3
decd062 apply   #22300000000000a3       -> 1.23
decd063 apply   123.45                  -> #22300000000049c5
decd064 apply   #22300000000049c5       -> 123.45

-- Nmin and below
decd071 apply   1E-383                  -> #003c000000000001
decd072 apply   #003c000000000001       -> 1E-383
decd073 apply   1.000000000000000E-383  -> #0400000000000000
decd074 apply   #0400000000000000       -> 1.000000000000000E-383
decd075 apply   1.000000000000001E-383  -> #0400000000000001
decd076 apply   #0400000000000001       -> 1.000000000000001E-383

decd077 apply   0.100000000000000E-383  -> #0000800000000000      Subnormal
decd078 apply   #0000800000000000       -> 1.00000000000000E-384  Subnormal
decd079 apply   0.000000000000010E-383  -> #0000000000000010      Subnormal
decd080 apply   #0000000000000010       -> 1.0E-397               Subnormal
decd081 apply   0.00000000000001E-383   -> #0004000000000001      Subnormal
decd082 apply   #0004000000000001       -> 1E-397                 Subnormal
decd083 apply   0.000000000000001E-383  -> #0000000000000001      Subnormal
decd084 apply   #0000000000000001       -> 1E-398                 Subnormal
-- next is smallest all-nines
decd085 apply   9999999999999999E-398   -> #6400ff3fcff3fcff
decd086 apply   #6400ff3fcff3fcff       -> 9.999999999999999E-383
-- and a problematic divide result
decd088 apply   1.111111111111111E-383  -> #0400912449124491
decd089 apply   #0400912449124491       -> 1.111111111111111E-383

-- forties
decd090 apply        40                -> #2238000000000040
decd091 apply        39.99             -> #2230000000000cff

-- underflows cannot be tested as all LHS exact

-- Same again, negatives
-- Nmax and similar
decd122 apply  -9.999999999999999E+384  -> #f7fcff3fcff3fcff
decd123 apply   #f7fcff3fcff3fcff       -> -9.999999999999999E+384
decd124 apply  -1.234567890123456E+384  -> #c7fd34b9c1e28e56
decd125 apply   #c7fd34b9c1e28e56       -> -1.234567890123456E+384
-- fold-downs (more below)
decd130 apply  -1.23E+384               -> #c7fd300000000000 Clamped
decd131 apply   #c7fd300000000000       -> -1.230000000000000E+384
decd132 apply  -1E+384                  -> #c7fc000000000000 Clamped
decd133 apply   #c7fc000000000000       -> -1.000000000000000E+384

-- overflows
decd151 apply  -12345                   -> #a2380000000049c5
decd152 apply   #a2380000000049c5       -> -12345
decd153 apply  -1234                    -> #a238000000000534
decd154 apply   #a238000000000534       -> -1234
decd155 apply  -123                     -> #a2380000000000a3
decd156 apply   #a2380000000000a3       -> -123
decd157 apply  -12                      -> #a238000000000012
decd158 apply   #a238000000000012       -> -12
decd159 apply  -1                       -> #a238000000000001
decd160 apply   #a238000000000001       -> -1
decd161 apply  -1.23                    -> #a2300000000000a3
decd162 apply   #a2300000000000a3       -> -1.23
decd163 apply  -123.45                  -> #a2300000000049c5
decd164 apply   #a2300000000049c5       -> -123.45

-- Nmin and below
decd171 apply  -1E-383                  -> #803c000000000001
decd172 apply   #803c000000000001       -> -1E-383
decd173 apply  -1.000000000000000E-383  -> #8400000000000000
decd174 apply   #8400000000000000       -> -1.000000000000000E-383
decd175 apply  -1.000000000000001E-383  -> #8400000000000001
decd176 apply   #8400000000000001       -> -1.000000000000001E-383

decd177 apply  -0.100000000000000E-383  -> #8000800000000000       Subnormal
decd178 apply   #8000800000000000       -> -1.00000000000000E-384  Subnormal
decd179 apply  -0.000000000000010E-383  -> #8000000000000010       Subnormal
decd180 apply   #8000000000000010       -> -1.0E-397               Subnormal
decd181 apply  -0.00000000000001E-383   -> #8004000000000001       Subnormal
decd182 apply   #8004000000000001       -> -1E-397                 Subnormal
decd183 apply  -0.000000000000001E-383  -> #8000000000000001       Subnormal
decd184 apply   #8000000000000001       -> -1E-398                 Subnormal
-- next is smallest all-nines
decd185 apply   -9999999999999999E-398   -> #e400ff3fcff3fcff
decd186 apply   #e400ff3fcff3fcff       -> -9.999999999999999E-383
-- and a tricky subnormal
decd187 apply   1.11111111111524E-384    -> #00009124491246a4      Subnormal
decd188 apply   #00009124491246a4        -> 1.11111111111524E-384  Subnormal

-- near-underflows
decd189 apply   -1e-398                 -> #8000000000000001  Subnormal
decd190 apply   -1.0e-398               -> #8000000000000001  Subnormal Rounded

-- zeros
decd401 apply   0E-500                  -> #0000000000000000  Clamped
decd402 apply   0E-400                  -> #0000000000000000  Clamped
decd403 apply   0E-398                  -> #0000000000000000
decd404 apply   #0000000000000000       -> 0E-398
decd405 apply   0.000000000000000E-383  -> #0000000000000000
decd406 apply   #0000000000000000       -> 0E-398
decd407 apply   0E-2                    -> #2230000000000000
decd408 apply   #2230000000000000       -> 0.00
decd409 apply   0                       -> #2238000000000000
decd410 apply   #2238000000000000       -> 0
decd411 apply   0E+3                    -> #2244000000000000
decd412 apply   #2244000000000000       -> 0E+3
decd413 apply   0E+369                  -> #43fc000000000000
decd414 apply   #43fc000000000000       -> 0E+369
-- clamped zeros...
decd415 apply   0E+370                  -> #43fc000000000000  Clamped
decd416 apply   #43fc000000000000       -> 0E+369
decd417 apply   0E+384                  -> #43fc000000000000  Clamped
decd418 apply   #43fc000000000000       -> 0E+369
decd419 apply   0E+400                  -> #43fc000000000000  Clamped
decd420 apply   #43fc000000000000       -> 0E+369
decd421 apply   0E+500                  -> #43fc000000000000  Clamped
decd422 apply   #43fc000000000000       -> 0E+369

-- negative zeros
decd431 apply   -0E-400                 -> #8000000000000000  Clamped
decd432 apply   -0E-400                 -> #8000000000000000  Clamped
decd433 apply   -0E-398                 -> #8000000000000000
decd434 apply   #8000000000000000       -> -0E-398
decd435 apply   -0.000000000000000E-383 -> #8000000000000000
decd436 apply   #8000000000000000       -> -0E-398
decd437 apply   -0E-2                   -> #a230000000000000
decd438 apply   #a230000000000000       -> -0.00
decd439 apply   -0                      -> #a238000000000000
decd440 apply   #a238000000000000       -> -0
decd441 apply   -0E+3                   -> #a244000000000000
decd442 apply   #a244000000000000       -> -0E+3
decd443 apply   -0E+369                 -> #c3fc000000000000
decd444 apply   #c3fc000000000000       -> -0E+369
-- clamped zeros...
decd445 apply   -0E+370                 -> #c3fc000000000000  Clamped
decd446 apply   #c3fc000000000000       -> -0E+369
decd447 apply   -0E+384                 -> #c3fc000000000000  Clamped
decd448 apply   #c3fc000000000000       -> -0E+369
decd449 apply   -0E+400                 -> #c3fc000000000000  Clamped
decd450 apply   #c3fc000000000000       -> -0E+369
decd451 apply   -0E+500                 -> #c3fc000000000000  Clamped
decd452 apply   #c3fc000000000000       -> -0E+369

-- exponents
decd460 apply   #225c000000000007 -> 7E+9
decd461 apply   7E+9  -> #225c000000000007
decd462 apply   #23c4000000000007 -> 7E+99
decd463 apply   7E+99 -> #23c4000000000007

-- Specials
decd500 apply   Infinity          -> #7800000000000000
decd501 apply   #7878787878787878 -> #7800000000000000
decd502 apply   #7800000000000000 -> Infinity
decd503 apply   #7979797979797979 -> #7800000000000000
decd504 apply   #7900000000000000 -> Infinity
decd505 apply   #7a7a7a7a7a7a7a7a -> #7800000000000000
decd506 apply   #7a00000000000000 -> Infinity
decd507 apply   #7b7b7b7b7b7b7b7b -> #7800000000000000
decd508 apply   #7b00000000000000 -> Infinity

decd509 apply   NaN               -> #7c00000000000000
decd510 apply   #7c7c7c7c7c7c7c7c -> #7c007c7c7c7c7c7c
decd511 apply   #7c00000000000000 -> NaN
decd512 apply   #7d7d7d7d7d7d7d7d -> #7c017d7d7d7d7d7d
decd513 apply   #7d00000000000000 -> NaN
decd514 apply   #7e7e7e7e7e7e7e7e -> #7e007e7e7e7e7c7e
decd515 apply   #7e00000000000000 -> sNaN
decd516 apply   #7f7f7f7f7f7f7f7f -> #7e007f7f7f7f7c7f
decd517 apply   #7f00000000000000 -> sNaN
decd518 apply   #7fffffffffffffff -> sNaN999999999999999
decd519 apply   #7fffffffffffffff -> #7e00ff3fcff3fcff

decd520 apply   -Infinity         -> #f800000000000000
decd521 apply   #f878787878787878 -> #f800000000000000
decd522 apply   #f800000000000000 -> -Infinity
decd523 apply   #f979797979797979 -> #f800000000000000
decd524 apply   #f900000000000000 -> -Infinity
decd525 apply   #fa7a7a7a7a7a7a7a -> #f800000000000000
decd526 apply   #fa00000000000000 -> -Infinity
decd527 apply   #fb7b7b7b7b7b7b7b -> #f800000000000000
decd528 apply   #fb00000000000000 -> -Infinity

decd529 apply   -NaN              -> #fc00000000000000
decd530 apply   #fc7c7c7c7c7c7c7c -> #fc007c7c7c7c7c7c
decd531 apply   #fc00000000000000 -> -NaN
decd532 apply   #fd7d7d7d7d7d7d7d -> #fc017d7d7d7d7d7d
decd533 apply   #fd00000000000000 -> -NaN
decd534 apply   #fe7e7e7e7e7e7e7e -> #fe007e7e7e7e7c7e
decd535 apply   #fe00000000000000 -> -sNaN
decd536 apply   #ff7f7f7f7f7f7f7f -> #fe007f7f7f7f7c7f
decd537 apply   #ff00000000000000 -> -sNaN
decd538 apply   #ffffffffffffffff -> -sNaN999999999999999
decd539 apply   #ffffffffffffffff -> #fe00ff3fcff3fcff

-- diagnostic NaNs
decd540 apply   NaN                 -> #7c00000000000000
decd541 apply   NaN0                -> #7c00000000000000
decd542 apply   NaN1                -> #7c00000000000001
decd543 apply   NaN12               -> #7c00000000000012
decd544 apply   NaN79               -> #7c00000000000079
decd545 apply   NaN12345            -> #7c000000000049c5
decd546 apply   NaN123456           -> #7c00000000028e56
decd547 apply   NaN799799           -> #7c000000000f7fdf
decd548 apply   NaN799799799799799  -> #7c03dff7fdff7fdf
decd549 apply   NaN999999999999999  -> #7c00ff3fcff3fcff
-- too many digits

-- fold-down full sequence
decd601 apply   1E+384                  -> #47fc000000000000 Clamped
decd602 apply   #47fc000000000000       -> 1.000000000000000E+384
decd603 apply   1E+383                  -> #43fc800000000000 Clamped
decd604 apply   #43fc800000000000       -> 1.00000000000000E+383
decd605 apply   1E+382                  -> #43fc100000000000 Clamped
decd606 apply   #43fc100000000000       -> 1.0000000000000E+382
decd607 apply   1E+381                  -> #43fc010000000000 Clamped
decd608 apply   #43fc010000000000       -> 1.000000000000E+381
decd609 apply   1E+380                  -> #43fc002000000000 Clamped
decd610 apply   #43fc002000000000       -> 1.00000000000E+380
decd611 apply   1E+379                  -> #43fc000400000000 Clamped
decd612 apply   #43fc000400000000       -> 1.0000000000E+379
decd613 apply   1E+378                  -> #43fc000040000000 Clamped
decd614 apply   #43fc000040000000       -> 1.000000000E+378
decd615 apply   1E+377                  -> #43fc000008000000 Clamped
decd616 apply   #43fc000008000000       -> 1.00000000E+377
decd617 apply   1E+376                  -> #43fc000001000000 Clamped
decd618 apply   #43fc000001000000       -> 1.0000000E+376
decd619 apply   1E+375                  -> #43fc000000100000 Clamped
decd620 apply   #43fc000000100000       -> 1.000000E+375
decd621 apply   1E+374                  -> #43fc000000020000 Clamped
decd622 apply   #43fc000000020000       -> 1.00000E+374
decd623 apply   1E+373                  -> #43fc000000004000 Clamped
decd624 apply   #43fc000000004000       -> 1.0000E+373
decd625 apply   1E+372                  -> #43fc000000000400 Clamped
decd626 apply   #43fc000000000400       -> 1.000E+372
decd627 apply   1E+371                  -> #43fc000000000080 Clamped
decd628 apply   #43fc000000000080       -> 1.00E+371
decd629 apply   1E+370                  -> #43fc000000000010 Clamped
decd630 apply   #43fc000000000010       -> 1.0E+370
decd631 apply   1E+369                  -> #43fc000000000001
decd632 apply   #43fc000000000001       -> 1E+369
decd633 apply   1E+368                  -> #43f8000000000001
decd634 apply   #43f8000000000001       -> 1E+368
-- same with 9s
decd641 apply   9E+384                  -> #77fc000000000000 Clamped
decd642 apply   #77fc000000000000       -> 9.000000000000000E+384
decd643 apply   9E+383                  -> #43fc8c0000000000 Clamped
decd644 apply   #43fc8c0000000000       -> 9.00000000000000E+383
decd645 apply   9E+382                  -> #43fc1a0000000000 Clamped
Loading ...