From 94b912b649150b9863a62096ba4740b2cc8ad21a Mon Sep 17 00:00:00 2001 From: Elizabeth Alexander Hunt Date: Sun, 5 Jul 2026 12:42:44 -0700 Subject: Factor --- src/toys/godel/js/godel-worker.js | 42 --------------------------------------- 1 file changed, 42 deletions(-) delete mode 100644 src/toys/godel/js/godel-worker.js (limited to 'src/toys/godel/js/godel-worker.js') diff --git a/src/toys/godel/js/godel-worker.js b/src/toys/godel/js/godel-worker.js deleted file mode 100644 index 1ba9da4..0000000 --- a/src/toys/godel/js/godel-worker.js +++ /dev/null @@ -1,42 +0,0 @@ -const isPrime = (n) => { - if (n < 2) { - return false; - } - if (n === 2) { - return true; - } - if (n % 2 === 0) { - return false; - } - const limit = Math.floor(Math.sqrt(n)); - for (let i = 3; i <= limit; i += 2) { - if (n % i === 0) { - return false; - } - } - return true; -}; - -const primes = [2]; -const primeAt = (index) => { - while (primes.length < index) { - let candidate = primes[primes.length - 1] + 1; - while (!isPrime(candidate)) { - candidate += 1; - } - primes.push(candidate); - } - return primes[index - 1]; -}; - -const computeGodelNumber = (sequence) => { - return sequence.reduce((acc, exponent, idx) => { - const prime = BigInt(primeAt(idx + 1)); - return acc * prime ** BigInt(exponent); - }, BigInt(1)) - BigInt(1); -}; - -self.addEventListener("message", (event) => { - const result = computeGodelNumber(event.data); - self.postMessage(result.toString()); -}); -- cgit v1.3