I'd like to get a second opinion on Racket's random number generator. Currently it's using one of L'Ecuyer's generators -- I think it's a 192-bit multiple recursive generator (MRG), nothing odd there. Seeding is really strange though. It takes 32-bit seed, splits it in half and uses it to seed identical 16-bit linear congruential generator (LCG). Sequential outputs from the first LCG are used to seed the MRG, and the outputs from the second LCG are mixed with the MRG state.
At best this method strikes me as unprincipled and limits the generator to no more than 2^32 initial states and potentially far fewer. Thoughts?
Agreed. Something I've found interesting is that such pages are a tangential benefit for any project that has participated in Google Summer of Code, as compiling project ideas is one of the first steps in participating. Although sometimes projects to err and fail to include "entry level" ideas. For reference:
At best this method strikes me as unprincipled and limits the generator to no more than 2^32 initial states and potentially far fewer. Thoughts?