public static int ExpandPrime(int oldSize) { int num = 2 * oldSize; if (num > 2146435069 && 2146435069 > oldSize) { return(2146435069); } return(PrimeHelper.GetPrime(num)); }
public static int GetPrime(int min) { if (min < 0) { throw new ArgumentException("min < 0"); } for (int i = 0; i < PrimeHelper.Primes.Length; i++) { int prime = PrimeHelper.Primes[i]; if (prime >= min) { return(prime); } } for (int i = min | 1; i < 2147483647; i += 2) { if (PrimeHelper.IsPrime(i) && (i - 1) % 101 != 0) { return(i); } } return(min); }