ALPS Home Libraries License Support People ALPS Web Site

PrevUpHomeNext

Class template basic_buffered_uniform_01

alps::basic_buffered_uniform_01

Synopsis

// In header: <alps/random/buffered_uniform_01.hpp>

template<typename Engine, typename RealType = double> 
class basic_buffered_uniform_01 :
  public alps::buffered_uniform_01< RealType >
{
public:
  // types
  typedef RealType                                                   result_type;        // the type of random numbers 
  typedef Engine                                                     engine_type;        // the type of random number generator engine 
  typedef boost::uniform_real< RealType >                            distribution_type;
  typedef boost::variate_generator< engine_type, distribution_type > generator_type;   

  // construct/copy/destruct
  basic_buffered_uniform_01(std::size_t = ALPS_BUFFERED_GENERATOR_BUFFER_SIZE);
  basic_buffered_uniform_01(engine_type, 
                            std::size_t = ALPS_BUFFERED_GENERATOR_BUFFER_SIZE);

  // private member functions
  virtual void fill_buffer(buffer_type &);
};

Description

a runtime-polymorphic buffered random number generator generating double values in the interval [0,1[

This class template is a concrete derived class template for runtime-polymorphic generators. It uses a variate_generator producing uniform random numbers in the interval[0,1) to fill the buffer of the alps::buffered_generator base class. If the Engine is a reference type,

Template Parameters

  1. typename Engine

    the type of random number generator engine

  2. typename RealType = double

    the floating point type of the random numbers, defaults to double

basic_buffered_uniform_01 public construct/copy/destruct

  1. basic_buffered_uniform_01(std::size_t buffer_size = ALPS_BUFFERED_GENERATOR_BUFFER_SIZE);

    constructs a default-seeded generator with a buffer of the size given as argument, and uses a default-generated random number generator.

    Parameters:

    buffer_size

    the size of the buffer

  2. basic_buffered_uniform_01(engine_type engine, 
                              std::size_t buffer_size = ALPS_BUFFERED_GENERATOR_BUFFER_SIZE);

    constructs a generator from the given engine If a reference type is specifed as Engine type, a reference to the engine is stored and used, otherweise the engine is copied.

    Parameters:

    buffer_size

    the size of the buffer

    engine

    the engine used to generate values

basic_buffered_uniform_01 private member functions

  1. virtual void fill_buffer(buffer_type & buffer);
    fills the buffer using the generator
Copyright © 2006-2008 Brigitte Surer, Matthias Troyer

PrevUpHomeNext