#ifndef CONJUGATE_NORMAL_H_ #define CONJUGATE_NORMAL_H_ #include /** * Conjugate sampler for the normal distribution. * A conjugate sampler can be created for a stochastic node "snode" * if it has a normal distribution, all of its marginal stochastic * children are normal, they depend only on snode through the mean * (and not the precision) and the mean is a linear function of * snode. */ class ConjugateNormal : public ConjugateSampler { public: ConjugateNormal(StochasticNode *snode, Graph const &graph); ~ConjugateNormal(); static bool canSample(StochasticNode *snode, Graph const &graph); void update(); }; #endif /* CONJUGATE_NORMAL_H_ */