pub fn shiftLeftSat(r: *Managed, a: *const Managed, shift: usize, signedness: Signedness, bit_count: usize) !void
r = a <<| shift with 2s-complement saturating semantics. r and a may alias.
r: *Managed
a: *const Managed
shift: usize
signedness: Signedness
bit_count: usize
3424 3425 3426 3427 3428 3429 3430 3431
pub fn shiftLeftSat(r: *Managed, a: *const Managed, shift: usize, signedness: Signedness, bit_count: usize) !void { const aliased = limbsAliasDistinct(r, a); const needed = calcTwosCompLimbCount(bit_count); try r.ensureAliasAwareCapacity(needed, aliased); var m = r.toMutable(); m.shiftLeftSat(a.toConst(), shift, signedness, bit_count); r.setMetadata(m.positive, m.len); }
r = a <<| shift with 2s-complement saturating semantics. r and a may alias.