symbian-qemu-0.9.1-12/python-win32-2.6.1/lib/test/decimaltestdata/ddCanonical.decTest
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 ------------------------------------------------------------------------
       
     2 -- ddCanonical.decTest -- test decDouble canonical results            --
       
     3 -- Copyright (c) IBM Corporation, 1981, 2008.  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.58
       
    21 
       
    22 -- This file tests that copy operations leave uncanonical operands
       
    23 -- unchanged, and vice versa
       
    24 -- All operands and results are decDoubles.
       
    25 precision:   16
       
    26 maxExponent: 384
       
    27 minExponent: -383
       
    28 extended:    1
       
    29 clamp:       1
       
    30 rounding:    half_even
       
    31 
       
    32 -- Uncanonical declets are: abc, where:
       
    33 --   a=1,2,3
       
    34 --   b=6,7,e,f
       
    35 --   c=e,f
       
    36 
       
    37 -- assert some standard (canonical) values; this tests that FromString
       
    38 -- produces canonical results (many more in decimalNN)
       
    39 ddcan001 apply 9.999999999999999E+384 -> #77fcff3fcff3fcff
       
    40 ddcan002 apply 0                      -> #2238000000000000
       
    41 ddcan003 apply 1                      -> #2238000000000001
       
    42 ddcan004 apply -1                     -> #a238000000000001
       
    43 ddcan005 apply Infinity               -> #7800000000000000
       
    44 ddcan006 apply -Infinity              -> #f800000000000000
       
    45 ddcan007 apply -NaN                   -> #fc00000000000000
       
    46 ddcan008 apply -sNaN                  -> #fe00000000000000
       
    47 ddcan009 apply NaN999999999999999     -> #7c00ff3fcff3fcff
       
    48 ddcan010 apply sNaN999999999999999    -> #7e00ff3fcff3fcff
       
    49 decan011 apply  9999999999999999      -> #6e38ff3fcff3fcff
       
    50 ddcan012 apply 7.50                   -> #22300000000003d0
       
    51 ddcan013 apply 9.99                   -> #22300000000000ff
       
    52 
       
    53 -- Base tests for canonical encodings (individual operator
       
    54 -- propagation is tested later)
       
    55 
       
    56 -- Finites: declets in coefficient
       
    57 ddcan021 canonical  #77fcff3fcff3fcff  -> #77fcff3fcff3fcff
       
    58 ddcan022 canonical  #77fcff3fcff3fcff  -> #77fcff3fcff3fcff
       
    59 ddcan023 canonical  #77ffff3fcff3fcff  -> #77fcff3fcff3fcff
       
    60 ddcan024 canonical  #77ffff3fcff3fcff  -> #77fcff3fcff3fcff
       
    61 ddcan025 canonical  #77fcffffcff3fcff  -> #77fcff3fcff3fcff
       
    62 ddcan026 canonical  #77fcffffcff3fcff  -> #77fcff3fcff3fcff
       
    63 ddcan027 canonical  #77fcff3ffff3fcff  -> #77fcff3fcff3fcff
       
    64 ddcan028 canonical  #77fcff3ffff3fcff  -> #77fcff3fcff3fcff
       
    65 ddcan030 canonical  #77fcff3fcffffcff  -> #77fcff3fcff3fcff
       
    66 ddcan031 canonical  #77fcff3fcffffcff  -> #77fcff3fcff3fcff
       
    67 ddcan032 canonical  #77fcff3fcff3ffff  -> #77fcff3fcff3fcff
       
    68 ddcan033 canonical  #77fcff3fcff3ffff  -> #77fcff3fcff3fcff
       
    69 ddcan035 canonical  #77fcff3fdff3fcff  -> #77fcff3fcff3fcff
       
    70 ddcan036 canonical  #77fcff3feff3fcff  -> #77fcff3fcff3fcff
       
    71 
       
    72 -- NaN: declets in payload
       
    73 ddcan100 canonical  NaN999999999999999 -> #7c00ff3fcff3fcff
       
    74 ddcan101 canonical  #7c00ff3fcff3fcff  -> #7c00ff3fcff3fcff
       
    75 ddcan102 canonical  #7c03ff3fcff3fcff  -> #7c00ff3fcff3fcff
       
    76 ddcan103 canonical  #7c00ffffcff3fcff  -> #7c00ff3fcff3fcff
       
    77 ddcan104 canonical  #7c00ff3ffff3fcff  -> #7c00ff3fcff3fcff
       
    78 ddcan105 canonical  #7c00ff3fcffffcff  -> #7c00ff3fcff3fcff
       
    79 ddcan106 canonical  #7c00ff3fcff3ffff  -> #7c00ff3fcff3fcff
       
    80 ddcan107 canonical  #7c00ff3fcff3ffff  -> #7c00ff3fcff3fcff
       
    81 -- NaN: exponent continuation bits [excluding sNaN selector]
       
    82 ddcan110 canonical  #7c00ff3fcff3fcff  -> #7c00ff3fcff3fcff
       
    83 ddcan112 canonical  #7d00ff3fcff3fcff  -> #7c00ff3fcff3fcff
       
    84 ddcan113 canonical  #7c80ff3fcff3fcff  -> #7c00ff3fcff3fcff
       
    85 ddcan114 canonical  #7c40ff3fcff3fcff  -> #7c00ff3fcff3fcff
       
    86 ddcan115 canonical  #7c20ff3fcff3fcff  -> #7c00ff3fcff3fcff
       
    87 ddcan116 canonical  #7c10ff3fcff3fcff  -> #7c00ff3fcff3fcff
       
    88 ddcan117 canonical  #7c08ff3fcff3fcff  -> #7c00ff3fcff3fcff
       
    89 ddcan118 canonical  #7c04ff3fcff3fcff  -> #7c00ff3fcff3fcff
       
    90 
       
    91 -- sNaN: declets in payload
       
    92 ddcan120 canonical sNaN999999999999999 -> #7e00ff3fcff3fcff
       
    93 ddcan121 canonical  #7e00ff3fcff3fcff  -> #7e00ff3fcff3fcff
       
    94 ddcan122 canonical  #7e03ff3fcff3fcff  -> #7e00ff3fcff3fcff
       
    95 ddcan123 canonical  #7e00ffffcff3fcff  -> #7e00ff3fcff3fcff
       
    96 ddcan124 canonical  #7e00ff3ffff3fcff  -> #7e00ff3fcff3fcff
       
    97 ddcan125 canonical  #7e00ff3fcffffcff  -> #7e00ff3fcff3fcff
       
    98 ddcan126 canonical  #7e00ff3fcff3ffff  -> #7e00ff3fcff3fcff
       
    99 ddcan127 canonical  #7e00ff3fcff3ffff  -> #7e00ff3fcff3fcff
       
   100 -- sNaN: exponent continuation bits [excluding sNaN selector]
       
   101 ddcan130 canonical  #7e00ff3fcff3fcff  -> #7e00ff3fcff3fcff
       
   102 ddcan132 canonical  #7f00ff3fcff3fcff  -> #7e00ff3fcff3fcff
       
   103 ddcan133 canonical  #7e80ff3fcff3fcff  -> #7e00ff3fcff3fcff
       
   104 ddcan134 canonical  #7e40ff3fcff3fcff  -> #7e00ff3fcff3fcff
       
   105 ddcan135 canonical  #7e20ff3fcff3fcff  -> #7e00ff3fcff3fcff
       
   106 ddcan136 canonical  #7e10ff3fcff3fcff  -> #7e00ff3fcff3fcff
       
   107 ddcan137 canonical  #7e08ff3fcff3fcff  -> #7e00ff3fcff3fcff
       
   108 ddcan138 canonical  #7e04ff3fcff3fcff  -> #7e00ff3fcff3fcff
       
   109 
       
   110 -- Inf: exponent continuation bits
       
   111 ddcan140 canonical  #7800000000000000  -> #7800000000000000
       
   112 ddcan141 canonical  #7900000000000000  -> #7800000000000000
       
   113 ddcan142 canonical  #7a00000000000000  -> #7800000000000000
       
   114 ddcan143 canonical  #7880000000000000  -> #7800000000000000
       
   115 ddcan144 canonical  #7840000000000000  -> #7800000000000000
       
   116 ddcan145 canonical  #7820000000000000  -> #7800000000000000
       
   117 ddcan146 canonical  #7810000000000000  -> #7800000000000000
       
   118 ddcan147 canonical  #7808000000000000  -> #7800000000000000
       
   119 ddcan148 canonical  #7804000000000000  -> #7800000000000000
       
   120 
       
   121 -- Inf: coefficient continuation bits (first, last, and a few others)
       
   122 ddcan150 canonical  #7800000000000000  -> #7800000000000000
       
   123 ddcan151 canonical  #7802000000000000  -> #7800000000000000
       
   124 ddcan152 canonical  #7800000000000001  -> #7800000000000000
       
   125 ddcan153 canonical  #7801000000000000  -> #7800000000000000
       
   126 ddcan154 canonical  #7800200000000000  -> #7800000000000000
       
   127 ddcan155 canonical  #7800080000000000  -> #7800000000000000
       
   128 ddcan156 canonical  #7800002000000000  -> #7800000000000000
       
   129 ddcan157 canonical  #7800000400000000  -> #7800000000000000
       
   130 ddcan158 canonical  #7800000040000000  -> #7800000000000000
       
   131 ddcan159 canonical  #7800000008000000  -> #7800000000000000
       
   132 ddcan160 canonical  #7800000000400000  -> #7800000000000000
       
   133 ddcan161 canonical  #7800000000020000  -> #7800000000000000
       
   134 ddcan162 canonical  #7800000000008000  -> #7800000000000000
       
   135 ddcan163 canonical  #7800000000000200  -> #7800000000000000
       
   136 ddcan164 canonical  #7800000000000040  -> #7800000000000000
       
   137 ddcan165 canonical  #7800000000000008  -> #7800000000000000
       
   138 
       
   139 
       
   140 -- Now the operators -- trying to check paths that might fail to
       
   141 -- canonicalize propagated operands
       
   142 
       
   143 ----- Add:
       
   144 -- Finites: neutral 0
       
   145 ddcan202 add  0E+384 #77ffff3fcff3fcff        -> #77fcff3fcff3fcff
       
   146 ddcan203 add         #77fcffffcff3fcff 0E+384 -> #77fcff3fcff3fcff
       
   147 -- tiny zero
       
   148 ddcan204 add  0E-398 #77ffff3fcff3fcff        -> #77fcff3fcff3fcff Rounded
       
   149 ddcan205 add         #77fcffffcff3fcff 0E-398 -> #77fcff3fcff3fcff Rounded
       
   150 -- tiny non zero
       
   151 ddcan206 add -1E-398 #77ffff3fcff3fcff         -> #77fcff3fcff3fcff Inexact Rounded
       
   152 ddcan207 add         #77ffff3fcff3fcff -1E-398 -> #77fcff3fcff3fcff Inexact Rounded
       
   153 -- NaN: declets in payload
       
   154 ddcan211 add  0  #7c03ff3fcff3fcff      -> #7c00ff3fcff3fcff
       
   155 ddcan212 add     #7c03ff3fcff3fcff  0   -> #7c00ff3fcff3fcff
       
   156 -- NaN: exponent continuation bits [excluding sNaN selector]
       
   157 ddcan213 add  0  #7c40ff3fcff3fcff      -> #7c00ff3fcff3fcff
       
   158 ddcan214 add     #7c40ff3fcff3fcff  0   -> #7c00ff3fcff3fcff
       
   159 -- sNaN: declets in payload
       
   160 ddcan215 add  0  #7e00ffffcff3fcff      -> #7c00ff3fcff3fcff Invalid_operation
       
   161 ddcan216 add     #7e00ffffcff3fcff  0   -> #7c00ff3fcff3fcff Invalid_operation
       
   162 -- sNaN: exponent continuation bits [excluding sNaN selector]
       
   163 ddcan217 add  0  #7e80ff3fcff3fcff      -> #7c00ff3fcff3fcff Invalid_operation
       
   164 ddcan218 add     #7e80ff3fcff3fcff  0   -> #7c00ff3fcff3fcff Invalid_operation
       
   165 -- Inf: exponent continuation bits
       
   166 ddcan220 add  0  #7880000000000000      -> #7800000000000000
       
   167 ddcan221 add     #7880000000000000  0   -> #7800000000000000
       
   168 -- Inf: coefficient continuation bits
       
   169 ddcan222 add  0  #7802000000000000     -> #7800000000000000
       
   170 ddcan223 add     #7802000000000000  0  -> #7800000000000000
       
   171 ddcan224 add  0  #7800000000000001     -> #7800000000000000
       
   172 ddcan225 add     #7800000000000001  0  -> #7800000000000000
       
   173 ddcan226 add  0  #7800002000000000     -> #7800000000000000
       
   174 ddcan227 add     #7800002000000000  0  -> #7800000000000000
       
   175 
       
   176 ----- Class: [does not return encoded]
       
   177 
       
   178 ----- Compare:
       
   179 ddcan231 compare -Inf   1     ->  #a238000000000001
       
   180 ddcan232 compare -Inf  -Inf   ->  #2238000000000000
       
   181 ddcan233 compare  1    -Inf   ->  #2238000000000001
       
   182 ddcan234 compare  #7c00ff3ffff3fcff -1000  ->  #7c00ff3fcff3fcff
       
   183 ddcan235 compare  #7e00ff3ffff3fcff -1000  ->  #7c00ff3fcff3fcff  Invalid_operation
       
   184 
       
   185 ----- CompareSig:
       
   186 ddcan241 comparesig -Inf   1     ->  #a238000000000001
       
   187 ddcan242 comparesig -Inf  -Inf   ->  #2238000000000000
       
   188 ddcan243 comparesig  1    -Inf   ->  #2238000000000001
       
   189 ddcan244 comparesig  #7c00ff3ffff3fcff -1000  ->  #7c00ff3fcff3fcff  Invalid_operation
       
   190 ddcan245 comparesig  #7e00ff3ffff3fcff -1000  ->  #7c00ff3fcff3fcff  Invalid_operation
       
   191 
       
   192 ----- Copy: [does not usually canonicalize]
       
   193 -- finites
       
   194 ddcan250 copy  #77ffff3fcff3fcff  -> #77ffff3fcff3fcff
       
   195 ddcan251 copy  #77fcff3fdff3fcff  -> #77fcff3fdff3fcff
       
   196 -- NaNs
       
   197 ddcan252 copy  #7c03ff3fcff3fcff  -> #7c03ff3fcff3fcff
       
   198 ddcan253 copy  #7c00ff3fcff3ffff  -> #7c00ff3fcff3ffff
       
   199 ddcan254 copy  #7d00ff3fcff3fcff  -> #7d00ff3fcff3fcff
       
   200 ddcan255 copy  #7c04ff3fcff3fcff  -> #7c04ff3fcff3fcff
       
   201 -- sNaN
       
   202 ddcan256 copy  #7e00ff3fcffffcff  -> #7e00ff3fcffffcff
       
   203 ddcan257 copy  #7e40ff3fcff3fcff  -> #7e40ff3fcff3fcff
       
   204 -- Inf
       
   205 ddcan258 copy  #7a00000000000000  -> #7a00000000000000
       
   206 ddcan259 copy  #7800200000000000  -> #7800200000000000
       
   207 
       
   208 ----- CopyAbs: [does not usually canonicalize]
       
   209 -- finites
       
   210 ddcan260 copyabs  #f7ffff3fcff3fcff  -> #77ffff3fcff3fcff
       
   211 ddcan261 copyabs  #f7fcff3fdff3fcff  -> #77fcff3fdff3fcff
       
   212 -- NaNs
       
   213 ddcan262 copyabs  #fc03ff3fcff3fcff  -> #7c03ff3fcff3fcff
       
   214 ddcan263 copyabs  #fc00ff3fcff3ffff  -> #7c00ff3fcff3ffff
       
   215 ddcan264 copyabs  #fd00ff3fcff3fcff  -> #7d00ff3fcff3fcff
       
   216 ddcan265 copyabs  #fc04ff3fcff3fcff  -> #7c04ff3fcff3fcff
       
   217 -- sNaN
       
   218 ddcan266 copyabs  #fe00ff3fcffffcff  -> #7e00ff3fcffffcff
       
   219 ddcan267 copyabs  #fe40ff3fcff3fcff  -> #7e40ff3fcff3fcff
       
   220 -- Inf
       
   221 ddcan268 copyabs  #fa00000000000000  -> #7a00000000000000
       
   222 ddcan269 copyabs  #f800200000000000  -> #7800200000000000
       
   223 
       
   224 ----- CopyNegate: [does not usually canonicalize]
       
   225 -- finites
       
   226 ddcan270 copynegate  #77ffff3fcff3fcff  -> #f7ffff3fcff3fcff
       
   227 ddcan271 copynegate  #77fcff3fdff3fcff  -> #f7fcff3fdff3fcff
       
   228 -- NaNs
       
   229 ddcan272 copynegate  #7c03ff3fcff3fcff  -> #fc03ff3fcff3fcff
       
   230 ddcan273 copynegate  #7c00ff3fcff3ffff  -> #fc00ff3fcff3ffff
       
   231 ddcan274 copynegate  #7d00ff3fcff3fcff  -> #fd00ff3fcff3fcff
       
   232 ddcan275 copynegate  #7c04ff3fcff3fcff  -> #fc04ff3fcff3fcff
       
   233 -- sNaN
       
   234 ddcan276 copynegate  #7e00ff3fcffffcff  -> #fe00ff3fcffffcff
       
   235 ddcan277 copynegate  #7e40ff3fcff3fcff  -> #fe40ff3fcff3fcff
       
   236 -- Inf
       
   237 ddcan278 copynegate  #7a00000000000000  -> #fa00000000000000
       
   238 ddcan279 copynegate  #7800200000000000  -> #f800200000000000
       
   239 
       
   240 ----- CopySign: [does not usually canonicalize]
       
   241 -- finites
       
   242 ddcan280 copysign  #77ffff3fcff3fcff -1 -> #f7ffff3fcff3fcff
       
   243 ddcan281 copysign  #77fcff3fdff3fcff  1 -> #77fcff3fdff3fcff
       
   244 -- NaNs
       
   245 ddcan282 copysign  #7c03ff3fcff3fcff -1 -> #fc03ff3fcff3fcff
       
   246 ddcan283 copysign  #7c00ff3fcff3ffff  1 -> #7c00ff3fcff3ffff
       
   247 ddcan284 copysign  #7d00ff3fcff3fcff -1 -> #fd00ff3fcff3fcff
       
   248 ddcan285 copysign  #7c04ff3fcff3fcff  1 -> #7c04ff3fcff3fcff
       
   249 -- sNaN
       
   250 ddcan286 copysign  #7e00ff3fcffffcff -1 -> #fe00ff3fcffffcff
       
   251 ddcan287 copysign  #7e40ff3fcff3fcff  1 -> #7e40ff3fcff3fcff
       
   252 -- Inf
       
   253 ddcan288 copysign  #7a00000000000000 -1 -> #fa00000000000000
       
   254 ddcan289 copysign  #7800200000000000  1 -> #7800200000000000
       
   255 
       
   256 ----- Multiply:
       
   257 -- Finites: neutral 0
       
   258 ddcan302 multiply  1      #77ffff3fcff3fcff        -> #77fcff3fcff3fcff
       
   259 ddcan303 multiply         #77fcffffcff3fcff  1     -> #77fcff3fcff3fcff
       
   260 -- negative
       
   261 ddcan306 multiply -1      #77ffff3fcff3fcff        -> #f7fcff3fcff3fcff
       
   262 ddcan307 multiply         #77fcffffcff3fcff -1     -> #f7fcff3fcff3fcff
       
   263 -- NaN: declets in payload
       
   264 ddcan311 multiply  1  #7c03ff3fcff3fcff      -> #7c00ff3fcff3fcff
       
   265 ddcan312 multiply     #7c03ff3fcff3fcff  1   -> #7c00ff3fcff3fcff
       
   266 -- NaN: exponent continuation bits [excluding sNaN selector]
       
   267 ddcan313 multiply  1  #7c40ff3fcff3fcff      -> #7c00ff3fcff3fcff
       
   268 ddcan314 multiply     #7c40ff3fcff3fcff  1   -> #7c00ff3fcff3fcff
       
   269 -- sNaN: declets in payload
       
   270 ddcan315 multiply  1  #7e00ffffcff3fcff      -> #7c00ff3fcff3fcff Invalid_operation
       
   271 ddcan316 multiply     #7e00ffffcff3fcff  1   -> #7c00ff3fcff3fcff Invalid_operation
       
   272 -- sNaN: exponent continuation bits [excluding sNaN selector]
       
   273 ddcan317 multiply  1  #7e80ff3fcff3fcff      -> #7c00ff3fcff3fcff Invalid_operation
       
   274 ddcan318 multiply     #7e80ff3fcff3fcff  1   -> #7c00ff3fcff3fcff Invalid_operation
       
   275 -- Inf: exponent continuation bits
       
   276 ddcan320 multiply  1  #7880000000000000      -> #7800000000000000
       
   277 ddcan321 multiply     #7880000000000000  1   -> #7800000000000000
       
   278 -- Inf: coefficient continuation bits
       
   279 ddcan322 multiply  1  #7802000000000000     -> #7800000000000000
       
   280 ddcan323 multiply     #7802000000000000  1  -> #7800000000000000
       
   281 ddcan324 multiply  1  #7800000000000001     -> #7800000000000000
       
   282 ddcan325 multiply     #7800000000000001  1  -> #7800000000000000
       
   283 ddcan326 multiply  1  #7800002000000000     -> #7800000000000000
       
   284 ddcan327 multiply     #7800002000000000  1  -> #7800000000000000
       
   285 
       
   286 ----- Quantize:
       
   287 ddcan401 quantize  #6e38ff3ffff3fcff 1    -> #6e38ff3fcff3fcff
       
   288 ddcan402 quantize  #6e38ff3fcff3fdff 0    -> #6e38ff3fcff3fcff
       
   289 ddcan403 quantize  #7880000000000000 Inf  -> #7800000000000000
       
   290 ddcan404 quantize  #7802000000000000 -Inf -> #7800000000000000
       
   291 ddcan410 quantize  #7c03ff3fcff3fcff  1   -> #7c00ff3fcff3fcff
       
   292 ddcan411 quantize  #7c03ff3fcff3fcff  1   -> #7c00ff3fcff3fcff
       
   293 ddcan412 quantize  #7c40ff3fcff3fcff  1   -> #7c00ff3fcff3fcff
       
   294 ddcan413 quantize  #7c40ff3fcff3fcff  1   -> #7c00ff3fcff3fcff
       
   295 ddcan414 quantize  #7e00ffffcff3fcff  1   -> #7c00ff3fcff3fcff Invalid_operation
       
   296 ddcan415 quantize  #7e00ffffcff3fcff  1   -> #7c00ff3fcff3fcff Invalid_operation
       
   297 ddcan416 quantize  #7e80ff3fcff3fcff  1   -> #7c00ff3fcff3fcff Invalid_operation
       
   298 ddcan417 quantize  #7e80ff3fcff3fcff  1   -> #7c00ff3fcff3fcff Invalid_operation
       
   299 
       
   300 ----- Subtract:
       
   301 -- Finites: neutral 0
       
   302 ddcan502 subtract  0E+384 #77ffff3fcff3fcff        -> #f7fcff3fcff3fcff
       
   303 ddcan503 subtract         #77fcffffcff3fcff 0E+384 -> #77fcff3fcff3fcff
       
   304 -- tiny zero
       
   305 ddcan504 subtract  0E-398 #77ffff3fcff3fcff        -> #f7fcff3fcff3fcff Rounded
       
   306 ddcan505 subtract         #77fcffffcff3fcff 0E-398 -> #77fcff3fcff3fcff Rounded
       
   307 -- tiny non zero
       
   308 ddcan506 subtract -1E-398 #77ffff3fcff3fcff         -> #f7fcff3fcff3fcff Inexact Rounded
       
   309 ddcan507 subtract         #77ffff3fcff3fcff -1E-398 -> #77fcff3fcff3fcff Inexact Rounded
       
   310 -- NaN: declets in payload
       
   311 ddcan511 subtract  0  #7c03ff3fcff3fcff      -> #7c00ff3fcff3fcff
       
   312 ddcan512 subtract     #7c03ff3fcff3fcff  0   -> #7c00ff3fcff3fcff
       
   313 -- NaN: exponent continuation bits [excluding sNaN selector]
       
   314 ddcan513 subtract  0  #7c40ff3fcff3fcff      -> #7c00ff3fcff3fcff
       
   315 ddcan514 subtract     #7c40ff3fcff3fcff  0   -> #7c00ff3fcff3fcff
       
   316 -- sNaN: declets in payload
       
   317 ddcan515 subtract  0  #7e00ffffcff3fcff      -> #7c00ff3fcff3fcff Invalid_operation
       
   318 ddcan516 subtract     #7e00ffffcff3fcff  0   -> #7c00ff3fcff3fcff Invalid_operation
       
   319 -- sNaN: exponent continuation bits [excluding sNaN selector]
       
   320 ddcan517 subtract  0  #7e80ff3fcff3fcff      -> #7c00ff3fcff3fcff Invalid_operation
       
   321 ddcan518 subtract     #7e80ff3fcff3fcff  0   -> #7c00ff3fcff3fcff Invalid_operation
       
   322 -- Inf: exponent continuation bits
       
   323 ddcan520 subtract  0  #7880000000000000      -> #f800000000000000
       
   324 ddcan521 subtract     #7880000000000000  0   -> #7800000000000000
       
   325 -- Inf: coefficient continuation bits
       
   326 ddcan522 subtract  0  #7802000000000000     -> #f800000000000000
       
   327 ddcan523 subtract     #7802000000000000  0  -> #7800000000000000
       
   328 ddcan524 subtract  0  #7800000000000001     -> #f800000000000000
       
   329 ddcan525 subtract     #7800000000000001  0  -> #7800000000000000
       
   330 ddcan526 subtract  0  #7800002000000000     -> #f800000000000000
       
   331 ddcan527 subtract     #7800002000000000  0  -> #7800000000000000
       
   332 
       
   333 ----- ToIntegral:
       
   334 ddcan601 tointegralx  #6e38ff3ffff3fcff -> #6e38ff3fcff3fcff
       
   335 ddcan602 tointegralx  #6e38ff3fcff3fdff -> #6e38ff3fcff3fcff
       
   336 ddcan603 tointegralx  #7880000000000000 -> #7800000000000000
       
   337 ddcan604 tointegralx  #7802000000000000 -> #7800000000000000
       
   338 ddcan610 tointegralx  #7c03ff3fcff3fcff -> #7c00ff3fcff3fcff
       
   339 ddcan611 tointegralx  #7c03ff3fcff3fcff -> #7c00ff3fcff3fcff
       
   340 ddcan612 tointegralx  #7c40ff3fcff3fcff -> #7c00ff3fcff3fcff
       
   341 ddcan613 tointegralx  #7c40ff3fcff3fcff -> #7c00ff3fcff3fcff
       
   342 ddcan614 tointegralx  #7e00ffffcff3fcff -> #7c00ff3fcff3fcff Invalid_operation
       
   343 ddcan615 tointegralx  #7e00ffffcff3fcff -> #7c00ff3fcff3fcff Invalid_operation
       
   344 ddcan616 tointegralx  #7e80ff3fcff3fcff -> #7c00ff3fcff3fcff Invalid_operation
       
   345 ddcan617 tointegralx  #7e80ff3fcff3fcff -> #7c00ff3fcff3fcff Invalid_operation
       
   346 -- uncanonical 3999, 39.99, 3.99, 0.399, and negatives
       
   347 ddcan618 tointegralx  #2238000000000fff -> #2238000000000cff
       
   348 ddcan619 tointegralx  #2230000000000fff -> #2238000000000040 Inexact Rounded
       
   349 ddcan620 tointegralx  #222c000000000fff -> #2238000000000004 Inexact Rounded
       
   350 ddcan621 tointegralx  #2228000000000fff -> #2238000000000000 Inexact Rounded
       
   351 ddcan622 tointegralx  #a238000000000fff -> #a238000000000cff
       
   352 ddcan623 tointegralx  #a230000000000fff -> #a238000000000040 Inexact Rounded
       
   353 ddcan624 tointegralx  #a22c000000000fff -> #a238000000000004 Inexact Rounded
       
   354 ddcan625 tointegralx  #a228000000000fff -> #a238000000000000 Inexact Rounded
       
   355 
       
   356 
       
   357