[rand.dist.samp.pconst] plus some bug fixes in the tests of the other distributions

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@104224 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Howard Hinnant
2010-05-20 15:11:46 +00:00
parent 551d8e4ddb
commit d6d1171f2c
56 changed files with 2593 additions and 393 deletions

View File

@@ -64,10 +64,10 @@ int main()
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(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::geometric_distribution<> D;
@@ -104,10 +104,10 @@ int main()
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(skew - x_skew) / x_skew < 0.01);
assert(std::abs(kurtosis - x_kurtosis) / x_kurtosis < 0.02);
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);
}
{
typedef std::geometric_distribution<> D;
@@ -144,10 +144,10 @@ int main()
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(skew - x_skew) / x_skew < 0.01);
assert(std::abs(kurtosis - x_kurtosis) / x_kurtosis < 0.02);
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);
}
{
typedef std::geometric_distribution<> D;
@@ -184,10 +184,10 @@ int main()
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(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.02);
}
{
typedef std::geometric_distribution<> D;
@@ -224,10 +224,10 @@ int main()
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(skew - x_skew) / x_skew < 0.01);
assert(std::abs(kurtosis - x_kurtosis) / x_kurtosis < 0.02);
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);
}
{
typedef std::geometric_distribution<> D;
@@ -264,9 +264,9 @@ int main()
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(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.02);
}
}

View File

@@ -66,10 +66,10 @@ int main()
double x_var = x_mean / p.p();
double x_skew = (2 - p.p()) / std::sqrt((1 - p.p()));
double x_kurtosis = 6 + sqr(p.p()) / (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((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::geometric_distribution<> D;
@@ -108,10 +108,10 @@ int main()
double x_var = x_mean / p.p();
double x_skew = (2 - p.p()) / std::sqrt((1 - p.p()));
double x_kurtosis = 6 + sqr(p.p()) / (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((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);
}
{
typedef std::geometric_distribution<> D;
@@ -150,9 +150,9 @@ int main()
double x_var = x_mean / p.p();
double x_skew = (2 - p.p()) / std::sqrt((1 - p.p()));
double x_kurtosis = 6 + sqr(p.p()) / (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((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);
}
}