Exemplo n.º 1
0
 void ZIGM::check_log_probabilities() const {
   if (log_probabilities_are_current_) return;
   log_probability_of_positive_ = log(positive_probability());
   log_probability_of_zero_ = log(1 - positive_probability());
   log_probabilities_are_current_ = true;
 }
Exemplo n.º 2
0
 double ZIGM::variance() const {
   double p = positive_probability();
   return p * square(mean_parameter()) * (1 - p + (1 / shape_parameter()));
 }
Exemplo n.º 3
0
 double ZIGM::sim(RNG &rng) const {
   if (runif_mt(rng) < positive_probability()) {
     return gamma_->sim(rng);
   }
   return 0;
 }
Exemplo n.º 4
0
 double ZIGM::mean() const {
   return positive_probability() * mean_parameter();
 }
 double ZIGM::sim()const{
   if(runif() < positive_probability()){
     return gamma_->sim();
   }
   return 0;
 }