35 m_Seed = m_Seed*214013 + 2531011;
39 inline u64
Seed()
const {
return m_Seed; }
42 inline void SetSeed(u64 seed) { m_Seed = seed; }
52 inline s8
S8() {
return (s8)this->
U8(); }
53 inline s16
S16() {
return (s16)this->
U16(); }
54 inline s32
S32() {
return (s32)this->
U32(); }
55 inline s64
S64() {
return (s64)this->
U64(); }
125 float Gauss(
float mean = 0,
float sigma = 1);
152 double Gauss(
double mean = 0,
double sigma = 1);
245 float Noise1D(
int x,
int seed);
248 float Noise2D(
int x,
int y,
int seed);
251 float Noise3D(
int x,
int y,
int z,
int seed);
Gaussian random double number generator.
Definition: rand.h:130
double Gauss(double mean=0, double sigma=1)
Generate Gaussian random number (mean = center, sigma = width)
Definition: rand.cpp:343
void SetSeed(u64 seed)
Set random number seed.
Definition: rand.h:145
u64 Seed() const
Get random number seed.
Definition: rand.h:143
Gaussian random float number generator.
Definition: rand.h:103
u64 Seed() const
Get random number seed.
Definition: rand.h:116
float Gauss(float mean=0, float sigma=1)
Generate Gaussian random number (mean = center, sigma = width)
Definition: rand.cpp:322
void SetSeed(u64 seed)
Set random number seed.
Definition: rand.h:118
Random Generator.
Definition: rand.h:24
u64 U64MinMax(u64 min, u64 max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.cpp:283
u8 U8()
Generate integer random number in full range.
Definition: rand.cpp:36
s8 S8MinMax(s8 min, s8 max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.cpp:288
s32 S32()
Generate integer random number in full range.
Definition: rand.h:54
u16 U16Max(u16 max)
Generate random number in range 0 to MAX (including)
Definition: rand.cpp:125
u32 U32()
Generate integer random number in full range.
Definition: rand.cpp:56
s64 S64()
Generate integer random number in full range.
Definition: rand.h:55
void InitSeed()
Set random seed from ROSC counter.
Definition: rand.cpp:24
s32 S32Max(s32 max)
Generate random number in range 0 to MAX (including)
Definition: rand.cpp:230
double DoubleMax(double max)
Generate decimal random number in range 0 (including) to MAX (excluding)
Definition: rand.cpp:260
u32 U32MinMax(u32 min, u32 max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.cpp:278
u64 Seed() const
Get random number seed.
Definition: rand.h:39
s64 S64Max(s64 max)
gGenerate random number in range 0 to MAX (including)
Definition: rand.cpp:242
s64 S64MinMax(s64 min, s64 max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.cpp:303
float FloatMax(float max)
Generate decimal random number in range 0 (including) to MAX (excluding)
Definition: rand.cpp:254
u16 U16()
Generate integer random number in full range.
Definition: rand.cpp:46
void Shift()
Shift random generator seed.
Definition: rand.h:33
s16 S16()
Generate integer random number in full range.
Definition: rand.h:53
double DoubleMinMax(double min, double max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.cpp:313
s32 S32MinMax(s32 min, s32 max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.cpp:298
float Float()
Generate float random number in range 0 (including) to 1 (excluding)
Definition: rand.cpp:78
s16 S16MinMax(s16 min, s16 max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.cpp:293
u32 U32Max(u32 max)
Generate random number in range 0 to MAX (including)
Definition: rand.cpp:152
s16 S16Max(s16 max)
Generate random number in range 0 to MAX (including)
Definition: rand.cpp:218
u8 U8Max(u8 max)
Generate random number in range 0 to MAX (including)
Definition: rand.cpp:98
void SetSeed(u64 seed)
Set random number seed.
Definition: rand.h:42
u64 U64()
Generate integer random number in full range.
Definition: rand.cpp:66
float FloatMinMax(float min, float max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.cpp:308
double Double()
Generate double random number in range 0 (including) to 1 (excluding)
Definition: rand.cpp:88
s8 S8()
Generate integer random number in full range.
Definition: rand.h:52
u64 U64Max(u64 max)
Generate random number in range 0 to MAX (including)
Definition: rand.cpp:179
u8 U8MinMax(u8 min, u8 max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.cpp:268
u16 U16MinMax(u16 min, u16 max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.cpp:273
s8 S8Max(s8 max)
Generate random number in range 0 to MAX (including)
Definition: rand.cpp:206
u32 RandU32Max(u32 max)
Generate random number in range 0 to MAX (including)
Definition: rand.h:200
u64 RandU64Max(u64 max)
Generate random number in range 0 to MAX (including)
Definition: rand.h:202
u8 RandU8Max(u8 max)
Generate random number in range 0 to MAX (including)
Definition: rand.h:196
double RandDoubleMax(double max)
Generate decimal random number in range 0 (including) to MAX (excluding)
Definition: rand.h:215
float SmoothNoise1D(float x, int scale, int seed)
Interpolated 1D noise (output -1..+1, scale = 1...)
Definition: rand.cpp:401
u16 RandU16MinMax(u16 min, u16 max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.h:220
s32 RandS32Max(s32 max)
Generate random number in range 0 to MAX (including)
Definition: rand.h:208
u16 RandU16Max(u16 max)
Generate random number in range 0 to MAX (including)
Definition: rand.h:198
double RandDoubleMinMax(double min, double max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.h:237
u16 RandU16()
Generate integer random number in full range.
Definition: rand.h:175
s32 RandS32MinMax(s32 min, s32 max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.h:230
u32 RandU32()
Generate integer random number in full range.
Definition: rand.h:177
s8 RandS8MinMax(s8 min, s8 max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.h:226
double RandGaussD(double mean=0, double sigma=1)
Generate Gaussian random number (mean = center, sigma = width)
Definition: rand.h:242
s64 RandS64()
Generate integer random number in full range.
Definition: rand.h:187
void RandSetSeed(u64 seed)
Set random generator seed.
Definition: rand.h:167
cGaussDRandom GaussDRand
Global Gaussian random double number generator.
Definition: rand.cpp:18
u8 RandU8()
Generate integer random number in full range.
Definition: rand.h:173
s16 RandS16()
Generate integer random number in full range.
Definition: rand.h:183
float Noise3D(int x, int y, int z, int seed)
3D coordinate noise generator (output -1..+1)
Definition: rand.cpp:390
s64 RandS64Max(s64 max)
Generate random number in range 0 to MAX (including)
Definition: rand.h:210
s32 RandS32()
Generate integer random number in full range.
Definition: rand.h:185
u64 RandSeed()
Get random generator seed.
Definition: rand.h:165
cRandom Rand
Global random generator.
Definition: rand.cpp:12
double RandDouble()
Generate double random number in range 0 (including) to 1 (excluding)
Definition: rand.h:193
u32 RandU32MinMax(u32 min, u32 max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.h:222
cGaussFRandom GaussFRand
Global Gaussian random float number generator.
Definition: rand.cpp:15
s8 RandS8Max(s8 max)
Generate random number in range 0 to MAX (including)
Definition: rand.h:204
s64 RandS64MinMax(s64 min, s64 max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.h:232
u64 RandU64()
Generate integer random number in full range.
Definition: rand.h:179
float Noise2D(int x, int y, int seed)
2D coordinate noise generator (output -1..+1)
Definition: rand.cpp:379
float RandFloatMinMax(float min, float max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.h:235
u64 RandU64MinMax(u64 min, u64 max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.h:224
s16 RandS16Max(s16 max)
Generate random number in range 0 to MAX (including)
Definition: rand.h:206
s16 RandS16MinMax(s16 min, s16 max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.h:228
void RandInitSeed()
Set random seed from ROSC counter.
Definition: rand.h:170
s8 RandS8()
Generate integer random number in full range.
Definition: rand.h:181
float RandGaussF(float mean=0, float sigma=1)
Generate Gaussian random number (mean = center, sigma = width)
Definition: rand.h:240
float RandFloatMax(float max)
Generate decimal random number in range 0 (including) to MAX (excluding)
Definition: rand.h:213
float Noise1D(int x, int seed)
1D coordinate noise generator (output -1..+1)
Definition: rand.cpp:368
float SmoothNoise2D(float x, float y, int scale, int seed)
Interpolated 2D noise (output -1..+1, scale = 1...)
Definition: rand.cpp:436
float RandFloat()
Generate float random number in range 0 (including) to 1 (excluding)
Definition: rand.h:190
u8 RandU8MinMax(u8 min, u8 max)
Generate random number in range MIN to MAX (including). If MIN > MAX, then number is generated out of...
Definition: rand.h:218