mathutils

a collection of math-related functions

Usage no npm install needed!

<script type="module">
  import mathutils from 'https://cdn.skypack.dev/mathutils';
</script>

README

MathUtils

a collection of math-related functions

npm install mathutils

Currently available functions

isEven(n) / isOdd(n)

Check if the bit for 2^0 is set. If it is, `n must be odd.

powermod(a, b, c)

powermod is a way of computing (a ^ b) mod c without having to deal with giant numbers that would loose their precision.

isPrime(n)

Returns if n is a prime. Extremely slow, but absolutely accurate.

fastIsPrime(n)

Retuns if a n is a prime. Based upon Fermat's little theorem.

Note: Doesn't take care of carmichael primes, so you probably want to use this in combination with isPrime.

randomPrime(length)

Returns a pseudo-random prime number (based on Math.random). length defaults to 3.

gcd(a, b)

Returns the greatest common divisor of a and b. Based on Euclids algorithm

egcd(a, b)

Computes the extended Euclidean algorithm. Returns an array [d, s, t].

gcd(a, b) = d = s * a + t * b
modularInverse(a, b)

Returns the modular multiplicative inverse of a and b.

TODO

  • write tests
  • add more documentation
  • learn how to breakdance