| ... | ... | @@ -3776,19 +3776,19 @@ fn llshr(r: []Limb, a: []const Limb, shift: usize) void { |
| 3776 | 3776 | const limb_shift = shift / limb_bits; |
| 3777 | 3777 | const interior_limb_shift = @as(Log2Limb, @truncate(shift)); |
| 3778 | 3778 | |
| 3779 | | var carry: Limb = 0; |
| 3780 | 3779 | var i: usize = 0; |
| 3781 | 3780 | while (i < a.len - limb_shift) : (i += 1) { |
| 3782 | | const src_i = a.len - i - 1; |
| 3783 | | const dst_i = src_i - limb_shift; |
| 3781 | const dst_i = i; |
| 3782 | const src_i = dst_i + limb_shift; |
| 3784 | 3783 | |
| 3785 | 3784 | const src_digit = a[src_i]; |
| 3786 | | r[dst_i] = carry | (src_digit >> interior_limb_shift); |
| 3787 | | carry = @call(.always_inline, math.shl, .{ |
| 3785 | const src_digit_next = if (src_i + 1 < a.len) a[src_i + 1] else 0; |
| 3786 | const carry = @call(.always_inline, math.shl, .{ |
| 3788 | 3787 | Limb, |
| 3789 | | src_digit, |
| 3788 | src_digit_next, |
| 3790 | 3789 | limb_bits - @as(Limb, @intCast(interior_limb_shift)), |
| 3791 | 3790 | }); |
| 3791 | r[dst_i] = carry | (src_digit >> interior_limb_shift); |
| 3792 | 3792 | } |
| 3793 | 3793 | } |
| 3794 | 3794 | |