WebDrake/phobos — pull request #1 by jerro (2012-11-12 21:03:18+00:00)
Title: Added a Ziggurat normal engine

I added the NormalZigguratEngineImpl template an alias for it, named NormalZigguratEngine64. I did it that way because my Ziggurat algorithm implementation takes one integer as a template parameter in addition to a floating point type.

I also changed API of the rest a bit. I changed the order of template parameters so that those that can be infered from function parameters come after those that can't be inferred. That way the user doesn't need to specify the types that can be inferred if he uses something other than default for the parameters that can't be inferred. I also changed the order of function parameters for the 4 parameter version of normal() so that the first three parameters are the same as the parameters of the 3 parameter version. I also removed the default parameter value from the 3 parameter version and added a 2 parameter version. I needed to do that because the default parameter caused compile time errors when the function was instantiated with a RNG type other than Random.

I also added normalRNG().