Optional
seedReturn a random integer in range [min, max] min is included, max is included. Implemented with rejection sampling, see https://medium.com/@betable/tifu-by-using-math-random-f1c308c4fd9d#.i13tdiu5a
Returns a new array random picking elements from the original
Original array to pick from
can be any positive number
indicates whether the returned set is allowed duplicates (it does not mean there will always be duplicates just that it is possible)
Returns a new array that has its elements shuffled. Using the Fisher/Yates method https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle
Pseudo-random number generator following the Mersenne_Twister algorithm. Given a seed this generator will produce the same sequence of numbers each time it is called. See https://en.wikipedia.org/wiki/Mersenne_Twister for more details. Uses the MT19937-32 (2002) implementation documented here http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html
Api inspired by http://chancejs.com/# https://github.com/chancejs/chancejs