aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/26_numerics
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2023-06-06 16:09:29 +0100
committerJonathan Wakely <jwakely@redhat.com>2023-06-07 16:51:59 +0100
commitae12aced97b41c7498ffc5b4dd314878289547ab (patch)
tree47b98dc089aa93d99c035aab3cf3af14c8b0d06d /libstdc++-v3/testsuite/26_numerics
parent8cc8707446b77f9413654b31704f5a639673c916 (diff)
downloadgcc-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')
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/range.cc4
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc4
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/transcend.cc2
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