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 // virtual functions
32 // NOLINTBEGIN
33 // vIndex: 4
34 virtual bool nextBoolean() /*override*/;
35
36 // vIndex: 5
37 virtual float nextFloat() /*override*/;
38
39 // vIndex: 6
40 virtual double nextDouble() /*override*/;
41
42 // vIndex: 2
43 virtual int nextInt() /*override*/;
44
45 // vIndex: 1
46 virtual int nextInt(int n) /*override*/;
47
48 // vIndex: 3
49 virtual int64 nextLong() /*override*/;
50
51 // vIndex: 8
52 virtual void consumeCount(uint count) /*override*/;
53
54 // vIndex: 7
55 virtual double nextGaussianDouble() /*override*/;
56
57 // vIndex: 9
58 virtual ::std::unique_ptr<::IRandom> fork() /*override*/;
59
60 // vIndex: 0
61 virtual ~Random() /*override*/;
62 // NOLINTEND
63
64public:
65 // member functions
66 // NOLINTBEGIN
67 MCAPI Random();
68
69 MCAPI Random(uint seed, bool onlyUsedDeterministically);
70
71 MCAPI uint _genRandInt32();
72
73 MCAPI float nextGaussian();
74 // NOLINTEND
75
76public:
77 // static variables
78 // NOLINTBEGIN
79 MCAPI static ::std::random_device& mRandomDevice();
80
81 MCAPI static ::Core::Random& mThreadLocalRandom();
82 // NOLINTEND
83
84public:
85 // constructor thunks
86 // NOLINTBEGIN
87 MCAPI void* $ctor();
88
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:10