17db96d56Sopenharmony_ci------------------------------------------------------------------------
27db96d56Sopenharmony_ci-- class.decTest -- Class operations                                  --
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-- [New 2006.11.27]
237db96d56Sopenharmony_ci
247db96d56Sopenharmony_ciprecision:   9
257db96d56Sopenharmony_cimaxExponent: 999
267db96d56Sopenharmony_ciminExponent: -999
277db96d56Sopenharmony_ciextended:    1
287db96d56Sopenharmony_ciclamp:       1
297db96d56Sopenharmony_cirounding:    half_even
307db96d56Sopenharmony_ci
317db96d56Sopenharmony_ciclasx001  class    0                        -> +Zero
327db96d56Sopenharmony_ciclasx002  class    0.00                     -> +Zero
337db96d56Sopenharmony_ciclasx003  class    0E+5                     -> +Zero
347db96d56Sopenharmony_ciclasx004  class    1E-1007                  -> +Subnormal
357db96d56Sopenharmony_ciclasx005  class  0.1E-999                   -> +Subnormal
367db96d56Sopenharmony_ciclasx006  class  0.99999999E-999            -> +Subnormal
377db96d56Sopenharmony_ciclasx007  class  1.00000000E-999            -> +Normal
387db96d56Sopenharmony_ciclasx008  class   1E-999                    -> +Normal
397db96d56Sopenharmony_ciclasx009  class   1E-100                    -> +Normal
407db96d56Sopenharmony_ciclasx010  class   1E-10                     -> +Normal
417db96d56Sopenharmony_ciclasx012  class   1E-1                      -> +Normal
427db96d56Sopenharmony_ciclasx013  class   1                         -> +Normal
437db96d56Sopenharmony_ciclasx014  class   2.50                      -> +Normal
447db96d56Sopenharmony_ciclasx015  class   100.100                   -> +Normal
457db96d56Sopenharmony_ciclasx016  class   1E+30                     -> +Normal
467db96d56Sopenharmony_ciclasx017  class   1E+999                    -> +Normal
477db96d56Sopenharmony_ciclasx018  class   9.99999999E+999           -> +Normal
487db96d56Sopenharmony_ciclasx019  class   Inf                       -> +Infinity
497db96d56Sopenharmony_ci
507db96d56Sopenharmony_ciclasx021  class   -0                        -> -Zero
517db96d56Sopenharmony_ciclasx022  class   -0.00                     -> -Zero
527db96d56Sopenharmony_ciclasx023  class   -0E+5                     -> -Zero
537db96d56Sopenharmony_ciclasx024  class   -1E-1007                  -> -Subnormal
547db96d56Sopenharmony_ciclasx025  class  -0.1E-999                  -> -Subnormal
557db96d56Sopenharmony_ciclasx026  class  -0.99999999E-999           -> -Subnormal
567db96d56Sopenharmony_ciclasx027  class  -1.00000000E-999           -> -Normal
577db96d56Sopenharmony_ciclasx028  class  -1E-999                    -> -Normal
587db96d56Sopenharmony_ciclasx029  class  -1E-100                    -> -Normal
597db96d56Sopenharmony_ciclasx030  class  -1E-10                     -> -Normal
607db96d56Sopenharmony_ciclasx032  class  -1E-1                      -> -Normal
617db96d56Sopenharmony_ciclasx033  class  -1                         -> -Normal
627db96d56Sopenharmony_ciclasx034  class  -2.50                      -> -Normal
637db96d56Sopenharmony_ciclasx035  class  -100.100                   -> -Normal
647db96d56Sopenharmony_ciclasx036  class  -1E+30                     -> -Normal
657db96d56Sopenharmony_ciclasx037  class  -1E+999                    -> -Normal
667db96d56Sopenharmony_ciclasx038  class  -9.99999999E+999           -> -Normal
677db96d56Sopenharmony_ciclasx039  class  -Inf                       -> -Infinity
687db96d56Sopenharmony_ci
697db96d56Sopenharmony_ciclasx041  class   NaN                       -> NaN
707db96d56Sopenharmony_ciclasx042  class  -NaN                       -> NaN
717db96d56Sopenharmony_ciclasx043  class  +NaN12345                  -> NaN
727db96d56Sopenharmony_ciclasx044  class   sNaN                      -> sNaN
737db96d56Sopenharmony_ciclasx045  class  -sNaN                      -> sNaN
747db96d56Sopenharmony_ciclasx046  class  +sNaN12345                 -> sNaN
757db96d56Sopenharmony_ci
767db96d56Sopenharmony_ci
777db96d56Sopenharmony_ci-- decimal64 bounds
787db96d56Sopenharmony_ci
797db96d56Sopenharmony_ciprecision:   16
807db96d56Sopenharmony_cimaxExponent: 384
817db96d56Sopenharmony_ciminExponent: -383
827db96d56Sopenharmony_ciclamp:       1
837db96d56Sopenharmony_cirounding:    half_even
847db96d56Sopenharmony_ci
857db96d56Sopenharmony_ciclasx201  class    0                        -> +Zero
867db96d56Sopenharmony_ciclasx202  class    0.00                     -> +Zero
877db96d56Sopenharmony_ciclasx203  class    0E+5                     -> +Zero
887db96d56Sopenharmony_ciclasx204  class    1E-396                   -> +Subnormal
897db96d56Sopenharmony_ciclasx205  class  0.1E-383                   -> +Subnormal
907db96d56Sopenharmony_ciclasx206  class  0.999999999999999E-383     -> +Subnormal
917db96d56Sopenharmony_ciclasx207  class  1.000000000000000E-383     -> +Normal
927db96d56Sopenharmony_ciclasx208  class   1E-383                    -> +Normal
937db96d56Sopenharmony_ciclasx209  class   1E-100                    -> +Normal
947db96d56Sopenharmony_ciclasx210  class   1E-10                     -> +Normal
957db96d56Sopenharmony_ciclasx212  class   1E-1                      -> +Normal
967db96d56Sopenharmony_ciclasx213  class   1                         -> +Normal
977db96d56Sopenharmony_ciclasx214  class   2.50                      -> +Normal
987db96d56Sopenharmony_ciclasx215  class   100.100                   -> +Normal
997db96d56Sopenharmony_ciclasx216  class   1E+30                     -> +Normal
1007db96d56Sopenharmony_ciclasx217  class   1E+384                    -> +Normal
1017db96d56Sopenharmony_ciclasx218  class   9.999999999999999E+384    -> +Normal
1027db96d56Sopenharmony_ciclasx219  class   Inf                       -> +Infinity
1037db96d56Sopenharmony_ci
1047db96d56Sopenharmony_ciclasx221  class   -0                        -> -Zero
1057db96d56Sopenharmony_ciclasx222  class   -0.00                     -> -Zero
1067db96d56Sopenharmony_ciclasx223  class   -0E+5                     -> -Zero
1077db96d56Sopenharmony_ciclasx224  class   -1E-396                   -> -Subnormal
1087db96d56Sopenharmony_ciclasx225  class  -0.1E-383                  -> -Subnormal
1097db96d56Sopenharmony_ciclasx226  class  -0.999999999999999E-383    -> -Subnormal
1107db96d56Sopenharmony_ciclasx227  class  -1.000000000000000E-383    -> -Normal
1117db96d56Sopenharmony_ciclasx228  class  -1E-383                    -> -Normal
1127db96d56Sopenharmony_ciclasx229  class  -1E-100                    -> -Normal
1137db96d56Sopenharmony_ciclasx230  class  -1E-10                     -> -Normal
1147db96d56Sopenharmony_ciclasx232  class  -1E-1                      -> -Normal
1157db96d56Sopenharmony_ciclasx233  class  -1                         -> -Normal
1167db96d56Sopenharmony_ciclasx234  class  -2.50                      -> -Normal
1177db96d56Sopenharmony_ciclasx235  class  -100.100                   -> -Normal
1187db96d56Sopenharmony_ciclasx236  class  -1E+30                     -> -Normal
1197db96d56Sopenharmony_ciclasx237  class  -1E+384                    -> -Normal
1207db96d56Sopenharmony_ciclasx238  class  -9.999999999999999E+384    -> -Normal
1217db96d56Sopenharmony_ciclasx239  class  -Inf                       -> -Infinity
1227db96d56Sopenharmony_ci
1237db96d56Sopenharmony_ciclasx241  class   NaN                       -> NaN
1247db96d56Sopenharmony_ciclasx242  class  -NaN                       -> NaN
1257db96d56Sopenharmony_ciclasx243  class  +NaN12345                  -> NaN
1267db96d56Sopenharmony_ciclasx244  class   sNaN                      -> sNaN
1277db96d56Sopenharmony_ciclasx245  class  -sNaN                      -> sNaN
1287db96d56Sopenharmony_ciclasx246  class  +sNaN12345                 -> sNaN
1297db96d56Sopenharmony_ci
1307db96d56Sopenharmony_ci
1317db96d56Sopenharmony_ci
132