예제 #1
0
        internal static void MultByTwo(this RawNum num)
        {
            UInt32 leadingBit = 0;

            for (int i = 0; i < num.Size; i++)
            {
                UInt32 res = num.Digits[i] << 1;

                res       |= leadingBit;
                leadingBit = (res >> 16) & 1;

                num.Digits[i] = res & UInt16.MaxValue;
            }

            if (leadingBit > 0)
            {
                num.Digits.Add(leadingBit);
            }
        }
예제 #2
0
파일: RawNum.cs 프로젝트: clewrus/AlgStruct
 internal void CopyFrom(RawNum other)
 {
     this.Digits.Clear();
     this.Digits.AddRange(other.Digits);
 }
예제 #3
0
 internal static OmgNum OmgWrapper(this RawNum num)
 {
     return(new OmgNum(num));
 }