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 virtual bool nextBoolean() /*override*/;
38
39 virtual float nextFloat() /*override*/;
40
41 virtual double nextDouble() /*override*/;
42
43 virtual int nextInt() /*override*/;
44
45 virtual int nextInt(int n) /*override*/;
46
47 virtual int64 nextLong() /*override*/;
48
49 virtual void consumeCount(uint count) /*override*/;
50
51 virtual double nextGaussianDouble() /*override*/;
52
53 virtual ::std::unique_ptr<::IRandom> fork() /*override*/;
54
55 virtual ~Random() /*override*/;
56 // NOLINTEND
57
58public:
59 // member functions
60 // NOLINTBEGIN
61 MCAPI Random(uint seed, bool onlyUsedDeterministically);
62
63 MCAPI uint _genRandInt32();
64
65 MCAPI float nextGaussian();
66 // NOLINTEND
67
68public:
69 // static variables
70 // NOLINTBEGIN
71 MCAPI static ::std::random_device& mRandomDevice();
72
73 MCAPI static ::Core::Random& mThreadLocalRandom();
74 // NOLINTEND
75
76public:
77 // constructor thunks
78 // NOLINTBEGIN
79 MCAPI void* $ctor(uint seed, bool onlyUsedDeterministically);
80 // NOLINTEND
81
82public:
83 // destructor thunk
84 // NOLINTBEGIN
85 MCFOLD void $dtor();
86 // NOLINTEND
87
88public:
89 // virtual function thunks
90 // NOLINTBEGIN
91 MCAPI bool $nextBoolean();
92
93 MCAPI float $nextFloat();
94
95 MCAPI double $nextDouble();
96
97 MCAPI int $nextInt();
98
99 MCAPI int $nextInt(int n);
100
101 MCAPI int64 $nextLong();
102
103 MCAPI void $consumeCount(uint count);
104
105 MCAPI double $nextGaussianDouble();
106
107 MCAPI ::std::unique_ptr<::IRandom> $fork();
108
109
110 // NOLINTEND
111
112public:
113 // vftables
114 // NOLINTBEGIN
115 MCNAPI static void** $vftable();
116 // NOLINTEND
117};
118
119} // namespace Core
static MCAPI void ** $vftable()
Definition IRandom.h:13