15#ifndef ROOT_Math_GSLRngROOTWrapper
16#define ROOT_Math_GSLRngROOTWrapper
18#include "gsl/gsl_rng.h"
38 template <
class Engine>
52 wrng->fEngine =
new Engine();
59 static void Seed(
void *
p,
unsigned long seed)
66 if (!
wrng->fEngine)
wrng->fEngine =
new Engine();
69 wrng->fEngine->SetSeed(seed);
76 wrng->fEngine =
nullptr;
79 static unsigned long Max() {
return Engine::MaxInt(); }
80 static unsigned long Min() {
return Engine::MinInt(); }
82 static std::string
Name() {
return std::string(
"GSL_") + Engine::Name(); }
static const std::string gsl_mixmax_name
const gsl_rng_type * gsl_rng_mixmax
ROOT::Math::GSLRngROOTWrapper< ROOT::Math::MixMaxEngine< 17, 0 > > GSLMixMaxWrapper
static const gsl_rng_type mixmax_type
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
Namespace for new Math classes and functions.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
class for wrapping ROOT Engines in gsl_rng types which can be used as extra GSL random number generat...
static unsigned long IntRndm(void *p)
static void FreeEngine(gsl_rng *r)
static void Seed(void *p, unsigned long seed)
static unsigned long Max()
static std::string Name()
static unsigned long Min()
static void CreateEngine(gsl_rng *r)
static double Rndm(void *p)