RandLib 2.0.0
Probability distributions, fitting, and heavy-tail tools for C++20
Loading...
Searching...
No Matches
discrete_bivariate.hpp
Go to the documentation of this file.
1#pragma once
2
7
8namespace randlib
9{
10
16template <class T1, class T2, typename IntType>
18{
19 static_assert(std::is_base_of_v<DiscreteDistribution<IntType>, T1>,
20 "T1 must be a descendant of DiscreteDistribution");
21 static_assert(std::is_base_of_v<DiscreteDistribution<IntType>, T2>,
22 "T2 must be a descendant of DiscreteDistribution");
23
24protected:
26
27public:
29
30protected:
31public:
32 [[nodiscard]] virtual double P(const Pair<IntType> &point) const = 0;
33 [[nodiscard]] virtual double logP(const Pair<IntType> &point) const = 0;
34};
35
36} // namespace randlib
37
The BivariateDistribution class Abstract class for all bivariate probability distributions.
Definition bivariate.hpp:17
The DiscreteBivariateDistribution class Abstract class for all bivariate probability distributions ...
Definition discrete_bivariate.hpp:18
DiscreteBivariateDistribution()
Definition discrete_bivariate.hpp:25
virtual ~DiscreteBivariateDistribution()
Definition discrete_bivariate.hpp:28
virtual double P(const Pair< IntType > &point) const =0
virtual double logP(const Pair< IntType > &point) const =0
Definition bivariate_normal.hpp:10
std::pair< T, T > Pair
Definition fwd.hpp:33