This commit is contained in:
a25liang
2024-07-12 16:41:42 -04:00
parent e7865b0c57
commit 50f058e7ea
57 changed files with 853 additions and 871 deletions

View File

@ -11,24 +11,24 @@
// IMPORTANT: pass all RNG objects as references
class RNG final {
private:
const unsigned int init_seed;
int curr_rand_num;
const unsigned int init_seed;
int curr_rand_num;
public:
RNG(); // use time(0) as the seed
RNG(const unsigned int seed); // use a seed
RNG(); // use time(0) as the seed
RNG(const unsigned int seed); // use a seed
int rand_num(); // returns a random number between 0 and RAND_MAX
int rand_num(); // returns a random number between 0 and RAND_MAX
// IMPORTANT: all upper bounds are not included, all lower bounds are
int rand_between(const int lower_bound, const int upper_bound);
// returns a random number between 0 and upper_bound
int rand_under(const int upper_bound);
unsigned int get_init_seed() const;
int get_curr_rand_num() const;
// IMPORTANT: all upper bounds are not included, all lower bounds are
int rand_between(const int lower_bound, const int upper_bound);
// returns a random number between 0 and upper_bound
int rand_under(const int upper_bound);
unsigned int get_init_seed() const;
int get_curr_rand_num() const;
bool trial(fraction &psuccess);
bool trial(fraction &psuccess);
template<class T> T &get_rand_in_vector(const std::vector<T> &vec);
template<class T> T &get_rand_in_vector(const std::vector<T> &vec);
};
#endif