@@ -1096,7 +1096,7 @@ pub const Mutable = struct {
1096
1096
/// Asserts there is enough memory to fit the result. The upper bound Limb count is
1097
1097
/// `a.limbs.len + (shift / (@sizeOf(Limb) * 8))`.
1098
1098
pub fn shiftLeft (r : * Mutable , a : Const , shift : usize ) void {
1099
- llshl (r .limbs [0 .. ] , a .limbs [0 .. a . limbs . len ] , shift );
1099
+ llshl (r .limbs , a .limbs , shift );
1100
1100
r .normalize (a .limbs .len + (shift / limb_bits ) + 1 );
1101
1101
r .positive = a .positive ;
1102
1102
}
@@ -1165,7 +1165,7 @@ pub const Mutable = struct {
1165
1165
1166
1166
// This shift should not be able to overflow, so invoke llshl and normalize manually
1167
1167
// to avoid the extra required limb.
1168
- llshl (r .limbs [0 .. ] , a .limbs [0 .. a . limbs . len ] , shift );
1168
+ llshl (r .limbs , a .limbs , shift );
1169
1169
r .normalize (a .limbs .len + (shift / limb_bits ));
1170
1170
r .positive = a .positive ;
1171
1171
}
@@ -1202,17 +1202,11 @@ pub const Mutable = struct {
1202
1202
break :nonzero a .limbs [full_limbs_shifted_out ] << not_covered != 0 ;
1203
1203
};
1204
1204
1205
- llshr (r .limbs [0 .. ] , a .limbs [0 .. a . limbs . len ] , shift );
1205
+ llshr (r .limbs , a .limbs , shift );
1206
1206
1207
1207
r .len = a .limbs .len - full_limbs_shifted_out ;
1208
1208
r .positive = a .positive ;
1209
- if (nonzero_negative_shiftout ) {
1210
- if (full_limbs_shifted_out > 0 ) {
1211
- r .limbs [a .limbs .len - full_limbs_shifted_out ] = 0 ;
1212
- r .len += 1 ;
1213
- }
1214
- r .addScalar (r .toConst (), -1 );
1215
- }
1209
+ if (nonzero_negative_shiftout ) r .addScalar (r .toConst (), -1 );
1216
1210
r .normalize (r .len );
1217
1211
}
1218
1212
0 commit comments