diff options
author | Howard Hinnant <hhinnant@apple.com> | 2010-05-20 15:11:46 +0000 |
---|---|---|
committer | Howard Hinnant <hhinnant@apple.com> | 2010-05-20 15:11:46 +0000 |
commit | e302eab41530a33a581f4e2d1aea173f31fa6125 (patch) | |
tree | ae23639556338732080a57502db7cacdd4a5161d /libcxx/test/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/eval_param.pass.cpp | |
parent | 7c3e230cd1af8762d90784b001ff3003b1b7a46c (diff) | |
download | bcm5719-llvm-e302eab41530a33a581f4e2d1aea173f31fa6125.tar.gz bcm5719-llvm-e302eab41530a33a581f4e2d1aea173f31fa6125.zip |
[rand.dist.samp.pconst] plus some bug fixes in the tests of the other distributions
llvm-svn: 104224
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 | 30 |
1 files changed, 15 insertions, 15 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 index 2632ab5f3ae..264a4a2f11e 100644 --- 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 @@ -32,11 +32,11 @@ int main() { typedef std::binomial_distribution<> D; typedef D::param_type P; - typedef std::minstd_rand G; + typedef std::mt19937_64 G; G g; D d(16, .75); P p(5, .75); - const int N = 100000; + const int N = 1000000; std::vector<D::result_type> u; for (int i = 0; i < N; ++i) { @@ -66,10 +66,10 @@ int main() double x_var = x_mean*(1-p.p()); double x_skew = (1-2*p.p()) / std::sqrt(x_var); double x_kurtosis = (1-6*p.p()*(1-p.p())) / x_var; - assert(std::abs(mean - x_mean) / x_mean < 0.01); - assert(std::abs(var - x_var) / x_var < 0.01); - assert(std::abs(skew - x_skew) / x_skew < 0.01); - assert(std::abs(kurtosis - x_kurtosis) / x_kurtosis < 0.01); + assert(std::abs((mean - x_mean) / x_mean) < 0.01); + assert(std::abs((var - x_var) / x_var) < 0.01); + assert(std::abs((skew - x_skew) / x_skew) < 0.01); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.04); } { typedef std::binomial_distribution<> D; @@ -108,10 +108,10 @@ int main() double x_var = x_mean*(1-p.p()); double x_skew = (1-2*p.p()) / std::sqrt(x_var); double x_kurtosis = (1-6*p.p()*(1-p.p())) / x_var; - assert(std::abs(mean - x_mean) / x_mean < 0.01); - assert(std::abs(var - x_var) / x_var < 0.01); - assert(std::abs(skew - x_skew) / x_skew < 0.01); - assert(std::abs(kurtosis - x_kurtosis) / x_kurtosis < 0.01); + assert(std::abs((mean - x_mean) / x_mean) < 0.01); + assert(std::abs((var - x_var) / x_var) < 0.01); + assert(std::abs((skew - x_skew) / x_skew) < 0.01); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.01); } { typedef std::binomial_distribution<> D; @@ -120,7 +120,7 @@ int main() G g; D d(16, .75); P p(40, .25); - const int N = 100000; + const int N = 1000000; std::vector<D::result_type> u; for (int i = 0; i < N; ++i) { @@ -150,9 +150,9 @@ int main() double x_var = x_mean*(1-p.p()); double x_skew = (1-2*p.p()) / std::sqrt(x_var); double x_kurtosis = (1-6*p.p()*(1-p.p())) / x_var; - assert(std::abs(mean - x_mean) / x_mean < 0.01); - assert(std::abs(var - x_var) / x_var < 0.01); - assert(std::abs(skew - x_skew) / x_skew < 0.03); - assert(std::abs(kurtosis - x_kurtosis) / x_kurtosis < 0.01); + assert(std::abs((mean - x_mean) / x_mean) < 0.01); + assert(std::abs((var - x_var) / x_var) < 0.01); + assert(std::abs((skew - x_skew) / x_skew) < 0.04); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.3); } } |