bool reject(const double value, const double old_logp) { return bad_logp(value) || log(rng_.uniform()) > (value - old_logp) ? true : false; }
bool reject(const double value, const double old_logp) { double r = exp(value - old_logp); return bad_logp(value) || (rng_.uniform() > r && r < 1) ? true : false; }