summaryrefslogtreecommitdiff
path: root/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/eval.pass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/eval.pass.cpp')
-rw-r--r--test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/eval.pass.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/eval.pass.cpp b/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/eval.pass.cpp
index 6e6072a4f..3c726a1db 100644
--- a/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/eval.pass.cpp
+++ b/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/eval.pass.cpp
@@ -29,6 +29,20 @@ sqr(T x)
return x * x;
}
+struct Eng : std::mt19937 {
+ using Base = std::mt19937;
+ using Base::Base;
+};
+
+void test_small_inputs() {
+ Eng engine;
+ std::geometric_distribution<std::int16_t> distribution(5.45361e-311);
+ for (auto i=0; i < 1000; ++i) {
+ volatile auto res = distribution(engine);
+ ((void)res);
+ }
+}
+
void
test1()
{
@@ -295,4 +309,5 @@ int main()
test4();
test5();
test6();
+ test_small_inputs();
}