mersenne_twister_go

package module
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Jan 3, 2021 License: BSD-2-Clause Imports: 0 Imported by: 4

README

mt19937ar-MersenneTwister-Go

Random Number Generator.
I port Mersenne Twister (mt19937ar.c, Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, All rights reserved.) to Go.

about Mersenne Twister
site: http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
site: http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html

In Japanese.

疑似乱数生成機です。
Mersenne Twister (mt19937ar.c, Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, All rights reserved.) の Goへの移植版です。
※ほとんどコピペなので私のオリジナリティは皆無ですが一応BSDライセンスに設定しました

オリジナルの詳細は下記サイトをご覧ください。
site: http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt.html
site: http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/mt19937ar.html

開発環境

OS: Windows7 SP1 Starter
Go: go version go1.15 windows/386

Documentation

Index

Constants

View Source
const (
	DefaultSeed = 5489
)

Variables

This section is empty.

Functions

This section is empty.

Types

type MersenneTwister

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

func NewMersenneTwister

func NewMersenneTwister() *MersenneTwister

func (*MersenneTwister) Init

func (self *MersenneTwister) Init(seed uint32) *MersenneTwister

initializes mt[N] with a seed

func (*MersenneTwister) InitByArray

func (self *MersenneTwister) InitByArray(key []uint32) *MersenneTwister

initialize by an array

func (*MersenneTwister) InitByDefaultSeed

func (self *MersenneTwister) InitByDefaultSeed() *MersenneTwister

func (*MersenneTwister) Int31

func (self *MersenneTwister) Int31() int32

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

func (*MersenneTwister) Real1

func (self *MersenneTwister) Real1() float64

generates a random number on [0,1]-real-interval

func (*MersenneTwister) Real2

func (self *MersenneTwister) Real2() float64

generates a random number on [0,1)-real-interval

func (*MersenneTwister) Real3

func (self *MersenneTwister) Real3() float64

generates a random number on (0,1)-real-interval

func (*MersenneTwister) Res53

func (self *MersenneTwister) Res53() float64

generates a random number on [0,1) with 53-bit resolution

func (*MersenneTwister) Uint32

func (self *MersenneTwister) Uint32() uint32

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

Jump to

Keyboard shortcuts

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