avt.DynamicFlashRotator.Net.RegCore.Cryptography.BigInteger.LucasStrongTest C# (CSharp) Méthode

LucasStrongTest() public méthode

public LucasStrongTest ( ) : bool
Résultat bool
        public bool LucasStrongTest()
        {
            BigInteger thisVal;
            if ((this.data[maxLength - 1] & 0x80000000) != 0)        // negative
                thisVal = -this;
            else
                thisVal = this;

            if (thisVal.dataLength == 1) {
                // test small numbers
                if (thisVal.data[0] == 0 || thisVal.data[0] == 1)
                    return false;
                else if (thisVal.data[0] == 2 || thisVal.data[0] == 3)
                    return true;
            }

            if ((thisVal.data[0] & 0x1) == 0)     // even numbers
                return false;

            return LucasStrongTestHelper(thisVal);
        }