diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 56414255cc72..6f175345ebc3 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,11 @@ +2007-10-12 Jesper Nilsson + + * testsuite/tr1/5_numerical_facilities/special_functions/ + 20_riemann_zeta/check_value_neg.c (MAX_ITERATIONS): Add limit + when target is simulator. + * testsuite/tr1/5_numerical_facilities/special_functions/ + 20_riemann_zeta/check_value_pos.c (MAX_ITERATIONS): Likewise. + 2007-10-11 Roger Sayle * acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add EOVERFLOW for Tru64. diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_value_neg.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_value_neg.cc index 2a86846ea4ae..ac80c334d31c 100644 --- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_value_neg.cc +++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_value_neg.cc @@ -20,6 +20,12 @@ // riemann_zeta +// This can take long on simulators, timing out the test. +// { dg-options "-DMAX_ITERATIONS=5" { target simulator } } + +#ifndef MAX_ITERATIONS +#define MAX_ITERATIONS (sizeof(data001) / sizeof(testcase_riemann_zeta)) +#endif // Compare against values generated by the GNU Scientific Library. // The GSL can be found on the web: http://www.gnu.org/software/gsl/ @@ -106,8 +112,7 @@ void test001() const Tp eps = std::numeric_limits::epsilon(); Tp max_abs_diff = -Tp(1); Tp max_abs_frac = -Tp(1); - unsigned int num_datum = sizeof(data001) - / sizeof(testcase_riemann_zeta); + unsigned int num_datum = MAX_ITERATIONS; for (unsigned int i = 0; i < num_datum; ++i) { const Tp f = std::tr1::riemann_zeta(Tp(data001[i].x)); diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_value_pos.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_value_pos.cc index 3188c334f5bf..e5d8758ec4d6 100644 --- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_value_pos.cc +++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_value_pos.cc @@ -20,6 +20,12 @@ // riemann_zeta +// This can take long on simulators, timing out the test. +// { dg-options "-DMAX_ITERATIONS=5" { target simulator } } + +#ifndef MAX_ITERATIONS +#define MAX_ITERATIONS (sizeof(data001) / sizeof(testcase_riemann_zeta)) +#endif // Compare against values generated by the GNU Scientific Library. // The GSL can be found on the web: http://www.gnu.org/software/gsl/ @@ -196,8 +202,7 @@ void test001() const Tp eps = std::numeric_limits::epsilon(); Tp max_abs_diff = -Tp(1); Tp max_abs_frac = -Tp(1); - unsigned int num_datum = sizeof(data001) - / sizeof(testcase_riemann_zeta); + unsigned int num_datum = MAX_ITERATIONS; for (unsigned int i = 0; i < num_datum; ++i) { const Tp f = std::tr1::riemann_zeta(Tp(data001[i].x));