@@ -52,5 +52,25 @@ int main()
5252 test_add<decimal64_t >(" +1e+0" , " +1e-383" , " 1.000000000000001" );
5353 test_add<decimal64_t >(" +1e-1" , " +1e-383" , " 0.1000000000000001" );
5454
55+ test_add<decimal64_t >(" +1e+2" , " 0" , " 100.0000000000000" );
56+ test_add<decimal64_t >(" +1e+1" , " 0" , " 10.00000000000000" );
57+ test_add<decimal64_t >(" +1e+0" , " 0" , " 1.000000000000000" );
58+ test_add<decimal64_t >(" +1e-1" , " 0" , " 0.1000000000000000" );
59+
60+ test_add<decimal64_t >(" -1e+2" , " 0" , " -100.0000000000000" );
61+ test_add<decimal64_t >(" -1e+1" , " 0" , " -10.00000000000000" );
62+ test_add<decimal64_t >(" -1e+0" , " 0" , " -1.000000000000000" );
63+ test_add<decimal64_t >(" -1e-1" , " 0" , " -0.1000000000000000" );
64+
65+ test_sub<decimal64_t >(" +1e+2" , " 0" , " 100.0000000000000" );
66+ test_sub<decimal64_t >(" +1e+1" , " 0" , " 10.00000000000000" );
67+ test_sub<decimal64_t >(" +1e+0" , " 0" , " 1.000000000000000" );
68+ test_sub<decimal64_t >(" +1e-1" , " 0" , " 0.1000000000000000" );
69+
70+ test_sub<decimal64_t >(" -1e+2" , " 0" , " -100.0000000000000" );
71+ test_sub<decimal64_t >(" -1e+1" , " 0" , " -10.00000000000000" );
72+ test_sub<decimal64_t >(" -1e+0" , " 0" , " -1.000000000000000" );
73+ test_sub<decimal64_t >(" -1e-1" , " 0" , " -0.1000000000000000" );
74+
5575 return boost::report_errors ();
5676}
0 commit comments