28 [[nodiscard]] std::string
Name()
const override;
30 [[nodiscard]]
int MinValue()
const override {
return -1; }
31 [[nodiscard]]
int MaxValue()
const override {
return 1; }
33 [[nodiscard]]
double P(
const int &k)
const override;
34 [[nodiscard]]
double logP(
const int &k)
const override;
35 [[nodiscard]]
double F(
const int &k)
const override;
36 template <std::uniform_random_bit_generator G>
39 [[nodiscard]]
long double Mean()
const override;
40 [[nodiscard]]
long double Variance()
const override;
41 [[nodiscard]]
int Median()
const override;
42 [[nodiscard]]
int Mode()
const override;
43 [[nodiscard]]
long double Skewness()
const override;
47 int quantileImpl(
double p)
const override;
48 int quantileImpl1m(
double p)
const override;
49 std::complex<double> CFImpl(
double t)
const override;
73 return (k == 1 || k == -1) ? 0.5 : 0.0;
85 return (k < 1) ? 0.5 : 1.0;
88template <std::uniform_random_bit_generator G>
104inline std::complex<double> RademacherRand::CFImpl(
double t)
const
130inline int RademacherRand::quantileImpl(
double p)
const
132 return (p <= 0.5) ? -1 : 1;
135inline int RademacherRand::quantileImpl1m(
double p)
const
137 return (p >= 0.5) ? -1 : 1;
static int StandardVariate(G &g)
Definition bernoulli.hpp:106
The DiscreteDistribution class Abstract class for all discrete distributions.
Definition discrete.hpp:21
The RademacherRand class Rademacher distribution.
Definition rademacher.hpp:23
int MaxValue() const override
Definition rademacher.hpp:31
double F(const int &k) const override
Definition rademacher.hpp:81
double Entropy()
Definition rademacher.hpp:140
RademacherRand()
Definition rademacher.hpp:62
int MinValue() const override
Definition rademacher.hpp:30
double P(const int &k) const override
Definition rademacher.hpp:71
long double Mean() const override
Definition rademacher.hpp:94
std::string Name() const override
Definition rademacher.hpp:66
long double Variance() const override
Definition rademacher.hpp:99
Support SupportType() const override
Definition rademacher.hpp:29
long double ExcessKurtosis() const override
Definition rademacher.hpp:125
long double Skewness() const override
Definition rademacher.hpp:120
int operator()(G &g) const
Definition rademacher.hpp:89
double logP(const int &k) const override
Definition rademacher.hpp:76
int Mode() const override
Mode is the value, which has the largest probability to happen, or, in the case of continuous distrib...
Definition rademacher.hpp:114
int Median() const override
Definition rademacher.hpp:109
The EngineRef class Non-owning, type-erased reference to any uniform random bit generator.
Definition engine/uniform.hpp:116
constexpr long double ln2
Definition constants.hpp:18
Definition bivariate_normal.hpp:10
Support
Shape of the support of a univariate distribution.
Definition univariate.hpp:15