MCPcopy Create free account
hub / github.com/arguiot/TheoremJS / isPrime

Method isPrime

__test__/theorem.js:1171–1186  ·  view source on GitHub ↗
(n)

Source from the content-addressed store, hash-verified

1169 return new BN(BN(1).plus(this.sqrt(5)).div(2).toFixed(n + 1))
1170 }
1171 isPrime(n) {
1172 n = new BigNumber(n).abs()
1173 if (n.toNumber() * 0 !== 0) {
1174 return false;
1175 }
1176 if (n.lte(3)) return n.gt(1);
1177 if (n.mod(2).eq(0) || n.mod(3).eq(0)) return false;
1178
1179 for (let i = 5; n.gte(i * i); i += 6) {
1180 if (n.mod(i).eq(0) || n.mod(i + 2).eq(0)) {
1181 return false
1182 }
1183 }
1184
1185 return true;
1186 }
1187 leastFactor(n) {
1188 n = new BigNumber(n).abs().toNumber()
1189 if (Number.MAX_SAFE_INTEGER < n) throw `${n} is superior to ${Number.MAX_SAFE_INTEGER}`

Callers 5

sieveMethod · 0.95
primeFactorsMethod · 0.95
sieve.jsFile · 0.80
primeFactors.jsFile · 0.80
test.jsFile · 0.80

Calls 2

eqMethod · 0.80
absMethod · 0.45

Tested by

no test coverage detected