17db96d56Sopenharmony_ci------------------------------------------------------------------------ 27db96d56Sopenharmony_ci-- dqCanonical.decTest -- test decQuad canonical results -- 37db96d56Sopenharmony_ci-- Copyright (c) IBM Corporation, 1981, 2008. All rights reserved. -- 47db96d56Sopenharmony_ci------------------------------------------------------------------------ 57db96d56Sopenharmony_ci-- Please see the document "General Decimal Arithmetic Testcases" -- 67db96d56Sopenharmony_ci-- at http://www2.hursley.ibm.com/decimal for the description of -- 77db96d56Sopenharmony_ci-- these testcases. -- 87db96d56Sopenharmony_ci-- -- 97db96d56Sopenharmony_ci-- These testcases are experimental ('beta' versions), and they -- 107db96d56Sopenharmony_ci-- may contain errors. They are offered on an as-is basis. In -- 117db96d56Sopenharmony_ci-- particular, achieving the same results as the tests here is not -- 127db96d56Sopenharmony_ci-- a guarantee that an implementation complies with any Standard -- 137db96d56Sopenharmony_ci-- or specification. The tests are not exhaustive. -- 147db96d56Sopenharmony_ci-- -- 157db96d56Sopenharmony_ci-- Please send comments, suggestions, and corrections to the author: -- 167db96d56Sopenharmony_ci-- Mike Cowlishaw, IBM Fellow -- 177db96d56Sopenharmony_ci-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK -- 187db96d56Sopenharmony_ci-- mfc@uk.ibm.com -- 197db96d56Sopenharmony_ci------------------------------------------------------------------------ 207db96d56Sopenharmony_civersion: 2.59 217db96d56Sopenharmony_ci 227db96d56Sopenharmony_ci-- This file tests that copy operations leave uncanonical operands 237db96d56Sopenharmony_ci-- unchanged, and vice versa 247db96d56Sopenharmony_ci 257db96d56Sopenharmony_ci-- All operands and results are decQuads. 267db96d56Sopenharmony_ciextended: 1 277db96d56Sopenharmony_ciclamp: 1 287db96d56Sopenharmony_ciprecision: 34 297db96d56Sopenharmony_cimaxExponent: 6144 307db96d56Sopenharmony_ciminExponent: -6143 317db96d56Sopenharmony_cirounding: half_even 327db96d56Sopenharmony_ci 337db96d56Sopenharmony_ci-- Uncanonical declets are: abc, where: 347db96d56Sopenharmony_ci-- a=1,2,3 357db96d56Sopenharmony_ci-- b=6,7,e,f 367db96d56Sopenharmony_ci-- c=e,f 377db96d56Sopenharmony_ci 387db96d56Sopenharmony_ci-- assert some standard (canonical) values; this tests that FromString 397db96d56Sopenharmony_ci-- produces canonical results (many more in decimalNN) 407db96d56Sopenharmony_cidqcan001 apply 9.999999999999999999999999999999999E+6144 -> #77ffcff3fcff3fcff3fcff3fcff3fcff 417db96d56Sopenharmony_cidqcan002 apply 0 -> #22080000000000000000000000000000 427db96d56Sopenharmony_cidqcan003 apply 1 -> #22080000000000000000000000000001 437db96d56Sopenharmony_cidqcan004 apply -1 -> #a2080000000000000000000000000001 447db96d56Sopenharmony_cidqcan005 apply Infinity -> #78000000000000000000000000000000 457db96d56Sopenharmony_cidqcan006 apply -Infinity -> #f8000000000000000000000000000000 467db96d56Sopenharmony_cidqcan007 apply -NaN -> #fc000000000000000000000000000000 477db96d56Sopenharmony_cidqcan008 apply -sNaN -> #fe000000000000000000000000000000 487db96d56Sopenharmony_cidqcan009 apply NaN999999999999999999999999999999999 -> #7c000ff3fcff3fcff3fcff3fcff3fcff 497db96d56Sopenharmony_cidqcan010 apply sNaN999999999999999999999999999999999 -> #7e000ff3fcff3fcff3fcff3fcff3fcff 507db96d56Sopenharmony_cidecan011 apply 9999999999999999999999999999999999 -> #6e080ff3fcff3fcff3fcff3fcff3fcff 517db96d56Sopenharmony_cidqcan012 apply 7.50 -> #220780000000000000000000000003d0 527db96d56Sopenharmony_cidqcan013 apply 9.99 -> #220780000000000000000000000000ff 537db96d56Sopenharmony_ci 547db96d56Sopenharmony_ci-- Base tests for canonical encodings (individual operator 557db96d56Sopenharmony_ci-- propagation is tested later) 567db96d56Sopenharmony_ci 577db96d56Sopenharmony_ci-- Finites: declets in coefficient 587db96d56Sopenharmony_cidqcan021 canonical #77ffcff3fcff3fcff3fcff3fcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff 597db96d56Sopenharmony_cidqcan022 canonical #77fffff3fcff3fcff3fcff3fcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff 607db96d56Sopenharmony_cidqcan023 canonical #77ffcffffcff3fcff3fcff3fcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff 617db96d56Sopenharmony_cidqcan024 canonical #77ffcff3ffff3fcff3fcff3fcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff 627db96d56Sopenharmony_cidqcan025 canonical #77ffcff3fcffffcff3fcff3fcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff 637db96d56Sopenharmony_cidqcan026 canonical #77ffcff3fcff3ffff3fcff3fcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff 647db96d56Sopenharmony_cidqcan027 canonical #77ffcff3fcff3fcffffcff3fcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff 657db96d56Sopenharmony_cidqcan028 canonical #77ffcff3fcff3fcff3ffff3fcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff 667db96d56Sopenharmony_cidqcan029 canonical #77ffcff3fcff3fcff3fcffffcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff 677db96d56Sopenharmony_cidqcan030 canonical #77ffcff3fcff3fcff3fcff3ffff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff 687db96d56Sopenharmony_cidqcan031 canonical #77ffcff3fcff3fcff3fcff3fcffffcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff 697db96d56Sopenharmony_cidqcan032 canonical #77ffcff3fcff3fcff3fcff3fcff3ffff -> #77ffcff3fcff3fcff3fcff3fcff3fcff 707db96d56Sopenharmony_ci 717db96d56Sopenharmony_ci-- NaN: declets in payload 727db96d56Sopenharmony_cidqcan061 canonical #7c000ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 737db96d56Sopenharmony_cidqcan062 canonical #7c000ffffcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 747db96d56Sopenharmony_cidqcan063 canonical #7c000ff3ffff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 757db96d56Sopenharmony_cidqcan064 canonical #7c000ff3fcffffcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 767db96d56Sopenharmony_cidqcan065 canonical #7c000ff3fcff3ffff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 777db96d56Sopenharmony_cidqcan066 canonical #7c000ff3fcff3fcffffcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 787db96d56Sopenharmony_cidqcan067 canonical #7c000ff3fcff3fcff3ffff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 797db96d56Sopenharmony_cidqcan068 canonical #7c000ff3fcff3fcff3fcffffcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 807db96d56Sopenharmony_cidqcan069 canonical #7c000ff3fcff3fcff3fcff3ffff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 817db96d56Sopenharmony_cidqcan070 canonical #7c000ff3fcff3fcff3fcff3fcffffcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 827db96d56Sopenharmony_cidqcan071 canonical #7c000ff3fcff3fcff3fcff3fcff3ffff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 837db96d56Sopenharmony_ci-- NaN: exponent continuation bits [excluding sNaN selector] 847db96d56Sopenharmony_cidqcan081 canonical #7d000ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 857db96d56Sopenharmony_cidqcan082 canonical #7c800ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 867db96d56Sopenharmony_cidqcan083 canonical #7c400ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 877db96d56Sopenharmony_cidqcan084 canonical #7c200ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 887db96d56Sopenharmony_cidqcan085 canonical #7c100ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 897db96d56Sopenharmony_cidqcan086 canonical #7c080ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 907db96d56Sopenharmony_cidqcan087 canonical #7c040ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 917db96d56Sopenharmony_cidqcan088 canonical #7c020ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 927db96d56Sopenharmony_cidqcan089 canonical #7c010ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 937db96d56Sopenharmony_cidqcan090 canonical #7c008ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 947db96d56Sopenharmony_cidqcan091 canonical #7c004ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 957db96d56Sopenharmony_ci 967db96d56Sopenharmony_ci-- sNaN: declets in payload 977db96d56Sopenharmony_cidqcan101 canonical #7e000ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 987db96d56Sopenharmony_cidqcan102 canonical #7e000ffffcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 997db96d56Sopenharmony_cidqcan103 canonical #7e000ff3ffff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1007db96d56Sopenharmony_cidqcan104 canonical #7e000ff3fcffffcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1017db96d56Sopenharmony_cidqcan105 canonical #7e000ff3fcff3ffff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1027db96d56Sopenharmony_cidqcan106 canonical #7e000ff3fcff3fcffffcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1037db96d56Sopenharmony_cidqcan107 canonical #7e000ff3fcff3fcff3ffff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1047db96d56Sopenharmony_cidqcan108 canonical #7e000ff3fcff3fcff3fcffffcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1057db96d56Sopenharmony_cidqcan109 canonical #7e000ff3fcff3fcff3fcff3ffff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1067db96d56Sopenharmony_cidqcan100 canonical #7e000ff3fcff3fcff3fcff3fcffffcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1077db96d56Sopenharmony_cidqcan111 canonical #7e000ff3fcff3fcff3fcff3fcff3ffff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1087db96d56Sopenharmony_ci-- sNaN: exponent continuation bits [excluding sNaN selector] 1097db96d56Sopenharmony_cidqcan121 canonical #7f000ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1107db96d56Sopenharmony_cidqcan122 canonical #7e800ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1117db96d56Sopenharmony_cidqcan123 canonical #7e400ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1127db96d56Sopenharmony_cidqcan124 canonical #7e200ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1137db96d56Sopenharmony_cidqcan125 canonical #7e100ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1147db96d56Sopenharmony_cidqcan126 canonical #7e080ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1157db96d56Sopenharmony_cidqcan127 canonical #7e040ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1167db96d56Sopenharmony_cidqcan128 canonical #7e020ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1177db96d56Sopenharmony_cidqcan129 canonical #7e010ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1187db96d56Sopenharmony_cidqcan130 canonical #7e008ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1197db96d56Sopenharmony_cidqcan131 canonical #7e004ff3fcff3fcff3fcff3fcff3fcff -> #7e000ff3fcff3fcff3fcff3fcff3fcff 1207db96d56Sopenharmony_ci 1217db96d56Sopenharmony_ci-- Inf: exponent continuation bits 1227db96d56Sopenharmony_cidqcan137 canonical #78000000000000000000000000000000 -> #78000000000000000000000000000000 1237db96d56Sopenharmony_cidqcan138 canonical #79000000000000000000000000000000 -> #78000000000000000000000000000000 1247db96d56Sopenharmony_cidqcan139 canonical #7a000000000000000000000000000000 -> #78000000000000000000000000000000 1257db96d56Sopenharmony_cidqcan140 canonical #78800000000000000000000000000000 -> #78000000000000000000000000000000 1267db96d56Sopenharmony_cidqcan141 canonical #78400000000000000000000000000000 -> #78000000000000000000000000000000 1277db96d56Sopenharmony_cidqcan142 canonical #78200000000000000000000000000000 -> #78000000000000000000000000000000 1287db96d56Sopenharmony_cidqcan143 canonical #78100000000000000000000000000000 -> #78000000000000000000000000000000 1297db96d56Sopenharmony_cidqcan144 canonical #78080000000000000000000000000000 -> #78000000000000000000000000000000 1307db96d56Sopenharmony_cidqcan145 canonical #78040000000000000000000000000000 -> #78000000000000000000000000000000 1317db96d56Sopenharmony_cidqcan146 canonical #78020000000000000000000000000000 -> #78000000000000000000000000000000 1327db96d56Sopenharmony_cidqcan147 canonical #78010000000000000000000000000000 -> #78000000000000000000000000000000 1337db96d56Sopenharmony_cidqcan148 canonical #78008000000000000000000000000000 -> #78000000000000000000000000000000 1347db96d56Sopenharmony_cidqcan149 canonical #78004000000000000000000000000000 -> #78000000000000000000000000000000 1357db96d56Sopenharmony_ci 1367db96d56Sopenharmony_ci-- Inf: coefficient continuation bits (first, last, and a few others) 1377db96d56Sopenharmony_cidqcan150 canonical #78000000000000000000000000000000 -> #78000000000000000000000000000000 1387db96d56Sopenharmony_cidqcan151 canonical #78020000000000000000000000000000 -> #78000000000000000000000000000000 1397db96d56Sopenharmony_cidqcan152 canonical #78000000000000000000000000000001 -> #78000000000000000000000000000000 1407db96d56Sopenharmony_cidqcan153 canonical #78010000000000000000000000000000 -> #78000000000000000000000000000000 1417db96d56Sopenharmony_cidqcan154 canonical #78002000000000000000000000000000 -> #78000000000000000000000000000000 1427db96d56Sopenharmony_cidqcan155 canonical #78000800000000000000000000000000 -> #78000000000000000000000000000000 1437db96d56Sopenharmony_cidqcan156 canonical #78000020000000000000000000000000 -> #78000000000000000000000000000000 1447db96d56Sopenharmony_cidqcan157 canonical #78000004000000000000000000000000 -> #78000000000000000000000000000000 1457db96d56Sopenharmony_cidqcan158 canonical #78000000400000000000000000000000 -> #78000000000000000000000000000000 1467db96d56Sopenharmony_cidqcan159 canonical #78000000080000000000000000000000 -> #78000000000000000000000000000000 1477db96d56Sopenharmony_cidqcan160 canonical #78000000004000000000000000000000 -> #78000000000000000000000000000000 1487db96d56Sopenharmony_cidqcan161 canonical #78000000000200000000000000000000 -> #78000000000000000000000000000000 1497db96d56Sopenharmony_cidqcan162 canonical #78000000000080000000000000000000 -> #78000000000000000000000000000000 1507db96d56Sopenharmony_cidqcan163 canonical #78000000000002000000000000000000 -> #78000000000000000000000000000000 1517db96d56Sopenharmony_cidqcan164 canonical #78000000000000400000000000000000 -> #78000000000000000000000000000000 1527db96d56Sopenharmony_cidqcan165 canonical #78000000000000080000000000000000 -> #78000000000000000000000000000000 1537db96d56Sopenharmony_cidqcan166 canonical #78000000000000001000000000000000 -> #78000000000000000000000000000000 1547db96d56Sopenharmony_cidqcan167 canonical #78000000000000000200000000000000 -> #78000000000000000000000000000000 1557db96d56Sopenharmony_cidqcan168 canonical #78000000000000000080000000000000 -> #78000000000000000000000000000000 1567db96d56Sopenharmony_cidqcan169 canonical #78000000000000000004000000000000 -> #78000000000000000000000000000000 1577db96d56Sopenharmony_cidqcan170 canonical #78000000000000000000400000000000 -> #78000000000000000000000000000000 1587db96d56Sopenharmony_cidqcan171 canonical #78000000000000000000010000000000 -> #78000000000000000000000000000000 1597db96d56Sopenharmony_cidqcan172 canonical #78000000000000000000002000000000 -> #78000000000000000000000000000000 1607db96d56Sopenharmony_cidqcan173 canonical #78000000000000000000000400000000 -> #78000000000000000000000000000000 1617db96d56Sopenharmony_cidqcan174 canonical #78000000000000000000000080000000 -> #78000000000000000000000000000000 1627db96d56Sopenharmony_cidqcan175 canonical #78000000000000000000000002000000 -> #78000000000000000000000000000000 1637db96d56Sopenharmony_cidqcan176 canonical #78000000000000000000000000400000 -> #78000000000000000000000000000000 1647db96d56Sopenharmony_cidqcan177 canonical #78000000000000000000000000020000 -> #78000000000000000000000000000000 1657db96d56Sopenharmony_cidqcan178 canonical #78000000000000000000000000001000 -> #78000000000000000000000000000000 1667db96d56Sopenharmony_cidqcan179 canonical #78000000000000000000000000000400 -> #78000000000000000000000000000000 1677db96d56Sopenharmony_cidqcan180 canonical #78000000000000000000000000000020 -> #78000000000000000000000000000000 1687db96d56Sopenharmony_cidqcan181 canonical #78000000000000000000000000000008 -> #78000000000000000000000000000000 1697db96d56Sopenharmony_ci 1707db96d56Sopenharmony_ci 1717db96d56Sopenharmony_ci-- Now the operators -- trying to check paths that might fail to 1727db96d56Sopenharmony_ci-- canonicalize propagated operands 1737db96d56Sopenharmony_ci 1747db96d56Sopenharmony_ci----- Add: 1757db96d56Sopenharmony_ci-- Finites: neutral 0 1767db96d56Sopenharmony_cidqcan202 add 0E+6144 #77ffcff3fcff3fcffffcff3fcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff 1777db96d56Sopenharmony_cidqcan203 add #77ffcff3fcff3fcff3fcff3ffff3fcff 0E+6144 -> #77ffcff3fcff3fcff3fcff3fcff3fcff 1787db96d56Sopenharmony_ci-- tiny zero 1797db96d56Sopenharmony_cidqcan204 add 0E-6176 #77ffcff3ffff3fcff3fcff3fcff3fcff -> #77ffcff3fcff3fcff3fcff3fcff3fcff Rounded 1807db96d56Sopenharmony_cidqcan205 add #77ffcff3fcff3fcff3fcff3fcff3ffff 0E-6176 -> #77ffcff3fcff3fcff3fcff3fcff3fcff Rounded 1817db96d56Sopenharmony_ci-- tiny non zero 1827db96d56Sopenharmony_cidqcan206 add -1E-6176 #77ffcff3fcff3fcff3fcff3fcfffffff -> #77ffcff3fcff3fcff3fcff3fcff3fcff Inexact Rounded 1837db96d56Sopenharmony_cidqcan207 add #77ffcffffffffffffffffffffff3fcff -1E-6176 -> #77ffcff3fcff3fcff3fcff3fcff3fcff Inexact Rounded 1847db96d56Sopenharmony_ci-- NaN: declets in payload 1857db96d56Sopenharmony_cidqcan211 add 0 #7c000ff3fcff3fcff3fcfffffff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 1867db96d56Sopenharmony_cidqcan212 add #7c000ff3fcff3fcfffffff3fcff3fcff 0 -> #7c000ff3fcff3fcff3fcff3fcff3fcff 1877db96d56Sopenharmony_ci-- NaN: exponent continuation bits [excluding sNaN selector] 1887db96d56Sopenharmony_cidqcan213 add 0 #7c400ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 1897db96d56Sopenharmony_cidqcan214 add #7c020ff3fcff3fcff3fcff3fcff3fcff 0 -> #7c000ff3fcff3fcff3fcff3fcff3fcff 1907db96d56Sopenharmony_ci-- sNaN: declets in payload 1917db96d56Sopenharmony_cidqcan215 add 0 #7e000ff3fcffffcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation 1927db96d56Sopenharmony_cidqcan216 add #7e003ff3fcff3fcff3fcff3fcff3fcff 0 -> #7c000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation 1937db96d56Sopenharmony_ci-- sNaN: exponent continuation bits [excluding sNaN selector] 1947db96d56Sopenharmony_cidqcan217 add 0 #7e500ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation 1957db96d56Sopenharmony_cidqcan218 add #7e0e0ff3fcff3fcff3fcff3fcff3fcff 0 -> #7c000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation 1967db96d56Sopenharmony_ci-- Inf: exponent continuation bits 1977db96d56Sopenharmony_cidqcan220 add 0 #78010000000000000000000000000000 -> #78000000000000000000000000000000 1987db96d56Sopenharmony_cidqcan221 add #78680000000000000000000000000000 0 -> #78000000000000000000000000000000 1997db96d56Sopenharmony_ci-- Inf: coefficient continuation bits 2007db96d56Sopenharmony_cidqcan222 add 0 #78002000000000000000000000000000 -> #78000000000000000000000000000000 2017db96d56Sopenharmony_cidqcan223 add #78000000000000000000000000000001 0 -> #78000000000000000000000000000000 2027db96d56Sopenharmony_cidqcan224 add 0 #78000002000000000000000000000000 -> #78000000000000000000000000000000 2037db96d56Sopenharmony_cidqcan225 add #780000000000f0000000000000000000 0 -> #78000000000000000000000000000000 2047db96d56Sopenharmony_cidqcan226 add 0 #78000000000000000005000000000000 -> #78000000000000000000000000000000 2057db96d56Sopenharmony_cidqcan227 add #780000000000000000000000000a0000 0 -> #78000000000000000000000000000000 2067db96d56Sopenharmony_ci 2077db96d56Sopenharmony_ci----- Class: [does not return encoded] 2087db96d56Sopenharmony_ci 2097db96d56Sopenharmony_ci----- Compare: 2107db96d56Sopenharmony_cidqcan231 compare -Inf 1 -> #a2080000000000000000000000000001 2117db96d56Sopenharmony_cidqcan232 compare -Inf -Inf -> #22080000000000000000000000000000 2127db96d56Sopenharmony_cidqcan233 compare 1 -Inf -> #22080000000000000000000000000001 2137db96d56Sopenharmony_cidqcan234 compare #7c010ff3fcff3fcff3fcff3ffffffcff -1000 -> #7c000ff3fcff3fcff3fcff3fcff3fcff 2147db96d56Sopenharmony_cidqcan235 compare #7e004ff3fcff3fcff3ffffffcff3fcff -1000 -> #7c000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation 2157db96d56Sopenharmony_ci 2167db96d56Sopenharmony_ci----- CompareSig: 2177db96d56Sopenharmony_cidqcan241 comparesig -Inf 1 -> #a2080000000000000000000000000001 2187db96d56Sopenharmony_cidqcan242 comparesig -Inf -Inf -> #22080000000000000000000000000000 2197db96d56Sopenharmony_cidqcan243 comparesig 1 -Inf -> #22080000000000000000000000000001 2207db96d56Sopenharmony_cidqcan244 comparesig #7c400ff3ffff3fcff3fcff3fcff3fcff -1000 -> #7c000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation 2217db96d56Sopenharmony_cidqcan245 comparesig #7e050ff3fcfffffff3fcff3fcff3fcff -1000 -> #7c000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation 2227db96d56Sopenharmony_ci 2237db96d56Sopenharmony_ci----- Copy: [does not usually canonicalize] 2247db96d56Sopenharmony_ci-- finites 2257db96d56Sopenharmony_cidqcan250 copy #6e080ff3fcff3fcfffffff3fcfffffff -> #6e080ff3fcff3fcfffffff3fcfffffff 2267db96d56Sopenharmony_cidqcan251 copy #ee080ff3fcff3ffff3fcff3ffff3fcff -> #ee080ff3fcff3ffff3fcff3ffff3fcff 2277db96d56Sopenharmony_ci-- NaNs 2287db96d56Sopenharmony_cidqcan252 copy #7c000ff3fcffffffffffffffcff3fcff -> #7c000ff3fcffffffffffffffcff3fcff 2297db96d56Sopenharmony_cidqcan253 copy #7c080ff3fcff3fcff3fcff3fcff3fcff -> #7c080ff3fcff3fcff3fcff3fcff3fcff 2307db96d56Sopenharmony_ci-- sNaN 2317db96d56Sopenharmony_cidqcan254 copy #7e003ff3fcffffffffffffffcff3fcff -> #7e003ff3fcffffffffffffffcff3fcff 2327db96d56Sopenharmony_cidqcan255 copy #7e100ff3fcff3fcff3fcff3fcff3fcff -> #7e100ff3fcff3fcff3fcff3fcff3fcff 2337db96d56Sopenharmony_ci-- Inf 2347db96d56Sopenharmony_cidqcan258 copy #78002000000000000000000000000000 -> #78002000000000000000000000000000 2357db96d56Sopenharmony_cidqcan259 copy #78000000000010000000000000100000 -> #78000000000010000000000000100000 2367db96d56Sopenharmony_ci 2377db96d56Sopenharmony_ci----- CopyAbs: [does not usually canonicalize] 2387db96d56Sopenharmony_ci-- finites 2397db96d56Sopenharmony_cidqcan260 copyabs #6e080ff3fcff3fcfffffff3fcfffffff -> #6e080ff3fcff3fcfffffff3fcfffffff 2407db96d56Sopenharmony_cidqcan261 copyabs #ee080ff3fcff3ffff3fcff3ffff3fcff -> #6e080ff3fcff3ffff3fcff3ffff3fcff 2417db96d56Sopenharmony_ci-- NaNs 2427db96d56Sopenharmony_cidqcan262 copyabs #fc000ff3fcffffffffffffffcff3fcff -> #7c000ff3fcffffffffffffffcff3fcff 2437db96d56Sopenharmony_cidqcan263 copyabs #fc080ff3fcff3fcff3fcff3fcff3fcff -> #7c080ff3fcff3fcff3fcff3fcff3fcff 2447db96d56Sopenharmony_ci-- sNaN 2457db96d56Sopenharmony_cidqcan264 copyabs #fe003ff3fcffffffffffffffcff3fcff -> #7e003ff3fcffffffffffffffcff3fcff 2467db96d56Sopenharmony_cidqcan265 copyabs #fe100ff3fcff3fcff3fcff3fcff3fcff -> #7e100ff3fcff3fcff3fcff3fcff3fcff 2477db96d56Sopenharmony_ci-- Inf 2487db96d56Sopenharmony_cidqcan268 copyabs #f8002000000000000000000000000000 -> #78002000000000000000000000000000 2497db96d56Sopenharmony_cidqcan269 copyabs #f8000000000000700700700000000000 -> #78000000000000700700700000000000 2507db96d56Sopenharmony_ci 2517db96d56Sopenharmony_ci----- CopyNegate: [does not usually canonicalize] 2527db96d56Sopenharmony_ci-- finites 2537db96d56Sopenharmony_cidqcan270 copynegate #6e080ff3fcff3fcfffffff3fcfffffff -> #ee080ff3fcff3fcfffffff3fcfffffff 2547db96d56Sopenharmony_cidqcan271 copynegate #ee080ff3fcff3ffff3fcff3ffff3fcff -> #6e080ff3fcff3ffff3fcff3ffff3fcff 2557db96d56Sopenharmony_ci-- NaNs 2567db96d56Sopenharmony_cidqcan272 copynegate #7c000ff3fcffffffffffff3fcff3fcff -> #fc000ff3fcffffffffffff3fcff3fcff 2577db96d56Sopenharmony_cidqcan273 copynegate #7c080ff3fcff3fcff3fcff3fcff3fcff -> #fc080ff3fcff3fcff3fcff3fcff3fcff 2587db96d56Sopenharmony_ci-- sNaN 2597db96d56Sopenharmony_cidqcan274 copynegate #7e003ff3fcffffffffffffffcff3fcff -> #fe003ff3fcffffffffffffffcff3fcff 2607db96d56Sopenharmony_cidqcan275 copynegate #7e100ff3fcff3fcff3fcff3fcff3fcff -> #fe100ff3fcff3fcff3fcff3fcff3fcff 2617db96d56Sopenharmony_ci-- Inf 2627db96d56Sopenharmony_cidqcan278 copynegate #78002000000000000000000000000000 -> #f8002000000000000000000000000000 2637db96d56Sopenharmony_cidqcan279 copynegate #78000000000010000000000000100000 -> #f8000000000010000000000000100000 2647db96d56Sopenharmony_ci 2657db96d56Sopenharmony_ci----- CopySign: [does not usually canonicalize] 2667db96d56Sopenharmony_ci-- finites 2677db96d56Sopenharmony_cidqcan280 copysign #6e080ff3fcff3fcfffffff3fcfffffff -1 -> #ee080ff3fcff3fcfffffff3fcfffffff 2687db96d56Sopenharmony_cidqcan281 copysign #ee080ff3fcff3ffff3fcff3ffff3fcff 1 -> #6e080ff3fcff3ffff3fcff3ffff3fcff 2697db96d56Sopenharmony_ci-- NaNs 2707db96d56Sopenharmony_cidqcan282 copysign #7c000ff3fcffffffffffffffcff3fcff -1 -> #fc000ff3fcffffffffffffffcff3fcff 2717db96d56Sopenharmony_cidqcan283 copysign #7c080ff3fcff3fcff3fcff3fcff3fcff 1 -> #7c080ff3fcff3fcff3fcff3fcff3fcff 2727db96d56Sopenharmony_ci-- sNaN 2737db96d56Sopenharmony_cidqcan284 copysign #7e003ff3fcffffffffffffffcff3fcff -1 -> #fe003ff3fcffffffffffffffcff3fcff 2747db96d56Sopenharmony_cidqcan285 copysign #7e100ff3fcff3fcff3fcff3fcff3fcff 1 -> #7e100ff3fcff3fcff3fcff3fcff3fcff 2757db96d56Sopenharmony_ci-- Inf 2767db96d56Sopenharmony_cidqcan288 copysign #78002000000000000000000000000000 -1 -> #f8002000000000000000000000000000 2777db96d56Sopenharmony_cidqcan289 copysign #78000000000010000000000000100000 1 -> #78000000000010000000000000100000 2787db96d56Sopenharmony_ci 2797db96d56Sopenharmony_ci----- Multiply: 2807db96d56Sopenharmony_ci-- Finites: neutral 0 2817db96d56Sopenharmony_cidqcan302 multiply 1 #77ffff3fcff3fcff0000000000000000 -> #77ffff3fcff3fcff0000000000000000 2827db96d56Sopenharmony_cidqcan303 multiply #77fcffffcff3fcff0000000000000000 1 -> #77fccfffcff3fcff0000000000000000 2837db96d56Sopenharmony_ci-- negative 2847db96d56Sopenharmony_cidqcan306 multiply -1 #77ffff3fcff3fcff0000000000000000 -> #f7ffff3fcff3fcff0000000000000000 2857db96d56Sopenharmony_cidqcan307 multiply #77fcffffcff3fcff0000000000000000 -1 -> #f7fccfffcff3fcff0000000000000000 2867db96d56Sopenharmony_ci-- NaN: declets in payload 2877db96d56Sopenharmony_cidqcan311 multiply 1 #7c03ff3fcff3fcff0000000000000000 -> #7c003f3fcff3fcff0000000000000000 2887db96d56Sopenharmony_cidqcan312 multiply #7c03ff3fcff3fcff0000000000000000 1 -> #7c003f3fcff3fcff0000000000000000 2897db96d56Sopenharmony_ci-- NaN: exponent continuation bits [excluding sNaN selector] 2907db96d56Sopenharmony_cidqcan313 multiply 1 #7c40ff3fcff3fcff0000000000000000 -> #7c003f3fcff3fcff0000000000000000 2917db96d56Sopenharmony_cidqcan314 multiply #7c40ff3fcff3fcff0000000000000000 1 -> #7c003f3fcff3fcff0000000000000000 2927db96d56Sopenharmony_ci-- sNaN: declets in payload 2937db96d56Sopenharmony_cidqcan315 multiply 1 #7e00ffffcff3fcff0000000000000000 -> #7c000fffcff3fcff0000000000000000 Invalid_operation 2947db96d56Sopenharmony_cidqcan316 multiply #7e00ffffcff3fcff0000000000000000 1 -> #7c000fffcff3fcff0000000000000000 Invalid_operation 2957db96d56Sopenharmony_ci-- sNaN: exponent continuation bits [excluding sNaN selector] 2967db96d56Sopenharmony_cidqcan317 multiply 1 #7e80ff3fcff3fcff0000000000000000 -> #7c003f3fcff3fcff0000000000000000 Invalid_operation 2977db96d56Sopenharmony_cidqcan318 multiply #7e80ff3fcff3fcff0000000000000000 1 -> #7c003f3fcff3fcff0000000000000000 Invalid_operation 2987db96d56Sopenharmony_ci-- Inf: exponent continuation bits 2997db96d56Sopenharmony_cidqcan320 multiply 1 #78800000000000000000000000000000 -> #78000000000000000000000000000000 3007db96d56Sopenharmony_cidqcan321 multiply #78800000000000000000000000000000 1 -> #78000000000000000000000000000000 3017db96d56Sopenharmony_ci-- Inf: coefficient continuation bits 3027db96d56Sopenharmony_cidqcan322 multiply 1 #78020000000000000000000000000000 -> #78000000000000000000000000000000 3037db96d56Sopenharmony_cidqcan323 multiply #78020000000000000000000000000000 1 -> #78000000000000000000000000000000 3047db96d56Sopenharmony_cidqcan324 multiply 1 #78000000000000010000000000000000 -> #78000000000000000000000000000000 3057db96d56Sopenharmony_cidqcan325 multiply #78000000000000010000000000000000 1 -> #78000000000000000000000000000000 3067db96d56Sopenharmony_cidqcan326 multiply 1 #78000020000000000000000000000000 -> #78000000000000000000000000000000 3077db96d56Sopenharmony_cidqcan327 multiply #78000020000000000000000000000000 1 -> #78000000000000000000000000000000 3087db96d56Sopenharmony_ci 3097db96d56Sopenharmony_ci----- Quantize: 3107db96d56Sopenharmony_cidqcan401 quantize #ee080ff3fcff3fcff3fffffffff3fcff 0 -> #ee080ff3fcff3fcff3fcff3fcff3fcff 3117db96d56Sopenharmony_cidqcan402 quantize #ee080ff3fffffffffffcff3fcff3fcff 0 -> #ee080ff3fcff3fcff3fcff3fcff3fcff 3127db96d56Sopenharmony_cidqcan403 quantize #78800000000000000000000000000000 Inf -> #78000000000000000000000000000000 3137db96d56Sopenharmony_cidqcan404 quantize #78020000000000000000000000000000 -Inf -> #78000000000000000000000000000000 3147db96d56Sopenharmony_cidqcan410 quantize #7c080ff3fcff3fcff3fcff3fcff3fcff 1 -> #7c000ff3fcff3fcff3fcff3fcff3fcff 3157db96d56Sopenharmony_cidqcan411 quantize #fc000ff3fcfffffff3fcff3fcff3fcff 1 -> #fc000ff3fcff3fcff3fcff3fcff3fcff 3167db96d56Sopenharmony_cidqcan412 quantize #7e100ff3fcff3fcff3fcff3fcff3fcff 1 -> #7c000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation 3177db96d56Sopenharmony_cidqcan413 quantize #fe000ff3fcff3fcff3ffffffcff3fcff 1 -> #fc000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation 3187db96d56Sopenharmony_ci 3197db96d56Sopenharmony_ci----- Subtract: 3207db96d56Sopenharmony_ci-- Finites: neutral 0 3217db96d56Sopenharmony_cidqcan502 subtract 0E+6144 #77ffcff3fcff3fcffffcff3fcff3fcff -> #f7ffcff3fcff3fcff3fcff3fcff3fcff 3227db96d56Sopenharmony_cidqcan503 subtract #77ffcff3fcff3fcff3fcff3ffff3fcff 0E+6144 -> #77ffcff3fcff3fcff3fcff3fcff3fcff 3237db96d56Sopenharmony_ci-- tiny zero 3247db96d56Sopenharmony_cidqcan504 subtract 0E-6176 #77ffcff3ffff3fcff3fcff3fcff3fcff -> #f7ffcff3fcff3fcff3fcff3fcff3fcff Rounded 3257db96d56Sopenharmony_cidqcan505 subtract #77ffcff3fcff3fcff3fcff3fcff3ffff 0E-6176 -> #77ffcff3fcff3fcff3fcff3fcff3fcff Rounded 3267db96d56Sopenharmony_ci-- tiny non zero 3277db96d56Sopenharmony_cidqcan506 subtract -1E-6176 #77ffcff3fcff3fcff3fcff3fcfffffff -> #f7ffcff3fcff3fcff3fcff3fcff3fcff Inexact Rounded 3287db96d56Sopenharmony_cidqcan507 subtract #77ffcffffffffffffffffffffff3fcff -1E-6176 -> #77ffcff3fcff3fcff3fcff3fcff3fcff Inexact Rounded 3297db96d56Sopenharmony_ci-- NaN: declets in payload 3307db96d56Sopenharmony_cidqcan511 subtract 0 #7c000ff3fcff3fcff3fcfffffff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 3317db96d56Sopenharmony_cidqcan512 subtract #7c000ff3fcff3fcfffffff3fcff3fcff 0 -> #7c000ff3fcff3fcff3fcff3fcff3fcff 3327db96d56Sopenharmony_ci-- NaN: exponent continuation bits [excluding sNaN selector] 3337db96d56Sopenharmony_cidqcan513 subtract 0 #7c400ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 3347db96d56Sopenharmony_cidqcan514 subtract #7c020ff3fcff3fcff3fcff3fcff3fcff 0 -> #7c000ff3fcff3fcff3fcff3fcff3fcff 3357db96d56Sopenharmony_ci-- sNaN: declets in payload 3367db96d56Sopenharmony_cidqcan515 subtract 0 #7e000ff3fcffffcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation 3377db96d56Sopenharmony_cidqcan516 subtract #7e003ff3fcff3fcff3fcff3fcff3fcff 0 -> #7c000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation 3387db96d56Sopenharmony_ci-- sNaN: exponent continuation bits [excluding sNaN selector] 3397db96d56Sopenharmony_cidqcan517 subtract 0 #7e500ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation 3407db96d56Sopenharmony_cidqcan518 subtract #7e0e0ff3fcff3fcff3fcff3fcff3fcff 0 -> #7c000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation 3417db96d56Sopenharmony_ci-- Inf: exponent continuation bits 3427db96d56Sopenharmony_cidqcan520 subtract 0 #78010000000000000000000000000000 -> #f8000000000000000000000000000000 3437db96d56Sopenharmony_cidqcan521 subtract #78680000000000000000000000000000 0 -> #78000000000000000000000000000000 3447db96d56Sopenharmony_ci-- Inf: coefficient continuation bits 3457db96d56Sopenharmony_cidqcan522 subtract 0 #78002000000000000000000000000000 -> #f8000000000000000000000000000000 3467db96d56Sopenharmony_cidqcan523 subtract #78000000000000000000000000000001 0 -> #78000000000000000000000000000000 3477db96d56Sopenharmony_cidqcan524 subtract 0 #78000002000000000000000000000000 -> #f8000000000000000000000000000000 3487db96d56Sopenharmony_cidqcan525 subtract #780000000000f0000000000000000000 0 -> #78000000000000000000000000000000 3497db96d56Sopenharmony_cidqcan526 subtract 0 #78000000000000000005000000000000 -> #f8000000000000000000000000000000 3507db96d56Sopenharmony_cidqcan527 subtract #780000000000000000000000000a0000 0 -> #78000000000000000000000000000000 3517db96d56Sopenharmony_ci 3527db96d56Sopenharmony_ci----- ToIntegral: 3537db96d56Sopenharmony_cidqcan601 tointegralx #6e080ff3fdff3fcff3fcff3fcff3fcff -> #6e080ff3fcff3fcff3fcff3fcff3fcff 3547db96d56Sopenharmony_cidqcan602 tointegralx #ee080ff3fcff3ffff3fcff3fcff3fcff -> #ee080ff3fcff3fcff3fcff3fcff3fcff 3557db96d56Sopenharmony_cidqcan603 tointegralx #78800000000000000000000000000000 -> #78000000000000000000000000000000 3567db96d56Sopenharmony_cidqcan604 tointegralx #78020000000000000000000000000000 -> #78000000000000000000000000000000 3577db96d56Sopenharmony_cidqcan614 tointegralx #7c100ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff 3587db96d56Sopenharmony_cidqcan615 tointegralx #fc000ff3fcff3fcff3fcffffcff3fcff -> #fc000ff3fcff3fcff3fcff3fcff3fcff 3597db96d56Sopenharmony_cidqcan616 tointegralx #7e010ff3fcff3fcff3fcff3fcff3fcff -> #7c000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation 3607db96d56Sopenharmony_cidqcan617 tointegralx #fe000ff3fcff3fcff3fdff3fcff3fcff -> #fc000ff3fcff3fcff3fcff3fcff3fcff Invalid_operation 3617db96d56Sopenharmony_ci-- uncanonical 3999, 39.99, 3.99, 0.399, and negatives 3627db96d56Sopenharmony_cidqcan618 tointegralx #22080000000000000000000000000fff -> #22080000000000000000000000000cff 3637db96d56Sopenharmony_cidqcan619 tointegralx #22078000000000000000000000000fff -> #22080000000000000000000000000040 Inexact Rounded 3647db96d56Sopenharmony_cidqcan620 tointegralx #22074000000000000000000000000fff -> #22080000000000000000000000000004 Inexact Rounded 3657db96d56Sopenharmony_cidqcan621 tointegralx #22070000000000000000000000000fff -> #22080000000000000000000000000000 Inexact Rounded 3667db96d56Sopenharmony_cidqcan622 tointegralx #a2080000000000000000000000000fff -> #a2080000000000000000000000000cff 3677db96d56Sopenharmony_cidqcan623 tointegralx #a2078000000000000000000000000fff -> #a2080000000000000000000000000040 Inexact Rounded 3687db96d56Sopenharmony_cidqcan624 tointegralx #a2074000000000000000000000000fff -> #a2080000000000000000000000000004 Inexact Rounded 3697db96d56Sopenharmony_cidqcan625 tointegralx #a2070000000000000000000000000fff -> #a2080000000000000000000000000000 Inexact Rounded 3707db96d56Sopenharmony_ci 3717db96d56Sopenharmony_ci 3727db96d56Sopenharmony_ci 373