int handler::sample_next(uchar *buf) { // Temporary set inited to RND, since we are calling rnd_next(). int res = rnd_next(buf); std::uniform_real_distribution<double> rnd(0.0, 1.0); while (!res && rnd(m_random_number_engine) > (m_sampling_percentage / 100.0)) res = rnd_next(buf); return res; }