前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework UNIVERSE 5.0
SFXMTRandom
メルセンヌ ツイスターにより乱数を生成するクラスです。
#include <SFXMTRandom.h.hpp>
class SFXMTRandom;
SFMTYPEDEFCLASS(SFXMTRandom)

解説

2.5 K バイト程度のメモリを消費します。スタックが足りない場合はヒープ上にインスタンスを作成します

使用例

// シードを設定しない場合
// シードは現在の時刻を元に設定される
SFXMTRandom random;

// UINT32_MINIMUM 〜 UINT32_MAXIMUM の間の数
SInt32 n1 = random.GetSInt32(); // 乱数を取得する

random.Randomize(3456);         // シードを設定する

// 0 〜 UINT08_MAXIMUM の間の数
UInt08 n2 = random.GetUInt08(); // 乱数を取得する

メンバ

コンストラクタ/デストラクタ
SFXMTRandom( UInt32 seed = 0 )
SFXMTRandom クラスのコンストラクタです。
パブリック関数
Bool GetBool( Void )
Bool 型の乱数を生成します。
Float32 GetFloat32( Void )
Float32 型の乱数を生成します。
Float64 GetFloat64( Void )
Float64 型の乱数を生成します。
SInt08 GetSInt08( Void )
SInt08 型の乱数を生成します。
SInt16 GetSInt16( Void )
SInt16 型の乱数を生成します。
SInt32 GetSInt32( Void )
SInt32 型の乱数を生成します。
UInt08 GetUInt08( Void )
UInt08 型の乱数を生成します。
UInt16 GetUInt16( Void )
UInt16 型の乱数を生成します。
UInt32 GetUInt32( Void )
UInt32 型の乱数を生成します。
Void Randomize( UInt32 seed = 0 )
乱数の生成に使用する種を設定します。

SFXMTRandom::SFXMTRandom
SFXMTRandom クラスのコンストラクタです。
[ public, explicit ]
SFXMTRandom(
    UInt32 seed = 0   // 乱数の生成に使用する種
);

解説

seed に 0 を指定した場合、デバイスに電源が投入されてから経過した時間などを元に、 自動的に種が設定されます。 ただし、時間を取得できない場合には、seed = 5489 になります。


SFXMTRandom::GetBool
Bool 型の乱数を生成します。
[ public ]
Bool GetBool(Void);

解説

UInt32 型の乱数を生成し、その乱数の最下位から 25 ビット目を Bool 型に変換して返します。


SFXMTRandom::GetFloat32
Float32 型の乱数を生成します。
[ public ]
Float32 GetFloat32(Void);

戻り値

戻り値は 0 以上 1 未満の値をとります。

解説

UInt32 型の乱数を生成し、その乱数を 4294967296 で割った値を Float32 型に変換して返します。


SFXMTRandom::GetFloat64
Float64 型の乱数を生成します。
[ public ]
Float64 GetFloat64(Void);

戻り値

戻り値は 0 以上 1 未満の値をとります。

解説

UInt32 型の乱数を生成し、その乱数を 4294967296 で割った値を Float64 型に変換して返します。


SFXMTRandom::GetSInt08
SInt08 型の乱数を生成します。
[ public ]
SInt08 GetSInt08(Void);

解説

UInt32 型の乱数を生成し、その乱数の最上位から 8 ビットを SInt08 型に変換して返します。


SFXMTRandom::GetSInt16
SInt16 型の乱数を生成します。
[ public ]
SInt16 GetSInt16(Void);

解説

UInt32 型の乱数を生成し、その乱数の最上位から 16 ビットを SInt16 型に変換して返します。


SFXMTRandom::GetSInt32
SInt32 型の乱数を生成します。
[ public ]
SInt32 GetSInt32(Void);

解説

UInt32 型の乱数を生成し、その乱数の最上位から 32 ビットを SInt32 型に変換して返します。


SFXMTRandom::GetUInt08
UInt08 型の乱数を生成します。
[ public ]
UInt08 GetUInt08(Void);

解説

UInt32 型の乱数を生成し、その乱数の最上位から 8 ビットを UInt08 型に変換して返します。


SFXMTRandom::GetUInt16
UInt16 型の乱数を生成します。
[ public ]
UInt16 GetUInt16(Void);

解説

UInt32 型の乱数を生成し、その乱数の最上位から 16 ビットを UInt16 型に変換して返します。


SFXMTRandom::GetUInt32
UInt32 型の乱数を生成します。
[ public ]
UInt32 GetUInt32(Void);

解説

UInt32 型の乱数を返します。


SFXMTRandom::Randomize
乱数の生成に使用する種を設定します。
[ public ]
Void Randomize(
    UInt32 seed = 0   // 乱数の生成に使用する種
);

解説

seed に 0 を指定した場合、デバイスに電源が投入されてから経過した時間などを元に、自動的に種が設定されます。 ただし、時間を取得できない場合には、seed = 5489 になります。