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
8namespace Core {
9
10class Random : public ::IRandom {
11public:
12 // Random inner types define
13 using result_type = uint;
14
15public:
16 // member variables
17 // NOLINTBEGIN
18 ::ll::TypedStorage<4, 4, uint> mSeed;
19 ::ll::TypedStorage<4, 2496, uint[624]> _mt;
20 ::ll::TypedStorage<4, 4, int> _mti;
21 ::ll::TypedStorage<4, 4, int> mInitedIdx;
22 ::ll::TypedStorage<4, 4, float> mNextNextGaussian;
23 ::ll::TypedStorage<8, 8, double> mNextNextGaussianDouble;
24 ::ll::TypedStorage<4, 4, uint> mFakeUniformRandomInt;
25 ::ll::TypedStorage<1, 1, bool> mHaveNextNextGaussian;
26 ::ll::TypedStorage<1, 1, bool> mHaveNextNextGaussianDouble;
27 ::ll::TypedStorage<1, 1, bool> mTest_OnlyUsedDeterministically;
28 // NOLINTEND
29
30public:
31 // prevent constructor by default
32 Random();
33
34public:
35 // virtual functions
36 // NOLINTBEGIN
37 // vIndex: 4
38 virtual bool nextBoolean() /*override*/;
39
40 // vIndex: 5
41 virtual float nextFloat() /*override*/;
42
43 // vIndex: 6
44 virtual double nextDouble() /*override*/;
45
46 // vIndex: 2
47 virtual int nextInt() /*override*/;
48
49 // vIndex: 1
50 virtual int nextInt(int n) /*override*/;
51
52 // vIndex: 3
53 virtual int64 nextLong() /*override*/;
54
55 // vIndex: 8
56 virtual void consumeCount(uint count) /*override*/;
57
58 // vIndex: 7
59 virtual double nextGaussianDouble() /*override*/;
60
61 // vIndex: 9
62 virtual ::std::unique_ptr<::IRandom> fork() /*override*/;
63
64 // vIndex: 0
65 virtual ~Random() /*override*/;
66 // NOLINTEND
67
68public:
69 // member functions
70 // NOLINTBEGIN
71 MCAPI Random(uint seed, bool onlyUsedDeterministically);
72
73 MCAPI uint _genRandInt32();
74
75 MCAPI float nextGaussian();
76 // NOLINTEND
77
78public:
79 // static variables
80 // NOLINTBEGIN
81 MCAPI static ::std::random_device& mRandomDevice();
82
83 MCAPI static ::Core::Random& mThreadLocalRandom();
84 // NOLINTEND
85
86public:
87 // constructor thunks
88 // NOLINTBEGIN
89 MCAPI void* $ctor(uint seed, bool onlyUsedDeterministically);
90 // NOLINTEND
91
92public:
93 // destructor thunk
94 // NOLINTBEGIN
95 MCFOLD void $dtor();
96 // NOLINTEND
97
98public:
99 // virtual function thunks
100 // NOLINTBEGIN
101 MCAPI bool $nextBoolean();
102
103 MCAPI float $nextFloat();
104
105 MCAPI double $nextDouble();
106
107 MCAPI int $nextInt();
108
109 MCAPI int $nextInt(int n);
110
111 MCAPI int64 $nextLong();
112
113 MCAPI void $consumeCount(uint count);
114
115 MCAPI double $nextGaussianDouble();
116
117 MCAPI ::std::unique_ptr<::IRandom> $fork();
118 // NOLINTEND
119
120public:
121 // vftables
122 // NOLINTBEGIN
123 MCNAPI static void** $vftable();
124 // NOLINTEND
125};
126
127} // namespace Core
Definition Random.h:10
static MCAPI void ** $vftable()
Definition IRandom.h:13