isPrime property
bool
get
isPrime
Returns true if this int is a prime number.
Implementation
bool get isPrime {
var n = this;
if (n <= 0) return false;
if (n == 1) return false;
if (n == 2) return true;
var knownPrime = PrimeUtils.isKnownPrime(n);
if (knownPrime != null) {
return knownPrime;
}
var b = n.squareRoot;
var itr = PrimeUtils.knownPrimesIterator;
itr.moveNext(); // it's never empty.
var p = itr.current;
if (n % p == 0) return false;
while (itr.moveNext()) {
p = itr.current;
if (p > b) break;
if (n % p == 0) return false;
}
for (p += 2; p <= b; p += 2) {
if (n % p == 0) return false;
}
return true;
}