| author | |
| committer | |
| log | 72966e2a7b5fcd1efaba5fd13562be1cfda2df4e |
| tree | ab9c3af9afe4ba5fa19163a02ae6ea226ed76099 |
| parent | a85a29ae4d3f646f3d5a8e11bd74e9b0fea4c988 |
| signature |
These might be Rosetta 2 bugs, but I have no way to actually check since we no
longer have any native x86_64-macos CI machines.7 files changed, 20 insertions(+), 0 deletions(-)
lib/std/math/acos.zig+4| ... | ... | @@ -337,6 +337,8 @@ fn acosBinary128(x: f128) f128 { |
| 337 | 337 | } |
| 338 | 338 | |
| 339 | 339 | test "acosBinary16.special" { |
| 340 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | |
| 341 | ||
| 340 | 342 | try testing.expectApproxEqAbs(0x1.92p0, acosBinary16(0x0p+0), math.floatEpsAt(f16, 0x1.92p0)); |
| 341 | 343 | try testing.expectApproxEqAbs(0x1.92p1, acosBinary16(-0x1p+0), math.floatEpsAt(f16, 0x1.92p1)); |
| 342 | 344 | try testing.expectEqual(0x0p+0, acosBinary16(0x1p+0)); |
| ... | ... | @@ -348,6 +350,8 @@ test "acosBinary16.special" { |
| 348 | 350 | } |
| 349 | 351 | |
| 350 | 352 | test "acosBinary16" { |
| 353 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | |
| 354 | ||
| 351 | 355 | try testing.expectApproxEqAbs(0x1.834p0, acosBinary16(0x1.db4p-5), math.floatEpsAt(f16, 0x1.834p0)); |
| 352 | 356 | try testing.expectApproxEqAbs(0x1.d48p0, acosBinary16(-0x1.068p-2), math.floatEpsAt(f16, 0x1.d48p0)); |
| 353 | 357 | try testing.expectApproxEqAbs(0x1.b7cp0, acosBinary16(-0x1.2c4p-3), math.floatEpsAt(f16, 0x1.b7cp0)); |
lib/std/math/asin.zig+4| ... | ... | @@ -326,6 +326,8 @@ fn asinBinary128(x: f128) f128 { |
| 326 | 326 | } |
| 327 | 327 | |
| 328 | 328 | test "asinBinary16.special" { |
| 329 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | |
| 330 | ||
| 329 | 331 | try testing.expectApproxEqAbs(0x1.92p0, asinBinary16(0x1p+0), math.floatEpsAt(f16, 0x1.92p0)); |
| 330 | 332 | try testing.expectApproxEqAbs(-0x1.92p0, asinBinary16(-0x1p+0), math.floatEpsAt(f16, -0x1.92p0)); |
| 331 | 333 | try testing.expectEqual(0x0p+0, asinBinary16(0x0p+0)); |
| ... | ... | @@ -338,6 +340,8 @@ test "asinBinary16.special" { |
| 338 | 340 | } |
| 339 | 341 | |
| 340 | 342 | test "asinBinary16" { |
| 343 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | |
| 344 | ||
| 341 | 345 | try testing.expectApproxEqAbs(-0x1.e4cp-6, asinBinary16(-0x1.e4cp-6), math.floatEpsAt(f16, -0x1.e4cp-6)); |
| 342 | 346 | try testing.expectApproxEqAbs(0x1.2a8p0, asinBinary16(0x1.d68p-1), math.floatEpsAt(f16, 0x1.2a8p0)); |
| 343 | 347 | try testing.expectApproxEqAbs(-0x1.eep-1, asinBinary16(-0x1.a4cp-1), math.floatEpsAt(f16, -0x1.eep-1)); |
lib/std/math/atan.zig+5| ... | ... | @@ -11,6 +11,7 @@ |
| 11 | 11 | // https://github.com/ARM-software/optimized-routines/blob/master/math/aarch64/advsimd/atanf.c |
| 12 | 12 | // https://github.com/ARM-software/optimized-routines/blob/master/math/aarch64/advsimd/atan.c |
| 13 | 13 | |
| 14 | const builtin = @import("builtin"); | |
| 14 | 15 | const std = @import("../std.zig"); |
| 15 | 16 | const math = std.math; |
| 16 | 17 | const mem = std.mem; |
| ... | ... | @@ -480,6 +481,8 @@ fn atanBinary128(x: f128) f128 { |
| 480 | 481 | } |
| 481 | 482 | |
| 482 | 483 | test "atanBinary16.special" { |
| 484 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | |
| 485 | ||
| 483 | 486 | try testing.expectEqual(0x0p+0, atanBinary16(0x0p+0)); |
| 484 | 487 | try testing.expectEqual(-0x0p+0, atanBinary16(-0x0p+0)); |
| 485 | 488 | try testing.expectApproxEqAbs(0x1.92p-1, atanBinary16(0x1p+0), math.floatEpsAt(f16, 0x1.92p-1)); |
| ... | ... | @@ -490,6 +493,8 @@ test "atanBinary16.special" { |
| 490 | 493 | } |
| 491 | 494 | |
| 492 | 495 | test "atanBinary16" { |
| 496 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | |
| 497 | ||
| 493 | 498 | try testing.expectApproxEqAbs(-0x1.74cp-2, atanBinary16(-0x1.864p-2), math.floatEpsAt(f16, -0x1.74cp-2)); |
| 494 | 499 | try testing.expectApproxEqAbs(-0x1.374p0, atanBinary16(-0x1.59cp1), math.floatEpsAt(f16, -0x1.374p0)); |
| 495 | 500 | try testing.expectApproxEqAbs(-0x1.11cp0, atanBinary16(-0x1.d2cp0), math.floatEpsAt(f16, -0x1.11cp0)); |
lib/std/math/hypot.zig+4| ... | ... | @@ -98,7 +98,9 @@ test hypot { |
| 98 | 98 | } |
| 99 | 99 | |
| 100 | 100 | test "hypot.correct" { |
| 101 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | |
| 101 | 102 | if (builtin.cpu.arch.isPowerPC() and builtin.mode != .Debug) return error.SkipZigTest; // https://github.com/llvm/llvm-project/issues/171869 |
| 103 | ||
| 102 | 104 | inline for (.{ f16, f32, f64, f128 }) |T| { |
| 103 | 105 | inline for (hypot_test_cases) |v| { |
| 104 | 106 | const a: T, const b: T, const c: T = v; |
| ... | ... | @@ -108,7 +110,9 @@ test "hypot.correct" { |
| 108 | 110 | } |
| 109 | 111 | |
| 110 | 112 | test "hypot.precise" { |
| 113 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | |
| 111 | 114 | if (builtin.cpu.arch.isPowerPC() and builtin.mode != .Debug) return error.SkipZigTest; // https://github.com/llvm/llvm-project/issues/171869 |
| 115 | ||
| 112 | 116 | inline for (.{ f16, f32, f64 }) |T| { // f128 seems to be 5 ulp |
| 113 | 117 | inline for (hypot_test_cases) |v| { |
| 114 | 118 | const a: T, const b: T, const c: T = v; |
test/behavior/cast.zig+1| ... | ... | @@ -1722,6 +1722,7 @@ test "cast f16 to wider types" { |
| 1722 | 1722 | if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; |
| 1723 | 1723 | if (builtin.zig_backend == .stage2_c and builtin.cpu.arch.isArm()) return error.SkipZigTest; |
| 1724 | 1724 | if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; |
| 1725 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | |
| 1725 | 1726 | |
| 1726 | 1727 | const S = struct { |
| 1727 | 1728 | fn doTheTest() !void { |
test/behavior/vector.zig+1| ... | ... | @@ -278,6 +278,7 @@ test "array to vector with element type coercion" { |
| 278 | 278 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 279 | 279 | if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; |
| 280 | 280 | if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; |
| 281 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | |
| 281 | 282 | |
| 282 | 283 | const S = struct { |
| 283 | 284 | fn doTheTest() !void { |
test/behavior/widening.zig+1| ... | ... | @@ -42,6 +42,7 @@ test "float widening" { |
| 42 | 42 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 43 | 43 | if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; |
| 44 | 44 | if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; |
| 45 | if (builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag == .macos) return error.SkipZigTest; | |
| 45 | 46 | |
| 46 | 47 | var a: f16 = 12.34; |
| 47 | 48 | var b: f32 = a; |