コード例 #1
0
ファイル: Program.cs プロジェクト: stackprobe/Prime4096
        private BigInteger GetHigherPrime(BigInteger value)
        {
            if (value < Consts.BI2P64)
            {
                ulong ret = Prime53.GetHigherPrime(Common.ToULong(value));

                if (ret != 0)
                {
                    return(ret);
                }

                //value = Consts.BI2P64 - 1;
                value = Consts.BI2P64;                 // 2^64 is not prime
            }
            for (; ;)
            //while (value < Consts.BI2P4096_1) // 2^4096-1 is not prime
            {
                value++;

                if (PrimeUtils.IsPrime(value))
                {
                    return(value);
                }

                if (Ground.IsStopped())
                {
                    break;
                }
            }
            return(0);
        }