twister32

package
v0.0.0-...-72f2e88 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 29, 2016 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

View Source
const (
	N         = 624
	M         = 397
	MatrixA32 = 0x9908b0df
	UMask     = 0x80000000 // Most significant w-r bits
	LMask     = 0x7fffffff // Least significant r bits
)

Variables

This section is empty.

Functions

func Int

func Int() int

Int returns a random, non-negative int.

func IntN

func IntN(n int) int

IntN generates a random number on [0,0x7fffffff]-interval within the given range, n, from the global MT19937.

func Real1

func Real1() float64

Real1 generates a random number on [0,1]-real-interval from the global MT19937.

func Real2

func Real2() float64

Real2 generates a random number on [0,1)-real-interval from the global MT19937.

func Real3

func Real3() float64

Real3 generates a random number on (0,1)-real-interval from the global MT19937.

func Seed32

func Seed32(seed int64)

Seed seeds the global MT19937 with the given seed.

func Warmup

func Warmup()

Warmup warms up the PRNG by running a 64-bit prime number of iterations.

Types

type MT19937

type MT19937 struct {
	// contains filtered or unexported fields
}

MT19937 holds the state of a Mersenne Twister.

func New32

func New32() *MT19937

New returns an unseeded, initialized MT19937.

func NewMersenne32

func NewMersenne32(seed int64) *MT19937

NewMersenne returns a seeded, initialized MT19937.

func NewMersennePrime32

func NewMersennePrime32() *MT19937

NewMersennePrime returns a seeded, initialized MT19937, seeded using a large from from 'crypto/rand'. Will panic if rand.Prime returns an error.

func (*MT19937) Int

func (m *MT19937) Int() int

Int returns a random, non-negative int.

func (*MT19937) Int31

func (m *MT19937) Int31() int32

Int31 generates a random number on [0,0x7fffffff]-interval

func (*MT19937) Int32

func (m *MT19937) Int32() uint32

Int32 generates a random number on [0,0xffffffff]-interval

func (*MT19937) IntN

func (m *MT19937) IntN(n int) int

IntN generates a random number on [0,0x7fffffff]-interval within the given range, n.

func (*MT19937) NextState

func (m *MT19937) NextState()

func (*MT19937) Real1

func (m *MT19937) Real1() float64

Real1 generates a random number on [0,1]-real-interval from the given MT19937.

func (*MT19937) Real2

func (m *MT19937) Real2() float64

Real2 generates a random number on [0,1)-real-interval from the given MT19937.

func (*MT19937) Real3

func (m *MT19937) Real3() float64

Real3 generates a random number on (0,1)-real-interval from the given MT19937.

func (*MT19937) Res53

func (m *MT19937) Res53() float64

func (*MT19937) Seed

func (m *MT19937) Seed(seed int64)

Seed seeds an MT19937 with the given seed.

func (*MT19937) SeedArray

func (m *MT19937) SeedArray(initKey [N]uint32)

SeedArray seeds an MT19937 with the given array.

func (*MT19937) Warmup

func (m *MT19937) Warmup()

Warmup warms up the PRNG by running a 64-bit prime number of iterations.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL