16 template<
float (*f)(
float) >
67 virtual std::optional<std::pair<self_t,double>>
propose()
const override {
68 if(not can_propose)
return {};
72 return std::make_pair(out, 0.0);
87 virtual size_t hash()
const override {
88 return std::hash<double>{}(
value);
92 return value == h.
value;
95 virtual std::string
string(std::string prefix=
"")
const override {
96 return prefix+
"TN<"+
str(value)+
">";
typename MCMCable< TNormalVariable< f >, void * >::data_t data_t
Definition: TNormalVariable.h:20
float PROPOSAL_SCALE
Definition: TNormalVariable.h:24
float get_untransformed()
Definition: TNormalVariable.h:45
virtual double compute_likelihood(const data_t &data, const double breakout=-infinity) override
Definition: TNormalVariable.h:62
Definition: MCMCable.h:14
double prior
Definition: Bayesable.h:42
virtual bool operator==(const self_t &h) const override
Definition: TNormalVariable.h:91
float MEAN
Definition: TNormalVariable.h:22
Definition: TNormalVariable.h:17
std::string str(BindingTree *t)
Definition: BindingTree.h:195
void set_untransformed(const T v)
Definition: TNormalVariable.h:38
double random_normal(double mu=0, double sd=1.0)
Definition: Random.h:39
constexpr double infinity
Definition: Numerics.h:20
virtual self_t restart() const override
Definition: TNormalVariable.h:76
virtual double compute_prior() override
Definition: TNormalVariable.h:56
virtual std::optional< std::pair< self_t, double > > propose() const override
Definition: TNormalVariable.h:67
float fvalue
Definition: TNormalVariable.h:29
virtual std::string string(std::string prefix="") const override
Definition: TNormalVariable.h:95
float value
Definition: TNormalVariable.h:28
std::vector< Args... > data_t
Definition: Bayesable.h:39
bool can_propose
Definition: TNormalVariable.h:26
float SD
Definition: TNormalVariable.h:23
TNormalVariable()
Definition: TNormalVariable.h:31
A class is MCMCable if it is Bayesable and lets us propose, restart, and check equality (which MCMC d...
T normal_lpdf(T x, T mu=0.0, T sd=1.0)
Definition: Random.h:45
virtual size_t hash() const override
Definition: TNormalVariable.h:87