thrust::random::normal_distribution
Defined in thrust/random/normal_distribution.h
- 
template<typename RealType = double>
 class normal_distribution : public detail::normal_distribution_base::type<double>
- A - normal_distributionrandom number distribution produces floating point Normally distributed random numbers.- The following code snippet demonstrates examples of using a - normal_distributionwith a random number engine to produce random values drawn from the Normal distribution with a given mean and variance:- #include <thrust/random/linear_congruential_engine.h> #include <thrust/random/normal_distribution.h> int main() { // create a minstd_rand object to act as our source of randomness thrust::minstd_rand rng; // create a normal_distribution to produce floats from the Normal distribution // with mean 2.0 and standard deviation 3.5 thrust::random::normal_distribution<float> dist(2.0f, 3.5f); // write a random number to standard output std::cout << dist(rng) << std::endl; // write the mean of the distribution, just in case we forgot std::cout << dist.mean() << std::endl; // 2.0 is printed // and the standard deviation std::cout << dist.stddev() << std::endl; // 3.5 is printed return 0; } - Template Parameters
- RealType – The type of floating point number to produce. 
 - Public Types - 
typedef RealType result_type
- The type of the floating point number produced by this - normal_distribution.
 - Public Functions - 
explicit normal_distribution(RealType mean = 0.0, RealType stddev = 1.0)
- This constructor creates a new - normal_distributionfrom two values defining the half-open interval of the distribution.- Parameters
- mean – The mean (expected value) of the distribution. Defaults to - 0.0.
- stddev – The standard deviation of the distribution. Defaults to - 1.0.
 
 
 - 
explicit normal_distribution(const param_type &parm)
- This constructor creates a new - normal_distributionfrom a- param_typeobject encapsulating the range of the distribution.- Parameters
- parm – A - param_typeobject encapsulating the parameters (i.e., the mean and standard deviation) of the distribution.
 
 - 
void reset()
- Calling this member function guarantees that subsequent uses of this - normal_distributiondo not depend on values produced by any random number generator prior to invoking this function.
 - 
template<typename UniformRandomNumberGenerator>
 result_type operator()(UniformRandomNumberGenerator &urng)
- This method produces a new Normal random integer drawn from this - normal_distribution'srange using a- UniformRandomNumberGeneratoras a source of randomness.- Parameters
- urng – The - UniformRandomNumberGeneratorto use as a source of randomness.
 
 - 
template<typename UniformRandomNumberGenerator>
 result_type operator()(UniformRandomNumberGenerator &urng, const param_type &parm)
- This method produces a new Normal random integer as if by creating a new - normal_distributionfrom the given- param_typeobject, and calling its- operator()method with the given- UniformRandomNumberGeneratoras a source of randomness.- Parameters
- urng – The - UniformRandomNumberGeneratorto use as a source of randomness.
- parm – A - param_typeobject encapsulating the parameters of the- normal_distributionto draw from.
 
 
 - 
result_type mean() const
- This method returns the value of the parameter with which this - normal_distributionwas constructed.- Returns
- The mean (expected value) of this - normal_distribution'soutput.
 
 - 
result_type stddev() const
- This method returns the value of the parameter with which this - normal_distributionwas constructed.- Returns
- The standard deviation of this - uniform_real_distribution'soutput.
 
 - 
param_type param() const
- This method returns a - param_typeobject encapsulating the parameters with which this- normal_distributionwas constructed.- Returns
- A - param_typeobject encapsulating the parameters (i.e., the mean and standard deviation) of this- normal_distribution.
 
 - 
void param(const param_type &parm)
- This method changes the parameters of this - normal_distributionusing the values encapsulated in a given- param_typeobject.- Parameters
- parm – A - param_typeobject encapsulating the new parameters (i.e., the mean and variance) of this- normal_distribution.
 
 - 
result_type min() const
- This method returns the smallest floating point number this - normal_distributioncan potentially produce.- Returns
- The lower bound of this - normal_distribution'shalf-open interval.
 
 - 
result_type max() const
- This method returns the smallest number larger than largest floating point number this - uniform_real_distributioncan potentially produce.- Returns
- The upper bound of this - normal_distribution'shalf-open interval.