AuroraRuntime/Source/RNG/AuWELL.hpp

14 lines
360 B
C++

#pragma once
struct WELLRand
{
AuUInt32 state[16];
int index;
AuThreadPrimitives::SpinLock lock;
};
WELLRand WELL_SeedRand(AuUInt32 seed);
WELLRand WELL_SeedRandBig64(const AuArray<AuUInt8, 64> &seed);
WELLRand WELL_SeedRand64(AuUInt64 seed);
AuUInt32 WELL_NextLong(WELLRand* rand);
void WELL_NextBytes(WELLRand *rand, void *in, AuUInt32 length);