diff options
author | Benjamin Barenblat <bbaren@google.com> | 2021-04-08 10:44:48 -0400 |
---|---|---|
committer | Benjamin Barenblat <bbaren@google.com> | 2021-04-08 10:44:48 -0400 |
commit | 1268f609aafd78796a66f13fa7eac88efe0cb097 (patch) | |
tree | 9fe100d2b38d63c07f5a654129e62c84df220adc /debian/patches/fma-contraction.diff | |
parent | feac56827dd1f0d159ea0bcf2ce37ef1990ac743 (diff) |
Begin updating packaging for Abseil 20210324
Bump package versions and names to reflect the new Abseil LTS. Remove
patches that have been incorporated upstream, and refresh other
patches.
Diffstat (limited to 'debian/patches/fma-contraction.diff')
-rw-r--r-- | debian/patches/fma-contraction.diff | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/debian/patches/fma-contraction.diff b/debian/patches/fma-contraction.diff deleted file mode 100644 index 95181a36..00000000 --- a/debian/patches/fma-contraction.diff +++ /dev/null @@ -1,63 +0,0 @@ -From: Benjamin Barenblat <bbaren@google.com> -Subject: Make tests tolerant of FMA contraction -Forwarded: yes -Applied-Upstream: https://github.com/abseil/abseil-cpp/commit/b0735979d778a768caee207f01f327535cbd2140 - -Weaken Duration.ToDoubleSecondsCheckEdgeCases and -Duration.ToDoubleSecondsCheckRandom to make them less sensitive to fused -multiply/add contraction. - -The author works at Google. Upstream applied this patch as Piper -revision 360297653 and exported it to GitHub; the the Applied-Upstream URL -above points to the exported commit. - ---- a/absl/time/duration_test.cc -+++ b/absl/time/duration_test.cc -@@ -1369,10 +1369,13 @@ - EXPECT_THAT(ToTimeval(absl::Nanoseconds(2000)), TimevalMatcher(tv)); - } - --void VerifySameAsMul(double time_as_seconds, int* const misses) { -+void VerifyApproxSameAsMul(double time_as_seconds, int* const misses) { - auto direct_seconds = absl::Seconds(time_as_seconds); - auto mul_by_one_second = time_as_seconds * absl::Seconds(1); -- if (direct_seconds != mul_by_one_second) { -+ // These are expected to differ by up to one tick due to fused multiply/add -+ // contraction. -+ if (absl::AbsDuration(direct_seconds - mul_by_one_second) > -+ absl::time_internal::MakeDuration(0, 1u)) { - if (*misses > 10) return; - ASSERT_LE(++(*misses), 10) << "Too many errors, not reporting more."; - EXPECT_EQ(direct_seconds, mul_by_one_second) -@@ -1384,7 +1387,8 @@ - // For a variety of interesting durations, we find the exact point - // where one double converts to that duration, and the very next double - // converts to the next duration. For both of those points, verify that --// Seconds(point) returns the same duration as point * Seconds(1.0) -+// Seconds(point) returns a duration near point * Seconds(1.0). (They may -+// not be exactly equal due to fused multiply/add contraction.) - TEST(Duration, ToDoubleSecondsCheckEdgeCases) { - constexpr uint32_t kTicksPerSecond = absl::time_internal::kTicksPerSecond; - constexpr auto duration_tick = absl::time_internal::MakeDuration(0, 1u); -@@ -1423,8 +1427,8 @@ - } - // Now low_edge is the highest double that converts to Duration d, - // and high_edge is the lowest double that converts to Duration after_d. -- VerifySameAsMul(low_edge, &misses); -- VerifySameAsMul(high_edge, &misses); -+ VerifyApproxSameAsMul(low_edge, &misses); -+ VerifyApproxSameAsMul(high_edge, &misses); - } - } - } -@@ -1444,8 +1448,8 @@ - int misses = 0; - for (int i = 0; i < 1000000; ++i) { - double d = std::exp(uniform(gen)); -- VerifySameAsMul(d, &misses); -- VerifySameAsMul(-d, &misses); -+ VerifyApproxSameAsMul(d, &misses); -+ VerifyApproxSameAsMul(-d, &misses); - } - } - |