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 // NOLINTEND
57
58public:
59 // static variables
60 // NOLINTBEGIN
61 MCAPI static ::Core::Random& mThreadLocalRandom();
62 // NOLINTEND
63
64public:
65 // virtual function thunks
66 // NOLINTBEGIN
67 MCAPI bool $nextBoolean();
68
69 MCAPI float $nextFloat();
70
71 MCAPI double $nextDouble();
72
73 MCAPI int $nextInt();
74
75 MCAPI int $nextInt(int n);
76
77 MCAPI int64 $nextLong();
78
79 MCAPI void $consumeCount(uint count);
80
81 MCAPI double $nextGaussianDouble();
82
83 MCAPI ::std::unique_ptr<::IRandom> $fork();
84
85
86 // NOLINTEND
87
88public:
89 // vftables
90 // NOLINTBEGIN
91 MCNAPI static void** $vftable();
92 // NOLINTEND
93};
94
95} // namespace Core
Definition Random.h:10
static MCAPI void ** $vftable()
Definition IRandom.h:10