float point exception, waiting for debugging
This commit is contained in:
30
src/rng.h
Normal file
30
src/rng.h
Normal file
@ -0,0 +1,30 @@
|
||||
#ifndef __RNG_H__
|
||||
#define __RNG_H__
|
||||
|
||||
#include <time.h>
|
||||
#include <stdlib.h>
|
||||
#include <vector>
|
||||
|
||||
// Technically, you should ONLY define one rng for the entire program
|
||||
// IMPORTANT: pass all RNG objects as references
|
||||
class RNG final {
|
||||
private:
|
||||
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
|
||||
|
||||
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;
|
||||
|
||||
template<class T> T &get_rand_in_vector(const std::vector<T> &vec);
|
||||
};
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user