authorgravatar for kate@kxt.ioKate Tsuyu <kate@kxt.io> 2020-08-28 09:55:50-04:00
committergravatar for kate@kxt.ioKate Tsuyu <kate@kxt.io> 2020-08-28 09:55:50-04:00
log14b6fb88fb98580f09fc9092493d537ef3810d77
treeaf7174b9eca02a5746a1c39eacbd35178fc43604
parentaacfef17d5273abeb50cb41d5f5687408d6458b7
signaturelock-open Commit is signed but in an unrecognized format.

std.math.divCeil: handle floats correctlier


1 files changed, 4 insertions(+), 1 deletions(-)

lib/std/math.zig+4-1
...@@ -624,7 +624,10 @@ fn testDivFloor() void {...@@ -624,7 +624,10 @@ fn testDivFloor() void {
624pub fn divCeil(comptime T: type, numerator: T, denominator: T) !T {624pub 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}
630633