Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r79854 - in sandbox/big_number: boost/multiprecision libs/multiprecision/performance libs/multiprecision/test
From: john_at_[hidden]
Date: 2012-08-02 13:14:18


Author: johnmaddock
Date: 2012-08-02 13:14:17 EDT (Thu, 02 Aug 2012)
New Revision: 79854
URL: http://svn.boost.org/trac/boost/changeset/79854

Log:
Fix Linux x64 C++0x build issues.
Text files modified:
   sandbox/big_number/boost/multiprecision/mp_number.hpp | 10 +++++-----
   sandbox/big_number/libs/multiprecision/performance/arithmetic_backend.hpp | 7 ++++---
   sandbox/big_number/libs/multiprecision/performance/delaunay_test.cpp | 7 ++-----
   sandbox/big_number/libs/multiprecision/test/Jamfile.v2 | 2 +-
   4 files changed, 12 insertions(+), 14 deletions(-)

Modified: sandbox/big_number/boost/multiprecision/mp_number.hpp
==============================================================================
--- sandbox/big_number/boost/multiprecision/mp_number.hpp (original)
+++ sandbox/big_number/boost/multiprecision/mp_number.hpp 2012-08-02 13:14:17 EDT (Thu, 02 Aug 2012)
@@ -1471,23 +1471,23 @@
 
    // Tests if the expression contains a reference to *this:
    template <class Exp>
- BOOST_CONSTEXPR bool contains_self(const Exp& e)const BOOST_NOEXCEPT
+ bool contains_self(const Exp& e)const BOOST_NOEXCEPT
    {
       return contains_self(e, typename Exp::arity());
    }
    template <class Exp>
- BOOST_CONSTEXPR bool contains_self(const Exp& e, mpl::int_<0> const&)const BOOST_NOEXCEPT
+ bool contains_self(const Exp& e, mpl::int_<0> const&)const BOOST_NOEXCEPT
    {
       return is_realy_self(e.value());
    }
    template <class Exp>
- BOOST_CONSTEXPR bool contains_self(const Exp& e, mpl::int_<1> const&)const BOOST_NOEXCEPT
+ bool contains_self(const Exp& e, mpl::int_<1> const&)const BOOST_NOEXCEPT
    {
       typedef typename Exp::left_type child_type;
       return contains_self(e.left(), typename child_type::arity());
    }
    template <class Exp>
- BOOST_CONSTEXPR bool contains_self(const Exp& e, mpl::int_<2> const&)const BOOST_NOEXCEPT
+ bool contains_self(const Exp& e, mpl::int_<2> const&)const BOOST_NOEXCEPT
    {
       typedef typename Exp::left_type child0_type;
       typedef typename Exp::right_type child1_type;
@@ -1495,7 +1495,7 @@
          || contains_self(e.right(), typename child1_type::arity());
    }
    template <class Exp>
- BOOST_CONSTEXPR bool contains_self(const Exp& e, mpl::int_<3> const&)const BOOST_NOEXCEPT
+ bool contains_self(const Exp& e, mpl::int_<3> const&)const BOOST_NOEXCEPT
    {
       typedef typename Exp::left_type child0_type;
       typedef typename Exp::middle_type child1_type;

Modified: sandbox/big_number/libs/multiprecision/performance/arithmetic_backend.hpp
==============================================================================
--- sandbox/big_number/libs/multiprecision/performance/arithmetic_backend.hpp (original)
+++ sandbox/big_number/libs/multiprecision/performance/arithmetic_backend.hpp 2012-08-02 13:14:17 EDT (Thu, 02 Aug 2012)
@@ -13,6 +13,7 @@
 #include <boost/lexical_cast.hpp>
 #include <boost/math/concepts/real_concept.hpp>
 #include <boost/multiprecision/mp_number.hpp>
+#include <boost/math/common_factor_rt.hpp>
 
 namespace boost{
 namespace multiprecision{
@@ -223,17 +224,17 @@
 }
 
 template <class Arithmetic, class A2>
-inline typename enable_if<is_arithmetic<A2>>::type eval_add(arithmetic_backend<Arithmetic>& result, const arithmetic_backend<Arithmetic>& a, const A2& b)
+inline typename enable_if<is_arithmetic<A2> >::type eval_add(arithmetic_backend<Arithmetic>& result, const arithmetic_backend<Arithmetic>& a, const A2& b)
 {
    result.data() = a.data() + b;
 }
 template <class Arithmetic, class A2>
-inline typename enable_if<is_arithmetic<A2>>::type eval_subtract(arithmetic_backend<Arithmetic>& result, const arithmetic_backend<Arithmetic>& a, const A2& b)
+inline typename enable_if<is_arithmetic<A2> >::type eval_subtract(arithmetic_backend<Arithmetic>& result, const arithmetic_backend<Arithmetic>& a, const A2& b)
 {
    result.data() = a.data() - b;
 }
 template <class Arithmetic, class A2>
-inline typename enable_if<is_arithmetic<A2>>::type eval_multiply(arithmetic_backend<Arithmetic>& result, const arithmetic_backend<Arithmetic>& a, const A2& b)
+inline typename enable_if<is_arithmetic<A2> >::type eval_multiply(arithmetic_backend<Arithmetic>& result, const arithmetic_backend<Arithmetic>& a, const A2& b)
 {
    result.data() = a.data() * b;
 }

Modified: sandbox/big_number/libs/multiprecision/performance/delaunay_test.cpp
==============================================================================
--- sandbox/big_number/libs/multiprecision/performance/delaunay_test.cpp (original)
+++ sandbox/big_number/libs/multiprecision/performance/delaunay_test.cpp 2012-08-02 13:14:17 EDT (Thu, 02 Aug 2012)
@@ -129,12 +129,12 @@
 }
 
 template <class R, class T>
-__forceinline void mul_2n(R& r, const T& a, const T& b)
+inline void mul_2n(R& r, const T& a, const T& b)
 {
    r = R(a) * b;
 }
 
-__forceinline void mul_2n(int128_t& r, const boost::int64_t& a, const boost::int64_t& b)
+inline void mul_2n(int128_t& r, const boost::int64_t& a, const boost::int64_t& b)
 {
    r = mult_64x64_to_128(a, b);
 }
@@ -156,9 +156,6 @@
    typedef typename Traits::i64_t i64;
    typedef typename Traits::i128_t i128;
 
- i64 ax64 = ax, ay64 = ay, bx64 = bx, by64 = by,
- cx64 = cx, cy64 = cy, dx64 = dx, dy64 = dy;
-
    i64 cos_abc, t;
    mul_2n(cos_abc, (ax-bx), (cx-bx));
    mul_2n(t, (ay-by), (cy-by));

Modified: sandbox/big_number/libs/multiprecision/test/Jamfile.v2
==============================================================================
--- sandbox/big_number/libs/multiprecision/test/Jamfile.v2 (original)
+++ sandbox/big_number/libs/multiprecision/test/Jamfile.v2 2012-08-02 13:14:17 EDT (Thu, 02 Aug 2012)
@@ -578,7 +578,7 @@
         : test_constants_cpp_dec_float ;
 
 
-run test_move.cpp mpfr
+run test_move.cpp mpfr gmp
         : # command line
         : # input files
         : # requirements


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk