| ... | @@ -795,7 +795,6 @@ pub const Mutable = struct { | ... | @@ -795,7 +795,6 @@ pub const Mutable = struct { |
| 795 | const endian_mask: usize = (@sizeOf(Limb) - 1) << 3; | 795 | const endian_mask: usize = (@sizeOf(Limb) - 1) << 3; |
| 796 | | 796 | |
| 797 | const bytes = std.mem.sliceAsBytes(r.limbs); | 797 | const bytes = std.mem.sliceAsBytes(r.limbs); |
| 798 | var bits = std.packed_int_array.PackedIntSliceEndian(u1, .little).init(bytes, limbs_required * @bitSizeOf(Limb)); | | |
| 799 | | 798 | |
| 800 | var k: usize = 0; | 799 | var k: usize = 0; |
| 801 | while (k < ((bit_count + 1) / 2)) : (k += 1) { | 800 | while (k < ((bit_count + 1) / 2)) : (k += 1) { |
| ... | @@ -809,17 +808,17 @@ pub const Mutable = struct { | ... | @@ -809,17 +808,17 @@ pub const Mutable = struct { |
| 809 | rev_i ^= endian_mask; | 808 | rev_i ^= endian_mask; |
| 810 | } | 809 | } |
| 811 | | 810 | |
| 812 | const bit_i = bits.get(i); | 811 | const bit_i = std.mem.readPackedInt(u1, bytes, i, .little); |
| 813 | const bit_rev_i = bits.get(rev_i); | 812 | const bit_rev_i = std.mem.readPackedInt(u1, bytes, rev_i, .little); |
| 814 | bits.set(i, bit_rev_i); | 813 | std.mem.writePackedInt(u1, bytes, i, bit_rev_i, .little); |
| 815 | bits.set(rev_i, bit_i); | 814 | std.mem.writePackedInt(u1, bytes, rev_i, bit_i, .little); |
| 816 | } | 815 | } |
| 817 | | 816 | |
| 818 | // Calculate signed-magnitude representation for output | 817 | // Calculate signed-magnitude representation for output |
| 819 | if (signedness == .signed) { | 818 | if (signedness == .signed) { |
| 820 | const last_bit = switch (native_endian) { | 819 | const last_bit = switch (native_endian) { |
| 821 | .little => bits.get(bit_count - 1), | 820 | .little => std.mem.readPackedInt(u1, bytes, bit_count - 1, .little), |
| 822 | .big => bits.get((bit_count - 1) ^ endian_mask), | 821 | .big => std.mem.readPackedInt(u1, bytes, (bit_count - 1) ^ endian_mask, .little), |
| 823 | }; | 822 | }; |
| 824 | if (last_bit == 1) { | 823 | if (last_bit == 1) { |
| 825 | r.bitNotWrap(r.toConst(), .unsigned, bit_count); // Bitwise NOT. | 824 | r.bitNotWrap(r.toConst(), .unsigned, bit_count); // Bitwise NOT. |