aboutsummaryrefslogtreecommitdiff
path: root/lib/std
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-06-30 00:02:00 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-06-30 00:02:00 -0700
commit6bc6e47b1582a4538078c8f4e9b3dae386854d07 (patch)
tree3919cd49e8cfe2772c4028f0b056f47040651494 /lib/std
parent54454fd0102af8b25dbc85751d37fd265380d920 (diff)
downloadzig-6bc6e47b1582a4538078c8f4e9b3dae386854d07.tar.gz
zig-6bc6e47b1582a4538078c8f4e9b3dae386854d07.zip
stage2: lower float negation explicitly
Rather than lowering float negation as `0.0 - x`. * Add AIR instruction for float negation. * Add compiler-rt functions for f128, f80 negation closes #11853
Diffstat (limited to 'lib/std')
-rw-r--r--lib/std/fmt.zig2
-rw-r--r--lib/std/math/copysign.zig1
-rw-r--r--lib/std/math/signbit.zig1
3 files changed, 0 insertions, 4 deletions
diff --git a/lib/std/fmt.zig b/lib/std/fmt.zig
index b49a954800..fb826f4562 100644
--- a/lib/std/fmt.zig
+++ b/lib/std/fmt.zig
@@ -2225,7 +2225,6 @@ test "float.scientific.precision" {
}
test "float.special" {
- if (@import("builtin").zig_backend != .stage1) return error.SkipZigTest; // TODO
try expectFmt("f64: nan", "f64: {}", .{math.nan_f64});
// negative nan is not defined by IEE 754,
// and ARM thus normalizes it to positive nan
@@ -2237,7 +2236,6 @@ test "float.special" {
}
test "float.hexadecimal.special" {
- if (@import("builtin").zig_backend != .stage1) return error.SkipZigTest; // TODO
try expectFmt("f64: nan", "f64: {x}", .{math.nan_f64});
// negative nan is not defined by IEE 754,
// and ARM thus normalizes it to positive nan
diff --git a/lib/std/math/copysign.zig b/lib/std/math/copysign.zig
index 521724a998..b5fd6d4d9a 100644
--- a/lib/std/math/copysign.zig
+++ b/lib/std/math/copysign.zig
@@ -13,7 +13,6 @@ pub fn copysign(magnitude: anytype, sign: @TypeOf(magnitude)) @TypeOf(magnitude)
}
test "math.copysign" {
- if (@import("builtin").zig_backend != .stage1) return error.SkipZigTest; // TODO
inline for ([_]type{ f16, f32, f64, f80, f128 }) |T| {
try expect(copysign(@as(T, 1.0), @as(T, 1.0)) == 1.0);
try expect(copysign(@as(T, 2.0), @as(T, -2.0)) == -2.0);
diff --git a/lib/std/math/signbit.zig b/lib/std/math/signbit.zig
index cb19212b5b..9aab487d37 100644
--- a/lib/std/math/signbit.zig
+++ b/lib/std/math/signbit.zig
@@ -10,7 +10,6 @@ pub fn signbit(x: anytype) bool {
}
test "math.signbit" {
- if (@import("builtin").zig_backend != .stage1) return error.SkipZigTest; // TODO
inline for ([_]type{ f16, f32, f64, f80, f128 }) |T| {
try expect(!signbit(@as(T, 0.0)));
try expect(!signbit(@as(T, 1.0)));