| ExRandom
    3.0
    | 
Sample u-rands exactly from the unit normal distribution. More...
#include <exrandom/unit_normal_dist.hpp>
| Public Member Functions | |
| unit_normal_dist (digit_gen &D) | |
| template<typename Generator > | |
| void | generate (Generator &g, u_rand< digit_gen > &x) | 
| template<typename RealType , typename Generator > | |
| RealType | value (Generator &g) | 
| digit_gen & | digit_generator () const | 
| Static Public Attributes | |
| static const uint_t | base | 
Sample u-rands exactly from the unit normal distribution.
This samples from the unit normal distribution P(x) = exp(− x2/2) / √(2π). This implements Algorithm N with improvements due to Du et al. (2020).
| digit_gen | the type of digit generator. | 
This class allows a u-rand to be returned via the unit_normal_dist::generate member function or a floating point result via the unit_normal_dist::value<RealType> member function.
See unit_normal_distribution for a simpler interface to sampling normal deviates. (But, you can't obtain u-rands with this class and the constructor locks you into a specific floating point type.)
Definition at line 36 of file unit_normal_dist.hpp.
| 
 | inline | 
The constructor.
| D | a reference to the digit generator to be used. | 
Definition at line 43 of file unit_normal_dist.hpp.
| 
 | inline | 
Generate the next deviate as a u_rand.
| Generator | the type of g. | 
| g | the random generator engine. | |
| [out] | x | the u_rand to set. | 
Definition at line 53 of file unit_normal_dist.hpp.
| 
 | inline | 
Generate the next deviate and round it to a floating point number.
| RealType | the floating point type of the result. | 
| Generator | the type of g. | 
| g | the random generator engine. | 
Definition at line 76 of file unit_normal_dist.hpp.
| 
 | inline | 
Definition at line 84 of file unit_normal_dist.hpp.
| 
 | static | 
The base of the digit generator.
Definition at line 89 of file unit_normal_dist.hpp.