aboutsummaryrefslogtreecommitdiff
path: root/lib/std/math.zig
diff options
context:
space:
mode:
Diffstat (limited to 'lib/std/math.zig')
-rw-r--r--lib/std/math.zig5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/std/math.zig b/lib/std/math.zig
index 3daf643a79..fef33ead9b 100644
--- a/lib/std/math.zig
+++ b/lib/std/math.zig
@@ -624,7 +624,10 @@ fn testDivFloor() void {
pub fn divCeil(comptime T: type, numerator: T, denominator: T) !T {
@setRuntimeSafety(false);
if (numerator <= 0) return divTrunc(T, numerator, denominator);
- if (@typeInfo(T) == .Float) return @ceil(numerator / denominator);
+ if (@typeInfo(T) == .Float) {
+ if (denominator == 0) return error.DivisionByZero;
+ return @ceil(numerator / denominator);
+ }
return (try divFloor(T, numerator - 1, denominator)) + 1;
}