This is my big integer library, it is built on top of the big int library built by Leemon Baird.
I built it for my own interests in cryptography. It was built as Leemon's library polluted the global scope and had a somewhat scattered design. I especially love the implementations that were done for finding primes. Enjoy!
number - the actual number, this can be a string, a JS number, or another BI object
base - this defaults to 10
// If you're using npm, otherwise BI is part of the window objectsvar BI = ;var b = 16772625;//Orvar b = "FFEE11" 16;//If you put a BI object in the constructor a deep copy of that number is madevar foo = b;//foo is now a BI object with the value 0xFFEE11
base - this also defaults to 10
var b = 16772625;//b is now the string "FFEE11"
this only works by translating whatever is in the big int to a JS number. It's called whenever the object is involved in a numerical operation.
var b = 10 * 2//b is now 20
BIONE == 1BIZERO == 0
bits - bit size of the prime, anything over 2048bits is rather slow on most machines
probable - determines whether or not this is a true prime or a probable prime. Setting this to true means that 1 in every 2^80 numbers generated may be composite. However, it has a speed up of about 10x compared to the true prime.
BI //Generates a 2048 bit true prime encapsulated in the BI object
var b = 1997;b;// Returns a new big int object with a value of 2016b;// Returns the current big int object, b, with its value changed to 2016
var b = 2016;b;// Returns a new big int object with a value of 1997b;// Returns the current big int object, b, with its value changed to 1997
var b = 8;b;// Returns a new big int object with a value of 56b;// Returns the current big int object, b, with its value changed to 56
this is a synonym of .multiply()