double rndgamma (double s) { double r=0.0; if (s <= 0.0) return 0; else if (s < 1.0) r = rndgamma1 (s); else if (s > 1.0) r = rndgamma2 (s); else r =- log(rndu()); return (r); }
//WCC double rndgamma (double s) double seq_gen_rndgamma (double s) { double r=0.0; if (s <= 0.0) return 0; else if (s < 1.0) r = rndgamma1 (s); else if (s > 1.0) r = rndgamma2 (s); else //WCC r =- log(rndu()); r =- log(seq_gen_rndu()); return (r); }