python-2.5.2/win32/Lib/test/decimaltestdata/dqCanonical.decTest
changeset 0 ae805ac0140d
equal deleted inserted replaced
-1:000000000000 0:ae805ac0140d
       
     1 ------------------------------------------------------------------------
       
     2 -- dqCanonical.decTest -- test decQuad canonical results              --
       
     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 -- This file tests that copy operations leave uncanonical operands
       
    23 -- unchanged, and vice versa
       
    24 
       
    25 -- All operands and results are decQuads.
       
    26 extended:    1
       
    27 clamp:       1
       
    28 precision:   34
       
    29 maxExponent: 6144
       
    30 minExponent: -6143
       
    31 rounding:    half_even
       
    32 
       
    33 -- Uncanonical declets are: abc, where:
       
    34 --   a=1,2,3
       
    35 --   b=6,7,e,f
       
    36 --   c=e,f
       
    37 
       
    38 -- assert some standard (canonical) values; this tests that FromString
       
    39 -- produces canonical results (many more in decimalNN)
       
    40 dqcan001 apply 9.999999999999999999999999999999999E+6144  -> #77ffcff3fcff3fcff3fcff3fcff3fcff
       
    41 dqcan002 apply 0                      -> #22080000000000000000000000000000
       
    42 dqcan003 apply 1                      -> #22080000000000000000000000000001
       
    43 dqcan004 apply -1                     -> #a2080000000000000000000000000001
       
    44 dqcan005 apply Infinity               -> #78000000000000000000000000000000
       
    45 dqcan006 apply -Infinity              -> #f8000000000000000000000000000000
       
    46 dqcan007 apply -NaN                   -> #fc000000000000000000000000000000
       
    47 dqcan008 apply -sNaN                  -> #fe000000000000000000000000000000
       
    48 dqcan009 apply  NaN999999999999999999999999999999999  -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    49 dqcan010 apply sNaN999999999999999999999999999999999  -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
    50 decan011 apply  9999999999999999999999999999999999    -> #6e080ff3fcff3fcff3fcff3fcff3fcff
       
    51 dqcan012 apply 7.50                                   -> #220780000000000000000000000003d0
       
    52 dqcan013 apply 9.99                                   -> #220780000000000000000000000000ff
       
    53 
       
    54 -- Base tests for canonical encodings (individual operator
       
    55 -- propagation is tested later)
       
    56 
       
    57 -- Finites: declets in coefficient
       
    58 dqcan021 canonical  #77ffcff3fcff3fcff3fcff3fcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff
       
    59 dqcan022 canonical  #77fffff3fcff3fcff3fcff3fcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff
       
    60 dqcan023 canonical  #77ffcffffcff3fcff3fcff3fcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff
       
    61 dqcan024 canonical  #77ffcff3ffff3fcff3fcff3fcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff
       
    62 dqcan025 canonical  #77ffcff3fcffffcff3fcff3fcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff
       
    63 dqcan026 canonical  #77ffcff3fcff3ffff3fcff3fcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff
       
    64 dqcan027 canonical  #77ffcff3fcff3fcffffcff3fcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff
       
    65 dqcan028 canonical  #77ffcff3fcff3fcff3ffff3fcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff
       
    66 dqcan029 canonical  #77ffcff3fcff3fcff3fcffffcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff
       
    67 dqcan030 canonical  #77ffcff3fcff3fcff3fcff3ffff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff
       
    68 dqcan031 canonical  #77ffcff3fcff3fcff3fcff3fcffffcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff
       
    69 dqcan032 canonical  #77ffcff3fcff3fcff3fcff3fcff3ffff -> #77ffcff3fcff3fcff3fcff3fcff3fcff
       
    70 
       
    71 -- NaN: declets in payload
       
    72 dqcan061 canonical  #7c000ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    73 dqcan062 canonical  #7c000ffffcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    74 dqcan063 canonical  #7c000ff3ffff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    75 dqcan064 canonical  #7c000ff3fcffffcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    76 dqcan065 canonical  #7c000ff3fcff3ffff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    77 dqcan066 canonical  #7c000ff3fcff3fcffffcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    78 dqcan067 canonical  #7c000ff3fcff3fcff3ffff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    79 dqcan068 canonical  #7c000ff3fcff3fcff3fcffffcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    80 dqcan069 canonical  #7c000ff3fcff3fcff3fcff3ffff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    81 dqcan070 canonical  #7c000ff3fcff3fcff3fcff3fcffffcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    82 dqcan071 canonical  #7c000ff3fcff3fcff3fcff3fcff3ffff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    83 -- NaN: exponent continuation bits [excluding sNaN selector]
       
    84 dqcan081 canonical  #7d000ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    85 dqcan082 canonical  #7c800ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    86 dqcan083 canonical  #7c400ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    87 dqcan084 canonical  #7c200ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    88 dqcan085 canonical  #7c100ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    89 dqcan086 canonical  #7c080ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    90 dqcan087 canonical  #7c040ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    91 dqcan088 canonical  #7c020ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    92 dqcan089 canonical  #7c010ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    93 dqcan090 canonical  #7c008ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    94 dqcan091 canonical  #7c004ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
    95 
       
    96 -- sNaN: declets in payload
       
    97 dqcan101 canonical  #7e000ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
    98 dqcan102 canonical  #7e000ffffcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
    99 dqcan103 canonical  #7e000ff3ffff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   100 dqcan104 canonical  #7e000ff3fcffffcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   101 dqcan105 canonical  #7e000ff3fcff3ffff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   102 dqcan106 canonical  #7e000ff3fcff3fcffffcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   103 dqcan107 canonical  #7e000ff3fcff3fcff3ffff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   104 dqcan108 canonical  #7e000ff3fcff3fcff3fcffffcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   105 dqcan109 canonical  #7e000ff3fcff3fcff3fcff3ffff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   106 dqcan100 canonical  #7e000ff3fcff3fcff3fcff3fcffffcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   107 dqcan111 canonical  #7e000ff3fcff3fcff3fcff3fcff3ffff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   108 -- sNaN: exponent continuation bits [excluding sNaN selector]
       
   109 dqcan121 canonical  #7f000ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   110 dqcan122 canonical  #7e800ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   111 dqcan123 canonical  #7e400ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   112 dqcan124 canonical  #7e200ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   113 dqcan125 canonical  #7e100ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   114 dqcan126 canonical  #7e080ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   115 dqcan127 canonical  #7e040ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   116 dqcan128 canonical  #7e020ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   117 dqcan129 canonical  #7e010ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   118 dqcan130 canonical  #7e008ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   119 dqcan131 canonical  #7e004ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   120 
       
   121 -- Inf: exponent continuation bits
       
   122 dqcan137 canonical  #78000000000000000000000000000000 -> #78000000000000000000000000000000
       
   123 dqcan138 canonical  #79000000000000000000000000000000 -> #78000000000000000000000000000000
       
   124 dqcan139 canonical  #7a000000000000000000000000000000 -> #78000000000000000000000000000000
       
   125 dqcan140 canonical  #78800000000000000000000000000000 -> #78000000000000000000000000000000
       
   126 dqcan141 canonical  #78400000000000000000000000000000 -> #78000000000000000000000000000000
       
   127 dqcan142 canonical  #78200000000000000000000000000000 -> #78000000000000000000000000000000
       
   128 dqcan143 canonical  #78100000000000000000000000000000 -> #78000000000000000000000000000000
       
   129 dqcan144 canonical  #78080000000000000000000000000000 -> #78000000000000000000000000000000
       
   130 dqcan145 canonical  #78040000000000000000000000000000 -> #78000000000000000000000000000000
       
   131 dqcan146 canonical  #78020000000000000000000000000000 -> #78000000000000000000000000000000
       
   132 dqcan147 canonical  #78010000000000000000000000000000 -> #78000000000000000000000000000000
       
   133 dqcan148 canonical  #78008000000000000000000000000000 -> #78000000000000000000000000000000
       
   134 dqcan149 canonical  #78004000000000000000000000000000 -> #78000000000000000000000000000000
       
   135 
       
   136 -- Inf: coefficient continuation bits (first, last, and a few others)
       
   137 dqcan150 canonical  #78000000000000000000000000000000 -> #78000000000000000000000000000000
       
   138 dqcan151 canonical  #78020000000000000000000000000000 -> #78000000000000000000000000000000
       
   139 dqcan152 canonical  #78000000000000000000000000000001 -> #78000000000000000000000000000000
       
   140 dqcan153 canonical  #78010000000000000000000000000000 -> #78000000000000000000000000000000
       
   141 dqcan154 canonical  #78002000000000000000000000000000 -> #78000000000000000000000000000000
       
   142 dqcan155 canonical  #78000800000000000000000000000000 -> #78000000000000000000000000000000
       
   143 dqcan156 canonical  #78000020000000000000000000000000 -> #78000000000000000000000000000000
       
   144 dqcan157 canonical  #78000004000000000000000000000000 -> #78000000000000000000000000000000
       
   145 dqcan158 canonical  #78000000400000000000000000000000 -> #78000000000000000000000000000000
       
   146 dqcan159 canonical  #78000000080000000000000000000000 -> #78000000000000000000000000000000
       
   147 dqcan160 canonical  #78000000004000000000000000000000 -> #78000000000000000000000000000000
       
   148 dqcan161 canonical  #78000000000200000000000000000000 -> #78000000000000000000000000000000
       
   149 dqcan162 canonical  #78000000000080000000000000000000 -> #78000000000000000000000000000000
       
   150 dqcan163 canonical  #78000000000002000000000000000000 -> #78000000000000000000000000000000
       
   151 dqcan164 canonical  #78000000000000400000000000000000 -> #78000000000000000000000000000000
       
   152 dqcan165 canonical  #78000000000000080000000000000000 -> #78000000000000000000000000000000
       
   153 dqcan166 canonical  #78000000000000001000000000000000 -> #78000000000000000000000000000000
       
   154 dqcan167 canonical  #78000000000000000200000000000000 -> #78000000000000000000000000000000
       
   155 dqcan168 canonical  #78000000000000000080000000000000 -> #78000000000000000000000000000000
       
   156 dqcan169 canonical  #78000000000000000004000000000000 -> #78000000000000000000000000000000
       
   157 dqcan170 canonical  #78000000000000000000400000000000 -> #78000000000000000000000000000000
       
   158 dqcan171 canonical  #78000000000000000000010000000000 -> #78000000000000000000000000000000
       
   159 dqcan172 canonical  #78000000000000000000002000000000 -> #78000000000000000000000000000000
       
   160 dqcan173 canonical  #78000000000000000000000400000000 -> #78000000000000000000000000000000
       
   161 dqcan174 canonical  #78000000000000000000000080000000 -> #78000000000000000000000000000000
       
   162 dqcan175 canonical  #78000000000000000000000002000000 -> #78000000000000000000000000000000
       
   163 dqcan176 canonical  #78000000000000000000000000400000 -> #78000000000000000000000000000000
       
   164 dqcan177 canonical  #78000000000000000000000000020000 -> #78000000000000000000000000000000
       
   165 dqcan178 canonical  #78000000000000000000000000001000 -> #78000000000000000000000000000000
       
   166 dqcan179 canonical  #78000000000000000000000000000400 -> #78000000000000000000000000000000
       
   167 dqcan180 canonical  #78000000000000000000000000000020 -> #78000000000000000000000000000000
       
   168 dqcan181 canonical  #78000000000000000000000000000008 -> #78000000000000000000000000000000
       
   169 
       
   170 
       
   171 -- Now the operators -- trying to check paths that might fail to
       
   172 -- canonicalize propagated operands
       
   173 
       
   174 ----- Add:
       
   175 -- Finites: neutral 0
       
   176 dqcan202 add  0E+6144 #77ffcff3fcff3fcffffcff3fcff3fcff         -> #77ffcff3fcff3fcff3fcff3fcff3fcff
       
   177 dqcan203 add          #77ffcff3fcff3fcff3fcff3ffff3fcff 0E+6144 -> #77ffcff3fcff3fcff3fcff3fcff3fcff
       
   178 -- tiny zero
       
   179 dqcan204 add  0E-6176 #77ffcff3ffff3fcff3fcff3fcff3fcff         -> #77ffcff3fcff3fcff3fcff3fcff3fcff Rounded
       
   180 dqcan205 add          #77ffcff3fcff3fcff3fcff3fcff3ffff 0E-6176 -> #77ffcff3fcff3fcff3fcff3fcff3fcff Rounded
       
   181 -- tiny non zero
       
   182 dqcan206 add -1E-6176 #77ffcff3fcff3fcff3fcff3fcfffffff          -> #77ffcff3fcff3fcff3fcff3fcff3fcff Inexact Rounded
       
   183 dqcan207 add          #77ffcffffffffffffffffffffff3fcff -1E-6176 -> #77ffcff3fcff3fcff3fcff3fcff3fcff Inexact Rounded
       
   184 -- NaN: declets in payload
       
   185 dqcan211 add  0  #7c000ff3fcff3fcff3fcfffffff3fcff   -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
   186 dqcan212 add     #7c000ff3fcff3fcfffffff3fcff3fcff 0 -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
   187 -- NaN: exponent continuation bits [excluding sNaN selector]
       
   188 dqcan213 add  0  #7c400ff3fcff3fcff3fcff3fcff3fcff   -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
   189 dqcan214 add     #7c020ff3fcff3fcff3fcff3fcff3fcff 0 -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
   190 -- sNaN: declets in payload
       
   191 dqcan215 add  0  #7e000ff3fcffffcff3fcff3fcff3fcff   -> #7c000ff3fcff3fcff3fcff3fcff3fcff  Invalid_operation
       
   192 dqcan216 add     #7e003ff3fcff3fcff3fcff3fcff3fcff 0 -> #7c000ff3fcff3fcff3fcff3fcff3fcff  Invalid_operation
       
   193 -- sNaN: exponent continuation bits [excluding sNaN selector]
       
   194 dqcan217 add  0  #7e500ff3fcff3fcff3fcff3fcff3fcff   -> #7c000ff3fcff3fcff3fcff3fcff3fcff  Invalid_operation
       
   195 dqcan218 add     #7e0e0ff3fcff3fcff3fcff3fcff3fcff 0 -> #7c000ff3fcff3fcff3fcff3fcff3fcff  Invalid_operation
       
   196 -- Inf: exponent continuation bits
       
   197 dqcan220 add  0  #78010000000000000000000000000000   -> #78000000000000000000000000000000
       
   198 dqcan221 add     #78680000000000000000000000000000 0 -> #78000000000000000000000000000000
       
   199 -- Inf: coefficient continuation bits
       
   200 dqcan222 add  0  #78002000000000000000000000000000   -> #78000000000000000000000000000000
       
   201 dqcan223 add     #78000000000000000000000000000001 0 -> #78000000000000000000000000000000
       
   202 dqcan224 add  0  #78000002000000000000000000000000   -> #78000000000000000000000000000000
       
   203 dqcan225 add     #780000000000f0000000000000000000 0 -> #78000000000000000000000000000000
       
   204 dqcan226 add  0  #78000000000000000005000000000000   -> #78000000000000000000000000000000
       
   205 dqcan227 add     #780000000000000000000000000a0000 0 -> #78000000000000000000000000000000
       
   206 
       
   207 ----- Class: [does not return encoded]
       
   208 
       
   209 ----- Compare:
       
   210 dqcan231 compare -Inf   1     ->  #a2080000000000000000000000000001
       
   211 dqcan232 compare -Inf  -Inf   ->  #22080000000000000000000000000000
       
   212 dqcan233 compare  1    -Inf   ->  #22080000000000000000000000000001
       
   213 dqcan234 compare  #7c010ff3fcff3fcff3fcff3ffffffcff     -1000  -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
   214 dqcan235 compare  #7e004ff3fcff3fcff3ffffffcff3fcff     -1000  -> #7c000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation
       
   215 
       
   216 ----- CompareSig:
       
   217 dqcan241 comparesig -Inf   1     ->  #a2080000000000000000000000000001
       
   218 dqcan242 comparesig -Inf  -Inf   ->  #22080000000000000000000000000000
       
   219 dqcan243 comparesig  1    -Inf   ->  #22080000000000000000000000000001
       
   220 dqcan244 comparesig  #7c400ff3ffff3fcff3fcff3fcff3fcff   -1000 -> #7c000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation
       
   221 dqcan245 comparesig  #7e050ff3fcfffffff3fcff3fcff3fcff   -1000 -> #7c000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation
       
   222 
       
   223 ----- Copy: [does not usually canonicalize]
       
   224 -- finites
       
   225 dqcan250 copy  #6e080ff3fcff3fcfffffff3fcfffffff -> #6e080ff3fcff3fcfffffff3fcfffffff
       
   226 dqcan251 copy  #ee080ff3fcff3ffff3fcff3ffff3fcff -> #ee080ff3fcff3ffff3fcff3ffff3fcff
       
   227 -- NaNs
       
   228 dqcan252 copy  #7c000ff3fcffffffffffffffcff3fcff -> #7c000ff3fcffffffffffffffcff3fcff
       
   229 dqcan253 copy  #7c080ff3fcff3fcff3fcff3fcff3fcff -> #7c080ff3fcff3fcff3fcff3fcff3fcff
       
   230 -- sNaN
       
   231 dqcan254 copy  #7e003ff3fcffffffffffffffcff3fcff -> #7e003ff3fcffffffffffffffcff3fcff
       
   232 dqcan255 copy  #7e100ff3fcff3fcff3fcff3fcff3fcff -> #7e100ff3fcff3fcff3fcff3fcff3fcff
       
   233 -- Inf
       
   234 dqcan258 copy  #78002000000000000000000000000000 -> #78002000000000000000000000000000
       
   235 dqcan259 copy  #78000000000010000000000000100000 -> #78000000000010000000000000100000
       
   236 
       
   237 ----- CopyAbs: [does not usually canonicalize]
       
   238 -- finites
       
   239 dqcan260 copyabs  #6e080ff3fcff3fcfffffff3fcfffffff -> #6e080ff3fcff3fcfffffff3fcfffffff
       
   240 dqcan261 copyabs  #ee080ff3fcff3ffff3fcff3ffff3fcff -> #6e080ff3fcff3ffff3fcff3ffff3fcff
       
   241 -- NaNs
       
   242 dqcan262 copyabs  #fc000ff3fcffffffffffffffcff3fcff -> #7c000ff3fcffffffffffffffcff3fcff
       
   243 dqcan263 copyabs  #fc080ff3fcff3fcff3fcff3fcff3fcff -> #7c080ff3fcff3fcff3fcff3fcff3fcff
       
   244 -- sNaN
       
   245 dqcan264 copyabs  #fe003ff3fcffffffffffffffcff3fcff -> #7e003ff3fcffffffffffffffcff3fcff
       
   246 dqcan265 copyabs  #fe100ff3fcff3fcff3fcff3fcff3fcff -> #7e100ff3fcff3fcff3fcff3fcff3fcff
       
   247 -- Inf
       
   248 dqcan268 copyabs  #f8002000000000000000000000000000 -> #78002000000000000000000000000000
       
   249 dqcan269 copyabs  #f8000000000000700700700000000000 -> #78000000000000700700700000000000
       
   250 
       
   251 ----- CopyNegate: [does not usually canonicalize]
       
   252 -- finites
       
   253 dqcan270 copynegate  #6e080ff3fcff3fcfffffff3fcfffffff -> #ee080ff3fcff3fcfffffff3fcfffffff
       
   254 dqcan271 copynegate  #ee080ff3fcff3ffff3fcff3ffff3fcff -> #6e080ff3fcff3ffff3fcff3ffff3fcff
       
   255 -- NaNs
       
   256 dqcan272 copynegate  #7c000ff3fcffffffffffff3fcff3fcff -> #fc000ff3fcffffffffffff3fcff3fcff
       
   257 dqcan273 copynegate  #7c080ff3fcff3fcff3fcff3fcff3fcff -> #fc080ff3fcff3fcff3fcff3fcff3fcff
       
   258 -- sNaN
       
   259 dqcan274 copynegate  #7e003ff3fcffffffffffffffcff3fcff -> #fe003ff3fcffffffffffffffcff3fcff
       
   260 dqcan275 copynegate  #7e100ff3fcff3fcff3fcff3fcff3fcff -> #fe100ff3fcff3fcff3fcff3fcff3fcff
       
   261 -- Inf
       
   262 dqcan278 copynegate  #78002000000000000000000000000000 -> #f8002000000000000000000000000000
       
   263 dqcan279 copynegate  #78000000000010000000000000100000 -> #f8000000000010000000000000100000
       
   264 
       
   265 ----- CopySign: [does not usually canonicalize]
       
   266 -- finites
       
   267 dqcan280 copysign  #6e080ff3fcff3fcfffffff3fcfffffff -1 -> #ee080ff3fcff3fcfffffff3fcfffffff
       
   268 dqcan281 copysign  #ee080ff3fcff3ffff3fcff3ffff3fcff  1 -> #6e080ff3fcff3ffff3fcff3ffff3fcff
       
   269 -- NaNs
       
   270 dqcan282 copysign  #7c000ff3fcffffffffffffffcff3fcff -1 -> #fc000ff3fcffffffffffffffcff3fcff
       
   271 dqcan283 copysign  #7c080ff3fcff3fcff3fcff3fcff3fcff  1 -> #7c080ff3fcff3fcff3fcff3fcff3fcff
       
   272 -- sNaN
       
   273 dqcan284 copysign  #7e003ff3fcffffffffffffffcff3fcff -1 -> #fe003ff3fcffffffffffffffcff3fcff
       
   274 dqcan285 copysign  #7e100ff3fcff3fcff3fcff3fcff3fcff  1 -> #7e100ff3fcff3fcff3fcff3fcff3fcff
       
   275 -- Inf
       
   276 dqcan288 copysign  #78002000000000000000000000000000 -1 -> #f8002000000000000000000000000000
       
   277 dqcan289 copysign  #78000000000010000000000000100000  1 -> #78000000000010000000000000100000
       
   278 
       
   279 ----- Multiply:
       
   280 -- Finites: neutral 0
       
   281 dqcan302 multiply  1  #77ffff3fcff3fcff0000000000000000               -> #77ffff3fcff3fcff0000000000000000
       
   282 dqcan303 multiply     #77fcffffcff3fcff0000000000000000 1             -> #77fccfffcff3fcff0000000000000000
       
   283 -- negative
       
   284 dqcan306 multiply -1  #77ffff3fcff3fcff0000000000000000               -> #f7ffff3fcff3fcff0000000000000000
       
   285 dqcan307 multiply     #77fcffffcff3fcff0000000000000000 -1            -> #f7fccfffcff3fcff0000000000000000
       
   286 -- NaN: declets in payload
       
   287 dqcan311 multiply  1  #7c03ff3fcff3fcff0000000000000000               -> #7c003f3fcff3fcff0000000000000000
       
   288 dqcan312 multiply     #7c03ff3fcff3fcff0000000000000000 1             -> #7c003f3fcff3fcff0000000000000000
       
   289 -- NaN: exponent continuation bits [excluding sNaN selector]
       
   290 dqcan313 multiply  1  #7c40ff3fcff3fcff0000000000000000               -> #7c003f3fcff3fcff0000000000000000
       
   291 dqcan314 multiply     #7c40ff3fcff3fcff0000000000000000 1             -> #7c003f3fcff3fcff0000000000000000
       
   292 -- sNaN: declets in payload
       
   293 dqcan315 multiply  1  #7e00ffffcff3fcff0000000000000000               -> #7c000fffcff3fcff0000000000000000 Invalid_operation
       
   294 dqcan316 multiply     #7e00ffffcff3fcff0000000000000000 1             -> #7c000fffcff3fcff0000000000000000 Invalid_operation
       
   295 -- sNaN: exponent continuation bits [excluding sNaN selector]
       
   296 dqcan317 multiply  1  #7e80ff3fcff3fcff0000000000000000               -> #7c003f3fcff3fcff0000000000000000 Invalid_operation
       
   297 dqcan318 multiply     #7e80ff3fcff3fcff0000000000000000 1             -> #7c003f3fcff3fcff0000000000000000 Invalid_operation
       
   298 -- Inf: exponent continuation bits
       
   299 dqcan320 multiply  1  #78800000000000000000000000000000               -> #78000000000000000000000000000000
       
   300 dqcan321 multiply     #78800000000000000000000000000000 1             -> #78000000000000000000000000000000
       
   301 -- Inf: coefficient continuation bits
       
   302 dqcan322 multiply  1  #78020000000000000000000000000000               -> #78000000000000000000000000000000
       
   303 dqcan323 multiply     #78020000000000000000000000000000 1             -> #78000000000000000000000000000000
       
   304 dqcan324 multiply  1  #78000000000000010000000000000000               -> #78000000000000000000000000000000
       
   305 dqcan325 multiply     #78000000000000010000000000000000 1             -> #78000000000000000000000000000000
       
   306 dqcan326 multiply  1  #78000020000000000000000000000000               -> #78000000000000000000000000000000
       
   307 dqcan327 multiply     #78000020000000000000000000000000 1             -> #78000000000000000000000000000000
       
   308 
       
   309 ----- Quantize:
       
   310 dqcan401 quantize  #ee080ff3fcff3fcff3fffffffff3fcff 0    -> #ee080ff3fcff3fcff3fcff3fcff3fcff
       
   311 dqcan402 quantize  #ee080ff3fffffffffffcff3fcff3fcff 0    -> #ee080ff3fcff3fcff3fcff3fcff3fcff
       
   312 dqcan403 quantize  #78800000000000000000000000000000 Inf  -> #78000000000000000000000000000000
       
   313 dqcan404 quantize  #78020000000000000000000000000000 -Inf -> #78000000000000000000000000000000
       
   314 dqcan410 quantize  #7c080ff3fcff3fcff3fcff3fcff3fcff  1   -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
   315 dqcan411 quantize  #fc000ff3fcfffffff3fcff3fcff3fcff  1   -> #fc000ff3fcff3fcff3fcff3fcff3fcff
       
   316 dqcan412 quantize  #7e100ff3fcff3fcff3fcff3fcff3fcff  1   -> #7c000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation
       
   317 dqcan413 quantize  #fe000ff3fcff3fcff3ffffffcff3fcff  1   -> #fc000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation
       
   318 
       
   319 ----- Subtract:
       
   320 -- Finites: neutral 0
       
   321 dqcan502 subtract  0E+6144 #77ffcff3fcff3fcffffcff3fcff3fcff         -> #f7ffcff3fcff3fcff3fcff3fcff3fcff
       
   322 dqcan503 subtract          #77ffcff3fcff3fcff3fcff3ffff3fcff 0E+6144 -> #77ffcff3fcff3fcff3fcff3fcff3fcff
       
   323 -- tiny zero
       
   324 dqcan504 subtract  0E-6176 #77ffcff3ffff3fcff3fcff3fcff3fcff         -> #f7ffcff3fcff3fcff3fcff3fcff3fcff Rounded
       
   325 dqcan505 subtract          #77ffcff3fcff3fcff3fcff3fcff3ffff 0E-6176 -> #77ffcff3fcff3fcff3fcff3fcff3fcff Rounded
       
   326 -- tiny non zero
       
   327 dqcan506 subtract -1E-6176 #77ffcff3fcff3fcff3fcff3fcfffffff          -> #f7ffcff3fcff3fcff3fcff3fcff3fcff Inexact Rounded
       
   328 dqcan507 subtract          #77ffcffffffffffffffffffffff3fcff -1E-6176 -> #77ffcff3fcff3fcff3fcff3fcff3fcff Inexact Rounded
       
   329 -- NaN: declets in payload
       
   330 dqcan511 subtract  0  #7c000ff3fcff3fcff3fcfffffff3fcff   -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
   331 dqcan512 subtract     #7c000ff3fcff3fcfffffff3fcff3fcff 0 -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
   332 -- NaN: exponent continuation bits [excluding sNaN selector]
       
   333 dqcan513 subtract  0  #7c400ff3fcff3fcff3fcff3fcff3fcff   -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
   334 dqcan514 subtract     #7c020ff3fcff3fcff3fcff3fcff3fcff 0 -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
   335 -- sNaN: declets in payload
       
   336 dqcan515 subtract  0  #7e000ff3fcffffcff3fcff3fcff3fcff   -> #7c000ff3fcff3fcff3fcff3fcff3fcff  Invalid_operation
       
   337 dqcan516 subtract     #7e003ff3fcff3fcff3fcff3fcff3fcff 0 -> #7c000ff3fcff3fcff3fcff3fcff3fcff  Invalid_operation
       
   338 -- sNaN: exponent continuation bits [excluding sNaN selector]
       
   339 dqcan517 subtract  0  #7e500ff3fcff3fcff3fcff3fcff3fcff   -> #7c000ff3fcff3fcff3fcff3fcff3fcff  Invalid_operation
       
   340 dqcan518 subtract     #7e0e0ff3fcff3fcff3fcff3fcff3fcff 0 -> #7c000ff3fcff3fcff3fcff3fcff3fcff  Invalid_operation
       
   341 -- Inf: exponent continuation bits
       
   342 dqcan520 subtract  0  #78010000000000000000000000000000   -> #f8000000000000000000000000000000
       
   343 dqcan521 subtract     #78680000000000000000000000000000 0 -> #78000000000000000000000000000000
       
   344 -- Inf: coefficient continuation bits
       
   345 dqcan522 subtract  0  #78002000000000000000000000000000   -> #f8000000000000000000000000000000
       
   346 dqcan523 subtract     #78000000000000000000000000000001 0 -> #78000000000000000000000000000000
       
   347 dqcan524 subtract  0  #78000002000000000000000000000000   -> #f8000000000000000000000000000000
       
   348 dqcan525 subtract     #780000000000f0000000000000000000 0 -> #78000000000000000000000000000000
       
   349 dqcan526 subtract  0  #78000000000000000005000000000000   -> #f8000000000000000000000000000000
       
   350 dqcan527 subtract     #780000000000000000000000000a0000 0 -> #78000000000000000000000000000000
       
   351 
       
   352 ----- ToIntegral:
       
   353 dqcan601 tointegralx  #6e080ff3fdff3fcff3fcff3fcff3fcff  -> #6e080ff3fcff3fcff3fcff3fcff3fcff
       
   354 dqcan602 tointegralx  #ee080ff3fcff3ffff3fcff3fcff3fcff  -> #ee080ff3fcff3fcff3fcff3fcff3fcff
       
   355 dqcan603 tointegralx  #78800000000000000000000000000000  -> #78000000000000000000000000000000
       
   356 dqcan604 tointegralx  #78020000000000000000000000000000  -> #78000000000000000000000000000000
       
   357 dqcan614 tointegralx  #7c100ff3fcff3fcff3fcff3fcff3fcff  -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
   358 dqcan615 tointegralx  #fc000ff3fcff3fcff3fcffffcff3fcff  -> #fc000ff3fcff3fcff3fcff3fcff3fcff
       
   359 dqcan616 tointegralx  #7e010ff3fcff3fcff3fcff3fcff3fcff  -> #7c000ff3fcff3fcff3fcff3fcff3fcff  Invalid_operation
       
   360 dqcan617 tointegralx  #fe000ff3fcff3fcff3fdff3fcff3fcff  -> #fc000ff3fcff3fcff3fcff3fcff3fcff  Invalid_operation
       
   361 -- uncanonical 3999, 39.99, 3.99, 0.399,                  and negatives
       
   362 dqcan618 tointegralx  #22080000000000000000000000000fff  -> #22080000000000000000000000000cff
       
   363 dqcan619 tointegralx  #22078000000000000000000000000fff  -> #22080000000000000000000000000040  Inexact Rounded
       
   364 dqcan620 tointegralx  #22074000000000000000000000000fff  -> #22080000000000000000000000000004  Inexact Rounded
       
   365 dqcan621 tointegralx  #22070000000000000000000000000fff  -> #22080000000000000000000000000000  Inexact Rounded
       
   366 dqcan622 tointegralx  #a2080000000000000000000000000fff  -> #a2080000000000000000000000000cff
       
   367 dqcan623 tointegralx  #a2078000000000000000000000000fff  -> #a2080000000000000000000000000040  Inexact Rounded
       
   368 dqcan624 tointegralx  #a2074000000000000000000000000fff  -> #a2080000000000000000000000000004  Inexact Rounded
       
   369 dqcan625 tointegralx  #a2070000000000000000000000000fff  -> #a2080000000000000000000000000000  Inexact Rounded
       
   370 
       
   371 
       
   372