Normal distribution
Márcio Martins via Digitalmars-d
digitalmars-d at puremagic.com
Sun Feb 28 06:34:02 PST 2016
On Friday, 26 February 2016 at 20:15:10 UTC, Andrei Alexandrescu
wrote:
> On 2/26/16 2:32 PM, Joseph Rushton Wakeling wrote:
>> Yup. The basic problem of getting this stuff into phobos are
>> the
>> architectural problems discussed in that talk. Unlike uniform
>> distribution (which is straightforward to implement as a
>> function, no
>> questions asked), the normal distribution is best implemented
>> as a range
>> which keeps some state. So the
>> reference-type/non-reference-type issues
>> start becoming a factor.
>
> Would it work to define Gaussian generators as regular
> generators (same as the existing ones), which keep the uniform
> engine as a member? -- Andrei
This C implementation of the Marsaglia/Tsang Ziggurat method
keeps no state except for that of the uniform rng and 3 small
static lookup tables that can be initialized in the module's
shared constructor:
http://people.sc.fsu.edu/~jburkardt/cpp_src/ziggurat_inline/ziggurat_inline.cpp
I wrote a D implementation of that with the uniform rngs factored
out, leaving it at ~50 loc - not up to Phobos' standards for sure
- but I suppose but it could be a starting point. If someone is
interested in that let me know.
More information about the Digitalmars-d
mailing list