| ... | @@ -624,7 +624,10 @@ fn testDivFloor() void { | ... | @@ -624,7 +624,10 @@ fn testDivFloor() void { |
| 624 | pub fn divCeil(comptime T: type, numerator: T, denominator: T) !T { | 624 | pub fn divCeil(comptime T: type, numerator: T, denominator: T) !T { |
| 625 | @setRuntimeSafety(false); | 625 | @setRuntimeSafety(false); |
| 626 | if (numerator <= 0) return divTrunc(T, numerator, denominator); | 626 | if (numerator <= 0) return divTrunc(T, numerator, denominator); |
| 627 | if (@typeInfo(T) == .Float) return @ceil(numerator / denominator); | 627 | if (@typeInfo(T) == .Float) { |
| | 628 | if (denominator == 0) return error.DivisionByZero; |
| | 629 | return @ceil(numerator / denominator); |
| | 630 | } |
| 628 | return (try divFloor(T, numerator - 1, denominator)) + 1; | 631 | return (try divFloor(T, numerator - 1, denominator)) + 1; |
| 629 | } | 632 | } |
| 630 | | 633 | |