xo-umbrella2/xo-randomgen/include/xo/randomgen/uniformgen.hpp
Roland Conybeare 6a991f657c git subrepo clone (merge) git@github.com:Rconybea/xo-randomgen.git xo-randomgen
subrepo:
  subdir:   "xo-randomgen"
  merged:   "b9b7650d"
upstream:
  origin:   "git@github.com:Rconybea/xo-randomgen.git"
  branch:   "main"
  commit:   "b9b7650d"
git-subrepo:
  version:  "0.4.9"
  origin:   "???"
  commit:   "???"
2026-06-06 21:32:39 -04:00

33 lines
1,014 B
C++

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