|
more comments
Peter McGoron
(17 May 2026 04:39 UTC)
|
|
Re: more comments
Wolfgang Corcoran-Mathe
(17 May 2026 20:33 UTC)
|
|
Re: more comments
Peter McGoron
(17 May 2026 21:21 UTC)
|
|
Re: more comments
Wolfgang Corcoran-Mathe
(18 May 2026 00:54 UTC)
|
|
Re: more comments
Shiro Kawai
(18 May 2026 11:52 UTC)
|
|
Re: more comments
John Cowan
(18 May 2026 13:46 UTC)
|
|
Re: more comments
Shiro Kawai
(18 May 2026 17:21 UTC)
|
|
Re: more comments
Wolfgang Corcoran-Mathe
(18 May 2026 18:03 UTC)
|
|
Re: more comments
Peter McGoron
(18 May 2026 15:33 UTC)
|
|
Re: more comments
Vincent Manis (he/him)
(18 May 2026 16:41 UTC)
|
|
Special initialization behavior for the default determinized library (was: more comments)
Peter McGoron
(18 May 2026 21:38 UTC)
|
|
Re: Special initialization behavior for the default determinized library (was: more comments)
Wolfgang Corcoran-Mathe
(18 May 2026 23:13 UTC)
|
|
Re: Special initialization behavior for the default determinized library (was: more comments)
John Cowan
(19 May 2026 01:00 UTC)
|
|
Re: Special initialization behavior for the default determinized library (was: more comments)
Wolfgang Corcoran-Mathe
(19 May 2026 17:46 UTC)
|
|
Re: more comments
Shiro Kawai
(18 May 2026 17:13 UTC)
|
|
Re: more comments Peter McGoron (18 May 2026 18:28 UTC)
|
|
Re: more comments
Shiro Kawai
(18 May 2026 18:42 UTC)
|
|
Re: more comments
Peter McGoron
(19 May 2026 02:12 UTC)
|
|
Re: more comments
Shiro Kawai
(19 May 2026 03:16 UTC)
|
|
Re: more comments
Wolfgang Corcoran-Mathe
(18 May 2026 16:59 UTC)
|
|
Re: more comments
Shiro Kawai
(18 May 2026 17:08 UTC)
|
|
Re: more comments
John Cowan
(18 May 2026 06:17 UTC)
|
|
Re: more comments
Peter McGoron
(18 May 2026 11:30 UTC)
|
|
Re: more comments
John Cowan
(18 May 2026 13:21 UTC)
|
|
Re: more comments
Wolfgang Corcoran-Mathe
(18 May 2026 17:19 UTC)
|
On 5/18/26 13:12, Shiro Kawai wrote:
> Single fixed seed value isn't enough. Some bugs only appear when the
> sequence meets certain conditions, so one wants to try various "seeds"
> at some point, even though the final regression may only use one.
In that case, I have used splitmix64[1], which can be seeded from any 64
bit integer. One could make a splitmix64 random port from some fixed
integer, then pass that random port to your desired random generator to
have a deterministic seed. It's very simple to implement and random-enough.
[1]: https://prng.di.unimi.it/splitmix64.c
__________________________
> Suppose I'm bisecting commits to find the cause of a particular test
failure that uses a randomized sequence. When should the test code save
this persistent "seed"?
The seeds are datums, they are equivalent to writing an integer seed,
just bigger and with more complicated syntax. You could generate a
random valid datum using the script
(import (scheme base)
(scheme write)
(srfi 271 determinized misc-algorithm))
(write (random-port-state (make-random-port)))
You get some datum out of it, and in the testing script you can use
(define random-port
(random-port-state paste-the-datum-you-got-here))
Again, if the port could be seeded by an integer (say), it is similar to
(define random-port
(random-port-state 12345))
So "saving the state somewhere" has the same solution, whether or not
the state is a big bytevector or an exact integer.
-- Peter McGoron