diff options
author | Howard Hinnant <hhinnant@apple.com> | 2010-05-12 13:33:11 +0000 |
---|---|---|
committer | Howard Hinnant <hhinnant@apple.com> | 2010-05-12 13:33:11 +0000 |
commit | c1cb949c0a36981f1dccf1e0e259547123070b5f (patch) | |
tree | f0ba36b4def6ebd90ed0385f0db7c186ca6b59cc /libcxx/test/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/eval_param.pass.cpp | |
parent | bccf3faa5fdeb1338fda4ac11b554174b6ea507a (diff) | |
download | bcm5719-llvm-c1cb949c0a36981f1dccf1e0e259547123070b5f.tar.gz bcm5719-llvm-c1cb949c0a36981f1dccf1e0e259547123070b5f.zip |
tests for [rand.dist.bern.bin]
llvm-svn: 103612
Diffstat (limited to 'libcxx/test/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/eval_param.pass.cpp')
-rw-r--r-- | libcxx/test/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/eval_param.pass.cpp | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/libcxx/test/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/eval_param.pass.cpp b/libcxx/test/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/eval_param.pass.cpp new file mode 100644 index 00000000000..9727949a48a --- /dev/null +++ b/libcxx/test/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/eval_param.pass.cpp @@ -0,0 +1,72 @@ +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <random> + +// template<class IntType = int> +// class binomial_distribution + +// template<class _URNG> result_type operator()(_URNG& g, const param_type& parm); + +#include <random> +#include <cassert> + +#include <iostream> + +int main() +{ + { + typedef std::binomial_distribution<> D; + typedef D::param_type P; + typedef std::minstd_rand0 G; + G g; + D d(16, .75); + P p(16, .25); + int count = 0; + int r = 0; + for (int i = 0; i < 100; ++i) + { + D::result_type u = d(g, p); + r += u; + } + assert(int(r/100. + .5) == 4); + } + { + typedef std::binomial_distribution<> D; + typedef D::param_type P; + typedef std::minstd_rand0 G; + G g; + D d(16, .75); + P p(16, .5); + int count = 0; + int r = 0; + for (int i = 0; i < 100; ++i) + { + D::result_type u = d(g, p); + r += u; + } + assert(int(r/100. + .5) == 8); + } + { + typedef std::binomial_distribution<> D; + typedef D::param_type P; + typedef std::minstd_rand0 G; + G g; + D d(16, .75); + P p(16, .75); + int count = 0; + int r = 0; + for (int i = 0; i < 100; ++i) + { + D::result_type u = d(g, p); + r += u; + } + assert(int(r/100. + .5) == 12); + } +} |