@@ -193,7 +193,7 @@ namespace detail {
rval[i+1] += overflow;
}
- if (rval[ubnd] == 0) { rval.pop_back(); }
+ while (rval.back() == 0 && rval.size() > 1) { rval.pop_back(); }
return rval;
@@ -90,4 +90,9 @@ public:
TS_ASSERT_EQUALS((big*big).to_string(),
"999999996000000005999999996000000001");
+
+ void testMultiplyNoOverflow() {
+ math::biginteger bi{1000};
+ TS_ASSERT_EQUALS((bi*bi).to_string(), "1000000");
+ }
};