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 // NOLINTEND
60
61public:
62 // virtual function thunks
63 // NOLINTBEGIN
64 MCNAPI int $nextInt();
65
66 MCNAPI int $nextInt(int bound);
67
68 MCNAPI int64 $nextLong();
69
70 MCNAPI bool $nextBoolean();
71
72 MCNAPI float $nextFloat();
73
74 MCNAPI double $nextDouble();
75
76 MCNAPI double $nextGaussianDouble();
77
78 MCNAPI ::std::unique_ptr<::IRandom> $fork();
79
80 MCNAPI ::std::unique_ptr<::IPositionalRandomFactory> $forkPositional();
81
82 MCNAPI void $consumeCount(uint rounds);
83
84 MCNAPI void $setSeed(int64 seed);
85
86 MCNAPI void $setSeed(::Seed128Bit seed);
87
88 MCNAPI int64 $seed64() const;
89
90 MCNAPI ::Seed128Bit $seed128() const;
91
92
93 // NOLINTEND
94
95public:
96 // vftables
97 // NOLINTBEGIN
98 MCNAPI static void** $vftableForIRandom();
99
100 MCNAPI static void** $vftableForIRandomSeeded();
101 // NOLINTEND
102};
Definition IPositionalRandomFactory.h:11
Definition IRandomSeeded.h:10
Definition IRandom.h:10
MCAPI double $nextDouble()
MCAPI int $nextInt(int bound)
static MCAPI void ** $vftableForIRandom()
MCAPI void $setSeed(int64 seed)
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