double SumOfUniforms::nextSample() { double maxprob; switch(case_flag) { case 0: maxprob = 1 / range1; break; case 1: maxprob = 1 / range2; break; case 2: maxprob = pdf(a1 + b2); break; default: break; } return rejectionSampling(maxprob, getLeftMargin(), getRightMargin()); }
double Gaussian::nextSample() { return rejectionSampling(pdf(mean), getLeftMargin(), getRightMargin()); }