System.Numerics.BigIntegerBuilder.GCD C# (CSharp) Метод

GCD() публичный статический Метод

public static GCD ( BigIntegerBuilder &reg1, BigIntegerBuilder &reg2 ) : void
reg1 BigIntegerBuilder
reg2 BigIntegerBuilder
Результат void
        public static void GCD(ref BigIntegerBuilder reg1, ref BigIntegerBuilder reg2) {
            if (((reg1._iuLast > 0) && (reg1._rgu[0] == 0)) || ((reg2._iuLast > 0) && (reg2._rgu[0] == 0))) {
                int num = reg1.MakeOdd();
                int num2 = reg2.MakeOdd();
                LehmerGcd(ref reg1, ref reg2);
                int cbit = Math.Min(num, num2);
                if (cbit > 0) {
                    reg1.ShiftLeft(cbit);
                }
            }
            else {
                LehmerGcd(ref reg1, ref reg2);
            }
        }