28 #ifndef GSLRANDOMGEN_H
29 #define GSLRANDOMGEN_H
45 #include <gsl/gsl_rng.h>
78 void seed_(
unsigned long);
96 return gsl_rng_uniform(
rng_);
115 namespace librandom {
117 class GslRandomGen :
public RandomGen
gsl_rng * rng_
Definition: gslrandomgen.h:83
Factory class for GSL-based random generators.
Definition: gslrandomgen.h:100
RngPtr clone(unsigned long s)
clone a random number generator of same type initialized with given seed
Definition: gslrandomgen.h:71
~GslRandomGen()
Definition: gslrandomgen.cpp:38
Class GSL_BinomialRandomDev.
Definition: gsl_binomial_randomdev.h:81
A class that associates names and tokens.
Definition: dict.h:45
lockPTR< RandomGen > RngPtr
Common lock-pointer type for RNG.
Definition: randomgen.h:208
Factory class for random generators.
Definition: randomgen.h:314
double drand_(void)
drawing interface
Definition: gslrandomgen.h:94
GslRNGFactory(gsl_rng_type const *const)
Definition: gslrandomgen.cpp:65
class GslRandomGen C++ wrapper for GSL/GSL-style generators.
Definition: gslrandomgen.h:58
GslRandomGen()
Definition: gslrandomgen.h:125
Abstract base class for all random generator objects.
Definition: randomgen.h:238
RngPtr create(unsigned long) const
Create generator with given seed.
Definition: gslrandomgen.cpp:71
static void add_gsl_rngs(Dictionary &)
Add all GSL RNGs to rngdict Do nothing if GSL not available.
Definition: gslrandomgen.h:122
gsl_rng_type const * rng_type_
Definition: gslrandomgen.h:82
void seed_(unsigned long)
The following functions provide the interface to the actual random generator.
Definition: gslrandomgen.h:88
static void add_gsl_rngs(Dictionary &)
Add all GSL RNGs to rngdict.
Definition: gslrandomgen.cpp:45
gsl_rng_type const *const gsl_rng_
GSL generator type information.
Definition: gslrandomgen.h:107