Hybrid physical-logical clocks might make a nice (deterministic) way to specify the cut-over points to change to a new seed. I have found them very useful in many places. Background and sample implementation (it is tiny, in Go, should be trivial to port, especially as the atomics can be discarded for any single threaded environment) here
https://github.com/glycerine/hlc
-- the idea being that each deterministic "step" of the simulation advances the hlc by at least 1, but maybe more (hlc first try to use the deterministic/monotonic "system clock", but if that clock has not advanced, it uses the low 16 bits to always ensure a new hlc timestamp).
Hybrid physical-logical clocks might make a nice (deterministic) way to specify the cut-over points to change to a new seed. I have found them very useful in many places. Background and sample implementation (it is tiny, in Go, should be trivial to port, especially as the atomics can be discarded for any single threaded environment) here
https://github.com/glycerine/hlc
-- the idea being that each deterministic "step" of the simulation advances the hlc by at least 1, but maybe more (hlc first try to use the deterministic/monotonic "system clock", but if that clock has not advanced, it uses the low 16 bits to always ensure a new hlc timestamp).