13#ifndef ROOT_Math_MixMaxEngine
14#define ROOT_Math_MixMaxEngine
37 class MixMaxEngineImpl;
102 template<
int N,
int SkipNumber>
148 static const char *
Name();
154 void GetState(std::vector<StateInt_t> & state)
const;
158 void SetState(
const std::vector<StateInt_t> & state);
MixMaxEngine is a wrapper class for the MIXMAX Random number generator.
Result_t IntRndm()
generate a 64 bit integer number
void GetState(std::vector< StateInt_t > &state) const
get the state of the generator
void SetSeed(Result_t seed)
set the generator seed
int Counter() const
Get the counter (between 0 and Size-1)
double operator()()
generate a double random number (faster interface)
MixMaxEngine(uint64_t seed=1)
double Rndm_impl()
implementation function to generate the random number
static const char * Name()
get name of the generator
MixMaxEngineImpl< N > * fRng
void RndmArray(int n, double *array)
generate an array of random numbers
void SetState(const std::vector< StateInt_t > &state)
set the full initial generator state
static int Size()
Get the size of the generator.
static uint64_t MaxInt()
maximum integer that can be generated. For MIXMAX is 2^61-1
static uint64_t MinInt()
minimum integer that can be generated. For MIXMAX is 0
Namespace for new Math classes and functions.
MixMaxEngine< 256, 2 > MixMaxEngine256
MixMaxEngine< 240, 0 > MixMaxEngine240
MixMaxEngine< 17, 0 > MixMaxEngine17
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...