@@ -72,5 +72,34 @@ int main()
7272 test_sub<decimal64_t >(" -1e+0" , " 0" , " -1.000000000000000" );
7373 test_sub<decimal64_t >(" -1e-1" , " 0" , " -0.1000000000000000" );
7474
75+ test_add<decimal_fast64_t >(" -1e+2" , " +1e-383" , " -99.99999999999999" );
76+ test_add<decimal_fast64_t >(" -1e+1" , " +1e-383" , " -9.999999999999999" );
77+ test_add<decimal_fast64_t >(" -1e+0" , " +1e-383" , " -0.9999999999999999" );
78+
79+ test_add<decimal_fast64_t >(" +1e+2" , " +1e-383" , " 100.0000000000001" );
80+ test_add<decimal_fast64_t >(" +1e+1" , " +1e-383" , " 10.00000000000001" );
81+ test_add<decimal_fast64_t >(" +1e+0" , " +1e-383" , " 1.000000000000001" );
82+ test_add<decimal_fast64_t >(" +1e-1" , " +1e-383" , " 0.1000000000000001" );
83+
84+ test_add<decimal_fast64_t >(" +1e+2" , " 0" , " 100.0000000000000" );
85+ test_add<decimal_fast64_t >(" +1e+1" , " 0" , " 10.00000000000000" );
86+ test_add<decimal_fast64_t >(" +1e+0" , " 0" , " 1.000000000000000" );
87+ test_add<decimal_fast64_t >(" +1e-1" , " 0" , " 0.1000000000000000" );
88+
89+ test_add<decimal_fast64_t >(" -1e+2" , " 0" , " -100.0000000000000" );
90+ test_add<decimal_fast64_t >(" -1e+1" , " 0" , " -10.00000000000000" );
91+ test_add<decimal_fast64_t >(" -1e+0" , " 0" , " -1.000000000000000" );
92+ test_add<decimal_fast64_t >(" -1e-1" , " 0" , " -0.1000000000000000" );
93+
94+ test_sub<decimal_fast64_t >(" +1e+2" , " 0" , " 100.0000000000000" );
95+ test_sub<decimal_fast64_t >(" +1e+1" , " 0" , " 10.00000000000000" );
96+ test_sub<decimal_fast64_t >(" +1e+0" , " 0" , " 1.000000000000000" );
97+ test_sub<decimal_fast64_t >(" +1e-1" , " 0" , " 0.1000000000000000" );
98+
99+ test_sub<decimal_fast64_t >(" -1e+2" , " 0" , " -100.0000000000000" );
100+ test_sub<decimal_fast64_t >(" -1e+1" , " 0" , " -10.00000000000000" );
101+ test_sub<decimal_fast64_t >(" -1e+0" , " 0" , " -1.000000000000000" );
102+ test_sub<decimal_fast64_t >(" -1e-1" , " 0" , " -0.1000000000000000" );
103+
75104 return boost::report_errors ();
76105}
0 commit comments