17 double b_weibull(
double mean,
double a,
double rr = 1.0) {
18 return mean/R::gammafn(1.0+1.0/a)*pow(rr,-1.0/a);
29 virtual void handleMessage(
const cMessage* msg);
37 z = exp(R::rnorm(0.0,
zsd));
39 if (R::runif(0.0,1.0)>
cure)
61 if (R::runif(0.0,1.0) < 0.5)
66 REprintf(
"No valid kind of event\n");
76 Rcpp::List parmsl(parms);
77 int n = Rcpp::as<int>(parmsl[
"n"]);
78 cure = Rcpp::as<double>(parmsl[
"cure"]);
79 zsd = Rcpp::as<double>(parmsl[
"zsd"]);
81 vector<double> ages(101);
82 std::iota(ages.begin(), ages.end(), 0.0);
83 ages.push_back(1.0e+6);
87 for (
int i = 0; i < n; i++) {
88 person = SimplePerson(i);