LeviLamina
Loading...
Searching...
No Matches
XoroshiroRandom.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/deps/core/math/IRandomSeeded.h"
8
9// auto generated forward declare list
10// clang-format off
12struct Seed128Bit;
13// clang-format on
14
15class XoroshiroRandom : public ::IRandom, public ::IRandomSeeded {
16public:
17 // member variables
18 // NOLINTBEGIN
21 // NOLINTEND
22
23public:
24 // prevent constructor by default
25 XoroshiroRandom& operator=(XoroshiroRandom const&);
26 XoroshiroRandom(XoroshiroRandom const&);
27 XoroshiroRandom();
28
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual int nextInt() /*override*/;
33
34 virtual int nextInt(int bound) /*override*/;
35
36 virtual int64 nextLong() /*override*/;
37
38 virtual bool nextBoolean() /*override*/;
39
40 virtual float nextFloat() /*override*/;
41
42 virtual double nextDouble() /*override*/;
43
44 virtual double nextGaussianDouble() /*override*/;
45
46 virtual ::std::unique_ptr<::IRandom> fork() /*override*/;
47
48 virtual ::std::unique_ptr<::IPositionalRandomFactory> forkPositional() /*override*/;
49
50 virtual void consumeCount(uint rounds) /*override*/;
51
52 virtual void setSeed(int64 seed) /*override*/;
53
54 virtual void setSeed(::Seed128Bit seed) /*override*/;
55
56 virtual int64 seed64() const /*override*/;
57
58 virtual ::Seed128Bit seed128() const /*override*/;
59
60 virtual ~XoroshiroRandom() /*override*/;
61 // NOLINTEND
62
63public:
64 // member functions
65 // NOLINTBEGIN
66 MCNAPI uint nextInt(uint bound);
67 // NOLINTEND
68
69public:
70 // destructor thunk
71 // NOLINTBEGIN
72 MCNAPI void $dtor();
73 // NOLINTEND
74
75public:
76 // virtual function thunks
77 // NOLINTBEGIN
78 MCNAPI int $nextInt();
79
80 MCNAPI int $nextInt(int bound);
81
82 MCNAPI int64 $nextLong();
83
84 MCNAPI bool $nextBoolean();
85
86 MCNAPI float $nextFloat();
87
88 MCNAPI double $nextDouble();
89
90 MCNAPI double $nextGaussianDouble();
91
92 MCNAPI ::std::unique_ptr<::IRandom> $fork();
93
94 MCNAPI ::std::unique_ptr<::IPositionalRandomFactory> $forkPositional();
95
96 MCNAPI void $consumeCount(uint rounds);
97
98 MCNAPI void $setSeed(int64 seed);
99
100 MCNAPI void $setSeed(::Seed128Bit seed);
101
102 MCNAPI int64 $seed64() const;
103
104 MCNAPI ::Seed128Bit $seed128() const;
105
106
107 // NOLINTEND
108
109public:
110 // vftables
111 // NOLINTBEGIN
112 MCNAPI static void** $vftableForIRandom();
113
114 MCNAPI static void** $vftableForIRandomSeeded();
115 // NOLINTEND
116};
Definition IPositionalRandomFactory.h:11
Definition IRandomSeeded.h:10
Definition IRandom.h:13
MCAPI double $nextDouble()
MCAPI void $dtor()
MCAPI int $nextInt(int bound)
static MCAPI void ** $vftableForIRandom()
MCAPI void $setSeed(int64 seed)
MCAPI uint nextInt(uint bound)
MCAPI int64 $seed64() const
MCAPI ::std::unique_ptr<::IRandom > $fork()
MCAPI double $nextGaussianDouble()
static MCAPI void ** $vftableForIRandomSeeded()
MCAPI::Seed128Bit $seed128() const
MCAPI void $setSeed(::Seed128Bit seed)
MCAPI float $nextFloat()
MCAPI bool $nextBoolean()
MCAPI ::std::unique_ptr<::IPositionalRandomFactory > $forkPositional()
MCAPI int $nextInt()
MCAPI int64 $nextLong()
MCAPI void $consumeCount(uint rounds)
Definition Seed128Bit.h:5
Definition Alias.h:14