SophiaFramework UNIVERSE 5.3 |
SFXBrewRandom クラスは、 BREW の乱数生成関数により乱数を生成するクラスです。
このクラスは、 内部で BREW API GETRAND 関数を呼び出して乱数を発生させます。
Bool、Float32、Float 64、SInt08、SInt16、SInt32、UInt08、UInt16、UInt32 などの各数値型に対応した乱数生成関数があります。
各関数で生成できる乱数の上限値と下限値は、 最大値・最小値を表すマクロを参照してください。
// SINT32_MINIMUM 〜 SINT32_MAXIMUM の間の乱数を生成する SInt32 n1 = SFXBrewRandom::GetSInt32(); // 0 〜 UINT08_MAXIMUM の間の乱数を生成する UInt08 n2 = SFXBrewRandom::GetUInt08(); // 0 以上 1 未満の Float64 型浮動小数の乱数を生成する Float64 n3 = SFXBrewRandom::GetFloat64(); Bool b = SFXBrewRandom::GetBool(); // Bool 型の乱数を生成する // Bool b = static_cast<Bool>(SFXBrewRandom::GetUInt32() % 2); // と書くよりも品質のよい乱数が得られる
パブリック関数 | |
---|---|
static Bool |
GetBool( Void ) Bool 型の乱数を生成します。
|
static Float32 |
GetFloat32( Void ) Float32 型の乱数(0.0 以上 1.0 未満)を生成します。
|
static Float64 |
GetFloat64( Void ) Float64 型の乱数(0.0 以上 1.0 未満)を生成します。
|
static SInt08 |
GetSInt08( Void ) SInt08 型の乱数を生成します。
|
static SInt16 |
GetSInt16( Void ) SInt16 型の乱数を生成します。
|
static SInt32 |
GetSInt32( Void ) SInt32 型の乱数を生成します。
|
static SInt64 |
GetSInt64( Void ) SInt64 型の乱数を生成します。
|
static UInt08 |
GetUInt08( Void ) UInt08 型の乱数を生成します。
|
static UInt16 |
GetUInt16( Void ) UInt16 型の乱数を生成します。
|
static UInt32 |
GetUInt32( Void ) UInt32 型の乱数を生成します。
|
static UInt64 |
GetUInt64( Void ) UInt64 型の乱数を生成します。
|
[ public, static ] Bool GetBool(Void);
Bool 型の乱数
この関数は、Bool 型の乱数を生成します。
具体的には、 BREW API GETRAND 関数を呼び出して UInt08 型の乱数を生成し、最下位 1 ビットを Bool 型に変換して返します。
SFXBrewRandom::GetBool();
[ public, static ] Float32 GetFloat32(Void);
Float32 型の乱数(0.0 以上 1.0 未満)
この関数は、Float32 型の乱数(0.0 以上 1.0 未満)を生成します。
具体的には、 BREW API GETRAND 関数を呼び出して UInt32 型の乱数を生成し、 その乱数の下位 24 ビットを 16777216 で割った値を Float32 型に変換して返します。
SFXBrewRandom::GetFloat32();
[ public, static ] Float64 GetFloat64(Void);
Float64 型の乱数(0.0 以上 1.0 未満)
この関数は、Float64 型の乱数(0.0 以上 1.0 未満)を生成します。
具体的には、 BREW API GETRAND 関数を呼び出して UInt64 型の乱数を生成し、 その乱数の下位 53 ビットを 9007199254740992 で割った値を Float64 型に変換して返します。
SFXBrewRandom::GetFloat64();
[ public, static ] SInt08 GetSInt08(Void);
SInt08 型の乱数
SFXBrewRandom::GetSInt08();
[ public, static ] SInt16 GetSInt16(Void);
SInt16 型の乱数
SFXBrewRandom::GetSInt16();
[ public, static ] SInt32 GetSInt32(Void);
SInt32 型の乱数
SFXBrewRandom::GetSInt32();
[ public, static ] SInt64 GetSInt64(Void);
SInt64 型の乱数
SFXBrewRandom::GetSInt64();
[ public, static ] UInt08 GetUInt08(Void);
UInt08 型の乱数
SFXBrewRandom::GetUInt08();
[ public, static ] UInt16 GetUInt16(Void);
UInt16 型の乱数
SFXBrewRandom::GetUInt16();
[ public, static ] UInt32 GetUInt32(Void);
UInt32 型の乱数
SFXBrewRandom::GetUInt32();
[ public, static ] UInt64 GetUInt64(Void);
UInt64 型の乱数
SFXBrewRandom::GetUInt64();
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |