LeviLamina
Loading...
Searching...
No Matches
DelegatingRandom.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 NoiseUtils {
9
10class DelegatingRandom : public ::IRandom {
11public:
12 // member variables
13 // NOLINTBEGIN
14 ::ll::TypedStorage<8, 8, ::IRandom&> mRandom;
15 // NOLINTEND
16
17public:
18 // prevent constructor by default
19 DelegatingRandom& operator=(DelegatingRandom const&);
20 DelegatingRandom(DelegatingRandom const&);
21 DelegatingRandom();
22
23public:
24 // virtual functions
25 // NOLINTBEGIN
26 virtual int nextInt() /*override*/;
27
28 virtual int nextInt(int const bound) /*override*/;
29
30 virtual int64 nextLong() /*override*/;
31
32 virtual bool nextBoolean() /*override*/;
33
34 virtual float nextFloat() /*override*/;
35
36 virtual double nextDouble() /*override*/;
37
38 virtual double nextGaussianDouble() /*override*/;
39
40 virtual void consumeCount(uint count) /*override*/;
41
42 virtual ::std::unique_ptr<::IRandom> fork() /*override*/;
43
44 virtual ~DelegatingRandom() /*override*/ = default;
45 // NOLINTEND
46
47public:
48 // virtual function thunks
49 // NOLINTBEGIN
50 MCAPI int $nextInt();
51
52 MCFOLD int $nextInt(int const bound);
53
54 MCAPI int64 $nextLong();
55
56 MCAPI bool $nextBoolean();
57
58 MCAPI double $nextDouble();
59
60 MCAPI double $nextGaussianDouble();
61
62 MCAPI void $consumeCount(uint count);
63
64 MCAPI ::std::unique_ptr<::IRandom> $fork();
65
66
67 // NOLINTEND
68};
69
70} // namespace NoiseUtils
Definition IRandom.h:13