Avoid huge main() functions and huge arrays. Patch from STL@microsoft.com

llvm-svn: 273354
This commit is contained in:
Eric Fiselier 2016-06-22 01:13:44 +00:00
parent 7a580d0a72
commit 8d0d842e7b
10 changed files with 2841 additions and 2610 deletions

View File

@ -29,9 +29,9 @@ sqr(T x)
return x * x;
}
int main()
void
test1()
{
{
typedef std::binomial_distribution<> D;
typedef std::mt19937_64 G;
G g;
@ -70,8 +70,11 @@ int main()
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);
}
{
}
void
test2()
{
typedef std::binomial_distribution<> D;
typedef std::mt19937 G;
G g;
@ -110,8 +113,11 @@ int main()
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);
}
{
}
void
test3()
{
typedef std::binomial_distribution<> D;
typedef std::mt19937 G;
G g;
@ -150,8 +156,11 @@ int main()
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);
}
{
}
void
test4()
{
typedef std::binomial_distribution<> D;
typedef std::mt19937 G;
G g;
@ -196,8 +205,11 @@ int main()
assert(var == x_var);
// assert(skew == x_skew);
// assert(kurtosis == x_kurtosis);
}
{
}
void
test5()
{
typedef std::binomial_distribution<> D;
typedef std::mt19937 G;
G g;
@ -242,8 +254,11 @@ int main()
assert(var == x_var);
// assert(skew == x_skew);
// assert(kurtosis == x_kurtosis);
}
{
}
void
test6()
{
typedef std::binomial_distribution<> D;
typedef std::mt19937 G;
G g;
@ -282,8 +297,11 @@ int main()
assert(std::abs((var - x_var) / x_var) < 0.01);
assert(std::abs(skew - x_skew) < 0.01);
assert(std::abs(kurtosis - x_kurtosis) < 0.01);
}
{
}
void
test7()
{
typedef std::binomial_distribution<> D;
typedef std::mt19937 G;
G g;
@ -322,8 +340,11 @@ int main()
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.01);
}
{
}
void
test8()
{
const int N = 100000;
std::mt19937 gen1;
std::mt19937 gen2;
@ -333,8 +354,11 @@ int main()
for(int i = 0; i < N; ++i)
assert(dist1(gen1) == dist2(gen2));
}
{
}
void
test9()
{
typedef std::binomial_distribution<> D;
typedef std::mt19937 G;
G g;
@ -379,8 +403,11 @@ int main()
assert(var == x_var);
// assert(skew == x_skew);
// assert(kurtosis == x_kurtosis);
}
{
}
void
test10()
{
typedef std::binomial_distribution<> D;
typedef std::mt19937 G;
G g;
@ -425,8 +452,11 @@ int main()
assert(var == x_var);
// assert(skew == x_skew);
// assert(kurtosis == x_kurtosis);
}
{
}
void
test11()
{
typedef std::binomial_distribution<> D;
typedef std::mt19937 G;
G g;
@ -471,5 +501,19 @@ int main()
assert(var == x_var);
// assert(skew == x_skew);
// assert(kurtosis == x_kurtosis);
}
}
int main()
{
test1();
test2();
test3();
test4();
test5();
test6();
test7();
test8();
test9();
test10();
test11();
}

View File

@ -29,9 +29,9 @@ sqr(T x)
return x * x;
}
int main()
void
test1()
{
{
typedef std::geometric_distribution<> D;
typedef std::mt19937 G;
G g;
@ -70,8 +70,11 @@ int main()
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);
}
{
}
void
test2()
{
typedef std::geometric_distribution<> D;
typedef std::mt19937 G;
G g;
@ -110,8 +113,11 @@ int main()
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);
}
{
}
void
test3()
{
typedef std::geometric_distribution<> D;
typedef std::minstd_rand G;
G g;
@ -150,8 +156,11 @@ int main()
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);
}
{
}
void
test4()
{
typedef std::geometric_distribution<> D;
typedef std::mt19937 G;
G g;
@ -190,8 +199,11 @@ int main()
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);
}
{
}
void
test5()
{
typedef std::geometric_distribution<> D;
typedef std::mt19937 G;
G g;
@ -230,8 +242,11 @@ int main()
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);
}
{
}
void
test6()
{
typedef std::geometric_distribution<> D;
typedef std::mt19937 G;
G g;
@ -270,5 +285,14 @@ int main()
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);
}
}
int main()
{
test1();
test2();
test3();
test4();
test5();
test6();
}

View File

@ -29,9 +29,9 @@ sqr(T x)
return x * x;
}
int main()
void
test1()
{
{
typedef std::negative_binomial_distribution<> D;
typedef std::minstd_rand G;
G g;
@ -70,8 +70,11 @@ int main()
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);
}
{
}
void
test2()
{
typedef std::negative_binomial_distribution<> D;
typedef std::mt19937 G;
G g;
@ -110,8 +113,11 @@ int main()
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);
}
{
}
void
test3()
{
typedef std::negative_binomial_distribution<> D;
typedef std::mt19937 G;
G g;
@ -150,8 +156,11 @@ int main()
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);
}
{
}
void
test4()
{
typedef std::negative_binomial_distribution<> D;
typedef std::mt19937 G;
G g;
@ -188,8 +197,11 @@ int main()
double x_kurtosis = 6. / d.k() + sqr(d.p()) / (d.k() * (1 - d.p()));
assert(mean == x_mean);
assert(var == x_var);
}
{
}
void
test5()
{
typedef std::negative_binomial_distribution<> D;
typedef std::mt19937 G;
G g;
@ -228,8 +240,11 @@ int main()
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);
}
{
}
void
test6()
{
typedef std::negative_binomial_distribution<> D;
typedef std::mt19937 G;
G g;
@ -268,5 +283,14 @@ int main()
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);
}
}
int main()
{
test1();
test2();
test3();
test4();
test5();
test6();
}

View File

@ -29,9 +29,9 @@ sqr(T x)
return x * x;
}
int main()
void
test1()
{
{
typedef std::lognormal_distribution<> D;
typedef D::param_type P;
typedef std::mt19937 G;
@ -72,8 +72,11 @@ int main()
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);
}
{
}
void
test2()
{
typedef std::lognormal_distribution<> D;
typedef D::param_type P;
typedef std::mt19937 G;
@ -114,8 +117,11 @@ int main()
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);
}
{
}
void
test3()
{
typedef std::lognormal_distribution<> D;
typedef D::param_type P;
typedef std::mt19937 G;
@ -156,8 +162,11 @@ int main()
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);
}
{
}
void
test4()
{
typedef std::lognormal_distribution<> D;
typedef D::param_type P;
typedef std::mt19937 G;
@ -198,8 +207,11 @@ int main()
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);
}
{
}
void
test5()
{
typedef std::lognormal_distribution<> D;
typedef D::param_type P;
typedef std::mt19937 G;
@ -240,5 +252,13 @@ int main()
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);
}
}
int main()
{
test1();
test2();
test3();
test4();
test5();
}

View File

@ -29,10 +29,9 @@ sqr(T x)
return x * x;
}
int main()
void
test1()
{
{
typedef std::lognormal_distribution<> D;
typedef D::param_type P;
typedef std::mt19937 G;
@ -74,8 +73,11 @@ int main()
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);
}
{
}
void
test2()
{
typedef std::lognormal_distribution<> D;
typedef D::param_type P;
typedef std::mt19937 G;
@ -117,8 +119,11 @@ int main()
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);
}
{
}
void
test3()
{
typedef std::lognormal_distribution<> D;
typedef D::param_type P;
typedef std::mt19937 G;
@ -160,8 +165,11 @@ int main()
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);
}
{
}
void
test4()
{
typedef std::lognormal_distribution<> D;
typedef D::param_type P;
typedef std::mt19937 G;
@ -203,8 +211,11 @@ int main()
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);
}
{
}
void
test5()
{
typedef std::lognormal_distribution<> D;
typedef D::param_type P;
typedef std::mt19937 G;
@ -246,5 +257,13 @@ int main()
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);
}
}
int main()
{
test1();
test2();
test3();
test4();
test5();
}

View File

@ -29,9 +29,9 @@ sqr(T x)
return x * x;
}
int main()
void
test1()
{
{
typedef std::extreme_value_distribution<> D;
typedef D::param_type P;
typedef std::mt19937 G;
@ -69,8 +69,11 @@ int main()
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);
}
{
}
void
test2()
{
typedef std::extreme_value_distribution<> D;
typedef D::param_type P;
typedef std::mt19937 G;
@ -108,8 +111,11 @@ int main()
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);
}
{
}
void
test3()
{
typedef std::extreme_value_distribution<> D;
typedef D::param_type P;
typedef std::mt19937 G;
@ -147,8 +153,11 @@ int main()
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);
}
{
}
void
test4()
{
typedef std::extreme_value_distribution<> D;
typedef D::param_type P;
typedef std::mt19937 G;
@ -186,5 +195,12 @@ int main()
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);
}
}
int main()
{
test1();
test2();
test3();
test4();
}

View File

@ -29,9 +29,9 @@ sqr(T x)
return x * x;
}
int main()
void
test1()
{
{
typedef std::extreme_value_distribution<> D;
typedef D::param_type P;
typedef std::mt19937 G;
@ -70,8 +70,11 @@ int main()
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);
}
{
}
void
test2()
{
typedef std::extreme_value_distribution<> D;
typedef D::param_type P;
typedef std::mt19937 G;
@ -110,8 +113,11 @@ int main()
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);
}
{
}
void
test3()
{
typedef std::extreme_value_distribution<> D;
typedef D::param_type P;
typedef std::mt19937 G;
@ -150,8 +156,11 @@ int main()
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);
}
{
}
void
test4()
{
typedef std::extreme_value_distribution<> D;
typedef D::param_type P;
typedef std::mt19937 G;
@ -190,5 +199,12 @@ int main()
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);
}
}
int main()
{
test1();
test2();
test3();
test4();
}

View File

@ -31,9 +31,9 @@ sqr(T x)
return x*x;
}
int main()
void
test1()
{
{
typedef std::piecewise_constant_distribution<> D;
typedef std::mt19937_64 G;
G g;
@ -92,8 +92,11 @@ int main()
assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.01);
}
}
}
{
}
void
test2()
{
typedef std::piecewise_constant_distribution<> D;
typedef std::mt19937_64 G;
G g;
@ -152,8 +155,11 @@ int main()
assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.01);
}
}
}
{
}
void
test3()
{
typedef std::piecewise_constant_distribution<> D;
typedef std::mt19937_64 G;
G g;
@ -212,8 +218,11 @@ int main()
assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.01);
}
}
}
{
}
void
test4()
{
typedef std::piecewise_constant_distribution<> D;
typedef std::mt19937_64 G;
G g;
@ -272,8 +281,11 @@ int main()
assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.01);
}
}
}
{
}
void
test5()
{
typedef std::piecewise_constant_distribution<> D;
typedef std::mt19937_64 G;
G g;
@ -332,8 +344,11 @@ int main()
assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.01);
}
}
}
{
}
void
test6()
{
typedef std::piecewise_constant_distribution<> D;
typedef std::mt19937_64 G;
G g;
@ -392,8 +407,11 @@ int main()
assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.01);
}
}
}
{
}
void
test7()
{
typedef std::piecewise_constant_distribution<> D;
typedef std::mt19937_64 G;
G g;
@ -452,8 +470,11 @@ int main()
assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.01);
}
}
}
{
}
void
test8()
{
typedef std::piecewise_constant_distribution<> D;
typedef std::mt19937_64 G;
G g;
@ -512,8 +533,11 @@ int main()
assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.01);
}
}
}
{
}
void
test9()
{
typedef std::piecewise_constant_distribution<> D;
typedef std::mt19937_64 G;
G g;
@ -572,8 +596,11 @@ int main()
assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.01);
}
}
}
{
}
void
test10()
{
typedef std::piecewise_constant_distribution<> D;
typedef std::mt19937_64 G;
G g;
@ -632,8 +659,11 @@ int main()
assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.01);
}
}
}
{
}
void
test11()
{
typedef std::piecewise_constant_distribution<> D;
typedef std::mt19937_64 G;
G g;
@ -692,5 +722,19 @@ int main()
assert(std::abs((kurtosis - x_kurtosis) / x_kurtosis) < 0.01);
}
}
}
}
int main()
{
test1();
test2();
test3();
test4();
test5();
test6();
test7();
test8();
test9();
test10();
test11();
}

View File

@ -40,9 +40,9 @@ f(double x, double a, double m, double b, double c)
return a + m*(sqr(x) - sqr(b))/2 + c*(x-b);
}
int main()
void
test1()
{
{
typedef std::piecewise_linear_distribution<> D;
typedef D::param_type P;
typedef std::mt19937_64 G;
@ -91,8 +91,11 @@ int main()
}
assert(std::abs(f(u[i], a, m, bk, c) - double(i)/N) < .001);
}
}
{
}
void
test2()
{
typedef std::piecewise_linear_distribution<> D;
typedef D::param_type P;
typedef std::mt19937_64 G;
@ -141,8 +144,11 @@ int main()
}
assert(std::abs(f(u[i], a, m, bk, c) - double(i)/N) < .001);
}
}
{
}
void
test3()
{
typedef std::piecewise_linear_distribution<> D;
typedef D::param_type P;
typedef std::mt19937_64 G;
@ -191,8 +197,11 @@ int main()
}
assert(std::abs(f(u[i], a, m, bk, c) - double(i)/N) < .001);
}
}
{
}
void
test4()
{
typedef std::piecewise_linear_distribution<> D;
typedef D::param_type P;
typedef std::mt19937_64 G;
@ -241,8 +250,11 @@ int main()
}
assert(std::abs(f(u[i], a, m, bk, c) - double(i)/N) < .001);
}
}
{
}
void
test5()
{
typedef std::piecewise_linear_distribution<> D;
typedef D::param_type P;
typedef std::mt19937_64 G;
@ -291,8 +303,11 @@ int main()
}
assert(std::abs(f(u[i], a, m, bk, c) - double(i)/N) < .001);
}
}
{
}
void
test6()
{
typedef std::piecewise_linear_distribution<> D;
typedef D::param_type P;
typedef std::mt19937_64 G;
@ -341,5 +356,14 @@ int main()
}
assert(std::abs(f(u[i], a, m, bk, c) - double(i)/N) < .001);
}
}
}
int main()
{
test1();
test2();
test3();
test4();
test5();
test6();
}

View File

@ -15,7 +15,7 @@
// the following definitions in this order:
// 1) is_swappable, is_nothrow_swappable
// 2) iter_swap, swap_ranges
// 3) swap(T (&)[N], T(&)[N]
// 3) swap(T (&)[N], T (&)[N])
// This test checks that (1) and (2) see forward declarations
// for (3).
#include <type_traits>
@ -27,7 +27,7 @@
int main()
{
// Use a builtin type so we don't get ADL lookup.
typedef double T[42][50];
typedef double T[17][29];
{
LIBCPP_STATIC_ASSERT(std::__is_swappable<T>::value, "");
#if TEST_STD_VER > 14
@ -38,6 +38,6 @@ int main()
T t1 = {};
T t2 = {};
std::iter_swap(t1, t2);
std::swap_ranges(t1, t1 + 42, t2);
std::swap_ranges(t1, t1 + 17, t2);
}
}