LeviLamina
Loading...
Searching...
No Matches
SimpleRandom.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/util/random/MarsagliaPolarGaussian.h"
8
9// auto generated forward declare list
10// clang-format off
12// clang-format on
13
14class SimpleRandom : public ::IRandom {
15public:
16 // member variables
17 // NOLINTBEGIN
18 ::ll::TypedStorage<8, 8, int64> mSeed;
19 ::ll::TypedStorage<8, 16, ::MarsagliaPolarGaussian> mGaussianSource;
20 // NOLINTEND
21
22public:
23 // virtual functions
24 // NOLINTBEGIN
25 virtual int nextInt() /*override*/;
26
27 virtual int nextInt(int bound) /*override*/;
28
29 virtual int64 nextLong() /*override*/;
30
31 virtual bool nextBoolean() /*override*/;
32
33 virtual float nextFloat() /*override*/;
34
35 virtual double nextDouble() /*override*/;
36
37 virtual double nextGaussianDouble() /*override*/;
38
39 virtual void consumeCount(uint count) /*override*/;
40
41 virtual ::std::unique_ptr<::IPositionalRandomFactory> forkPositional() /*override*/;
42 // NOLINTEND
43
44public:
45 // virtual function thunks
46 // NOLINTBEGIN
47 MCAPI int $nextInt();
48
49 MCAPI int $nextInt(int bound);
50
51 MCAPI int64 $nextLong();
52
53 MCAPI bool $nextBoolean();
54
55 MCAPI float $nextFloat();
56
57 MCAPI double $nextDouble();
58
59 MCAPI double $nextGaussianDouble();
60
61 MCAPI void $consumeCount(uint count);
62
63 MCAPI ::std::unique_ptr<::IPositionalRandomFactory> $forkPositional();
64
65
66 // NOLINTEND
67
68public:
69 // vftables
70 // NOLINTBEGIN
71 MCNAPI static void** $vftable();
72 // NOLINTEND
73};
Definition IPositionalRandomFactory.h:11
Definition IRandom.h:10
Definition SimpleRandom.h:14
static MCAPI void ** $vftable()