/* * random.hpp * * Created on: Sep 25, 2010 * Modified November 7, 2016 * Author: Michael J. Fischer * for use in Yale course CPSC 427a, Fall 2010 */ #pragma once #include "tools.hpp" //----------------------------------------------------------------------------- // Discrete range random number generator class Random { private: const unsigned int seed; const int range; const int top; public: // Output range is [0, range-1] Random(int range, unsigned int seed) : seed(seed), range(range), top (((((RAND_MAX - range) + 1) / range) * range - 1) + range) { srand(seed); } int gen() const; ostream& print(ostream& out) const; };