N3376 is the latest draft of the C ++ standard (this is a C ++ 11 post, but this is a great C ++ 11 snapshot).
All C ++ 11-random is in: 26.5 Random Number Generation [rand]
26.5.1.4 The random number engine requirements [rand.req.eng] have all the requirements that your random number generator must fulfill.
26.5.1.6. The random number distribution requirements [rand.req.dist] have all the requirements that your Gaussian distribution needs to fulfill.
26.5.8.5.1 The class template normal_distribution [rand.dist.norm.normal] is a section describing the std-specified Gaussian distribution.
The C ++ 11 <random> very similar to STL because it sets the requirements for random number generators (containers) and random distributions (algorithms), and then the client can mix and match them. This is really a very cool design.
Sorry, I do not know a good textbook. The C ++ standard is a great reference and a lousy tutorial. However, you are obviously well educated in the field of random numbers. Therefore, assuming you know something about C ++, the C ++ standard might not be too bad.
Open source <random> options are available if you want to view their source (for example). One example is libC ++ . All they ask for is that you retain your copyright notices if you reuse any of their code.
Edit
You are uniquely qualified to write this lesson. :-)
Howard hinnant
source share