Skip to content

Instantly share code, notes, and snippets.

View shai-almog's full-sized avatar

Shai Almog shai-almog

View GitHub Profile
@shai-almog
shai-almog / prime-app.js
Created October 19, 2021 11:58
Prime number calculator used as part of a debugging tutorial on talktotheduck.dev
const MAX_NUMBER = 10 ** 9;
let cnt = 0
function isPrime(num) {
if (num === 2) {
return true;
}
if (num < 2 || num % 2 === 0) {
return false;
}
@shai-almog
shai-almog / prime_main.py
Created October 19, 2021 09:00
Prime number calculator used as part of a debugging tutorial on talktotheduck.dev
import math
import time
import six
if six.PY2:
# In python2, range returns a list instead of an iterator. When running on a large range,
# this can take up all of the available memory and crash the process.
range = xrange
@shai-almog
shai-almog / PrimeMainComplex.kt
Created October 19, 2021 08:58
Prime number calculator used as part of a debugging tutorial on talktotheduck.dev
import kotlin.math.pow
object PrimeMainComplex {
class PrimeChecker(i: Int) {
companion object { var zero = 0 }
var num = 0
var self: PrimeChecker
init {
@shai-almog
shai-almog / PrimeMainMR.java
Created October 19, 2021 08:56
Prime number calculator used as part of a debugging tutorial on talktotheduck.dev
import java.math.BigInteger;
public class PrimeMainMR {
public static int cnt = 0;
// this is the RabinMiller test, deterministically correct for n < 341,550,071,728,321
// http://rosettacode.org/wiki/Miller-Rabin_primality_test#Python:_Proved_correct_up_to_large_N
public static boolean isPrime(BigInteger n, int precision) {
if (n.compareTo(new BigInteger("341550071728321")) >= 0) {