std.math.divCeil: handle floats correctly

This commit is contained in:
Kate Tsuyu 2020-08-28 09:48:40 -04:00
parent 9dfb917c20
commit aacfef17d5
No known key found for this signature in database
GPG Key ID: 144B2129293B0F59

View File

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