13#ifndef ROOT_Math_GSLQRngWrapper
14#define ROOT_Math_GSLQRngWrapper
16#include "gsl/gsl_qrng.h"
59 fRng =
const_cast<gsl_qrng *
>(
r);
69 fRng = gsl_qrng_clone(
r.fRng);
76 if (
this == &rhs)
return *
this;
80 iret = gsl_qrng_memcpy(
fRng, rhs.
fRng);
81 if (!iret)
return *
this;
126 inline const gsl_qrng *
Rng()
const {
return fRng; }
GSLQRngWrapper class to wrap gsl_qrng structure.
void Allocate(unsigned int dimension)
unsigned int Dimension() const
void SetType(const gsl_qrng_type *type)
GSLQRngWrapper()
Default constructor.
const gsl_qrng_type * fRngType
GSLQRngWrapper(const gsl_qrng *r)
construct from an existing gsl_qrng it is managed externally - so will not be deleted at the end
GSLQRngWrapper(const gsl_qrng_type *type)
Constructor with type.
GSLQRngWrapper(GSLQRngWrapper &r)
Copy constructor - clone the GSL object and manage it.
const gsl_qrng * Rng() const
~GSLQRngWrapper()
Destructor (free the rng if not done before)
GSLQRngWrapper & operator=(const GSLQRngWrapper &rhs)
Assignment operator.
Namespace for new Math classes and functions.
Namespace for new ROOT classes and functions.