17template <
typename RealType>
25 [[nodiscard]] std::string
Name()
const override;
27 [[nodiscard]] RealType
MinValue()
const override {
return -INFINITY; }
28 [[nodiscard]] RealType
MaxValue()
const override {
return INFINITY; }
30 [[nodiscard]]
double f(
const RealType &x)
const override;
31 [[nodiscard]]
double logf(
const RealType &x)
const override;
32 [[nodiscard]]
double F(
const RealType &x)
const override;
33 template <std::uniform_random_bit_generator G>
36 [[nodiscard]]
long double Mean()
const override;
37 [[nodiscard]]
long double Variance()
const override;
38 [[nodiscard]] RealType
Median()
const override;
39 [[nodiscard]] RealType
Mode()
const override;
40 [[nodiscard]]
long double Skewness()
const override;
44 RealType quantileImpl(
double p)
const override;
45 RealType quantileImpl1m(
double p)
const override;
47 std::complex<double> CFImpl(
double t)
const override;
50 [[nodiscard]]
long double Entropy()
const;
60template <
typename RealType>
65template <
typename RealType>
68 return "Hyperbolic secant";
71template <
typename RealType>
77template <
typename RealType>
83template <
typename RealType>
90template <
typename RealType>
91template <std::uniform_random_bit_generator G>
98template <
typename RealType>
104template <
typename RealType>
110template <
typename RealType>
113 return 1.0 / std::cosh(t);
116template <
typename RealType>
117RealType SechRand<RealType>::quantileImpl(
double p)
const
125template <
typename RealType>
126RealType SechRand<RealType>::quantileImpl1m(
double p)
const
134template <
typename RealType>
140template <
typename RealType>
146template <
typename RealType>
152template <
typename RealType>
158template <
typename RealType>
The CauchyRand class Cauchy distribution.
Definition cauchy.hpp:26
The ContinuousDistribution class Abstract class for all continuous distributions.
Definition continuous.hpp:22
The SechRand class Hyperbolic secant distribution.
Definition sech.hpp:19
RealType MinValue() const override
Definition sech.hpp:27
RealType Median() const override
Definition sech.hpp:135
long double ExcessKurtosis() const override
Definition sech.hpp:153
RealType MaxValue() const override
Definition sech.hpp:28
long double Skewness() const override
Definition sech.hpp:147
double f(const RealType &x) const override
Definition sech.hpp:72
Support SupportType() const override
Definition sech.hpp:26
long double Mean() const override
Definition sech.hpp:99
double F(const RealType &x) const override
Definition sech.hpp:84
RealType operator()(G &g) const
Definition sech.hpp:92
std::string Name() const override
Definition sech.hpp:66
long double Variance() const override
Definition sech.hpp:105
double logf(const RealType &x) const override
Definition sech.hpp:78
long double Entropy() const
Definition sech.hpp:159
RealType Mode() const override
Mode is the value, which has the largest probability to happen, or, in the case of continuous distrib...
Definition sech.hpp:141
SechRand()
Definition sech.hpp:61
The EngineRef class Non-owning, type-erased reference to any uniform random bit generator.
Definition engine/uniform.hpp:116
constexpr long double half_pi
Definition constants.hpp:23
constexpr long double catalan
Definition constants.hpp:38
constexpr long double pi
Definition constants.hpp:22
constexpr long double two_inv_pi
Definition constants.hpp:25
Real atan(Real x)
Definition functions.hpp:238
Real softplus(Real x)
Definition functions.hpp:252
Definition bivariate_normal.hpp:10
Support
Shape of the support of a univariate distribution.
Definition univariate.hpp:15