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
指定のkeyで生成。
keyにはu32型の任意の値を列挙したスライスを使用できます。
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
Auto Trait Implementations
impl RefUnwindSafe for MersenneTwister
impl Send for MersenneTwister
impl Sync for MersenneTwister
impl Unpin for MersenneTwister
impl UnwindSafe for MersenneTwister
Blanket Implementations
Mutably borrows from an owned value. Read more