 # Is the 'rand' function in Calc truly random?

Is the ‘rand’ function in Calc truly random?

It uses std::mt19937 that implements the Mersenne twister algorithm, see Mersenne Twister - Wikipedia

As explained in the link from @erAck, Calc’s numbers are pseudorandom.

Truly random numbers cannot be created by computation, because that is predictable. The only way to get truly random numbers is to extract from physical phenomena such as atmospheric noise, and that must be fed into the computer in some way.

https://www.random.org/randomness/

The OP may be interested in comparing the randomness of the RNG functions from Calc, QuattroPro and Excel (recently in the news). I can not address that question, but perhaps someone else can.

Is that Canada's 'Random' Immigration Lottery Uses Microsoft Excel, Which Isn't Actually Random? If so, then that’s just plain wrong, since although Excel does use a pseudo-random generator (the same as we do, afaik), it is the generated sequence distribution characteristic that matters (and it’s fine), and it’s wrong that “If you know one number at one step, you can compute all the numbers that will follow” - that “Prof. L’Ecuyer”'s citation is just a BS.

The crucial part is “If you know one number at one step” so yes, if the PRNG is seeded with the same value in each initialization then the same sequence repeats in all runs. But LibreOffice uses std::random_device and time to seed. One can of course compute all sequences for all possible seed values and then take the last some generated numbers to lookup that partial sequence in those tables to predict subsequent numbers.

If you are using a Unix variant system e.g. Linux, OSX, BSD etc.
you have /dev/random wich is a respectable source of randomness.