Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MT19937 ¶
type MT19937 struct {
// contains filtered or unexported fields
}
MT19937 is the structure to hold the state of one instance of the Mersenne Twister PRNG. New instances can be allocated using the mt19937.New() function. MT19937 implements the rand.Source interface and rand.New() from the math/rand package can be used to generate different distributions from a MT19937 PRNG.
This class is not safe for concurrent accesss by different goroutines. If more than one goroutine accesses the PRNG, the callers must synchronise access using sync.Mutex or similar.
func New ¶
func New() *MT19937
New allocates a new instance of the 64bit Mersenne Twister. A seed can be set using the .Seed() or .SeedFromSlice() methods. If no seed is set explicitly, a default seed is used instead.
func (*MT19937) Int63 ¶
Int63 generates a (pseudo-)random 63bit value. The output can be used as a replacement for a sequence of independent, uniformly distributed samples in the range 0, 1, ..., 2^63-1. This method is part of the rand.Source interface.
func (*MT19937) Read ¶
Read fills `p` with (pseudo-)random bytes. This method implements the io.Reader interface. The returned length `n` always equals `len(p)` and `err` is always nil.
func (*MT19937) Seed ¶
Seed uses the given 64bit value to initialise the generator state. This method is part of the rand.Source interface.
func (*MT19937) SeedFromSlice ¶
SeedFromSlice uses the given slice of 64bit values to set the generator state.
type RandUniform ¶
type RandUniform struct {
// contains filtered or unexported fields
}
////////////////////////////
func RandUniformInit ¶
func RandUniformInit(seed int64) *RandUniform
func (*RandUniform) Uniform ¶
func (Ruf *RandUniform) Uniform(low, high float64) float64