Re: [PATCH] random: use rejection sampling for uniform bounded random integers

From: Yann Droneaud
Date: Mon Oct 17 2022 - 16:43:51 EST


Hi,

17 octobre 2022 à 20:27 "Eric Biggers" a écrit:
> On Sun, Oct 16, 2022 at 08:37:53PM -0600, Jason A. Donenfeld wrote:
>
> >
> > In order to be efficient, we implement a kernel-specific variant of
> > Daniel Lemire's algorithm from "Fast Random Integer Generation in an
> > Interval", linked below. The kernel's variant takes advantage of
> > constant folding to avoid divisions entirely in the vast majority of
> > cases, works on both 32-bit and 64-bit architectures, and requests a
> > minimal amount of bytes from the RNG.
> >
> > Link: https://arxiv.org/pdf/1805.10941.pdf
> >
>

> Thanks for doing this! Your code looks correct, but it was hard for me to
> understand until I read the paper that is linked to.

Other algorithms exists that might be easier to understand before the Lemire’s one.
M.E. O’Neil has written a long blog post on many possible alternatives.

https://www.pcg-random.org/posts/bounded-rands.html

Regards.

—-
Yann Droneaud
OPTEYA