diff options
| author | Veikka Tuominen <git@vexu.eu> | 2022-02-17 17:29:19 +0200 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2022-02-17 23:06:46 +0200 |
| commit | 6235afc63207bae564725adec202fc2e7a3ba930 (patch) | |
| tree | 7b8ccfc2c6acf714f91671c49acff3a0d814b20d /test/behavior/floatop.zig | |
| parent | f20929bd8b6cd2b0af5edade9c27a5e002480d65 (diff) | |
| download | zig-6235afc63207bae564725adec202fc2e7a3ba930.tar.gz zig-6235afc63207bae564725adec202fc2e7a3ba930.zip | |
stage1: fix f80 negation
Diffstat (limited to 'test/behavior/floatop.zig')
| -rw-r--r-- | test/behavior/floatop.zig | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/behavior/floatop.zig b/test/behavior/floatop.zig index 3c9121d019..22c576e5f5 100644 --- a/test/behavior/floatop.zig +++ b/test/behavior/floatop.zig @@ -448,3 +448,21 @@ fn testTrunc() !void { try expect(math.approxEqAbs(f32, @trunc(@as(f32, -0.4)), result[3], epsilon)); } } + +test "negation" { + if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (builtin.os.tag == .freebsd) return error.SkipZigTest; + + const S = struct { + fn doTheTest() !void { + inline for ([_]type{ f16, f32, f64, f80, f128 }) |T| { + var a: T = 1; + a = -a; + try expect(a == -1); + } + } + }; + + try S.doTheTest(); + comptime try S.doTheTest(); +} |
