mathutils
a collection of math-related functions
npm install mathutils
Want to see pretty graphs? Log in now!
11 | downloads in the last day |
86 | downloads in the last week |
372 | downloads in the last month |
Last Published By | |
---|---|
Version | 0.0.1 last updated a year ago |
License | BSD-like |
Keywords | math, gcd, powermod |
Repository | git://github.com/fb55/MathUtils.git (git) |
Dependencies | None |
Dependents | x-mp13-simplemath |
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.
slowIsPrime(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 slowIsPrime.
isPrime(n)
Runs both fastIsPrime
and slowIsPrime
. This way, it manages to be both (relatively) fast and accurate.
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