std.math.divCeil: handle floats correctlier

This commit is contained in:
Kate Tsuyu 2020-08-28 09:55:50 -04:00
parent aacfef17d5
commit 14b6fb88fb
No known key found for this signature in database
GPG Key ID: 144B2129293B0F59

View File

@ -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;
}