@@ -119,5 +119,23 @@ int main()
119119 test_add<decimal_fast32_t >(" +1e+0" , " +1e-20" , " 1.000001" );
120120 test_add<decimal_fast32_t >(" +1e-1" , " +1e-20" , " 0.10000001" );
121121
122+ test_add<decimal128_t >(" -1e+2" , " +1e-383" , " -99.99999999999999999999999999999999" );
123+ test_add<decimal128_t >(" -1e+1" , " +1e-383" , " -9.999999999999999999999999999999999" );
124+ test_add<decimal128_t >(" -1e+0" , " +1e-383" , " -0.9999999999999999999999999999999999" );
125+
126+ test_add<decimal128_t >(" +1e+2" , " +1e-383" , " 100.00000000000000000000000000000001" );
127+ test_add<decimal128_t >(" +1e+1" , " +1e-383" , " 10.000000000000000000000000000000001" );
128+ test_add<decimal128_t >(" +1e+0" , " +1e-383" , " 1.0000000000000000000000000000000001" );
129+ test_add<decimal128_t >(" +1e-1" , " +1e-383" , " 0.10000000000000000000000000000000001" );
130+
131+ test_add<decimal_fast128_t >(" -1e+2" , " +1e-383" , " -99.99999999999999999999999999999999" );
132+ test_add<decimal_fast128_t >(" -1e+1" , " +1e-383" , " -9.999999999999999999999999999999999" );
133+ test_add<decimal_fast128_t >(" -1e+0" , " +1e-383" , " -0.9999999999999999999999999999999999" );
134+
135+ test_add<decimal_fast128_t >(" +1e+2" , " +1e-383" , " 100.00000000000000000000000000000001" );
136+ test_add<decimal_fast128_t >(" +1e+1" , " +1e-383" , " 10.000000000000000000000000000000001" );
137+ test_add<decimal_fast128_t >(" +1e+0" , " +1e-383" , " 1.0000000000000000000000000000000001" );
138+ test_add<decimal_fast128_t >(" +1e-1" , " +1e-383" , " 0.10000000000000000000000000000000001" );
139+
122140 return boost::report_errors ();
123141}
0 commit comments