/* @file uniformgen.hpp */ #pragma once #include "generator.hpp" #include namespace xo { namespace rng { template class uniformgen : public generator> { public: using generator_type = generator>; /* named ctor idiom */ template static generator_type unit(Eng eng) { return make_generator(std::move(eng), std::uniform_real_distribution(0.0, 1.0)); } /* named ctor idiom */ template static generator_type interval(Eng eng, double lo, double hi) { return make_generator(std::move(eng), std::uniform_real_distribution(lo, hi)); } }; } /*namespace rng*/ } /*namespace xo*/ /* end uniformgen.hpp */