4#include <basis/seadTypes.h>
21 Random(u32 seed_0, u32 seed_1, u32 seed_2, u32 seed_3)
28 void init(u32 seed_0, u32 seed_1, u32 seed_2, u32 seed_3);
34 return static_cast<u32>(((u64)getU32() * ceil) >> 32);
39 return getU32(b - a) + a;
44 return getU32() * (1.0f / 4294967296.0f);
49 return getF32() * ceil;
54 return getF32(b - a) + a;
59 return getU32() * (1.0 / 4294967296.0);
64 return getF64() * ceil;
69 return getF64(b - a) + a;
74 return (getU32() & 2) - 1;
79 return static_cast<
bool>(getU32() & 1);
82 void getContext(u32* num_0, u32* num_1, u32* num_2, u32* num_3)
const;
91static_assert(
sizeof(
Random) == 0x10,
"sead::Random size mismatch");
Definition seadRandom.h:9
f64 getF64Range(f64 a, f64 b)
Definition seadRandom.h:67
Random()
Definition seadRandom.h:11
Random(u32 seed_0, u32 seed_1, u32 seed_2, u32 seed_3)
Definition seadRandom.h:21
void init()
Definition seadRandom.cpp:7
u32 mZ
Definition seadRandom.h:87
Random(u32 seed)
Definition seadRandom.h:16
f64 getF64(f64 ceil)
Definition seadRandom.h:62
void init(u32 seed)
Definition seadRandom.cpp:12
f32 getF32()
Definition seadRandom.h:42
bool getBool()
Definition seadRandom.h:77
s32 getS32Range(s32 a, s32 b)
Definition seadRandom.h:37
u32 mX
Definition seadRandom.h:85
u32 getU32()
Definition seadRandom.cpp:37
u32 mY
Definition seadRandom.h:86
s32 getSign()
Definition seadRandom.h:72
f64 getF64()
Definition seadRandom.h:57
u32 getU32(u32 ceil)
Definition seadRandom.h:32
void init(u32 seed_0, u32 seed_1, u32 seed_2, u32 seed_3)
Definition seadRandom.cpp:21
void getContext(u32 *num_0, u32 *num_1, u32 *num_2, u32 *num_3) const
Definition seadRandom.cpp:47
f32 getF32Range(f32 a, f32 b)
Definition seadRandom.h:52
f32 getF32(f32 ceil)
Definition seadRandom.h:47
u32 mW
Definition seadRandom.h:88
Definition seadAssert.h:44