aboutsummaryrefslogtreecommitdiff
path: root/lib/std/math
diff options
context:
space:
mode:
authorLewis Gaul <lewis.gaul@gmail.com>2024-05-25 23:05:20 +0100
committerAndrew Kelley <andrew@ziglang.org>2025-07-17 05:04:59 +0200
commit03dfd2ecc37cc99b15d4ce3ff19147230ddc8fd4 (patch)
tree884eb9f9b59110715ca4618393ee2369dcec2cb2 /lib/std/math
parent7abb170f59ed959c4004ec37258c8905903f36b1 (diff)
downloadzig-03dfd2ecc37cc99b15d4ce3ff19147230ddc8fd4.tar.gz
zig-03dfd2ecc37cc99b15d4ce3ff19147230ddc8fd4.zip
Make sure to test the sign of the zero results
Diffstat (limited to 'lib/std/math')
-rw-r--r--lib/std/math/expm1.zig8
-rw-r--r--lib/std/math/log1p.zig8
2 files changed, 8 insertions, 8 deletions
diff --git a/lib/std/math/expm1.zig b/lib/std/math/expm1.zig
index 048bd57cba..7c57459271 100644
--- a/lib/std/math/expm1.zig
+++ b/lib/std/math/expm1.zig
@@ -288,8 +288,8 @@ fn expm1_64(x_: f64) f64 {
}
test "expm1_32() special" {
- try expectEqual(expm1_32(0.0), 0.0);
- try expectEqual(expm1_32(-0.0), 0.0);
+ try expect(math.isPositiveZero(expm1_32(0.0)));
+ try expect(math.isNegativeZero(expm1_32(-0.0)));
try expectEqual(expm1_32(math.ln2), 1.0);
try expectEqual(expm1_32(math.inf(f32)), math.inf(f32));
try expectEqual(expm1_32(-math.inf(f32)), -1.0);
@@ -326,8 +326,8 @@ test "expm1_32() boundary" {
}
test "expm1_64() special" {
- try expectEqual(expm1_64(0.0), 0.0);
- try expectEqual(expm1_64(-0.0), 0.0);
+ try expect(math.isPositiveZero(expm1_64(0.0)));
+ try expect(math.isNegativeZero(expm1_64(-0.0)));
try expectEqual(expm1_64(math.ln2), 1.0);
try expectEqual(expm1_64(math.inf(f64)), math.inf(f64));
try expectEqual(expm1_64(-math.inf(f64)), -1.0);
diff --git a/lib/std/math/log1p.zig b/lib/std/math/log1p.zig
index 4dd7bda2e2..bd4139311c 100644
--- a/lib/std/math/log1p.zig
+++ b/lib/std/math/log1p.zig
@@ -184,8 +184,8 @@ fn log1p_64(x: f64) f64 {
}
test "log1p_32() special" {
- try expectEqual(log1p_32(0.0), 0.0);
- try expectEqual(log1p_32(-0.0), 0.0);
+ try expect(math.isPositiveZero(log1p_32(0.0)));
+ try expect(math.isNegativeZero(log1p_32(-0.0)));
try expectEqual(log1p_32(-1.0), -math.inf(f32));
try expectEqual(log1p_32(1.0), math.ln2);
try expectEqual(log1p_32(math.inf(f32)), math.inf(f32));
@@ -219,8 +219,8 @@ test "log1p_32() boundary" {
}
test "log1p_64() special" {
- try expectEqual(log1p_64(0.0), 0.0);
- try expectEqual(log1p_64(-0.0), 0.0);
+ try expect(math.isPositiveZero(log1p_64(0.0)));
+ try expect(math.isNegativeZero(log1p_64(-0.0)));
try expectEqual(log1p_64(-1.0), -math.inf(f64));
try expectEqual(log1p_64(1.0), math.ln2);
try expectEqual(log1p_64(math.inf(f64)), math.inf(f64));