Stan Math Library  2.15.0
reverse mode automatic differentiation
bernoulli_logit_rng.hpp
Go to the documentation of this file.
1 #ifndef STAN_MATH_PRIM_SCAL_PROB_BERNOULLI_LOGIT_RNG_HPP
2 #define STAN_MATH_PRIM_SCAL_PROB_BERNOULLI_LOGIT_RNG_HPP
3 
4 #include <boost/random/bernoulli_distribution.hpp>
5 #include <boost/random/variate_generator.hpp>
15 
16 namespace stan {
17  namespace math {
18 
28  template <class RNG>
29  inline int
30  bernoulli_logit_rng(double t, RNG& rng) {
31  using boost::variate_generator;
32  using boost::bernoulli_distribution;
34 
35  check_finite("bernoulli_logit_rng",
36  "Logit transformed probability parameter", t);
37 
38  variate_generator<RNG&, bernoulli_distribution<> >
39  bernoulli_rng(rng, bernoulli_distribution<>(inv_logit(t)));
40  return bernoulli_rng();
41  }
42 
43  }
44 }
45 #endif
void check_finite(const char *function, const char *name, const T_y &y)
Check if y is finite.
int bernoulli_logit_rng(double t, RNG &rng)
A Bernoulli random number generator which takes as its argument the often more convenient logit-param...
fvar< T > inv_logit(const fvar< T > &x)
Returns the inverse logit function applied to the argument.
Definition: inv_logit.hpp:20
int bernoulli_rng(double theta, RNG &rng)
Return pseudorandom Bernoulli draw with specified chance of success using the specified random number...

     [ Stan Home Page ] © 2011–2016, Stan Development Team.