| @@ -57,13 +57,7 @@ static inline int32_t substract_int32_then_divide_int32(int32_t a, int32_t b, in | |||
| if (a >= 0) { | |||
| if (b >= 0) { | |||
| if (a >= b) { | |||
| diff = a - b; | |||
| negative = 0; | |||
| } else { | |||
| diff = b - a; | |||
| negative = 1; | |||
| } | |||
| return (a - b) / c; // no overflow if both a & b are positive | |||
| } else { | |||
| diff = a + (b * -1); // assumes 0x80000000 * -1 == 0x80000000 | |||
| negative = 0; | |||
| @@ -73,13 +67,7 @@ static inline int32_t substract_int32_then_divide_int32(int32_t a, int32_t b, in | |||
| diff = (a * -1) + b; // assumes 0x80000000 * -1 == 0x80000000 | |||
| negative = 1; | |||
| } else { | |||
| if (a >= b) { | |||
| diff = a - b; | |||
| negative = 0; | |||
| } else { | |||
| diff = b - a; | |||
| negative = 1; | |||
| } | |||
| return (a - b) / c; // no overflow if both a & b are negative | |||
| } | |||
| } | |||
| if (c >= 0) { | |||