Module | ThreadSafe::Util::XorShiftRandom |
In: |
lib/thread_safe/util/xor_shift_random.rb
|
A xorshift random number (positive +Fixnum+s) generator, provides reasonably cheap way to generate thread local random numbers without contending for the global +Kernel.rand+.
Usage:
x = XorShiftRandom.get # uses Kernel.rand to generate an initial seed while true if (x = XorShiftRandom.xorshift).odd? # thread-localy generate a next random number do_something_at_random end end
MAX_XOR_SHIFTABLE_INT | = | MAX_INT - 1 |