minusOverflow is a convenience function that checks for overflow for int64 subtraction.
(val1 int64, val2 int64)
| 416 | |
| 417 | // minusOverflow is a convenience function that checks for overflow for int64 subtraction. |
| 418 | func minusOverflow(val1 int64, val2 int64) (any, error) { |
| 419 | if val2 > 0 { |
| 420 | if val1 < math.MinInt64+val2 { |
| 421 | return nil, errors.Errorf("bigint out of range") |
| 422 | } |
| 423 | } else { |
| 424 | if val1 > math.MaxInt64+val2 { |
| 425 | return nil, errors.Errorf("bigint out of range") |
| 426 | } |
| 427 | } |
| 428 | return val1 - val2, nil |
| 429 | } |