Struct mersenne_twister_rs::MersenneTwister[][src]

pub struct MersenneTwister { /* fields omitted */ }
Expand description

メルセンヌツイスタの実装の本体。

メルセンヌツイスタをRustに移植してみたもの。正しく移植・実装できているかの保証はできません。

移植元のライセンスに関してはソースコード下部に記載してあります。

※フィールドに[u32; 624]の固定長配列を持つのでこれをスタックメモリ上で維持したくない場合はBoxでヒープメモリを使用するなど適宜対処してください。

※初期化に用いるseedやkeyは保持しないため必要な場合は別途管理してください。

Example

use mersenne_twister_rs::MersenneTwister;
let seed: u32 = 12_3456_7890;
let mut mt = Box::new(MersenneTwister::new(seed));
println!("u32 [0,0xffffffff] value: {}", mt.genrand_u32());
println!("i32 [0,0x7fffffff] value: {}", mt.genrand_i31());
println!("f64 [0,1) value: {}", mt.genrand_real2());

Implementations

指定のseedで生成。

seedにはu32型の任意の値を使用できます。

指定のkeyで生成。

keyにはu32型の任意の値を列挙したスライスを使用できます。

DEFAULT_SEEDを用いて再初期化します。

※本番環境での使用は推奨しません。

DEFAULT_SEEDは移植元には存在せず、私が追加したコードとなります。

initializes with a seed

指定のseedを用いて再初期化します。

seedにはu32型の任意の値を使用できます。

initialize by an array

指定のkeyを用いて再初期化します。

keyにはu32型の任意の値を列挙したスライスを使用できます。

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

0以上0xFFFF_FFFF以下のu32型の乱数を生成します。

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

0以上0x7FFF_FFFF以下のi32型の乱数を生成します。

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

0以上1以下のf64型の乱数を生成します。

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

0以上1未満のf64型の乱数を生成します。

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

1未満のf64型の正数の乱数を生成します。

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

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

DEFAULT_SEEDで生成。

※本番環境での使用は推奨しません。

DEFAULT_SEEDは移植元には存在せず、私が追加したコードとなります。

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.