parent
4084bc0283
commit
6c001bfaa2
@ -0,0 +1,44 @@
|
||||
From 9f68be99919871283238e4a12940d9581d724af2 Mon Sep 17 00:00:00 2001
|
||||
From: David Ostrovsky <david@ostrovsky.org>
|
||||
Date: Thu, 4 May 2017 19:14:13 +0200
|
||||
Subject: [PATCH] Use gcd from boost::math::gcd
|
||||
|
||||
According to the documentation "Run-time GCD & LCM Determination": [1],
|
||||
gcd should be consumed from boost::math::gcd.
|
||||
|
||||
[1] <http://www.boost.org/doc/libs/1_64_0/libs/math/doc/html/math_toolkit/run_time.html>
|
||||
|
||||
Change-Id: I026a4e8ead75399765eb73fa5434a57958676383
|
||||
Reviewed-on: https://gerrit.libreoffice.org/37260
|
||||
Tested-by: Jenkins <ci@libreoffice.org>
|
||||
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
||||
---
|
||||
tools/source/generic/fract.cxx | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tools/source/generic/fract.cxx b/tools/source/generic/fract.cxx
|
||||
index bc9bef467e86..afcb2e60ba42 100644
|
||||
--- a/tools/source/generic/fract.cxx
|
||||
+++ b/tools/source/generic/fract.cxx
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <algorithm>
|
||||
#include <cmath>
|
||||
|
||||
+#include <boost/math/common_factor_rt.hpp>
|
||||
#include <boost/rational.hpp>
|
||||
|
||||
template<typename T>
|
||||
@@ -180,8 +181,8 @@ namespace
|
||||
T den = r.denominator();
|
||||
|
||||
// Avoid overflow and preserve normalization
|
||||
- T gcd1 = boost::integer::gcd(i.numerator(), den);
|
||||
- T gcd2 = boost::integer::gcd(num, i.denominator());
|
||||
+ T gcd1 = boost::math::gcd(i.numerator(), den);
|
||||
+ T gcd2 = boost::math::gcd(num, i.denominator());
|
||||
|
||||
bool fail = false;
|
||||
fail |= o3tl::checked_multiply(i.numerator() / gcd1, num / gcd2, num);
|
||||
--
|
||||
2.12.2
|
||||
|
Loading…
Reference in new issue