13 #ifndef ROOT_Math_MixMaxEngine
14 #define ROOT_Math_MixMaxEngine
19 #ifndef ROOT_Math_TRandomEngine
72 void GetState(std::vector<StateInt_t> & state)
const;
81 static uint64_t
MaxInt() {
return 0x1fffffffffffffff; }
84 void SetSeed(
unsigned int seed);
90 void SetState(
const std::vector<StateInt_t> & state,
bool warmup =
true);
static void SetSkipNumber(int nskip)
set the number we want to use to skip generation higher value means higher luxury but slower ...
Namespace for new ROOT classes and functions.
unsigned long long int StateInt_t
static void SetFirstReturnElement(int index)
set initial number to be used in the vector.
double operator()()
generate a double random number (faster interface)
void SetState(const std::vector< StateInt_t > &state, bool warmup=true)
set the full initial generator state and warm up generator by doing some iterations ...
void SetSeed64(uint64_t seed)
set the generator seed using a 64 bits integer
void SetSeed(unsigned int seed)
set the generator seed
MIXMAX Random number generator.
void GetState(std::vector< StateInt_t > &state) const
get the state of the generator
void RndmArray(int n, double *array)
generate an array of random numbers
uint64_t IntRndm()
generate a 64 bit integer number
Namespace for new Math classes and functions.
static uint64_t MaxInt()
maximum integer that can be generated. For MIXMAX is 2^61-1
int Counter() const
Get the counter (between 0 and Size-1)
void SetCounter(int val)
set the counter
double Rndm_impl()
implementation function to generrate the random number
MixMaxEngine(uint64_t seed=1)
static int Size()
Get the size of the generator.