add ranged uniform real sequence

This commit is contained in:
方而静 2023-07-18 20:10:39 +08:00
parent c4666278c8
commit 8b8cf836f3
2 changed files with 10 additions and 1 deletions

View File

@ -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;
}

View File

@ -411,6 +411,13 @@ inline auto uniform_ints(Tval l, Tval r) {
});
}
template<typename Tval = double, typename Engine = std::default_random_engine>
inline auto uniform_reals(Tval l, Tval r) {
return generate([rng = Engine(), dis = std::uniform_real_distribution<Tval>(l, r)]() mutable {
return dis(rng);
});
}
}
template<typename OutputIt, typename Gen>