diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2019-02-08 18:18:47 -0500 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2019-02-08 18:23:38 -0500 |
| commit | c2db077574be841da586fa62d67619c901dd535d (patch) | |
| tree | c8eb64846fa7ffb9027fa1ca035dd8ca5712b9d4 /std/math/log1p.zig | |
| parent | be6d022257d8d7e99bd080823d4d8f0175f320c5 (diff) | |
| download | zig-c2db077574be841da586fa62d67619c901dd535d.tar.gz zig-c2db077574be841da586fa62d67619c901dd535d.zip | |
std.debug.assert: remove special case for test builds
Previously, std.debug.assert would `@panic` in test builds,
if the assertion failed. Now, it's always `unreachable`.
This makes release mode test builds more accurately test
the actual code that will be run.
However this requires tests to call `std.testing.expect`
rather than `std.debug.assert` to make sure output is correct.
Here is the explanation of when to use either one, copied from
the assert doc comments:
Inside a test block, it is best to use the `std.testing` module
rather than assert, because assert may not detect a test failure
in ReleaseFast and ReleaseSafe mode. Outside of a test block, assert
is the correct function to use.
closes #1304
Diffstat (limited to 'std/math/log1p.zig')
| -rw-r--r-- | std/math/log1p.zig | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/std/math/log1p.zig b/std/math/log1p.zig index 903fceac05..257e7b90d4 100644 --- a/std/math/log1p.zig +++ b/std/math/log1p.zig @@ -9,7 +9,7 @@ const builtin = @import("builtin"); const std = @import("../index.zig"); const math = std.math; -const assert = std.debug.assert; +const expect = std.testing.expect; pub fn log1p(x: var) @typeOf(x) { const T = @typeOf(x); @@ -177,48 +177,48 @@ fn log1p_64(x: f64) f64 { } test "math.log1p" { - assert(log1p(f32(0.0)) == log1p_32(0.0)); - assert(log1p(f64(0.0)) == log1p_64(0.0)); + expect(log1p(f32(0.0)) == log1p_32(0.0)); + expect(log1p(f64(0.0)) == log1p_64(0.0)); } test "math.log1p_32" { const epsilon = 0.000001; - assert(math.approxEq(f32, log1p_32(0.0), 0.0, epsilon)); - assert(math.approxEq(f32, log1p_32(0.2), 0.182322, epsilon)); - assert(math.approxEq(f32, log1p_32(0.8923), 0.637793, epsilon)); - assert(math.approxEq(f32, log1p_32(1.5), 0.916291, epsilon)); - assert(math.approxEq(f32, log1p_32(37.45), 3.649359, epsilon)); - assert(math.approxEq(f32, log1p_32(89.123), 4.501175, epsilon)); - assert(math.approxEq(f32, log1p_32(123123.234375), 11.720949, epsilon)); + expect(math.approxEq(f32, log1p_32(0.0), 0.0, epsilon)); + expect(math.approxEq(f32, log1p_32(0.2), 0.182322, epsilon)); + expect(math.approxEq(f32, log1p_32(0.8923), 0.637793, epsilon)); + expect(math.approxEq(f32, log1p_32(1.5), 0.916291, epsilon)); + expect(math.approxEq(f32, log1p_32(37.45), 3.649359, epsilon)); + expect(math.approxEq(f32, log1p_32(89.123), 4.501175, epsilon)); + expect(math.approxEq(f32, log1p_32(123123.234375), 11.720949, epsilon)); } test "math.log1p_64" { const epsilon = 0.000001; - assert(math.approxEq(f64, log1p_64(0.0), 0.0, epsilon)); - assert(math.approxEq(f64, log1p_64(0.2), 0.182322, epsilon)); - assert(math.approxEq(f64, log1p_64(0.8923), 0.637793, epsilon)); - assert(math.approxEq(f64, log1p_64(1.5), 0.916291, epsilon)); - assert(math.approxEq(f64, log1p_64(37.45), 3.649359, epsilon)); - assert(math.approxEq(f64, log1p_64(89.123), 4.501175, epsilon)); - assert(math.approxEq(f64, log1p_64(123123.234375), 11.720949, epsilon)); + expect(math.approxEq(f64, log1p_64(0.0), 0.0, epsilon)); + expect(math.approxEq(f64, log1p_64(0.2), 0.182322, epsilon)); + expect(math.approxEq(f64, log1p_64(0.8923), 0.637793, epsilon)); + expect(math.approxEq(f64, log1p_64(1.5), 0.916291, epsilon)); + expect(math.approxEq(f64, log1p_64(37.45), 3.649359, epsilon)); + expect(math.approxEq(f64, log1p_64(89.123), 4.501175, epsilon)); + expect(math.approxEq(f64, log1p_64(123123.234375), 11.720949, epsilon)); } test "math.log1p_32.special" { - assert(math.isPositiveInf(log1p_32(math.inf(f32)))); - assert(log1p_32(0.0) == 0.0); - assert(log1p_32(-0.0) == -0.0); - assert(math.isNegativeInf(log1p_32(-1.0))); - assert(math.isNan(log1p_32(-2.0))); - assert(math.isNan(log1p_32(math.nan(f32)))); + expect(math.isPositiveInf(log1p_32(math.inf(f32)))); + expect(log1p_32(0.0) == 0.0); + expect(log1p_32(-0.0) == -0.0); + expect(math.isNegativeInf(log1p_32(-1.0))); + expect(math.isNan(log1p_32(-2.0))); + expect(math.isNan(log1p_32(math.nan(f32)))); } test "math.log1p_64.special" { - assert(math.isPositiveInf(log1p_64(math.inf(f64)))); - assert(log1p_64(0.0) == 0.0); - assert(log1p_64(-0.0) == -0.0); - assert(math.isNegativeInf(log1p_64(-1.0))); - assert(math.isNan(log1p_64(-2.0))); - assert(math.isNan(log1p_64(math.nan(f64)))); + expect(math.isPositiveInf(log1p_64(math.inf(f64)))); + expect(log1p_64(0.0) == 0.0); + expect(log1p_64(-0.0) == -0.0); + expect(math.isNegativeInf(log1p_64(-1.0))); + expect(math.isNan(log1p_64(-2.0))); + expect(math.isNan(log1p_64(math.nan(f64)))); } |
