Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r85253 - in trunk: boost/multiprecision libs/multiprecision/test
From: john_at_[hidden]
Date: 2013-08-09 08:27:11


Author: johnmaddock
Date: 2013-08-09 08:27:11 EDT (Fri, 09 Aug 2013)
New Revision: 85253
URL: http://svn.boost.org/trac/boost/changeset/85253

Log:
Update for Intel 13.1

Text files modified:
   trunk/boost/multiprecision/float128.hpp | 8 +++++---
   trunk/libs/multiprecision/test/Jamfile.v2 | 12 ++++++------
   2 files changed, 11 insertions(+), 9 deletions(-)

Modified: trunk/boost/multiprecision/float128.hpp
==============================================================================
--- trunk/boost/multiprecision/float128.hpp Fri Aug 9 08:26:39 2013 (r85252)
+++ trunk/boost/multiprecision/float128.hpp 2013-08-09 08:27:11 EDT (Fri, 09 Aug 2013) (r85253)
@@ -11,7 +11,7 @@
 #include <boost/multiprecision/number.hpp>
 
 
-#ifndef BOOST_INTEL
+#if !defined(BOOST_INTEL) || (defined(BOOST_INTEL_CXX_VERSION) && (BOOST_INTEL_CXX_VERSION >= 1310) && defined(__GNUC__))
 
 extern "C" {
 #include <quadmath.h>
@@ -21,6 +21,8 @@
 
 #else
 
+#define BOOST_MP_FLOAT128_IS_INTEL_QUAD
+
 #include <boost/multiprecision/detail/float_string_cvt.hpp>
 
 typedef _Quad float128_type;
@@ -132,7 +134,7 @@
    }
    float128_backend& operator = (const char* s)
    {
-#ifndef BOOST_INTEL
+#ifndef BOOST_MP_FLOAT128_IS_INTEL_QUAD
       char* p_end;
       m_value = strtoflt128(s, &p_end);
       if(p_end - s != (std::ptrdiff_t)std::strlen(s))
@@ -150,7 +152,7 @@
    }
    std::string str(std::streamsize digits, std::ios_base::fmtflags f)const
    {
-#ifndef BOOST_INTEL
+#ifndef BOOST_MP_FLOAT128_IS_INTEL_QUAD
       char buf[100];
       boost::scoped_array<char> buf2;
       std::string format = "%";

Modified: trunk/libs/multiprecision/test/Jamfile.v2
==============================================================================
--- trunk/libs/multiprecision/test/Jamfile.v2 Fri Aug 9 08:26:39 2013 (r85252)
+++ trunk/libs/multiprecision/test/Jamfile.v2 2013-08-09 08:27:11 EDT (Fri, 09 Aug 2013) (r85253)
@@ -108,7 +108,7 @@
 run test_arithmetic_mpfi_50.cpp mpfi mpfr gmp : : : [ check-target-builds ../config//has_mpfi : : <build>no ] ;
 
 run test_arithmetic_float_128.cpp quadmath : : : [ check-target-builds ../config//has_float128 : : <build>no ] ;
-run test_arithmetic_float_128.cpp : : : [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] : test_arithmetic_intel_quad ;
+run test_arithmetic_float_128.cpp : : : [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] : test_arithmetic_intel_quad ;
 
 run test_numeric_limits.cpp
         : # command line
@@ -208,7 +208,7 @@
         : # input files
         : # requirements
               <define>TEST_FLOAT128
- [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ]
+ [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ]
         : test_numeric_limits_intel_quad ;
 
 for local source in test_exp.cpp test_log.cpp test_pow.cpp test_sinh.cpp test_sqrt.cpp test_cosh.cpp test_tanh.cpp test_sin.cpp test_cos.cpp test_tan.cpp test_asin.cpp test_acos.cpp test_atan.cpp test_round.cpp test_fpclassify.cpp
@@ -251,7 +251,7 @@
            : # command line
            : # input files
            : # requirements
- [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ]
+ [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ]
             <define>TEST_FLOAT128
            : $(source:B)_intel_quad ;
 }
@@ -376,7 +376,7 @@
         : # requirements
               <define>TEST_FLOAT128
          release # Otherwise runtime is slow
- [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ]
+ [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ]
         : test_float_io_intel_quad ;
 
 run test_int_io.cpp $(TOMMATH)
@@ -510,7 +510,7 @@
         : # command line
         : # input files
         : # requirements
- [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ]
+ [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ]
         : float128_snips_intel_quad ;
 
 run ../example/logged_adaptor.cpp mpfi mpfr gmp
@@ -649,7 +649,7 @@
            : # command line
            : # input files
            : # requirements
- [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ]
+ [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ]
             <optimization>speed
             <define>TEST_FLOAT128
             <define>BOOST_ALL_NO_LIB


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