| ... | @@ -57,9 +57,10 @@ fn fixLastLimb(out_ptr: [*]u64, is_signed: bool, bits: u16) void { | ... | @@ -57,9 +57,10 @@ fn fixLastLimb(out_ptr: [*]u64, is_signed: bool, bits: u16) void { |
| 57 | if (limb_cnt == true_limb_cnt) return; | 57 | if (limb_cnt == true_limb_cnt) return; |
| 58 | const true_out = out_ptr[0..true_limb_cnt]; | 58 | const true_out = out_ptr[0..true_limb_cnt]; |
| 59 | | 59 | |
| 60 | const sign: u64 = if (!is_signed or @as(i64, @bitCast(true_out[limb_cnt - 1])) >= 0) 0 else ~@as(u64, 0); | 60 | const ms = limbGet(true_out, limb_cnt - 1); |
| | 61 | const sign: u64 = if (!is_signed or @as(i64, @bitCast(ms)) >= 0) 0 else ~@as(u64, 0); |
| 61 | for (limb_cnt..true_limb_cnt) |i| { | 62 | for (limb_cnt..true_limb_cnt) |i| { |
| 62 | true_out[i] = sign; | 63 | limbSet(true_out, i, sign); |
| 63 | } | 64 | } |
| 64 | } | 65 | } |
| 65 | | 66 | |
| ... | @@ -152,10 +153,6 @@ fn test__addo_limb64(comptime T: type, a: T, b: T, expected: struct { T, bool }) | ... | @@ -152,10 +153,6 @@ fn test__addo_limb64(comptime T: type, a: T, b: T, expected: struct { T, bool }) |
| 152 | } | 153 | } |
| 153 | | 154 | |
| 154 | test __addo_limb64 { | 155 | test __addo_limb64 { |
| 155 | if (builtin.cpu.arch == .aarch64_be) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 156 | if (builtin.cpu.arch == .mips64) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 157 | if (builtin.cpu.arch == .powerpc64) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 158 | | | |
| 159 | try test__addo_limb64(u64, 1, 2, .{ 3, false }); | 156 | try test__addo_limb64(u64, 1, 2, .{ 3, false }); |
| 160 | try test__addo_limb64(u64, maxInt(u64), 2, .{ 1, true }); | 157 | try test__addo_limb64(u64, maxInt(u64), 2, .{ 1, true }); |
| 161 | try test__addo_limb64(u65, maxInt(u65), 2, .{ 1, true }); | 158 | try test__addo_limb64(u65, maxInt(u65), 2, .{ 1, true }); |
| ... | @@ -232,10 +229,6 @@ fn test__subo_limb64(comptime T: type, a: T, b: T, expected: struct { T, bool }) | ... | @@ -232,10 +229,6 @@ fn test__subo_limb64(comptime T: type, a: T, b: T, expected: struct { T, bool }) |
| 232 | } | 229 | } |
| 233 | | 230 | |
| 234 | test __subo_limb64 { | 231 | test __subo_limb64 { |
| 235 | if (builtin.cpu.arch == .aarch64_be) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 236 | if (builtin.cpu.arch == .mips64) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 237 | if (builtin.cpu.arch == .powerpc64) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 238 | | | |
| 239 | try test__subo_limb64(u64, 3, 2, .{ 1, false }); | 232 | try test__subo_limb64(u64, 3, 2, .{ 1, false }); |
| 240 | try test__subo_limb64(u64, 0, 1, .{ maxInt(u64), true }); | 233 | try test__subo_limb64(u64, 0, 1, .{ maxInt(u64), true }); |
| 241 | try test__subo_limb64(u65, 0, 1, .{ maxInt(u65), true }); | 234 | try test__subo_limb64(u65, 0, 1, .{ maxInt(u65), true }); |
| ... | @@ -485,10 +478,6 @@ fn test__not_limb64(comptime T: type, a: T, expected: T) !void { | ... | @@ -485,10 +478,6 @@ fn test__not_limb64(comptime T: type, a: T, expected: T) !void { |
| 485 | } | 478 | } |
| 486 | | 479 | |
| 487 | test __not_limb64 { | 480 | test __not_limb64 { |
| 488 | if (builtin.cpu.arch == .aarch64_be) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 489 | if (builtin.cpu.arch == .mips64) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 490 | if (builtin.cpu.arch == .powerpc64) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 491 | | | |
| 492 | try test__not_limb64(u64, 1, maxInt(u64) - 1); | 481 | try test__not_limb64(u64, 1, maxInt(u64) - 1); |
| 493 | try test__not_limb64(u64, 3, maxInt(u64) - 3); | 482 | try test__not_limb64(u64, 3, maxInt(u64) - 3); |
| 494 | try test__not_limb64(u65, maxInt(u65), 0); | 483 | try test__not_limb64(u65, maxInt(u65), 0); |
| ... | @@ -567,10 +556,6 @@ fn test__shlo_limb64(comptime T: type, a: T, shift: u16, expected: struct { T, b | ... | @@ -567,10 +556,6 @@ fn test__shlo_limb64(comptime T: type, a: T, shift: u16, expected: struct { T, b |
| 567 | } | 556 | } |
| 568 | | 557 | |
| 569 | test __shlo_limb64 { | 558 | test __shlo_limb64 { |
| 570 | if (builtin.cpu.arch == .aarch64_be) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 571 | if (builtin.cpu.arch == .mips64) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 572 | if (builtin.cpu.arch == .powerpc64) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 573 | | | |
| 574 | try test__shlo_limb64(u64, 0x1234_5678_9ABC_DEF0, 4, .{ 0x2345_6789_ABCD_EF00, true }); | 559 | try test__shlo_limb64(u64, 0x1234_5678_9ABC_DEF0, 4, .{ 0x2345_6789_ABCD_EF00, true }); |
| 575 | try test__shlo_limb64(u64, 0x8000_0000_0000_0001, 63, .{ 0x8000_0000_0000_0000, true }); | 560 | try test__shlo_limb64(u64, 0x8000_0000_0000_0001, 63, .{ 0x8000_0000_0000_0000, true }); |
| 576 | try test__shlo_limb64(u65, 1, 64, .{ 0x1_0000_0000_0000_0000, false }); | 561 | try test__shlo_limb64(u65, 1, 64, .{ 0x1_0000_0000_0000_0000, false }); |
| ... | @@ -647,10 +632,6 @@ fn test__shr_limb64(comptime T: type, a: T, shift: u16, expected: T) !void { | ... | @@ -647,10 +632,6 @@ fn test__shr_limb64(comptime T: type, a: T, shift: u16, expected: T) !void { |
| 647 | } | 632 | } |
| 648 | | 633 | |
| 649 | test __shr_limb64 { | 634 | test __shr_limb64 { |
| 650 | if (builtin.cpu.arch == .aarch64_be) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 651 | if (builtin.cpu.arch == .mips64) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 652 | if (builtin.cpu.arch == .powerpc64) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 653 | | | |
| 654 | try test__shr_limb64(u64, 0x1234_5678_9ABC_DEF0, 4, 0x0123_4567_89AB_CDEF); | 635 | try test__shr_limb64(u64, 0x1234_5678_9ABC_DEF0, 4, 0x0123_4567_89AB_CDEF); |
| 655 | try test__shr_limb64(u64, 0x8000_0000_0000_0001, 63, 1); | 636 | try test__shr_limb64(u64, 0x8000_0000_0000_0001, 63, 1); |
| 656 | try test__shr_limb64(u65, 0x1_0000_0000_0000_0000, 64, 1); | 637 | try test__shr_limb64(u65, 0x1_0000_0000_0000_0000, 64, 1); |
| ... | @@ -878,10 +859,6 @@ fn test__bitreverse_limb64(comptime T: type, a: T, expected: T) !void { | ... | @@ -878,10 +859,6 @@ fn test__bitreverse_limb64(comptime T: type, a: T, expected: T) !void { |
| 878 | } | 859 | } |
| 879 | | 860 | |
| 880 | test __bitreverse_limb64 { | 861 | test __bitreverse_limb64 { |
| 881 | if (builtin.cpu.arch == .aarch64_be) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 882 | if (builtin.cpu.arch == .mips64) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 883 | if (builtin.cpu.arch == .powerpc64) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 884 | | | |
| 885 | try test__bitreverse_limb64(u64, 1 << 7, 1 << 56); | 862 | try test__bitreverse_limb64(u64, 1 << 7, 1 << 56); |
| 886 | try test__bitreverse_limb64(u65, 1 << 64, 1); | 863 | try test__bitreverse_limb64(u65, 1 << 64, 1); |
| 887 | try test__bitreverse_limb64(u65, 1 << 9, 1 << 55); | 864 | try test__bitreverse_limb64(u65, 1 << 9, 1 << 55); |
| ... | @@ -934,10 +911,6 @@ fn test__byteswap_limb64(comptime T: type, a: T, expected: T) !void { | ... | @@ -934,10 +911,6 @@ fn test__byteswap_limb64(comptime T: type, a: T, expected: T) !void { |
| 934 | } | 911 | } |
| 935 | | 912 | |
| 936 | test __byteswap_limb64 { | 913 | test __byteswap_limb64 { |
| 937 | if (builtin.cpu.arch == .aarch64_be) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 938 | if (builtin.cpu.arch == .mips64) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 939 | if (builtin.cpu.arch == .powerpc64) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 940 | | | |
| 941 | try test__byteswap_limb64(u64, 0x0123_4567_89AB_CDEF, 0xEFCD_AB89_6745_2301); | 914 | try test__byteswap_limb64(u64, 0x0123_4567_89AB_CDEF, 0xEFCD_AB89_6745_2301); |
| 942 | try test__byteswap_limb64(u72, 0x01_23_45_67_89_AB_CD_EF_11, 0x11_EF_CD_AB_89_67_45_23_01); | 915 | try test__byteswap_limb64(u72, 0x01_23_45_67_89_AB_CD_EF_11, 0x11_EF_CD_AB_89_67_45_23_01); |
| 943 | try test__byteswap_limb64(u128, 1 << 72, 1 << 48); | 916 | try test__byteswap_limb64(u128, 1 << 72, 1 << 48); |
| ... | @@ -1064,10 +1037,6 @@ fn test__mulo_limb64(comptime T: type, a: T, b: T, expected: struct { T, bool }) | ... | @@ -1064,10 +1037,6 @@ fn test__mulo_limb64(comptime T: type, a: T, b: T, expected: struct { T, bool }) |
| 1064 | } | 1037 | } |
| 1065 | | 1038 | |
| 1066 | test __mulo_limb64 { | 1039 | test __mulo_limb64 { |
| 1067 | if (builtin.cpu.arch == .aarch64_be) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 1068 | if (builtin.cpu.arch == .mips64) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 1069 | if (builtin.cpu.arch == .powerpc64) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/31905 | | |
| 1070 | | | |
| 1071 | try test__mulo_limb64(u64, 3, 5, .{ 15, false }); | 1040 | try test__mulo_limb64(u64, 3, 5, .{ 15, false }); |
| 1072 | try test__mulo_limb64(u64, maxInt(u64), 2, .{ maxInt(u64) - 1, true }); | 1041 | try test__mulo_limb64(u64, maxInt(u64), 2, .{ maxInt(u64) - 1, true }); |
| 1073 | try test__mulo_limb64(u65, 1 << 32, 1 << 32, .{ 1 << 64, false }); | 1042 | try test__mulo_limb64(u65, 1 << 32, 1 << 32, .{ 1 << 64, false }); |