diff options
Diffstat (limited to 'boost/multiprecision/cpp_int/misc.hpp')
-rw-r--r-- | boost/multiprecision/cpp_int/misc.hpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/boost/multiprecision/cpp_int/misc.hpp b/boost/multiprecision/cpp_int/misc.hpp index 0ef79b9445..266edac2ed 100644 --- a/boost/multiprecision/cpp_int/misc.hpp +++ b/boost/multiprecision/cpp_int/misc.hpp @@ -9,6 +9,7 @@ #define BOOST_MP_CPP_INT_MISC_HPP #include <boost/multiprecision/detail/bitscan.hpp> // lsb etc +#include <boost/integer/common_factor_rt.hpp> // gcd/lcm #ifdef BOOST_MSVC #pragma warning(push) @@ -505,14 +506,14 @@ template <unsigned MinBits1, unsigned MaxBits1, cpp_integer_type SignType1, cpp_ BOOST_MP_FORCEINLINE typename enable_if_c<is_trivial_cpp_int<cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1> >::value>::type eval_gcd(cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1>& result, const cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1>& a, const cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1>& b) BOOST_NOEXCEPT { - *result.limbs() = boost::math::gcd(*a.limbs(), *b.limbs()); + *result.limbs() = boost::integer::gcd(*a.limbs(), *b.limbs()); } // This one is only enabled for unchecked cpp_int's, for checked int's we need the checking in the default version: template <unsigned MinBits1, unsigned MaxBits1, cpp_integer_type SignType1, cpp_int_check_type Checked1, class Allocator1> BOOST_MP_FORCEINLINE typename enable_if_c<is_trivial_cpp_int<cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1> >::value && (Checked1 == unchecked)>::type eval_lcm(cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1>& result, const cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1>& a, const cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1>& b) BOOST_NOEXCEPT_IF((is_non_throwing_cpp_int<cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1> >::value)) { - *result.limbs() = boost::math::lcm(*a.limbs(), *b.limbs()); + *result.limbs() = boost::integer::lcm(*a.limbs(), *b.limbs()); result.normalize(); // result may overflow the specified number of bits } |