Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Class template uniform_on_sphere

boost::random::uniform_on_sphere

Synopsis

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

template<typename RealType, typename Cont> 
class uniform_on_sphere {
public:
  // types
  typedef  ; 
  typedef      ;

  // member classes/structs/unions

  class param_type {
  public:
    // types
    typedef uniform_on_sphere ;

    // construct/copy/destruct
    ( = );

    // public member functions
     () ;

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

  // construct/copy/destruct
  ( = );
  (param_type &);

  // public member functions
   () ;
  param_type () ;
   (param_type &);
   () ;
   () ;
   ();
  template<typename Engine>  ();
  template<typename Engine> 
     (, param_type &) ;

  // friend functions
  template<typename CharT, typename Traits> 
     
    (, 
               uniform_on_sphere &);
  template<typename CharT, typename Traits> 
     
    (, 
               uniform_on_sphere &);
   (uniform_on_sphere &, uniform_on_sphere &);
   (uniform_on_sphere &, uniform_on_sphere &);
};

Description

Instantiations of class template uniform_on_sphere model a random distribution . Such a distribution produces random numbers uniformly distributed on the unit sphere of arbitrary dimension dim. The Cont template parameter must be a STL-like container type with begin and end operations returning non-const ForwardIterators of type Cont::iterator.

uniform_on_sphere public construct/copy/destruct

  1. ( dim = );

    Constructs a uniform_on_sphere distribution. dim is the dimension of the sphere.

    Requires: dim >= 0

  2. (param_type & param);

    Constructs a uniform_on_sphere distribution from its parameters.

uniform_on_sphere public member functions

  1.  () ;

    Returns the dimension of the sphere.

  2. param_type () ;

    Returns the parameters of the distribution.

  3.  (param_type & param);

    Sets the parameters of the distribution.

  4.  () ;

    Returns the smallest value that the distribution can produce. Note that this is required to approximate the standard library's requirements. The behavior is defined according to lexicographical comparison so that for a container type of std::vector, dist.min() <= x <= dist.max() where x is any value produced by the distribution.

  5.  () ;

    Returns the largest value that the distribution can produce. Note that this is required to approximate the standard library's requirements. The behavior is defined according to lexicographical comparison so that for a container type of std::vector, dist.min() <= x <= dist.max() where x is any value produced by the distribution.

  6.  ();

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

  7. template<typename Engine>  ( eng);

    Returns a point uniformly distributed over the surface of a sphere of dimension dim().

  8. template<typename Engine> 
       ( eng, param_type & param) ;

    Returns a point uniformly distributed over the surface of a sphere of dimension param.dim().

uniform_on_sphere friend functions

  1. template<typename CharT, typename Traits> 
       
      ( os, 
                 uniform_on_sphere & sd);

    Writes the distribution to a std::ostream.

  2. template<typename CharT, typename Traits> 
       
      ( is, 
                 uniform_on_sphere & sd);

    Reads the distribution from a std::istream.

  3.  (uniform_on_sphere & lhs, uniform_on_sphere & rhs);

    Returns true if the two distributions will produce identical sequences of values, given equal generators.

  4.  (uniform_on_sphere & lhs, uniform_on_sphere & rhs);

    Returns true if the two distributions may produce different sequences of values, given equal generators.


PrevUpHomeNext