LeviLamina
Loading...
Searching...
No Matches
Random.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/IRandom.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace mce { class UUID; }
11// clang-format on
12
13namespace Core {
14
15class Random : public ::IRandom {
16public:
17 // Random inner types define
18 using result_type = uint;
19
20public:
21 // member variables
22 // NOLINTBEGIN
23 ::ll::TypedStorage<4, 4, uint> mSeed;
24 ::ll::TypedStorage<4, 2496, uint[624]> _mt;
25 ::ll::TypedStorage<4, 4, int> _mti;
26 ::ll::TypedStorage<4, 4, int> mInitedIdx;
27 ::ll::TypedStorage<4, 4, float> mNextNextGaussian;
28 ::ll::TypedStorage<8, 8, double> mNextNextGaussianDouble;
29 ::ll::TypedStorage<4, 4, uint> mFakeUniformRandomInt;
30 ::ll::TypedStorage<1, 1, bool> mHaveNextNextGaussian;
31 ::ll::TypedStorage<1, 1, bool> mHaveNextNextGaussianDouble;
32 ::ll::TypedStorage<1, 1, bool> mTest_OnlyUsedDeterministically;
33 ::ll::TypedStorage<1, 1, bool> mAllowSeedChanges;
34 // NOLINTEND
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual bool nextBoolean() /*override*/;
40
41 virtual float nextFloat() /*override*/;
42
43 virtual double nextDouble() /*override*/;
44
45 virtual int nextInt() /*override*/;
46
47 virtual int nextInt(int n) /*override*/;
48
49 virtual int64 nextLong() /*override*/;
50
51 virtual void consumeCount(uint count) /*override*/;
52
53 virtual double nextGaussianDouble() /*override*/;
54 // NOLINTEND
55
56public:
57 // member functions
58 // NOLINTBEGIN
59 MCAPI Random();
60
61 MCAPI uint _genRandInt32(bool allowUnitTestDeterministicOverride);
62
63#ifdef LL_PLAT_C
64 MCAPI float nextGaussianFloat();
65#endif
66
67 MCAPI ::glm::vec3 nextGaussianVec3();
68
69 MCAPI void reset();
70 // NOLINTEND
71
72public:
73 // static functions
74 // NOLINTBEGIN
75 MCAPI static ::mce::UUID generateUUID();
76 // NOLINTEND
77
78public:
79 // constructor thunks
80 // NOLINTBEGIN
81 MCAPI void* $ctor();
82 // NOLINTEND
83
84public:
85 // virtual function thunks
86 // NOLINTBEGIN
87 MCAPI bool $nextBoolean();
88
89 MCAPI float $nextFloat();
90
91 MCAPI double $nextDouble();
92
93 MCAPI int $nextInt();
94
95 MCAPI int $nextInt(int n);
96
97 MCAPI int64 $nextLong();
98
99 MCAPI void $consumeCount(uint count);
100
101 MCAPI double $nextGaussianDouble();
102
103
104 // NOLINTEND
105
106public:
107 // vftables
108 // NOLINTBEGIN
109 MCNAPI static void** $vftable();
110 // NOLINTEND
111};
112
113} // namespace Core
static MCAPI void ** $vftable()
Definition IRandom.h:10
Definition UUID.h:8