7 #ifndef ROOT_Math_MixMaxEngineImpl 8 #define ROOT_Math_MixMaxEngineImpl 14 namespace mixmax_240 {
16 namespace mixmax_256 {
31 using namespace mixmax_17;
33 using namespace mixmax_240;
35 using namespace mixmax_256;
46 class MixMaxEngineImpl {
49 std::cerr <<
"MixMaxEngineImpl - These template parameters are not supported for MixMaxEngine" << std::endl;
53 double Rndm() {
return -1; }
55 void SetState(
const std::vector<uint64_t> &) { }
92 void SetState(
const std::vector<StateInt_t> & state) {
94 fRngState =
rng_copy(const_cast<StateInt_t*>(state.data()) );
96 void GetState(std::vector<StateInt_t> & state)
const {
99 for (
int i = 0; i <
n; ++i)
100 state[i] = fRngState->
V[i];
123 void Branch(uint32_t * seedvec) {
void SetState(const std::vector< StateInt_t > &state)
int rng_free(rng_state_t *X)
int iterate(rng_state_t *X)
Namespace for new ROOT classes and functions.
MixMaxEngineImpl(uint64_t)
void SetSeedFast(Result_t seed)
MixMaxEngineImpl(uint64_t seed)
void fill_array(rng_state_t *X, unsigned int n, double *array)
void SetState(const std::vector< uint64_t > &)
void GetState(std::vector< uint64_t > &)
myuint get_next(rng_state_t *X)
void RndmArray(int n, double *array)
void seed_uniquestream(rng_state_t *X, myID_t clusterID, myID_t machineID, myID_t runID, myID_t streamID)
rng_state_t * rng_alloc()
double get_next_float(rng_state_t *X)
void read_state(rng_state_t *X, const char filename[])
void ReadState(const char filename[])
void seed_spbox(rng_state_t *X, myuint seed)
MixMaxEngine< _N, 0 >::Result_t Result_t
void GetState(std::vector< StateInt_t > &state) const
Namespace for new Math classes and functions.
rng_state_t * rng_copy(myuint *Y)
void SetSeed(Result_t seed)
MixMaxEngine< _N, 0 >::StateInt_t StateInt_t
void branch_inplace(rng_state_t *Xin, myID_t *ID)