summaryrefslogtreecommitdiff
path: root/debian/patches/fma-contraction.diff
diff options
context:
space:
mode:
authorGravatar Benjamin Barenblat <bbaren@google.com>2021-04-08 10:44:48 -0400
committerGravatar Benjamin Barenblat <bbaren@google.com>2021-04-08 10:44:48 -0400
commit1268f609aafd78796a66f13fa7eac88efe0cb097 (patch)
tree9fe100d2b38d63c07f5a654129e62c84df220adc /debian/patches/fma-contraction.diff
parentfeac56827dd1f0d159ea0bcf2ce37ef1990ac743 (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.diff63
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);
- }
- }
-