From 14b6fb88fb98580f09fc9092493d537ef3810d77 Mon Sep 17 00:00:00 2001 From: Kate Tsuyu Date: Fri, 28 Aug 2020 09:55:50 -0400 Subject: [PATCH] std.math.divCeil: handle floats correctlier --- lib/std/math.zig | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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; }