fn limbWrap(limb: u64, is_signed: bool, bits: u16) u64
fn limbWrap(limb: u64, is_signed: bool, bits: u16) u64 { assert(bits % 64 != 0); const pad_bits: u6 = @intCast(64 - bits % 64); if (!is_signed) { const s = limb << pad_bits; return s >> pad_bits; } else { const s = @as(i64, @bitCast(limb)) << pad_bits; return @bitCast(s >> pad_bits); } }