public static BigUInt <N> RightShift(BigUInt <N> n, int sft) { BigUInt <N> ret = n.Copy(); ret.RightShift(sft); return(ret); }
public static BigUInt <N> RightRoundShift(BigUInt <N> n, int sft) { BigUInt <N> ret = n.Copy(); ret.RightShift(sft); if (sft >= 1 && sft <= Bits && UIntUtil.GetLSB(n.value, sft - 1) != 0) { ret.CarryAdd(0, 1); } return(ret); }