aboutsummaryrefslogtreecommitdiff
path: root/lib/std
diff options
context:
space:
mode:
authorKate Tsuyu <kate@kxt.io>2020-08-28 09:48:40 -0400
committerKate Tsuyu <kate@kxt.io>2020-08-28 09:48:40 -0400
commitaacfef17d5273abeb50cb41d5f5687408d6458b7 (patch)
tree494a5c3e069452793a4e822646b21e188dafc50e /lib/std
parent9dfb917c200eb97223bdfcda93c08e509fe1362f (diff)
downloadzig-aacfef17d5273abeb50cb41d5f5687408d6458b7.tar.gz
zig-aacfef17d5273abeb50cb41d5f5687408d6458b7.zip
std.math.divCeil: handle floats correctly
Diffstat (limited to 'lib/std')
-rw-r--r--lib/std/math.zig1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/std/math.zig b/lib/std/math.zig
index 733d6b74b4..3daf643a79 100644
--- a/lib/std/math.zig
+++ b/lib/std/math.zig
@@ -624,6 +624,7 @@ 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);
return (try divFloor(T, numerator - 1, denominator)) + 1;
}