diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2023-06-06 16:09:29 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2023-06-07 16:51:59 +0100 |
commit | ae12aced97b41c7498ffc5b4dd314878289547ab (patch) | |
tree | 47b98dc089aa93d99c035aab3cf3af14c8b0d06d /libstdc++-v3/testsuite/26_numerics | |
parent | 8cc8707446b77f9413654b31704f5a639673c916 (diff) | |
download | gcc-ae12aced97b41c7498ffc5b4dd314878289547ab.zip gcc-ae12aced97b41c7498ffc5b4dd314878289547ab.tar.gz gcc-ae12aced97b41c7498ffc5b4dd314878289547ab.tar.bz2 |
libstdc++: Fix some tests that fail with -fexcess-precision=standard
libstdc++-v3/ChangeLog:
* testsuite/20_util/duration/cons/2.cc: Use values that aren't
affected by rounding.
* testsuite/20_util/from_chars/5.cc: Cast arithmetic result to
double before comparing for equality.
* testsuite/20_util/from_chars/6.cc: Likewise.
* testsuite/20_util/variant/86874.cc: Use values that aren't
affected by rounding.
* testsuite/25_algorithms/lower_bound/partitioned.cc: Compare to
original value instead of to floating-point-literal.
* testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
Cast arithmetic result to double before comparing for equality.
* testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc:
Likewise.
* testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc:
Likewise.
* testsuite/26_numerics/valarray/transcend.cc (eq): Check that
the absolute difference is less than 0.01 instead of comparing
to two decimal places.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
Cast arithmetic result to double before comparing for equality.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
Likewise.
* testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
Diffstat (limited to 'libstdc++-v3/testsuite/26_numerics')
4 files changed, 6 insertions, 6 deletions
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/range.cc b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/range.cc index 75db967..440fdc4 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/range.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/range.cc @@ -33,8 +33,8 @@ test01() std::discrete_distribution<> u(wt.begin(), wt.end()); std::vector<double> probablility = u.probabilities(); VERIFY( probablility.size() == 5 ); - VERIFY( probablility[0] == 0.5 / 6.0 ); - VERIFY( probablility[2] == 2.5 / 6.0 ); + VERIFY( probablility[0] == double(0.5 / 6.0) ); + VERIFY( probablility[2] == double(2.5 / 6.0) ); } int main() diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc index 114a5ee..b9f4f73 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc @@ -38,8 +38,8 @@ test01() VERIFY( interval[0] == 0.0 ); VERIFY( interval[5] == 5.0 ); VERIFY( density.size() == 5 ); - VERIFY( density[0] == 0.5 / 6.0 ); - VERIFY( density[2] == 2.5 / 6.0 ); + VERIFY( density[0] == double(0.5 / 6.0) ); + VERIFY( density[2] == double(2.5 / 6.0) ); } int main() diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc index 01e291c..95650b1 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc @@ -39,7 +39,7 @@ test01() VERIFY( interval[5] == 5.0 ); VERIFY( density.size() == 6 ); VERIFY( density[0] == 0.0 ); - VERIFY( density[4] == 3.5 / 8.5 ); + VERIFY( density[4] == double(3.5 / 8.5) ); } int main() diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/transcend.cc b/libstdc++-v3/testsuite/26_numerics/valarray/transcend.cc index 8288467..19a17f3 100644 --- a/libstdc++-v3/testsuite/26_numerics/valarray/transcend.cc +++ b/libstdc++-v3/testsuite/26_numerics/valarray/transcend.cc @@ -22,7 +22,7 @@ bool eq(double d, double e) { - return (int)(d * 100) == (int)(e * 100); + return std::abs(d - e) < 0.01; } void |