8#ifndef ROOT_Math_MixMaxEngineImpl
9#define ROOT_Math_MixMaxEngineImpl
23#define __thread __declspec(thread)
24extern "C" int fscanf(FILE *stream,
const char *format, ...);
37using namespace mixmax_17;
39using namespace mixmax_240;
41using namespace mixmax_256;
55 std::cerr <<
"MixMaxEngineImpl - These template parameters are not supported for MixMaxEngine" << std::endl;
59 double Rndm() {
return -1; }
61 void SetState(
const std::vector<uint64_t> &) { }
74 typedef MixMaxEngine<ROOT_MM_N,0>::StateInt_t
StateInt_t;
75 typedef MixMaxEngine<ROOT_MM_N,0>::Result_t
Result_t;
98 void SetState(
const std::vector<StateInt_t> & state) {
102 void GetState(std::vector<StateInt_t> & state)
const {
105 for (
int i = 0; i <
n; ++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)
struct rng_state_st rng_state_t
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)
#define get_next_float(X)
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)