Hi Robert,

I am about to get started on some stuff for the random number generators but thought I would run it by you first. I envisage the following:

uniform short_doubles -- doubles generated from a single 32 bit random number (advantage: speed)
uniform double, short_doubles on the interval (0,1) -- don't touch singularities in functions like log (this is my preferred default)
fast_normal -- ziggurat method using single 32 bit random numbers (advantage: speed)
fast_exponential -- ziggurat method using single 32 bit random numbers (advantage: speed)
MWC8222 random number generator (advantage: speed on some machines, different from mtrand)

Except for the last, none conflict with current routines and can be added without a branch. I expect adding MWC8222 might need more extensive work and I will branch for that. So the questions are of utility and naming. I see some utility for myself, otherwise I wouldn't be considering doing the work. OTOH, I already have (C++) routines that I use for these things, so a larger question might be if anyone else sees a use for these. I like speed, but it is not always that important in everyday apps.

I see that Pyrex is used for the interface, so I suppose that is one more tool to become familiar with ;)

Chuck