authorgravatar for kate@kxt.ioKate Tsuyu <kate@kxt.io> 2020-08-29 00:37:10-04:00
committergravatar for kate@kxt.ioKate Tsuyu <kate@kxt.io> 2020-08-29 00:37:10-04:00
log340871f06105830087dd8e254e604892f08bccc7
tree87724ebbc1ac29c8863ea5a3908b2696549c3ae0
parent49e67ce0e8a15e3701e01395c112c4e1ae331972
signaturelock-open Commit is signed but in an unrecognized format.

std.math.divCeil: move compile error back down


1 files changed, 2 insertions(+), 5 deletions(-)

lib/std/math.zig+2-5
...@@ -623,10 +623,7 @@ fn testDivFloor() void {...@@ -623,10 +623,7 @@ fn testDivFloor() void {
623623
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 (!(comptime std.meta.trait.isNumber(T)))626 if (comptime std.meta.trait.isNumber(T) and denominator == 0) return error.DivisionByZero;
627 @compileError("divCeil unsupported on " ++ @typeName(T));
628 if (denominator == 0)
629 return error.DivisionByZero;
630 const info = @typeInfo(T);627 const info = @typeInfo(T);
631 switch (info) {628 switch (info) {
632 .ComptimeFloat, .Float => return @ceil(numerator / denominator),629 .ComptimeFloat, .Float => return @ceil(numerator / denominator),
...@@ -640,7 +637,7 @@ pub fn divCeil(comptime T: type, numerator: T, denominator: T) !T {...@@ -640,7 +637,7 @@ pub fn divCeil(comptime T: type, numerator: T, denominator: T) !T {
640 return @divFloor(numerator - 1, denominator) + 1;637 return @divFloor(numerator - 1, denominator) + 1;
641 return @divTrunc(numerator, denominator);638 return @divTrunc(numerator, denominator);
642 },639 },
643 else => unreachable,640 else => @compileError("divCeil unsupported on " ++ @typeName(T)),
644 }641 }
645}642}
646643