By definition no pseudo-random generator can generate an unbounded number of integers without looping, as that would require keeping an infinite amount of state.  As the period is finite, the range of generated values is finite too.

<https://en.wikipedia.org/wiki/Pseudorandom_number_generator#Mathematical_definition>. 

As far as I know, the longest known period is 10^9284 for the MWC1029 generator.  That should keep us happy until the Big Crunch or the Big Rip, whichever comes first.


On Tue, Jul 14, 2020 at 5:36 AM Marc Nieper-Wißkirchen <xxxxxx@nieper-wisskirchen.de> wrote:
Am Di., 14. Juli 2020 um 03:53 Uhr schrieb John Cowan <xxxxxx@ccil.org>:
>
> This SRFI does not specify any valid upper bounds for the arguments <i>i</i> and <i>j</i> of the <code>random-source-pseudo-randomize!</i> procedure.  This note recommends that implementers follow the lead of the sample implementation, and allow any value of <i>i</i> and <i>j</i> that is less than 2<sup>51</sup>, while also ensuring that any random source produced by this function to generate at least 2<sup>76</sup> values before looping or overlapping with any related source.
>
> Comments?

By the text of the SRFI, there are no restrictions on I and J, so
given an implementation that has no upper limit on exact integers
(apart from memory issues), 'random-source-pseudo-randomize!' should
be able to produce countably many independent random sources and not
just 2^102.

Marc