authorgravatar for kate@kxt.ioKate Tsuyu <kate@kxt.io> 2020-08-29 00:31:49-04:00
committergravatar for kate@kxt.ioKate Tsuyu <kate@kxt.io> 2020-08-29 00:31:49-04:00
log49e67ce0e8a15e3701e01395c112c4e1ae331972
treecbadb12de1857ebcc89f4823a2f2e14495b95c09
parent933bfcff6483897a6fcf24f38e0571d2ae960441
signaturelock-open Commit is signed but in an unrecognized format.

std.math.divCeil: move compile error to top


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

lib/std/math.zig+5-2
......@@ -623,7 +623,10 @@ fn testDivFloor() void {
623623
624624pub fn divCeil(comptime T: type, numerator: T, denominator: T) !T {
625625 @setRuntimeSafety(false);
626 if (denominator == 0) return error.DivisionByZero;
626 if (!(comptime std.meta.trait.isNumber(T)))
627 @compileError("divCeil unsupported on " ++ @typeName(T));
628 if (denominator == 0)
629 return error.DivisionByZero;
627630 const info = @typeInfo(T);
628631 switch (info) {
629632 .ComptimeFloat, .Float => return @ceil(numerator / denominator),
......@@ -637,7 +640,7 @@ pub fn divCeil(comptime T: type, numerator: T, denominator: T) !T {
637640 return @divFloor(numerator - 1, denominator) + 1;
638641 return @divTrunc(numerator, denominator);
639642 },
640 else => @compileError("divCeil unsupported on " ++ @typeName(T)),
643 else => unreachable,
641644 }
642645}
643646