Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
IRandom.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
8// clang-format on
9
10class IRandom {
11public:
12 // virtual functions
13 // NOLINTBEGIN
14 virtual ~IRandom() = default;
15
16 virtual int nextInt() = 0;
17
18#ifdef LL_PLAT_S
19 virtual int nextInt(int n) = 0;
20#else // LL_PLAT_C
21 virtual int nextInt(int bound) = 0;
22#endif
23
24 virtual int64 nextLong() = 0;
25
26 virtual bool nextBoolean() = 0;
27
28 virtual float nextFloat() = 0;
29
30 virtual double nextDouble() = 0;
31
32 virtual double nextGaussianDouble() = 0;
33
34#ifdef LL_PLAT_S
35 virtual void consumeCount(uint count) = 0;
36#else // LL_PLAT_C
37 virtual void consumeCount(uint rounds) = 0;
38#endif
39
40 virtual ::std::unique_ptr<::IPositionalRandomFactory> forkPositional();
41
42 virtual bool chance(int likeliness, int possibilities);
43
44 virtual bool chanceOneIn(int possibilities);
45
46 virtual bool chanceAllButOneIn(int possibilities);
47
48 virtual bool chanceFloatLessThan(float probability);
49
50 virtual bool chanceFloatLessOrEqual(float probability);
51
52 virtual bool chanceFloatGreaterThan(float improbability);
53
54 virtual bool chanceFloatGreaterOrEqual(float improbability);
55 // NOLINTEND
56
57public:
58 // static variables
59 // NOLINTBEGIN
61 // NOLINTEND
62
63public:
64 // virtual function thunks
65 // NOLINTBEGIN
66 MCFOLD ::std::unique_ptr<::IPositionalRandomFactory> $forkPositional();
67
68 MCAPI bool $chance(int likeliness, int possibilities);
69
70 MCAPI bool $chanceOneIn(int possibilities);
71
72 MCAPI bool $chanceAllButOneIn(int possibilities);
73
74 MCAPI bool $chanceFloatLessThan(float probability);
75
76 MCAPI bool $chanceFloatLessOrEqual(float probability);
77
78 MCAPI bool $chanceFloatGreaterThan(float improbability);
79
80 MCAPI bool $chanceFloatGreaterOrEqual(float improbability);
81
82
83 // NOLINTEND
84};
Definition IPositionalRandomFactory.h:11
Definition IRandom.h:10
static MCAPI float const & ChanceFloatGreaterThan_MinExcessiveImprobability()