diff --git a/libvmake/examples/random_numbers.cpp b/libvmake/examples/random_numbers.cpp index 71fd802..a37a3f6 100644 --- a/libvmake/examples/random_numbers.cpp +++ b/libvmake/examples/random_numbers.cpp @@ -3,6 +3,8 @@ using namespace std; int main() { - vmake::output(cout, " ", vmake::take(vmake::rng::uniform_ints(1, 10), 10)); + vmake::output(cout, " ", vmake::take(vmake::rng::uniform_ints(1, 10), 15)); + cout << endl; + vmake::output(cout, " ", vmake::take(vmake::rng::uniform_reals(1., 10.), 5)); return 0; } diff --git a/libvmake/vmake.hpp b/libvmake/vmake.hpp index e6da714..c7a6a2a 100644 --- a/libvmake/vmake.hpp +++ b/libvmake/vmake.hpp @@ -411,6 +411,13 @@ inline auto uniform_ints(Tval l, Tval r) { }); } +template +inline auto uniform_reals(Tval l, Tval r) { + return generate([rng = Engine(), dis = std::uniform_real_distribution(l, r)]() mutable { + return dis(rng); + }); +} + } template