News for hackers. Stuff that matters.
Re:Creating randomness Without Math.random by lern_too_spel on Sunday July 12, 2020 @07:43PM (#23815697)
Both of the claims apply to PRNGs. Math.random isn't required to be a PRNG.
Re:Creating randomness Without Math.random by dmurray on Sunday July 12, 2020 @08:24PM (#23815896)
> Both of the claims apply to PRNGs.

Why? A reasonable interpretation of "pseudo-random number generator" is a generator that yields a sequence of numbers that looks pretty random, but isn't. Why require it to be repeating?

For an example of a PRNG that doesn't repeat (infinite period), take your favourite periodic PRNG and XOR it with bits from pi or e or the Champernowne constant.

I do think the definition implies it's deterministic, though. Things that are not deterministic are random, so they are not pseudorandom. The fact that you can't seed the state of the Javascript PRNG doesn't mean that it's not deterministic: what matters is that once you know its complete state you can predict its output.

Re:Creating randomness Without Math.random by comex on Sunday July 12, 2020 @10:11PM (#23816520)
Technically, as long as you only have a finite amount of memory, there is only a finite number of states the computer can be in, so the output must repeat eventually. Though "eventually" can be long after the heat death of the universe.
Re:Creating randomness Without Math.random by dmurray on Monday July 13, 2020 @03:33AM (#23818085)
We normally ignore that technicality. Like when we say adding two numbers is constant-time, or that a computer can simulate a Turing machine.
Re:Creating randomness Without Math.random by comex on Monday July 13, 2020 @04:50AM (#23818614)
True, but in this case, xorshift128+ already maximizes its period by going through every possible state once before repeating. It only has 128 bits of state, but still, the difference between "128 bits" and "all of RAM" is only a constant factor. :) And of course, a period of 2^128 is already more than high enough that it will never repeat in practice.
Re:Creating randomness Without Math.random by lern_too_spel on Sunday July 12, 2020 @11:45PM (#23816962)
I was simply clarifying the author's claims, which did not match what GGP said they were.

It turns out both of the author's claims are correct. Sibling comment shows why the repetition claim is correct, and you showed why the deterministic claim is correct (by definition).