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 virtual bool nextBoolean() /*override*/;
34
35 virtual float nextFloat() /*override*/;
36
37 virtual double nextDouble() /*override*/;
38
39 virtual int nextInt() /*override*/;
40
41 virtual int nextInt(int n) /*override*/;
42
43 virtual int64 nextLong() /*override*/;
44
45 virtual void consumeCount(uint count) /*override*/;
46
47 virtual double nextGaussianDouble() /*override*/;
48
49 virtual ::std::unique_ptr<::IRandom> fork() /*override*/;
50 // NOLINTEND
51
52public:
53 // member functions
54 // NOLINTBEGIN
55 MCAPI uint _genRandInt32();
56
57 MCAPI uint _genUniformRandomInt();
58
59 MCAPI float nextGaussian();
60 // NOLINTEND
61
62public:
63 // static variables
64 // NOLINTBEGIN
65 MCAPI static ::Core::Random& mThreadLocalRandom();
66 // NOLINTEND
67
68public:
69 // virtual function thunks
70 // NOLINTBEGIN
71 MCAPI bool $nextBoolean();
72
73 MCAPI float $nextFloat();
74
75 MCAPI double $nextDouble();
76
77 MCAPI int $nextInt();
78
79 MCAPI int $nextInt(int n);
80
81 MCAPI int64 $nextLong();
82
83 MCAPI void $consumeCount(uint count);
84
85 MCAPI double $nextGaussianDouble();
86
87 MCAPI ::std::unique_ptr<::IRandom> $fork();
88
89
90 // NOLINTEND
91
92public:
93 // vftables
94 // NOLINTBEGIN
95 MCNAPI static void** $vftable();
96 // NOLINTEND
97};
98
99} // namespace Core
Definition Random.h:10
static MCAPI void ** $vftable()
Definition IRandom.h:10