22#ifndef RanluxppEngine_h
23#define RanluxppEngine_h
42 double flat()
override;
46 void flatArray(
const int size,
double *vect)
override;
49 void setSeed(
long seed,
int dummy = 0)
override;
52 void setSeeds(
const long *seeds,
int dummy = 0)
override;
56 void skip(uint64_t
n);
59 void saveStatus(
const char filename[] =
"Ranluxpp.conf")
const override;
62 void restoreStatus(
const char filename[] =
"Ranluxpp.conf")
override;
68 std::string
name()
const override;
74 std::ostream &
put(std::ostream &os)
const override;
75 std::istream &
get(std::istream &is)
override;
77 std::istream &
getState(std::istream &is)
override;
79 std::vector<unsigned long>
put()
const override;
80 bool get(
const std::vector<unsigned long> &v)
override;
81 bool getState(
const std::vector<unsigned long> &v)
override;
84 operator double()
override {
return flat(); }
85 operator float()
override {
return float(
flat()); }
void showStatus() const override
unsigned fCarry
Carry bit of the RANLUX state.
virtual ~RanluxppEngine()
void saveStatus(const char filename[]="Ranluxpp.conf") const override
std::string name() const override
uint64_t fState[9]
RANLUX state of the generator.
int fPosition
Current position in bits.
uint64_t nextRandomBits()
std::istream & get(std::istream &is) override
static std::string engineName()
std::vector< unsigned long > put() const override
void setSeeds(const long *seeds, int dummy=0) override
void restoreStatus(const char filename[]="Ranluxpp.conf") override
static const unsigned int VECTOR_STATE_SIZE
void flatArray(const int size, double *vect) override
void setSeed(long seed, int dummy=0) override
std::istream & getState(std::istream &is) override
static std::string beginTag()