NEST
2.6.0,not_revisioned_source_dir@0
|
Abstract base class for access to non-uniform random deviate generators. More...
#include <randomdev.h>
Public Member Functions | |
RandomDev (RngPtr rng=RngPtr(0)) | |
Construct with (single-threaded) or without (multithreaded) RNG. More... | |
virtual | ~RandomDev () |
ensure proper clean-up More... | |
virtual double | operator() (void) |
Operator delivering doubles. More... | |
virtual double | operator() (RngPtr) const =0 |
multi-threaded More... | |
virtual long | ldev (void) |
integer valued functions for discrete distributions More... | |
virtual long | ldev (RngPtr) const |
virtual bool | has_ldev () const |
true if RDG implements ldev function More... | |
void | set_rng (RngPtr rng) |
set RNG More... | |
virtual void | set_status (const DictionaryDatum &)=0 |
set distribution parameters from SLI interface More... | |
virtual void | get_status (DictionaryDatum &) const =0 |
get distribution parameters from SLI interface More... | |
Protected Attributes | |
RngPtr | rng_ |
store underlying RNG More... | |
Abstract base class for access to non-uniform random deviate generators.
HEP 2002-07-09, 2004-06-28
Construct with (single-threaded) or without (multithreaded) RNG.
|
inlinevirtual |
ensure proper clean-up
|
pure virtual |
get distribution parameters from SLI interface
Implemented in librandom::BinomialRandomDev, librandom::PoissonRandomDev, librandom::GSL_BinomialRandomDev, librandom::GammaRandomDev, librandom::UniformIntRandomDev, librandom::UniformRandomDev, librandom::LognormalRandomDev, librandom::NormalRandomDev, and librandom::ExpRandomDev.
|
inlinevirtual |
true if RDG implements ldev function
Reimplemented in librandom::PoissonRandomDev, librandom::BinomialRandomDev, librandom::GSL_BinomialRandomDev, and librandom::UniformIntRandomDev.
|
inlinevirtual |
integer valued functions for discrete distributions
Reimplemented in librandom::GSL_BinomialRandomDev.
References assert(), rng_, and lockPTR< D >::valid().
Referenced by librandom::UniformIntRandomDev::operator()(), librandom::BinomialRandomDev::operator()(), and librandom::PoissonRandomDev::operator()().
|
virtual |
Reimplemented in librandom::PoissonRandomDev, librandom::BinomialRandomDev, librandom::GSL_BinomialRandomDev, and librandom::UniformIntRandomDev.
References assert().
|
inlinevirtual |
Operator delivering doubles.
All random deviates must deliver doubles
References assert(), rng_, and lockPTR< D >::valid().
|
pure virtual |
|
pure virtual |
set distribution parameters from SLI interface
Implemented in librandom::BinomialRandomDev, librandom::PoissonRandomDev, librandom::GSL_BinomialRandomDev, librandom::GammaRandomDev, librandom::UniformIntRandomDev, librandom::UniformRandomDev, librandom::LognormalRandomDev, librandom::NormalRandomDev, and librandom::ExpRandomDev.
|
protected |
store underlying RNG
Referenced by ldev(), operator()(), and set_rng().