Published
Edited
Sep 6, 2020
2 stars
Insert cell
Insert cell
Insert cell
Insert cell
modPrime0 = (k, n) => {
const pow = Math.pow(k, n) % n
const mod = k % n
return ({k, n, pow, mod})
}
Insert cell
Insert cell
modPrime = (k, n) => {
const bk = bi(k)
const bn = bi(n)
const pow = bk.modPow(bn, bn)
const mod = bk.mod(bn)
return ({k, n, pow, mod})
}
Insert cell
Insert cell
data = {
const d = []
const primes = getPrimes(2, maxTestValue)
d3.range(1,maxTestValue).forEach(n => d3.range(maxTestValue).forEach(k => {
const mp = buggy ? modPrime0(k,n) : modPrime(k,n)
const prime = primes.includes(mp.n)
const comp = buggy ? mp.pow - mp.mod : mp.pow.compare(mp.mod)
d.push({...mp,
prime: prime,
p: prime && !comp,
p2: prime && comp !== 0})
}))
return d
}
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more