Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Class template normal_distribution

boost::random::normal_distribution

Synopsis

// In header: <boost/random/normal_distribution.hpp>

template<typename RealType> 
class normal_distribution {
public:
  // types
  typedef RealType ; 
  typedef RealType ;

  // member classes/structs/unions

  class param_type {
  public:
    // types
    typedef normal_distribution ;

    // public member functions
    (RealType = , RealType = );
    RealType () ;
    RealType () ;

    // friend functions
    template<typename CharT, typename Traits> 
      CharT, Traits > & 
      (CharT, Traits > &, const  param_type &);
    template<typename CharT, typename Traits> 
      CharT, Traits > & 
      (CharT, Traits > &, const  param_type &);
    bool (const  param_type &, const  param_type &);
    bool (const  param_type &, const  param_type &);
  };

  // public member functions
  (const  RealType & = , const  RealType & = );
  (const  param_type &);
  RealType () ;
  RealType () ;
  RealType () ;
  RealType () ;
  param_type () ;
  void (const  param_type &);
  void ();
  template<typename Engine>  (Engine &);
  template<typename URNG>  (URNG &, const  param_type &);

  // friend functions
  template<typename CharT, typename Traits> 
    CharT, Traits > & 
    (CharT, Traits > &, 
               const  normal_distribution &);
  template<typename CharT, typename Traits> 
    CharT, Traits > & 
    (CharT, Traits > &, 
               const  normal_distribution &);
  bool (const  normal_distribution &, const  normal_distribution &);
  bool (const  normal_distribution &, const  normal_distribution &);
};

Description

Instantiations of class template normal_distribution model a random distribution . Such a distribution produces random numbers x distributed with probability density function , where mean and sigma are the parameters of the distribution.

The implementation uses the "ziggurat" algorithm, as described in

"The Ziggurat Method for Generating Random Variables", George Marsaglia and Wai Wan Tsang, Journal of Statistical Software, Volume 5, Number 8 (2000), 1-7.

normal_distribution public member functions

  1. (const  RealType & mean = , 
                                 const  RealType & sigma = );

    Constructs a normal_distribution object. mean and sigma are the parameters for the distribution.

    Requires: sigma >= 0

  2. (const  param_type & param);

    Constructs a normal_distribution object from its parameters.

  3. RealType () ;

    Returns the mean of the distribution.

  4. RealType () ;

    Returns the standard deviation of the distribution.

  5. RealType () ;

    Returns the smallest value that the distribution can produce.

  6. RealType () ;

    Returns the largest value that the distribution can produce.

  7. param_type () ;

    Returns the parameters of the distribution.

  8. void (const  param_type & param);

    Sets the parameters of the distribution.

  9. void ();

    Effects: Subsequent uses of the distribution do not depend on values produced by any engine prior to invoking reset.

  10. template<typename Engine>  (Engine & eng);

    Returns a normal variate.

  11. template<typename URNG> 
       (URNG & urng, const  param_type & param);

    Returns a normal variate with parameters specified by param.

normal_distribution friend functions

  1. template<typename CharT, typename Traits> 
      CharT, Traits > & 
      (CharT, Traits > & os, 
                 const  normal_distribution & nd);

    Writes a normal_distribution to a std::ostream.

  2. template<typename CharT, typename Traits> 
      CharT, Traits > & 
      (CharT, Traits > & is, 
                 const  normal_distribution & nd);

    Reads a normal_distribution from a std::istream.

  3. bool (const  normal_distribution & lhs, 
                    const  normal_distribution & rhs);

    Returns true if the two instances of normal_distribution will return identical sequences of values given equal generators.

  4. bool (const  normal_distribution & lhs, 
                    const  normal_distribution & rhs);

    Returns true if the two instances of normal_distribution will return different sequences of values given equal generators.


PrevUpHomeNext