This commit is contained in:
Juhani Krekelä 2019-07-10 20:30:28 +03:00
parent cbc79587da
commit 6cd84902fc
1 changed files with 3 additions and 0 deletions

View File

@ -200,6 +200,9 @@ intmax_t saturating_sub(intmax_t a, intmax_t b) {
intmax_t saturating_mul(intmax_t a, intmax_t b) {
// Doesn't give 100% right results when one parameter is INTMAX_MIN,
// but at least it won't ever overflow
if (a == 0 || b == 0) {
return 0;
}
if (a < 0) {
return saturating_sub(0, saturating_mul(saturating_sub(0, a), b));
}