AuroraRuntime/Source/RNG/AuRandomDevice.hpp

89 lines
5.1 KiB
C++
Raw Normal View History

2022-11-17 07:46:07 +00:00
/***
Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved.
File: AuRandomDevice.hpp
Date: 2021-9-3
Author: Reece
***/
#pragma once
#include "AuWELL.hpp"
#include <Source/IO/Adapters/AuIOAdapterRandom.hpp>
2022-11-17 07:46:07 +00:00
namespace Aurora::RNG
{
struct RandomDevice :
IRandomDevice,
IO::Adapters::RandomStreamReader
2022-11-17 07:46:07 +00:00
{
2023-10-17 09:03:15 +00:00
RandomDevice();
RandomDevice(const RandomDef & def);
void Read(Memory::MemoryViewWrite view) override;
2022-11-17 07:46:07 +00:00
AuString NextString(AuUInt32 uLength, ERngStringCharacters type) override;
void NextString(char *pString, AuUInt32 uLength, ERngStringCharacters type) override;
AuUInt8 NextByte() override;
bool NextBoolean() override;
AuUInt32 NextU32() override;
AuUInt64 NextU64() override;
[+] AuRNG::IRandomDevice::NextU64Range [+] AuRNG::IRandomDevice::NextI64Range [+] AuRNG::IRandomDevice::NextVec2 [+] AuRNG::IRandomDevice::NextVec2Sorted [+] AuRNG::IRandomDevice::NextVec3 [+] AuRNG::IRandomDevice::NextVec3Sorted [+] AuRNG::IRandomDevice::NextVec4 [+] AuRNG::IRandomDevice::NextVec4Sorted [+] AuRNG::IRandomDevice::NextArrayI64Range [+] AuRNG::IRandomDevice::NextArrayU64Range [+] AuRNG::IRandomDevice::NextArrayU32Mask [+] AuRNG::IRandomDevice::NextArrayU64Mask [+] AuRNG::IRandomDevice::NextArrayI64 [+] AuRNG::IRandomDevice::NextArrayU64 [+] AuRNG::IRandomDevice::NextArrayVec2 [+] AuRNG::IRandomDevice::NextArrayVec2Sorted [+] AuRNG::IRandomDevice::NextArrayVec3 [+] AuRNG::IRandomDevice::NextArrayVec3Sorted [+] AuRNG::IRandomDevice::NextArrayVec4 [+] AuRNG::IRandomDevice::NextArrayVec4Sorted [+] AuRNG::IRandomDevice::NextArrayVec4SortedFast [+] AuRNG::IRandomDevice::NextArrayVec3SortedFast [+] AuRNG::IRandomDevice::NextArrayVec2SortedFast [+] AuRNG::IRandomDevice::NextArrayDoubleRangeFast [+] AuRNG::IRandomDevice::NextArrayDecimalsFast [+] AuRNG::RngU64Range [+] AuRNG::RngI64Range [+] AuRNG::RngVec2 [+] AuRNG::RngVec2Sorted [+] AuRNG::RngVec3 [+] AuRNG::RngVec3Sorted [+] AuRNG::RngVec4 [+] AuRNG::RngVec4Sorted [+] AuRNG::RngArrayI64Range [+] AuRNG::RngArrayU64Range [+] AuRNG::RngArrayU32Mask [+] AuRNG::RngArrayU64Mask [+] AuRNG::RngArrayI64 [+] AuRNG::RngArrayU64 [+] AuRNG::RngArrayVec2 [+] AuRNG::RngArrayVec2Sorted [+] AuRNG::RngArrayVec3 [+] AuRNG::RngArrayVec3Sorted [+] AuRNG::RngArrayVec4 [+] AuRNG::RngArrayVec4Sorted [+] AuRNG::RngArrayVec4SortedFast [+] AuRNG::RngArrayVec3SortedFast [+] AuRNG::RngArrayVec2SortedFast [+] AuRNG::RngArrayDoubleRangeFast [+] AuRNG::RngArrayDecimalsFast
2024-04-22 05:02:56 +00:00
AuUInt64 NextU64Range(AuUInt64 uMin, AuUInt64 uMax) override;
AuInt64 NextI64Range(AuInt64 iMin, AuInt64 iMax) override;
AuVec2 NextVec2(AuVec2 boundA, AuVec2 boundB) override;
AuVec2 NextVec2Sorted(AuVec2 min, AuVec2 max) override;
AuVec3 NextVec3(AuVec3 boundA, AuVec3 boundB) override;
AuVec3 NextVec3Sorted(AuVec3 min, AuVec3 max) override;
AuVec4 NextVec4(AuVec4 boundA, AuVec4 boundB) override;
AuVec4 NextVec4Sorted(AuVec4 min, AuVec4 max) override;
AuInt32 NextI32Range(AuInt32 iMin, AuInt32 iMax) override;
AuUInt32 NextU32Range(AuUInt32 uMin, AuUInt32 uMax) override;
AuList<AuInt32> NextArrayI32Range(AuUInt32 uCount, AuInt32 iMin, AuInt32 iMax) override;
AuList<AuUInt32> NextArrayU32Range(AuUInt32 uCount, AuUInt32 uMin, AuUInt32 uMax) override;
[+] AuRNG::IRandomDevice::NextU64Range [+] AuRNG::IRandomDevice::NextI64Range [+] AuRNG::IRandomDevice::NextVec2 [+] AuRNG::IRandomDevice::NextVec2Sorted [+] AuRNG::IRandomDevice::NextVec3 [+] AuRNG::IRandomDevice::NextVec3Sorted [+] AuRNG::IRandomDevice::NextVec4 [+] AuRNG::IRandomDevice::NextVec4Sorted [+] AuRNG::IRandomDevice::NextArrayI64Range [+] AuRNG::IRandomDevice::NextArrayU64Range [+] AuRNG::IRandomDevice::NextArrayU32Mask [+] AuRNG::IRandomDevice::NextArrayU64Mask [+] AuRNG::IRandomDevice::NextArrayI64 [+] AuRNG::IRandomDevice::NextArrayU64 [+] AuRNG::IRandomDevice::NextArrayVec2 [+] AuRNG::IRandomDevice::NextArrayVec2Sorted [+] AuRNG::IRandomDevice::NextArrayVec3 [+] AuRNG::IRandomDevice::NextArrayVec3Sorted [+] AuRNG::IRandomDevice::NextArrayVec4 [+] AuRNG::IRandomDevice::NextArrayVec4Sorted [+] AuRNG::IRandomDevice::NextArrayVec4SortedFast [+] AuRNG::IRandomDevice::NextArrayVec3SortedFast [+] AuRNG::IRandomDevice::NextArrayVec2SortedFast [+] AuRNG::IRandomDevice::NextArrayDoubleRangeFast [+] AuRNG::IRandomDevice::NextArrayDecimalsFast [+] AuRNG::RngU64Range [+] AuRNG::RngI64Range [+] AuRNG::RngVec2 [+] AuRNG::RngVec2Sorted [+] AuRNG::RngVec3 [+] AuRNG::RngVec3Sorted [+] AuRNG::RngVec4 [+] AuRNG::RngVec4Sorted [+] AuRNG::RngArrayI64Range [+] AuRNG::RngArrayU64Range [+] AuRNG::RngArrayU32Mask [+] AuRNG::RngArrayU64Mask [+] AuRNG::RngArrayI64 [+] AuRNG::RngArrayU64 [+] AuRNG::RngArrayVec2 [+] AuRNG::RngArrayVec2Sorted [+] AuRNG::RngArrayVec3 [+] AuRNG::RngArrayVec3Sorted [+] AuRNG::RngArrayVec4 [+] AuRNG::RngArrayVec4Sorted [+] AuRNG::RngArrayVec4SortedFast [+] AuRNG::RngArrayVec3SortedFast [+] AuRNG::RngArrayVec2SortedFast [+] AuRNG::RngArrayDoubleRangeFast [+] AuRNG::RngArrayDecimalsFast
2024-04-22 05:02:56 +00:00
AuList<AuInt64> NextArrayI64Range(AuUInt32 uCount, AuInt64 uMin, AuInt64 uMax) override;
AuList<AuUInt64> NextArrayU64Range(AuUInt32 uCount, AuUInt64 uMin, AuUInt64 uMax) override;
AuList<AuUInt32> NextArrayU32Mask(AuUInt32 uCount, AuUInt32 uMask) override;
AuList<AuUInt64> NextArrayU64Mask(AuUInt32 uCount, AuUInt64 uMask) override;
AuList<double> NextArrayDoubleRange(AuUInt32 uCount, double dMin, double dMax) override;
[+] AuRNG::IRandomDevice::NextU64Range [+] AuRNG::IRandomDevice::NextI64Range [+] AuRNG::IRandomDevice::NextVec2 [+] AuRNG::IRandomDevice::NextVec2Sorted [+] AuRNG::IRandomDevice::NextVec3 [+] AuRNG::IRandomDevice::NextVec3Sorted [+] AuRNG::IRandomDevice::NextVec4 [+] AuRNG::IRandomDevice::NextVec4Sorted [+] AuRNG::IRandomDevice::NextArrayI64Range [+] AuRNG::IRandomDevice::NextArrayU64Range [+] AuRNG::IRandomDevice::NextArrayU32Mask [+] AuRNG::IRandomDevice::NextArrayU64Mask [+] AuRNG::IRandomDevice::NextArrayI64 [+] AuRNG::IRandomDevice::NextArrayU64 [+] AuRNG::IRandomDevice::NextArrayVec2 [+] AuRNG::IRandomDevice::NextArrayVec2Sorted [+] AuRNG::IRandomDevice::NextArrayVec3 [+] AuRNG::IRandomDevice::NextArrayVec3Sorted [+] AuRNG::IRandomDevice::NextArrayVec4 [+] AuRNG::IRandomDevice::NextArrayVec4Sorted [+] AuRNG::IRandomDevice::NextArrayVec4SortedFast [+] AuRNG::IRandomDevice::NextArrayVec3SortedFast [+] AuRNG::IRandomDevice::NextArrayVec2SortedFast [+] AuRNG::IRandomDevice::NextArrayDoubleRangeFast [+] AuRNG::IRandomDevice::NextArrayDecimalsFast [+] AuRNG::RngU64Range [+] AuRNG::RngI64Range [+] AuRNG::RngVec2 [+] AuRNG::RngVec2Sorted [+] AuRNG::RngVec3 [+] AuRNG::RngVec3Sorted [+] AuRNG::RngVec4 [+] AuRNG::RngVec4Sorted [+] AuRNG::RngArrayI64Range [+] AuRNG::RngArrayU64Range [+] AuRNG::RngArrayU32Mask [+] AuRNG::RngArrayU64Mask [+] AuRNG::RngArrayI64 [+] AuRNG::RngArrayU64 [+] AuRNG::RngArrayVec2 [+] AuRNG::RngArrayVec2Sorted [+] AuRNG::RngArrayVec3 [+] AuRNG::RngArrayVec3Sorted [+] AuRNG::RngArrayVec4 [+] AuRNG::RngArrayVec4Sorted [+] AuRNG::RngArrayVec4SortedFast [+] AuRNG::RngArrayVec3SortedFast [+] AuRNG::RngArrayVec2SortedFast [+] AuRNG::RngArrayDoubleRangeFast [+] AuRNG::RngArrayDecimalsFast
2024-04-22 05:02:56 +00:00
AuList<double> NextArrayDoubleRangeFast(AuUInt32 uCount, double dMin, double dMax) override;
AuList<AuInt32> NextArrayI32(AuUInt32 uCount) override;
AuList<AuUInt32> NextArrayU32(AuUInt32 uCount) override;
[+] AuRNG::IRandomDevice::NextU64Range [+] AuRNG::IRandomDevice::NextI64Range [+] AuRNG::IRandomDevice::NextVec2 [+] AuRNG::IRandomDevice::NextVec2Sorted [+] AuRNG::IRandomDevice::NextVec3 [+] AuRNG::IRandomDevice::NextVec3Sorted [+] AuRNG::IRandomDevice::NextVec4 [+] AuRNG::IRandomDevice::NextVec4Sorted [+] AuRNG::IRandomDevice::NextArrayI64Range [+] AuRNG::IRandomDevice::NextArrayU64Range [+] AuRNG::IRandomDevice::NextArrayU32Mask [+] AuRNG::IRandomDevice::NextArrayU64Mask [+] AuRNG::IRandomDevice::NextArrayI64 [+] AuRNG::IRandomDevice::NextArrayU64 [+] AuRNG::IRandomDevice::NextArrayVec2 [+] AuRNG::IRandomDevice::NextArrayVec2Sorted [+] AuRNG::IRandomDevice::NextArrayVec3 [+] AuRNG::IRandomDevice::NextArrayVec3Sorted [+] AuRNG::IRandomDevice::NextArrayVec4 [+] AuRNG::IRandomDevice::NextArrayVec4Sorted [+] AuRNG::IRandomDevice::NextArrayVec4SortedFast [+] AuRNG::IRandomDevice::NextArrayVec3SortedFast [+] AuRNG::IRandomDevice::NextArrayVec2SortedFast [+] AuRNG::IRandomDevice::NextArrayDoubleRangeFast [+] AuRNG::IRandomDevice::NextArrayDecimalsFast [+] AuRNG::RngU64Range [+] AuRNG::RngI64Range [+] AuRNG::RngVec2 [+] AuRNG::RngVec2Sorted [+] AuRNG::RngVec3 [+] AuRNG::RngVec3Sorted [+] AuRNG::RngVec4 [+] AuRNG::RngVec4Sorted [+] AuRNG::RngArrayI64Range [+] AuRNG::RngArrayU64Range [+] AuRNG::RngArrayU32Mask [+] AuRNG::RngArrayU64Mask [+] AuRNG::RngArrayI64 [+] AuRNG::RngArrayU64 [+] AuRNG::RngArrayVec2 [+] AuRNG::RngArrayVec2Sorted [+] AuRNG::RngArrayVec3 [+] AuRNG::RngArrayVec3Sorted [+] AuRNG::RngArrayVec4 [+] AuRNG::RngArrayVec4Sorted [+] AuRNG::RngArrayVec4SortedFast [+] AuRNG::RngArrayVec3SortedFast [+] AuRNG::RngArrayVec2SortedFast [+] AuRNG::RngArrayDoubleRangeFast [+] AuRNG::RngArrayDecimalsFast
2024-04-22 05:02:56 +00:00
AuList<AuInt64> NextArrayI64(AuUInt32 uCount) override;
AuList<AuUInt64> NextArrayU64(AuUInt32 uCount) override;
AuList<AuVec2> NextArrayVec2(AuUInt32 uCount, AuVec2 boundA, AuVec2 boundB) override;
AuList<AuVec2> NextArrayVec2Fast(AuUInt32 uCount, AuVec2 boundA, AuVec2 boundB) override;
[+] AuRNG::IRandomDevice::NextU64Range [+] AuRNG::IRandomDevice::NextI64Range [+] AuRNG::IRandomDevice::NextVec2 [+] AuRNG::IRandomDevice::NextVec2Sorted [+] AuRNG::IRandomDevice::NextVec3 [+] AuRNG::IRandomDevice::NextVec3Sorted [+] AuRNG::IRandomDevice::NextVec4 [+] AuRNG::IRandomDevice::NextVec4Sorted [+] AuRNG::IRandomDevice::NextArrayI64Range [+] AuRNG::IRandomDevice::NextArrayU64Range [+] AuRNG::IRandomDevice::NextArrayU32Mask [+] AuRNG::IRandomDevice::NextArrayU64Mask [+] AuRNG::IRandomDevice::NextArrayI64 [+] AuRNG::IRandomDevice::NextArrayU64 [+] AuRNG::IRandomDevice::NextArrayVec2 [+] AuRNG::IRandomDevice::NextArrayVec2Sorted [+] AuRNG::IRandomDevice::NextArrayVec3 [+] AuRNG::IRandomDevice::NextArrayVec3Sorted [+] AuRNG::IRandomDevice::NextArrayVec4 [+] AuRNG::IRandomDevice::NextArrayVec4Sorted [+] AuRNG::IRandomDevice::NextArrayVec4SortedFast [+] AuRNG::IRandomDevice::NextArrayVec3SortedFast [+] AuRNG::IRandomDevice::NextArrayVec2SortedFast [+] AuRNG::IRandomDevice::NextArrayDoubleRangeFast [+] AuRNG::IRandomDevice::NextArrayDecimalsFast [+] AuRNG::RngU64Range [+] AuRNG::RngI64Range [+] AuRNG::RngVec2 [+] AuRNG::RngVec2Sorted [+] AuRNG::RngVec3 [+] AuRNG::RngVec3Sorted [+] AuRNG::RngVec4 [+] AuRNG::RngVec4Sorted [+] AuRNG::RngArrayI64Range [+] AuRNG::RngArrayU64Range [+] AuRNG::RngArrayU32Mask [+] AuRNG::RngArrayU64Mask [+] AuRNG::RngArrayI64 [+] AuRNG::RngArrayU64 [+] AuRNG::RngArrayVec2 [+] AuRNG::RngArrayVec2Sorted [+] AuRNG::RngArrayVec3 [+] AuRNG::RngArrayVec3Sorted [+] AuRNG::RngArrayVec4 [+] AuRNG::RngArrayVec4Sorted [+] AuRNG::RngArrayVec4SortedFast [+] AuRNG::RngArrayVec3SortedFast [+] AuRNG::RngArrayVec2SortedFast [+] AuRNG::RngArrayDoubleRangeFast [+] AuRNG::RngArrayDecimalsFast
2024-04-22 05:02:56 +00:00
AuList<AuVec2> NextArrayVec2Sorted(AuUInt32 uCount, AuVec2 min, AuVec2 max) override;
AuList<AuVec2> NextArrayVec2SortedFast(AuUInt32 uCount, AuVec2 min, AuVec2 max) override;
AuList<AuVec3> NextArrayVec3(AuUInt32 uCount, AuVec3 boundA, AuVec3 boundB) override;
AuList<AuVec3> NextArrayVec3Fast(AuUInt32 uCount, AuVec3 boundA, AuVec3 boundB) override;
[+] AuRNG::IRandomDevice::NextU64Range [+] AuRNG::IRandomDevice::NextI64Range [+] AuRNG::IRandomDevice::NextVec2 [+] AuRNG::IRandomDevice::NextVec2Sorted [+] AuRNG::IRandomDevice::NextVec3 [+] AuRNG::IRandomDevice::NextVec3Sorted [+] AuRNG::IRandomDevice::NextVec4 [+] AuRNG::IRandomDevice::NextVec4Sorted [+] AuRNG::IRandomDevice::NextArrayI64Range [+] AuRNG::IRandomDevice::NextArrayU64Range [+] AuRNG::IRandomDevice::NextArrayU32Mask [+] AuRNG::IRandomDevice::NextArrayU64Mask [+] AuRNG::IRandomDevice::NextArrayI64 [+] AuRNG::IRandomDevice::NextArrayU64 [+] AuRNG::IRandomDevice::NextArrayVec2 [+] AuRNG::IRandomDevice::NextArrayVec2Sorted [+] AuRNG::IRandomDevice::NextArrayVec3 [+] AuRNG::IRandomDevice::NextArrayVec3Sorted [+] AuRNG::IRandomDevice::NextArrayVec4 [+] AuRNG::IRandomDevice::NextArrayVec4Sorted [+] AuRNG::IRandomDevice::NextArrayVec4SortedFast [+] AuRNG::IRandomDevice::NextArrayVec3SortedFast [+] AuRNG::IRandomDevice::NextArrayVec2SortedFast [+] AuRNG::IRandomDevice::NextArrayDoubleRangeFast [+] AuRNG::IRandomDevice::NextArrayDecimalsFast [+] AuRNG::RngU64Range [+] AuRNG::RngI64Range [+] AuRNG::RngVec2 [+] AuRNG::RngVec2Sorted [+] AuRNG::RngVec3 [+] AuRNG::RngVec3Sorted [+] AuRNG::RngVec4 [+] AuRNG::RngVec4Sorted [+] AuRNG::RngArrayI64Range [+] AuRNG::RngArrayU64Range [+] AuRNG::RngArrayU32Mask [+] AuRNG::RngArrayU64Mask [+] AuRNG::RngArrayI64 [+] AuRNG::RngArrayU64 [+] AuRNG::RngArrayVec2 [+] AuRNG::RngArrayVec2Sorted [+] AuRNG::RngArrayVec3 [+] AuRNG::RngArrayVec3Sorted [+] AuRNG::RngArrayVec4 [+] AuRNG::RngArrayVec4Sorted [+] AuRNG::RngArrayVec4SortedFast [+] AuRNG::RngArrayVec3SortedFast [+] AuRNG::RngArrayVec2SortedFast [+] AuRNG::RngArrayDoubleRangeFast [+] AuRNG::RngArrayDecimalsFast
2024-04-22 05:02:56 +00:00
AuList<AuVec3> NextArrayVec3Sorted(AuUInt32 uCount, AuVec3 min, AuVec3 max) override;
AuList<AuVec3> NextArrayVec3SortedFast(AuUInt32 uCount, AuVec3 min, AuVec3 max) override;
AuList<AuVec4> NextArrayVec4(AuUInt32 uCount, AuVec4 boundA, AuVec4 boundB) override;
AuList<AuVec4> NextArrayVec4Fast(AuUInt32 uCount, AuVec4 boundA, AuVec4 boundB) override;
[+] AuRNG::IRandomDevice::NextU64Range [+] AuRNG::IRandomDevice::NextI64Range [+] AuRNG::IRandomDevice::NextVec2 [+] AuRNG::IRandomDevice::NextVec2Sorted [+] AuRNG::IRandomDevice::NextVec3 [+] AuRNG::IRandomDevice::NextVec3Sorted [+] AuRNG::IRandomDevice::NextVec4 [+] AuRNG::IRandomDevice::NextVec4Sorted [+] AuRNG::IRandomDevice::NextArrayI64Range [+] AuRNG::IRandomDevice::NextArrayU64Range [+] AuRNG::IRandomDevice::NextArrayU32Mask [+] AuRNG::IRandomDevice::NextArrayU64Mask [+] AuRNG::IRandomDevice::NextArrayI64 [+] AuRNG::IRandomDevice::NextArrayU64 [+] AuRNG::IRandomDevice::NextArrayVec2 [+] AuRNG::IRandomDevice::NextArrayVec2Sorted [+] AuRNG::IRandomDevice::NextArrayVec3 [+] AuRNG::IRandomDevice::NextArrayVec3Sorted [+] AuRNG::IRandomDevice::NextArrayVec4 [+] AuRNG::IRandomDevice::NextArrayVec4Sorted [+] AuRNG::IRandomDevice::NextArrayVec4SortedFast [+] AuRNG::IRandomDevice::NextArrayVec3SortedFast [+] AuRNG::IRandomDevice::NextArrayVec2SortedFast [+] AuRNG::IRandomDevice::NextArrayDoubleRangeFast [+] AuRNG::IRandomDevice::NextArrayDecimalsFast [+] AuRNG::RngU64Range [+] AuRNG::RngI64Range [+] AuRNG::RngVec2 [+] AuRNG::RngVec2Sorted [+] AuRNG::RngVec3 [+] AuRNG::RngVec3Sorted [+] AuRNG::RngVec4 [+] AuRNG::RngVec4Sorted [+] AuRNG::RngArrayI64Range [+] AuRNG::RngArrayU64Range [+] AuRNG::RngArrayU32Mask [+] AuRNG::RngArrayU64Mask [+] AuRNG::RngArrayI64 [+] AuRNG::RngArrayU64 [+] AuRNG::RngArrayVec2 [+] AuRNG::RngArrayVec2Sorted [+] AuRNG::RngArrayVec3 [+] AuRNG::RngArrayVec3Sorted [+] AuRNG::RngArrayVec4 [+] AuRNG::RngArrayVec4Sorted [+] AuRNG::RngArrayVec4SortedFast [+] AuRNG::RngArrayVec3SortedFast [+] AuRNG::RngArrayVec2SortedFast [+] AuRNG::RngArrayDoubleRangeFast [+] AuRNG::RngArrayDecimalsFast
2024-04-22 05:02:56 +00:00
AuList<AuVec4> NextArrayVec4Sorted(AuUInt32 uCount, AuVec4 min, AuVec4 max) override;
AuList<AuVec4> NextArrayVec4SortedFast(AuUInt32 uCount, AuVec4 min, AuVec4 max) override;
AuList<double> NextArrayDouble(AuUInt32 uCount) override;
AuList<double> NextArrayDecimals(AuUInt32 uCount) override;
[+] AuRNG::IRandomDevice::NextU64Range [+] AuRNG::IRandomDevice::NextI64Range [+] AuRNG::IRandomDevice::NextVec2 [+] AuRNG::IRandomDevice::NextVec2Sorted [+] AuRNG::IRandomDevice::NextVec3 [+] AuRNG::IRandomDevice::NextVec3Sorted [+] AuRNG::IRandomDevice::NextVec4 [+] AuRNG::IRandomDevice::NextVec4Sorted [+] AuRNG::IRandomDevice::NextArrayI64Range [+] AuRNG::IRandomDevice::NextArrayU64Range [+] AuRNG::IRandomDevice::NextArrayU32Mask [+] AuRNG::IRandomDevice::NextArrayU64Mask [+] AuRNG::IRandomDevice::NextArrayI64 [+] AuRNG::IRandomDevice::NextArrayU64 [+] AuRNG::IRandomDevice::NextArrayVec2 [+] AuRNG::IRandomDevice::NextArrayVec2Sorted [+] AuRNG::IRandomDevice::NextArrayVec3 [+] AuRNG::IRandomDevice::NextArrayVec3Sorted [+] AuRNG::IRandomDevice::NextArrayVec4 [+] AuRNG::IRandomDevice::NextArrayVec4Sorted [+] AuRNG::IRandomDevice::NextArrayVec4SortedFast [+] AuRNG::IRandomDevice::NextArrayVec3SortedFast [+] AuRNG::IRandomDevice::NextArrayVec2SortedFast [+] AuRNG::IRandomDevice::NextArrayDoubleRangeFast [+] AuRNG::IRandomDevice::NextArrayDecimalsFast [+] AuRNG::RngU64Range [+] AuRNG::RngI64Range [+] AuRNG::RngVec2 [+] AuRNG::RngVec2Sorted [+] AuRNG::RngVec3 [+] AuRNG::RngVec3Sorted [+] AuRNG::RngVec4 [+] AuRNG::RngVec4Sorted [+] AuRNG::RngArrayI64Range [+] AuRNG::RngArrayU64Range [+] AuRNG::RngArrayU32Mask [+] AuRNG::RngArrayU64Mask [+] AuRNG::RngArrayI64 [+] AuRNG::RngArrayU64 [+] AuRNG::RngArrayVec2 [+] AuRNG::RngArrayVec2Sorted [+] AuRNG::RngArrayVec3 [+] AuRNG::RngArrayVec3Sorted [+] AuRNG::RngArrayVec4 [+] AuRNG::RngArrayVec4Sorted [+] AuRNG::RngArrayVec4SortedFast [+] AuRNG::RngArrayVec3SortedFast [+] AuRNG::RngArrayVec2SortedFast [+] AuRNG::RngArrayDoubleRangeFast [+] AuRNG::RngArrayDecimalsFast
2024-04-22 05:02:56 +00:00
AuList<double> NextArrayDecimalsFast(AuUInt32 uCount) override;
AuList<uuids::uuid> NextArrayUUIDs(AuUInt32 uCount) override;
AuList<AuInt32> NextArrayI32RangeFast(AuUInt32 uCount, AuInt32 iMin, AuInt32 iMax) override;
AuList<AuUInt32> NextArrayU32RangeFast(AuUInt32 uCount, AuUInt32 uMin, AuUInt32 uMax) override;
AuList<AuInt64> NextArrayI64RangeFast(AuUInt32 uCount, AuInt64 iMin, AuInt64 iMax) override;
AuList<AuUInt64> NextArrayU64RangeFast(AuUInt32 uCount, AuUInt64 uMin, AuUInt64 uMax) override;
2022-11-17 07:46:07 +00:00
double NextDecimal() override;
double NextNumber(double dMin, double dMax) override;
2022-11-17 07:46:07 +00:00
AuUInt32 NextIndex(AuUInt32 uCount /* = max + 1*/) override;
2023-12-29 22:57:25 +00:00
uuids::uuid NextUUID() override;
IO::IStreamReader *ToStreamReader() override;
2022-12-28 20:07:41 +00:00
AuMemoryViewRead ToSeed() override;
2022-11-17 07:46:07 +00:00
void Init(const RandomDef &def);
private:
RandomDef def_;
WELLRand fast_;
bool DecGeometric(int x);
double UniformFloatInRange(double udMin, double udMax);
2022-11-17 07:46:07 +00:00
};
}