7#ifndef ROOT_Math_MixMaxEngineImpl
8#define ROOT_Math_MixMaxEngineImpl
22#define __thread __declspec(thread)
35using namespace mixmax_17;
37using namespace mixmax_240;
39using namespace mixmax_256;
53 std::cerr <<
"MixMaxEngineImpl - These template parameters are not supported for MixMaxEngine" << std::endl;
57 double Rndm() {
return -1; }
59 void SetState(
const std::vector<uint64_t> &) { }
96 void SetState(
const std::vector<StateInt_t> & state) {
100 void GetState(std::vector<StateInt_t> & state)
const {
103 for (
int i = 0; i <
n; ++i)
104 state[i] = fRngState->
V[i];
MixMaxEngine< ROOT_MM_N, 0 >::Result_t Result_t
void Branch(uint32_t *seedvec)
MixMaxEngineImpl(uint64_t seed)
void SetState(const std::vector< StateInt_t > &state)
void ReadState(const char filename[])
MixMaxEngine< ROOT_MM_N, 0 >::StateInt_t StateInt_t
void RndmArray(int n, double *array)
void SetSeed(Result_t seed)
void SetSeedFast(Result_t seed)
void GetState(std::vector< StateInt_t > &state) const
void SetState(const std::vector< uint64_t > &)
MixMaxEngineImpl(uint64_t)
void GetState(std::vector< uint64_t > &)
void seed_spbox(rng_state_t *X, myuint seed)
int iterate(rng_state_t *X)
void branch_inplace(rng_state_t *Xin, myID_t *ID)
void seed_uniquestream(rng_state_t *X, myID_t clusterID, myID_t machineID, myID_t runID, myID_t streamID)
rng_state_t * rng_alloc()
rng_state_t * rng_copy(myuint *Y)
int rng_free(rng_state_t *X)
void read_state(rng_state_t *X, const char filename[])
void fill_array(rng_state_t *X, unsigned int n, double *array)
double get_next_float(rng_state_t *X)
myuint get_next(rng_state_t *X)
Namespace for new Math classes and functions.