1 #ifndef PYDISTRIBUTION_H_
2 #define PYDISTRIBUTION_H_
12 PyDistribution(
unsigned int varSizeIn, Eigen::VectorXi
const& hyperSizesIn = Eigen::VectorXi());
19 virtual Eigen::VectorXd
SampleImpl(std::vector<Eigen::VectorXd>
const& inputs) = 0;
25 virtual double LogDensityImpl(std::vector<Eigen::VectorXd>
const& inputs) = 0;
Defines an abstract Gaussian class.@seealso Gaussian.
virtual Eigen::VectorXd SampleImpl(ref_vector< Eigen::VectorXd > const &inputs) override
Sample the distribution.
GaussianBase(unsigned int dim)
static std::vector< Eigen::VectorXd > ToStdVec(ref_vector< Eigen::VectorXd > const &input)
static ref_vector< Eigen::VectorXd > ToRefVec(std::vector< Eigen::VectorXd > const &input)
virtual Eigen::VectorXd SampleImpl(std::vector< Eigen::VectorXd > const &inputs)=0
virtual double LogDensityImpl(ref_vector< Eigen::VectorXd > const &inputs) override
Implement the log-density.
virtual double LogDensityImpl(std::vector< Eigen::VectorXd > const &inputs)=0
PyDistribution(unsigned int varSizeIn, Eigen::VectorXi const &hyperSizesIn=Eigen::VectorXi())
virtual ~PyGaussianBase()=default
std::vector< std::reference_wrapper< const T > > ref_vector
A vector of references to something ...