It's true that there are many algorithms for generating pseudo-random numbers, but the one Dave provides is of a form that was widely used, historically speaking.

So if I had to pick a "canonical" pseudo-random algorithm from the history of computing it would look much like that.

Here's a nice mathematical and visual comparison of various historical pseudo-random number generators:;jsessionid=4F8F207F726CB56B4630F8155F748256?doi=

Once we get to cryptographically secure random number generators I stop worrying about true randomness, but is there a practical reason why I still should? I get that they are philosophically very different propositions, I mean will one or the other cover their domains in ways that differentiate them as tools?

- Rob.

On Thu, 12 Jul 2018, at 1:35 PM, nikita aigner wrote:
the caveat is that rand() is not just this particular formula. there's a bunch of other ways to generate pseudorandom numbers with varying up- and downsides. it all depends on the language and the libraries that you use. even in say C, you may get different results depending on where your standard library comes from and how old it is.

and then there's of course the whole discussion of true random vs. pseudorandom... :)

On Thu, Jul 12, 2018 at 7:51 PM, dave <> wrote:
Good point, I've posted this here before at some point, but I always
remember the moment discovering that rand() is just:

((last_number * 214013 + 2531011) >> 16) & 0x7fff

- or famously, if you are Sony - you just use '4':

On 12/07/18 18:00, nikita aigner wrote:
> oh, addendum to the sidenote: widely-used algorithms are typically
> already implemented in mathematics packages, so understand them means
> just knowing their limitations. this will save you a lot of headaches.
> On Thu, Jul 12, 2018 at 6:36 PM, nikita aigner <
> <>> wrote:
>     (it's been a while that i needed this...)
>     sidenote: if you want a proper gaussian, there are much better ways
>     of generating one. the box-muller transform is one simple way:
>     <> but
>     there are better ones i think. the way to do arbitrary continuous
>     distributions is as far as i know inverse transform sampling
>     (
>     <>) and for
>     discrete there are algorithms based on subdividing a space.
>     generally, when you deal with random numbers, don't neglect the
>     algorithms behind them. the artifacts from too short of a period in
>     a random number generator or distributions that are off can lead to
>     disastrous errors at least in physical modeling. this may of course
>     not hold for other applications.
>     On Thu, Jul 12, 2018 at 5:54 PM, Antoine Schmitt <
>     <>> wrote:
>         I use randomness to simulate reality.
>         Especially:
>         - I inject randomness at the lowest levels of a system to shake
>         it from the inside, like your unconscious (or your brain)
>         contains a lot of randomness
>         - I inject randomness at the outskirts of a system, to shake it
>         from the outside, like you live in an (apparently) random world,
>         though you manage to remain yourself, and it even nourishes you
>         Antoine
>         no totally random
>         _______________________________________________
>         eu-gene mailing list --
>         <>
>         To unsubscribe send an email to
>         <>

> _______________________________________________
> eu-gene mailing list --
> To unsubscribe send an email to

eu-gene mailing list --
To unsubscribe send an email to