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