U:RDoc::NormalClass[iI" Random:EF@I" Object;To:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[ I"ORandom provides an interface to Ruby's pseudo-random number generator, or ;TI"QPRNG. The PRNG produces a deterministic sequence of bits which approximate ;TI"Ntrue randomness. The sequence may be represented by integers, floats, or ;TI"binary strings.;To:RDoc::Markup::BlankLineo; ;[I"HThe generator may be initialized with either a system-generated or ;TI"4user-supplied seed value by using Random.srand.;T@o; ;[I"QThe class method Random.rand provides the base functionality of Kernel.rand ;TI"Ialong with better handling of floating point values. These are both ;TI"9interfaces to Random::DEFAULT, the Ruby system PRNG.;T@o; ;[ I"CRandom.new will create a new PRNG with a state independent of ;TI"QRandom::DEFAULT, allowing multiple generators with different seed values or ;TI"Gsequence positions to exist simultaneously. Random objects can be ;TI";marshaled, allowing sequences to be saved and resumed.;T@o; ;[I"RPRNGs are currently implemented as a modified Mersenne Twister with a period ;TI"of 2**19937-1.;T: @fileI" random.c;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[U:RDoc::Constant[iI" DEFAULT;TI"Random::DEFAULT;T00o;;[; @'; 0@'@cRDoc::NormalClass0[[I"Random::Formatter;To;;[; @'; 0I" random.c;T[[I" class;T[[: public[ [I"new;T@6[I" new_seed;T@6[I" rand;T@6[I" raw_seed;T@6[I" srand;T@6[:protected[[: private[[I" instance;T[[;[ [I"==;T@6[I" bytes;T@6[I" rand;T@6[I" seed;T@6[;[[;[[[U:RDoc::Context::Section[i0o;;[; 0; 0[I"lib/securerandom.rb;T@'@'cRDoc::TopLevel