diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/eval.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/eval.pass.cpp index 9a7af92931dd3e..568bf34f1ea437 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/eval.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/eval.pass.cpp @@ -63,8 +63,8 @@ int main(int, char**) double x_kurtosis = (6 * sqr(d.p()) - 6 * d.p() + 1)/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.02); + assert(std::abs((skew - x_skew) / x_skew) < 0.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.05); } { typedef std::bernoulli_distribution D; @@ -99,8 +99,8 @@ int main(int, char**) double x_kurtosis = (6 * sqr(d.p()) - 6 * d.p() + 1)/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.02); + assert(std::abs((skew - x_skew) / x_skew) < 0.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.05); } return 0; diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/eval_param.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/eval_param.pass.cpp index 5584a9d1644896..dfaa9f1c89f991 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/eval_param.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/eval_param.pass.cpp @@ -65,8 +65,8 @@ int main(int, char**) double x_kurtosis = (6 * sqr(p.p()) - 6 * p.p() + 1)/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.02); + assert(std::abs((skew - x_skew) / x_skew) < 0.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.05); } { typedef std::bernoulli_distribution D; @@ -103,8 +103,8 @@ int main(int, char**) double x_kurtosis = (6 * sqr(p.p()) - 6 * p.p() + 1)/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.02); + assert(std::abs((skew - x_skew) / x_skew) < 0.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.05); } return 0; diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.PR44847.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.PR44847.pass.cpp index 572a59b7a1926a..549f3cee4d4a45 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.PR44847.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.PR44847.pass.cpp @@ -163,7 +163,7 @@ int main(int, char**) { 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); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.06); return 0; } diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.pass.cpp index dbdd0972411940..d8852cc3bd09ed 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.pass.cpp @@ -68,7 +68,7 @@ void test1() { 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); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.08); } template @@ -109,8 +109,8 @@ void test2() { double x_kurtosis = (1-6*d.p()*(1-d.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((skew - x_skew) / x_skew) < 0.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.08); } template @@ -151,8 +151,8 @@ void test3() { double x_kurtosis = (1-6*d.p()*(1-d.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.3); + assert(std::abs((skew - x_skew) / x_skew) < 0.07); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 2.0); } template @@ -292,7 +292,7 @@ void test6() { 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) < 0.02); - assert(std::abs(kurtosis - x_kurtosis) < 0.01); + assert(std::abs(kurtosis - x_kurtosis) < 0.03); } template diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval_param.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval_param.pass.cpp index 78d6aedde73a5d..adbcb78d10f4f2 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval_param.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval_param.pass.cpp @@ -72,7 +72,7 @@ int main(int, char**) 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); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.08); } { typedef std::binomial_distribution<> D; @@ -113,8 +113,8 @@ int main(int, char**) 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((skew - x_skew) / x_skew) < 0.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.08); } { typedef std::binomial_distribution<> D; @@ -155,8 +155,8 @@ int main(int, char**) 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.04); - assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.3); + assert(std::abs((skew - x_skew) / x_skew) < 0.07); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 2.0); } return 0; diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/eval.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/eval.pass.cpp index 440334ed3488ae..0cdb7fa6312caf 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/eval.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/eval.pass.cpp @@ -77,7 +77,7 @@ void test1() { 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } template @@ -161,7 +161,7 @@ void test3() { 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.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } template @@ -203,7 +203,7 @@ void test4() { 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.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } template @@ -245,7 +245,7 @@ void test5() { 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.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } template @@ -284,8 +284,8 @@ void test6() { double x_var = x_mean / d.p(); double x_skew = (2 - d.p()) / std::sqrt((1 - d.p())); double x_kurtosis = 6 + sqr(d.p()) / (1 - d.p()); - assert(std::abs((mean - x_mean) / x_mean) < 0.01); - assert(std::abs((var - x_var) / x_var) < 0.01); + assert(std::abs((mean - x_mean) / x_mean) < 0.02); + assert(std::abs((var - x_var) / x_var) < 0.02); assert(std::abs((skew - x_skew) / x_skew) < 0.01); assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.02); } diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/eval_param.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/eval_param.pass.cpp index 16cb7fb0a45f98..16a5bd4c7a33e7 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/eval_param.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/eval_param.pass.cpp @@ -72,7 +72,7 @@ int main(int, char**) 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } { typedef std::geometric_distribution<> D; @@ -156,7 +156,7 @@ int main(int, char**) 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.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } return 0; diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval.pass.cpp index d0f6fbf0a1203f..be08361fc27e21 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval.pass.cpp @@ -74,7 +74,7 @@ void test1() { 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.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } template @@ -115,8 +115,8 @@ void test2() { double x_kurtosis = 6. / d.k() + sqr(d.p()) / (d.k() * (1 - d.p())); 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((skew - x_skew) / x_skew) < 0.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.1); } template @@ -157,8 +157,8 @@ void test3() { double x_kurtosis = 6. / d.k() + sqr(d.p()) / (d.k() * (1 - d.p())); 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.03); + assert(std::abs((skew - x_skew) / x_skew) < 0.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.08); } template @@ -243,8 +243,8 @@ void test5() { double x_kurtosis = 6. / d.k() + sqr(d.p()) / (d.k() * (1 - d.p())); 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.05); + assert(std::abs((skew - x_skew) / x_skew) < 0.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.3); } template diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval_param.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval_param.pass.cpp index 0b03982a737e57..26bc83382f6850 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval_param.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval_param.pass.cpp @@ -72,7 +72,7 @@ int main(int, char**) 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } { typedef std::negative_binomial_distribution<> D; @@ -113,8 +113,8 @@ int main(int, char**) double x_kurtosis = 6. / p.k() + sqr(p.p()) / (p.k() * (1 - p.p())); 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((skew - x_skew) / x_skew) < 0.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.1); } { typedef std::negative_binomial_distribution<> D; @@ -155,8 +155,8 @@ int main(int, char**) double x_kurtosis = 6. / p.k() + sqr(p.p()) / (p.k() * (1 - p.p())); 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.03); + assert(std::abs((skew - x_skew) / x_skew) < 0.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.08); } return 0; diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/eval.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/eval.pass.cpp index abc0cc531a117e..83e64046f0dcde 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/eval.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/eval.pass.cpp @@ -45,7 +45,7 @@ int main(int, char**) u.push_back(d(g)); std::sort(u.begin(), u.end()); for (int i = 0; i < N; ++i) - assert(std::abs(f(u[i], a, b) - double(i)/N) < .001); + assert(std::abs(f(u[i], a, b) - double(i) / N) < .0013); } { typedef std::cauchy_distribution<> D; @@ -60,7 +60,7 @@ int main(int, char**) u.push_back(d(g)); std::sort(u.begin(), u.end()); for (int i = 0; i < N; ++i) - assert(std::abs(f(u[i], a, b) - double(i)/N) < .001); + assert(std::abs(f(u[i], a, b) - double(i) / N) < .0013); } { typedef std::cauchy_distribution<> D; @@ -75,7 +75,7 @@ int main(int, char**) u.push_back(d(g)); std::sort(u.begin(), u.end()); for (int i = 0; i < N; ++i) - assert(std::abs(f(u[i], a, b) - double(i)/N) < .001); + assert(std::abs(f(u[i], a, b) - double(i) / N) < .0013); } return 0; diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/eval.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/eval.pass.cpp index 2a8dfd31aa08eb..559034b2a0ec10 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/eval.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/eval.pass.cpp @@ -70,7 +70,7 @@ int main(int, char**) 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.04); } { typedef std::chi_squared_distribution<> D; @@ -109,7 +109,7 @@ int main(int, char**) 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } { typedef std::chi_squared_distribution<> D; @@ -148,7 +148,7 @@ int main(int, char**) 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } return 0; diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/eval_param.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/eval_param.pass.cpp index 52864739c9b3cc..74454f29626724 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/eval_param.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/eval_param.pass.cpp @@ -72,7 +72,7 @@ int main(int, char**) 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } { typedef std::chi_squared_distribution<> D; @@ -113,7 +113,7 @@ int main(int, char**) 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } { typedef std::chi_squared_distribution<> D; @@ -154,7 +154,7 @@ int main(int, char**) 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.04); } return 0; diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eval.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eval.pass.cpp index 9f25cea6540ec0..745103d13d2859 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eval.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eval.pass.cpp @@ -70,8 +70,8 @@ test1() 3*std::exp(2*sqr(d.s())) - 6; 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.05); - assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.25); + assert(std::abs((skew - x_skew) / x_skew) < 0.1); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 1.9); } void @@ -115,7 +115,7 @@ test2() 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.03); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.04); } void @@ -159,7 +159,7 @@ test3() 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.02); - assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.05); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.06); } void @@ -202,8 +202,8 @@ test4() 3*std::exp(2*sqr(d.s())) - 6; assert(std::abs((mean - x_mean) / x_mean) < 0.01); assert(std::abs((var - x_var) / x_var) < 0.02); - assert(std::abs((skew - x_skew) / x_skew) < 0.08); - assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.4); + assert(std::abs((skew - x_skew) / x_skew) < 0.1); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.5); } void @@ -245,9 +245,9 @@ test5() double x_kurtosis = std::exp(4*sqr(d.s())) + 2*std::exp(3*sqr(d.s())) + 3*std::exp(2*sqr(d.s())) - 6; assert(std::abs((mean - x_mean) / x_mean) < 0.01); - assert(std::abs((var - x_var) / x_var) < 0.04); - assert(std::abs((skew - x_skew) / x_skew) < 0.2); - assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.7); + assert(std::abs((var - x_var) / x_var) < 0.05); + assert(std::abs((skew - x_skew) / x_skew) < 0.3); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 1.0); } int main(int, char**) diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eval_param.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eval_param.pass.cpp index 9c9eb858e5bfa9..f9ea0bbd201ce1 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eval_param.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eval_param.pass.cpp @@ -72,8 +72,8 @@ test1() 3*std::exp(2*sqr(p.s())) - 6; 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.05); - assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.25); + assert(std::abs((skew - x_skew) / x_skew) < 0.1); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 1.9); } void @@ -119,7 +119,7 @@ test2() 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.03); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.04); } void @@ -165,7 +165,7 @@ test3() 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.02); - assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.05); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.06); } void @@ -210,8 +210,8 @@ test4() 3*std::exp(2*sqr(p.s())) - 6; assert(std::abs((mean - x_mean) / x_mean) < 0.01); assert(std::abs((var - x_var) / x_var) < 0.02); - assert(std::abs((skew - x_skew) / x_skew) < 0.08); - assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.4); + assert(std::abs((skew - x_skew) / x_skew) < 0.1); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.5); } void @@ -255,9 +255,9 @@ test5() double x_kurtosis = std::exp(4*sqr(p.s())) + 2*std::exp(3*sqr(p.s())) + 3*std::exp(2*sqr(p.s())) - 6; assert(std::abs((mean - x_mean) / x_mean) < 0.01); - assert(std::abs((var - x_var) / x_var) < 0.04); - assert(std::abs((skew - x_skew) / x_skew) < 0.2); - assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.7); + assert(std::abs((var - x_var) / x_var) < 0.05); + assert(std::abs((skew - x_skew) / x_skew) < 0.3); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 1.0); } int main(int, char**) diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/eval.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/eval.pass.cpp index a73e06bbf03e96..80ed7bab265022 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/eval.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/eval.pass.cpp @@ -64,7 +64,7 @@ int main(int, char**) double x_kurtosis = 6 / (d.n() - 4); assert(std::abs(mean - x_mean) < 0.01); assert(std::abs((var - x_var) / x_var) < 0.01); - assert(std::abs(skew - x_skew) < 0.01); + assert(std::abs(skew - x_skew) < 0.05); assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.2); } { @@ -99,7 +99,7 @@ int main(int, char**) double x_kurtosis = 6 / (d.n() - 4); assert(std::abs(mean - x_mean) < 0.01); assert(std::abs((var - x_var) / x_var) < 0.01); - assert(std::abs(skew - x_skew) < 0.01); + assert(std::abs(skew - x_skew) < 0.05); assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.04); } { @@ -134,8 +134,8 @@ int main(int, char**) double x_kurtosis = 6 / (d.n() - 4); assert(std::abs(mean - x_mean) < 0.01); assert(std::abs((var - x_var) / x_var) < 0.01); - assert(std::abs(skew - x_skew) < 0.01); - assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.02); + assert(std::abs(skew - x_skew) < 0.005); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.2); } return 0; diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/eval_param.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/eval_param.pass.cpp index 01ce61a680af6c..fe3140fb6f555b 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/eval_param.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/eval_param.pass.cpp @@ -66,7 +66,7 @@ int main(int, char**) double x_kurtosis = 6 / (p.n() - 4); assert(std::abs(mean - x_mean) < 0.01); assert(std::abs((var - x_var) / x_var) < 0.01); - assert(std::abs(skew - x_skew) < 0.01); + assert(std::abs(skew - x_skew) < 0.05); assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.2); } { @@ -103,7 +103,7 @@ int main(int, char**) double x_kurtosis = 6 / (p.n() - 4); assert(std::abs(mean - x_mean) < 0.01); assert(std::abs((var - x_var) / x_var) < 0.01); - assert(std::abs(skew - x_skew) < 0.01); + assert(std::abs(skew - x_skew) < 0.05); assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.04); } { @@ -140,8 +140,8 @@ int main(int, char**) double x_kurtosis = 6 / (p.n() - 4); assert(std::abs(mean - x_mean) < 0.01); assert(std::abs((var - x_var) / x_var) < 0.01); - assert(std::abs(skew - x_skew) < 0.01); - assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.02); + assert(std::abs(skew - x_skew) < 0.005); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.2); } return 0; diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/eval.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/eval.pass.cpp index 8bceb918ecd5d6..aee573e5f2467c 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/eval.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/eval.pass.cpp @@ -70,7 +70,7 @@ int main(int, char**) 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } { typedef std::exponential_distribution<> D; @@ -109,7 +109,7 @@ int main(int, char**) 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } { typedef std::exponential_distribution<> D; @@ -148,7 +148,7 @@ int main(int, char**) 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } return 0; diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/eval_param.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/eval_param.pass.cpp index 016ba27587cf7b..dfbedd81e0b976 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/eval_param.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/eval_param.pass.cpp @@ -72,7 +72,7 @@ int main(int, char**) 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } return 0; diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/eval.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/eval.pass.cpp index 9aaf6ce0ab3aed..3cf0feef18ece3 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/eval.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/eval.pass.cpp @@ -68,7 +68,7 @@ test1() 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } void @@ -109,7 +109,7 @@ test2() 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } void @@ -150,7 +150,7 @@ test3() 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } void @@ -191,7 +191,7 @@ test4() 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } int main(int, char**) diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/eval_param.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/eval_param.pass.cpp index cb390c0452ad3e..43a22511589beb 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/eval_param.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/eval_param.pass.cpp @@ -70,7 +70,7 @@ test1() 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } void @@ -113,7 +113,7 @@ test2() 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } void @@ -156,7 +156,7 @@ test3() 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } void @@ -199,7 +199,7 @@ test4() 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } int main(int, char**) diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/eval.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/eval.pass.cpp index 7af50cdb8b1a98..48cc4df02396f8 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/eval.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/eval.pass.cpp @@ -69,7 +69,7 @@ int main(int, char**) 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.04); } { typedef std::gamma_distribution<> D; @@ -108,7 +108,7 @@ int main(int, char**) 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } { typedef std::gamma_distribution<> D; @@ -147,7 +147,7 @@ int main(int, char**) 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } return 0; diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/eval_param.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/eval_param.pass.cpp index a782770153ac5f..c437983c6bd7b1 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/eval_param.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/eval_param.pass.cpp @@ -71,7 +71,7 @@ int main(int, char**) 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } { typedef std::gamma_distribution<> D; @@ -112,7 +112,7 @@ int main(int, char**) 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.03); } { typedef std::gamma_distribution<> D; @@ -153,7 +153,7 @@ int main(int, char**) 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((kurtosis - x_kurtosis) / x_kurtosis) < 0.04); } return 0; diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/eval.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/eval.pass.cpp index 5feb2e58022916..564f2e99cceacd 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/eval.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/eval.pass.cpp @@ -129,8 +129,8 @@ void tests() { double x_kurtosis = 1 / 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.03); + assert(std::abs((skew - x_skew) / x_skew) < 0.03); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.2); } { typedef std::poisson_distribution D; @@ -167,9 +167,9 @@ void tests() { double x_skew = 1 / std::sqrt(x_var); double x_kurtosis = 1 / 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.04); + assert(std::abs((var - x_var) / x_var) < 0.02); + assert(std::abs((skew - x_skew) / x_skew) < 0.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.09); } { typedef std::poisson_distribution D; @@ -207,8 +207,8 @@ void tests() { double x_kurtosis = 1 / 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((skew - x_skew) / x_skew) < 0.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.3); } } diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/eval_param.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/eval_param.pass.cpp index 8d60be4e656e43..e5cabc08658114 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/eval_param.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/eval_param.pass.cpp @@ -70,8 +70,8 @@ int main(int, char**) double x_kurtosis = 1 / 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.03); + assert(std::abs((skew - x_skew) / x_skew) < 0.03); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.2); } { typedef std::poisson_distribution<> D; @@ -110,9 +110,9 @@ int main(int, char**) double x_skew = 1 / std::sqrt(x_var); double x_kurtosis = 1 / 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.04); + assert(std::abs((var - x_var) / x_var) < 0.02); + assert(std::abs((skew - x_skew) / x_skew) < 0.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.09); } { typedef std::poisson_distribution<> D; @@ -152,8 +152,8 @@ int main(int, char**) double x_kurtosis = 1 / 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((skew - x_skew) / x_skew) < 0.02); + assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.3); } return 0; diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval.pass.cpp index da089b02a96487..9c6365e7e297f3 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval.pass.cpp @@ -81,7 +81,7 @@ void tests() { } std::vector prob = d.probabilities(); for (unsigned i = 0; i < u.size(); ++i) - assert(std::abs((double)u[i]/N - prob[i]) / prob[i] < 0.001); + assert(std::abs((double)u[i] / N - prob[i]) / prob[i] < 0.0013); } { typedef std::discrete_distribution D; @@ -158,7 +158,7 @@ void tests() { std::vector prob = d.probabilities(); for (unsigned i = 0; i < u.size(); ++i) if (prob[i] != 0) - assert(std::abs((double)u[i]/N - prob[i]) / prob[i] < 0.001); + assert(std::abs((double)u[i] / N - prob[i]) / prob[i] < 0.0013); else assert(u[i] == 0); } @@ -202,7 +202,7 @@ void tests() { std::vector prob = d.probabilities(); for (unsigned i = 0; i < u.size(); ++i) if (prob[i] != 0) - assert(std::abs((double)u[i]/N - prob[i]) / prob[i] < 0.001); + assert(std::abs((double)u[i] / N - prob[i]) / prob[i] < 0.0013); else assert(u[i] == 0); } @@ -290,7 +290,7 @@ void tests() { std::vector prob = d.probabilities(); for (unsigned i = 0; i < u.size(); ++i) if (prob[i] != 0) - assert(std::abs((double)u[i]/N - prob[i]) / prob[i] < 0.001); + assert(std::abs((double)u[i] / N - prob[i]) / prob[i] < 0.0013); else assert(u[i] == 0); } diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/eval.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/eval.pass.cpp index e11b235b7646dc..8ab560b15bb17e 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/eval.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/eval.pass.cpp @@ -529,8 +529,8 @@ test8() double x_skew = 0; double x_kurtosis = -6./5; 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) < 0.01); + assert(std::abs((var - x_var) / x_var) < 0.02); + assert(std::abs(skew - x_skew) < 0.02); assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.01); } } diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval.pass.cpp index e551c8c2bb38d2..8aad0b8e4a856d 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval.pass.cpp @@ -58,7 +58,7 @@ test1() u.push_back(v); } std::sort(u.begin(), u.end()); - int kp = -1; + std::ptrdiff_t kp = -1; double a = std::numeric_limits::quiet_NaN(); double m = std::numeric_limits::quiet_NaN(); double bk = std::numeric_limits::quiet_NaN(); @@ -76,18 +76,17 @@ test1() p[i] /= S; for (std::size_t i = 0; i < N; ++i) { - int k = std::lower_bound(b, b+Np+1, u[i]) - b - 1; - if (k != kp) - { - a = 0; - for (int j = 0; j < k; ++j) - a += areas[j]; - m = (p[k+1] - p[k]) / (b[k+1] - b[k]); - bk = b[k]; - c = (b[k+1]*p[k] - b[k]*p[k+1]) / (b[k+1] - b[k]); - kp = k; + std::ptrdiff_t k = std::lower_bound(b, b + Np + 1, u[i]) - b - 1; + if (k != kp) { + a = 0; + for (int j = 0; j < k; ++j) + a += areas[j]; + m = (p[k + 1] - p[k]) / (b[k + 1] - b[k]); + bk = b[k]; + c = (b[k + 1] * p[k] - b[k] * p[k + 1]) / (b[k + 1] - b[k]); + kp = k; } - assert(std::abs(f(u[i], a, m, bk, c) - double(i)/N) < .001); + assert(std::abs(f(u[i], a, m, bk, c) - double(i) / N) < .0013); } } @@ -110,7 +109,7 @@ test2() u.push_back(v); } std::sort(u.begin(), u.end()); - int kp = -1; + std::ptrdiff_t kp = -1; double a = std::numeric_limits::quiet_NaN(); double m = std::numeric_limits::quiet_NaN(); double bk = std::numeric_limits::quiet_NaN(); @@ -128,18 +127,17 @@ test2() p[i] /= S; for (std::size_t i = 0; i < N; ++i) { - int k = std::lower_bound(b, b+Np+1, u[i]) - b - 1; - if (k != kp) - { - a = 0; - for (int j = 0; j < k; ++j) - a += areas[j]; - m = (p[k+1] - p[k]) / (b[k+1] - b[k]); - bk = b[k]; - c = (b[k+1]*p[k] - b[k]*p[k+1]) / (b[k+1] - b[k]); - kp = k; + std::ptrdiff_t k = std::lower_bound(b, b + Np + 1, u[i]) - b - 1; + if (k != kp) { + a = 0; + for (int j = 0; j < k; ++j) + a += areas[j]; + m = (p[k + 1] - p[k]) / (b[k + 1] - b[k]); + bk = b[k]; + c = (b[k + 1] * p[k] - b[k] * p[k + 1]) / (b[k + 1] - b[k]); + kp = k; } - assert(std::abs(f(u[i], a, m, bk, c) - double(i)/N) < .001); + assert(std::abs(f(u[i], a, m, bk, c) - double(i) / N) < .0013); } } @@ -162,7 +160,7 @@ test3() u.push_back(v); } std::sort(u.begin(), u.end()); - int kp = -1; + std::ptrdiff_t kp = -1; double a = std::numeric_limits::quiet_NaN(); double m = std::numeric_limits::quiet_NaN(); double bk = std::numeric_limits::quiet_NaN(); @@ -180,18 +178,17 @@ test3() p[i] /= S; for (std::size_t i = 0; i < N; ++i) { - int k = std::lower_bound(b, b+Np+1, u[i]) - b - 1; - if (k != kp) - { - a = 0; - for (int j = 0; j < k; ++j) - a += areas[j]; - m = (p[k+1] - p[k]) / (b[k+1] - b[k]); - bk = b[k]; - c = (b[k+1]*p[k] - b[k]*p[k+1]) / (b[k+1] - b[k]); - kp = k; + std::ptrdiff_t k = std::lower_bound(b, b + Np + 1, u[i]) - b - 1; + if (k != kp) { + a = 0; + for (int j = 0; j < k; ++j) + a += areas[j]; + m = (p[k + 1] - p[k]) / (b[k + 1] - b[k]); + bk = b[k]; + c = (b[k + 1] * p[k] - b[k] * p[k + 1]) / (b[k + 1] - b[k]); + kp = k; } - assert(std::abs(f(u[i], a, m, bk, c) - double(i)/N) < .001); + assert(std::abs(f(u[i], a, m, bk, c) - double(i) / N) < .0013); } } @@ -214,7 +211,7 @@ test4() u.push_back(v); } std::sort(u.begin(), u.end()); - int kp = -1; + std::ptrdiff_t kp = -1; double a = std::numeric_limits::quiet_NaN(); double m = std::numeric_limits::quiet_NaN(); double bk = std::numeric_limits::quiet_NaN(); @@ -232,19 +229,18 @@ test4() p[i] /= S; for (std::size_t i = 0; i < N; ++i) { - int k = std::lower_bound(b, b+Np+1, u[i]) - b - 1; - if (k != kp) - { - a = 0; - for (int j = 0; j < k; ++j) - a += areas[j]; - assert(k < static_cast(Np)); - m = (p[k+1] - p[k]) / (b[k+1] - b[k]); - bk = b[k]; - c = (b[k+1]*p[k] - b[k]*p[k+1]) / (b[k+1] - b[k]); - kp = k; + std::ptrdiff_t k = std::lower_bound(b, b + Np + 1, u[i]) - b - 1; + if (k != kp) { + a = 0; + for (int j = 0; j < k; ++j) + a += areas[j]; + assert(k < static_cast(Np)); + m = (p[k + 1] - p[k]) / (b[k + 1] - b[k]); + bk = b[k]; + c = (b[k + 1] * p[k] - b[k] * p[k + 1]) / (b[k + 1] - b[k]); + kp = k; } - assert(std::abs(f(u[i], a, m, bk, c) - double(i)/N) < .001); + assert(std::abs(f(u[i], a, m, bk, c) - double(i) / N) < .0013); } } @@ -267,7 +263,7 @@ test5() u.push_back(v); } std::sort(u.begin(), u.end()); - int kp = -1; + std::ptrdiff_t kp = -1; double a = std::numeric_limits::quiet_NaN(); double m = std::numeric_limits::quiet_NaN(); double bk = std::numeric_limits::quiet_NaN(); @@ -286,19 +282,18 @@ test5() p[i] /= S; for (std::size_t i = 0; i < N; ++i) { - int k = std::lower_bound(b, b+Np+1, u[i]) - b - 1; - if (k != kp) - { - a = 0; - for (int j = 0; j < k; ++j) - a += areas[j]; - assert(k < static_cast(Np)); - m = (p[k+1] - p[k]) / (b[k+1] - b[k]); - bk = b[k]; - c = (b[k+1]*p[k] - b[k]*p[k+1]) / (b[k+1] - b[k]); - kp = k; + std::ptrdiff_t k = std::lower_bound(b, b + Np + 1, u[i]) - b - 1; + if (k != kp) { + a = 0; + for (int j = 0; j < k; ++j) + a += areas[j]; + assert(k < static_cast(Np)); + m = (p[k + 1] - p[k]) / (b[k + 1] - b[k]); + bk = b[k]; + c = (b[k + 1] * p[k] - b[k] * p[k + 1]) / (b[k + 1] - b[k]); + kp = k; } - assert(std::abs(f(u[i], a, m, bk, c) - double(i)/N) < .001); + assert(std::abs(f(u[i], a, m, bk, c) - double(i) / N) < .0013); } } @@ -321,7 +316,7 @@ test6() u.push_back(v); } std::sort(u.begin(), u.end()); - int kp = -1; + std::ptrdiff_t kp = -1; double a = std::numeric_limits::quiet_NaN(); double m = std::numeric_limits::quiet_NaN(); double bk = std::numeric_limits::quiet_NaN(); @@ -339,18 +334,17 @@ test6() p[i] /= S; for (std::size_t i = 0; i < N; ++i) { - int k = std::lower_bound(b, b+Np+1, u[i]) - b - 1; - if (k != kp) - { - a = 0; - for (int j = 0; j < k; ++j) - a += areas[j]; - m = (p[k+1] - p[k]) / (b[k+1] - b[k]); - bk = b[k]; - c = (b[k+1]*p[k] - b[k]*p[k+1]) / (b[k+1] - b[k]); - kp = k; + std::ptrdiff_t k = std::lower_bound(b, b + Np + 1, u[i]) - b - 1; + if (k != kp) { + a = 0; + for (int j = 0; j < k; ++j) + a += areas[j]; + m = (p[k + 1] - p[k]) / (b[k + 1] - b[k]); + bk = b[k]; + c = (b[k + 1] * p[k] - b[k] * p[k + 1]) / (b[k + 1] - b[k]); + kp = k; } - assert(std::abs(f(u[i], a, m, bk, c) - double(i)/N) < .001); + assert(std::abs(f(u[i], a, m, bk, c) - double(i) / N) < .0013); } } diff --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval_param.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval_param.pass.cpp index 605b11942a0ed6..4601c360193019 100644 --- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval_param.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval_param.pass.cpp @@ -60,7 +60,7 @@ int main(int, char**) u.push_back(v); } std::sort(u.begin(), u.end()); - int kp = -1; + std::ptrdiff_t kp = -1; double a = std::numeric_limits::quiet_NaN(); double m = std::numeric_limits::quiet_NaN(); double bk = std::numeric_limits::quiet_NaN(); @@ -78,18 +78,17 @@ int main(int, char**) p[i] /= S; for (std::size_t i = 0; i < N; ++i) { - int k = std::lower_bound(b, b+Np+1, u[i]) - b - 1; - if (k != kp) - { - a = 0; - for (int j = 0; j < k; ++j) - a += areas[j]; - m = (p[k+1] - p[k]) / (b[k+1] - b[k]); - bk = b[k]; - c = (b[k+1]*p[k] - b[k]*p[k+1]) / (b[k+1] - b[k]); - kp = k; + std::ptrdiff_t k = std::lower_bound(b, b + Np + 1, u[i]) - b - 1; + if (k != kp) { + a = 0; + for (int j = 0; j < k; ++j) + a += areas[j]; + m = (p[k + 1] - p[k]) / (b[k + 1] - b[k]); + bk = b[k]; + c = (b[k + 1] * p[k] - b[k] * p[k + 1]) / (b[k + 1] - b[k]); + kp = k; } - assert(std::abs(f(u[i], a, m, bk, c) - double(i)/N) < .001); + assert(std::abs(f(u[i], a, m, bk, c) - double(i) / N) < .0013); } }