authorgravatar for liljaanton2001@gmail.comantlilja <liljaanton2001@gmail.com> 2023-07-18 01:51:37+02:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-09-27 11:24:33-07:00
log15cc008bf8fed09379cca1b51c177a4ebcd7fe72
treed5b41aea84e101059e2d356e4f9ba7ed400a4fe9
parentbcf4a1391331e52e4a06528530316970ded75c74

Replace `@fabs` with `@abs` in behavior tests


2 files changed, 39 insertions(+), 36 deletions(-)

test/behavior/floatop.zig+36-33
...@@ -523,7 +523,7 @@ fn testLog10WithVectors() !void {...@@ -523,7 +523,7 @@ fn testLog10WithVectors() !void {
523 try expect(@log10(@as(f32, 0.4)) == result[3]);523 try expect(@log10(@as(f32, 0.4)) == result[3]);
524}524}
525525
526test "@fabs" {526test "@abs" {
527 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO527 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
528 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO528 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
529 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO529 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
...@@ -533,24 +533,24 @@ test "@fabs" {...@@ -533,24 +533,24 @@ test "@fabs" {
533}533}
534534
535fn testFabs() !void {535fn testFabs() !void {
536 try expect(@fabs(@as(f16, -2.5)) == 2.5);536 try expect(@abs(@as(f16, -2.5)) == 2.5);
537 try expect(@fabs(@as(f16, 2.5)) == 2.5);537 try expect(@abs(@as(f16, 2.5)) == 2.5);
538 try expect(@fabs(@as(f32, -2.5)) == 2.5);538 try expect(@abs(@as(f32, -2.5)) == 2.5);
539 try expect(@fabs(@as(f32, 2.5)) == 2.5);539 try expect(@abs(@as(f32, 2.5)) == 2.5);
540 try expect(@fabs(@as(f64, -2.5)) == 2.5);540 try expect(@abs(@as(f64, -2.5)) == 2.5);
541 try expect(@fabs(@as(f64, 2.5)) == 2.5);541 try expect(@abs(@as(f64, 2.5)) == 2.5);
542542
543 // TODO test f128, and c_longdouble543 // TODO test f128, and c_longdouble
544 // https://github.com/ziglang/zig/issues/4026544 // https://github.com/ziglang/zig/issues/4026
545 // {545 // {
546 // var a: f80 = -2.5;546 // var a: f80 = -2.5;
547 // var b: f80 = 2.5;547 // var b: f80 = 2.5;
548 // try expect(@fabs(a) == 2.5);548 // try expect(@abs(a) == 2.5);
549 // try expect(@fabs(b) == 2.5);549 // try expect(@abs(b) == 2.5);
550 // }550 // }
551}551}
552552
553test "@fabs with vectors" {553test "@abs with vectors" {
554 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO554 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
555 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO555 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
556 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO556 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
...@@ -562,14 +562,15 @@ test "@fabs with vectors" {...@@ -562,14 +562,15 @@ test "@fabs with vectors" {
562562
563fn testFabsWithVectors() !void {563fn testFabsWithVectors() !void {
564 var v: @Vector(4, f32) = [_]f32{ 1.1, -2.2, 0.3, -0.4 };564 var v: @Vector(4, f32) = [_]f32{ 1.1, -2.2, 0.3, -0.4 };
565 var result = @fabs(v);565 var result = @abs(v);
566 try expect(math.approxEqAbs(f32, @fabs(@as(f32, 1.1)), result[0], epsilon));566 try expect(math.approxEqAbs(f32, @abs(@as(f32, 1.1)), result[0], epsilon));
567 try expect(math.approxEqAbs(f32, @fabs(@as(f32, -2.2)), result[1], epsilon));567 try expect(math.approxEqAbs(f32, @abs(@as(f32, -2.2)), result[1], epsilon));
568 try expect(math.approxEqAbs(f32, @fabs(@as(f32, 0.3)), result[2], epsilon));568 try expect(math.approxEqAbs(f32, @abs(@as(f32, 0.3)), result[2], epsilon));
569 try expect(math.approxEqAbs(f32, @fabs(@as(f32, -0.4)), result[3], epsilon));569 try expect(math.approxEqAbs(f32, @abs(@as(f32, -0.4)), result[3], epsilon));
570}570}
571571
572test "another, possibly redundant, @fabs test" {572test "another, possibly redundant, @abs test" {
573 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
573 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO574 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
574 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO575 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
575 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO576 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
...@@ -587,11 +588,12 @@ test "another, possibly redundant, @fabs test" {...@@ -587,11 +588,12 @@ test "another, possibly redundant, @fabs test" {
587588
588 const x = 14.0;589 const x = 14.0;
589 const y = -x;590 const y = -x;
590 const z = @fabs(y);591 const z = @abs(y);
591 try comptime std.testing.expectEqual(x, z);592 try comptime std.testing.expectEqual(x, z);
592}593}
593594
594test "@fabs f80" {595test "@abs f80" {
596 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
595 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO597 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
596 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO598 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
597 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO599 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
...@@ -604,11 +606,12 @@ test "@fabs f80" {...@@ -604,11 +606,12 @@ test "@fabs f80" {
604606
605fn testFabsLegacy(comptime T: type, x: T) !void {607fn testFabsLegacy(comptime T: type, x: T) !void {
606 const y = -x;608 const y = -x;
607 const z = @fabs(y);609 const z = @abs(y);
608 try expect(x == z);610 try expect(x == z);
609}611}
610612
611test "a third @fabs test, surely there should not be three fabs tests" {613test "a third @abs test, surely there should not be three fabs tests" {
614 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
612 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO615 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
613 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO616 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
614 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO617 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
...@@ -617,23 +620,23 @@ test "a third @fabs test, surely there should not be three fabs tests" {...@@ -617,23 +620,23 @@ test "a third @fabs test, surely there should not be three fabs tests" {
617620
618 inline for ([_]type{ f16, f32, f64, f80, f128, c_longdouble }) |T| {621 inline for ([_]type{ f16, f32, f64, f80, f128, c_longdouble }) |T| {
619 // normals622 // normals
620 try expect(@fabs(@as(T, 1.0)) == 1.0);623 try expect(@abs(@as(T, 1.0)) == 1.0);
621 try expect(@fabs(@as(T, -1.0)) == 1.0);624 try expect(@abs(@as(T, -1.0)) == 1.0);
622 try expect(@fabs(math.floatMin(T)) == math.floatMin(T));625 try expect(@abs(math.floatMin(T)) == math.floatMin(T));
623 try expect(@fabs(-math.floatMin(T)) == math.floatMin(T));626 try expect(@abs(-math.floatMin(T)) == math.floatMin(T));
624 try expect(@fabs(math.floatMax(T)) == math.floatMax(T));627 try expect(@abs(math.floatMax(T)) == math.floatMax(T));
625 try expect(@fabs(-math.floatMax(T)) == math.floatMax(T));628 try expect(@abs(-math.floatMax(T)) == math.floatMax(T));
626629
627 // subnormals630 // subnormals
628 try expect(@fabs(@as(T, 0.0)) == 0.0);631 try expect(@abs(@as(T, 0.0)) == 0.0);
629 try expect(@fabs(@as(T, -0.0)) == 0.0);632 try expect(@abs(@as(T, -0.0)) == 0.0);
630 try expect(@fabs(math.floatTrueMin(T)) == math.floatTrueMin(T));633 try expect(@abs(math.floatTrueMin(T)) == math.floatTrueMin(T));
631 try expect(@fabs(-math.floatTrueMin(T)) == math.floatTrueMin(T));634 try expect(@abs(-math.floatTrueMin(T)) == math.floatTrueMin(T));
632635
633 // non-finite numbers636 // non-finite numbers
634 try expect(math.isPositiveInf(@fabs(math.inf(T))));637 try expect(math.isPositiveInf(@abs(math.inf(T))));
635 try expect(math.isPositiveInf(@fabs(-math.inf(T))));638 try expect(math.isPositiveInf(@abs(-math.inf(T))));
636 try expect(math.isNan(@fabs(math.nan(T))));639 try expect(math.isNan(@abs(math.nan(T))));
637 }640 }
638}641}
639642
test/behavior/math.zig+3-3
...@@ -1391,7 +1391,7 @@ fn frem(comptime T: type) !void {...@@ -1391,7 +1391,7 @@ fn frem(comptime T: type) !void {
1391}1391}
13921392
1393fn fremOne(comptime T: type, a: T, b: T, c: T, epsilon: T) !void {1393fn fremOne(comptime T: type, a: T, b: T, c: T, epsilon: T) !void {
1394 try expect(@fabs(@rem(a, b) - c) < epsilon);1394 try expect(@abs(@rem(a, b) - c) < epsilon);
1395}1395}
13961396
1397test "float modulo division using @mod" {1397test "float modulo division using @mod" {
...@@ -1434,7 +1434,7 @@ fn fmod(comptime T: type) !void {...@@ -1434,7 +1434,7 @@ fn fmod(comptime T: type) !void {
1434}1434}
14351435
1436fn fmodOne(comptime T: type, a: T, b: T, c: T, epsilon: T) !void {1436fn fmodOne(comptime T: type, a: T, b: T, c: T, epsilon: T) !void {
1437 try expect(@fabs(@mod(@as(T, a), @as(T, b)) - @as(T, c)) < epsilon);1437 try expect(@abs(@mod(@as(T, a), @as(T, b)) - @as(T, c)) < epsilon);
1438}1438}
14391439
1440test "@round" {1440test "@round" {
...@@ -1627,7 +1627,7 @@ fn testAbsFloat() !void {...@@ -1627,7 +1627,7 @@ fn testAbsFloat() !void {
1627 try testAbsFloatOne(10.05, 10.05);1627 try testAbsFloatOne(10.05, 10.05);
1628}1628}
1629fn testAbsFloatOne(in: f32, out: f32) !void {1629fn testAbsFloatOne(in: f32, out: f32) !void {
1630 try expect(@fabs(@as(f32, in)) == @as(f32, out));1630 try expect(@abs(@as(f32, in)) == @as(f32, out));
1631}1631}
16321632
1633test "mod lazy values" {1633test "mod lazy values" {