Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r75166 - in sandbox/big_number: boost/multiprecision boost/multiprecision/detail boost/multiprecision/detail/functions libs/multiprecision/test
From: john_at_[hidden]
Date: 2011-10-29 07:57:57


Author: johnmaddock
Date: 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
New Revision: 75166
URL: http://svn.boost.org/trac/boost/changeset/75166

Log:
Get mp_float passing all the tests, fix some bugs in acos and atan implementations.
Text files modified:
   sandbox/big_number/boost/multiprecision/detail/default_ops.hpp | 12 +
   sandbox/big_number/boost/multiprecision/detail/functions/trig.hpp | 7
   sandbox/big_number/boost/multiprecision/gmp.hpp | 28 ++++
   sandbox/big_number/boost/multiprecision/mp_float.hpp | 203 ++++++++++++++++++++++++++++++++++++-
   sandbox/big_number/boost/multiprecision/mp_number.hpp | 2
   sandbox/big_number/libs/multiprecision/test/Jamfile.v2 | 85 +++++++++++++++
   sandbox/big_number/libs/multiprecision/test/mp_number_concept_check.cpp | 18 +-
   sandbox/big_number/libs/multiprecision/test/test_acos.cpp | 13 +-
   sandbox/big_number/libs/multiprecision/test/test_arithmetic.cpp | 6 -
   sandbox/big_number/libs/multiprecision/test/test_asin.cpp | 13 +-
   sandbox/big_number/libs/multiprecision/test/test_atan.cpp | 25 ++--
   sandbox/big_number/libs/multiprecision/test/test_cos.cpp | 215 ++++++++++++++++++++-------------------
   sandbox/big_number/libs/multiprecision/test/test_cosh.cpp | 13 +-
   sandbox/big_number/libs/multiprecision/test/test_exp.cpp | 13 +-
   sandbox/big_number/libs/multiprecision/test/test_log.cpp | 13 +-
   sandbox/big_number/libs/multiprecision/test/test_pow.cpp | 13 +-
   sandbox/big_number/libs/multiprecision/test/test_sin.cpp | 23 +--
   sandbox/big_number/libs/multiprecision/test/test_sinh.cpp | 13 +-
   sandbox/big_number/libs/multiprecision/test/test_tanh.cpp | 13 +-
   19 files changed, 514 insertions(+), 214 deletions(-)

Modified: sandbox/big_number/boost/multiprecision/detail/default_ops.hpp
==============================================================================
--- sandbox/big_number/boost/multiprecision/detail/default_ops.hpp (original)
+++ sandbox/big_number/boost/multiprecision/detail/default_ops.hpp 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
@@ -314,7 +314,12 @@
    typedef typename calculate_next_larger_type<R, B>::type next_type;
    next_type n;
    convert_to(&n, backend);
- *result = static_cast<R>(n);
+ if(std::numeric_limits<R>::is_specialized && (n > (std::numeric_limits<R>::max)()))
+ {
+ *result = (std::numeric_limits<R>::max)();
+ }
+ else
+ *result = static_cast<R>(n);
 }
 
 template <class R, class B>
@@ -386,14 +391,15 @@
 template <class T>
 inline void eval_round(T& result, const T& a)
 {
+ typedef typename boost::multiprecision::detail::canonical<float, T>::type fp_type;
    if(get_sign(a) < 0)
    {
- subtract(result, a, 0.5f);
+ subtract(result, a, fp_type(0.5f));
       eval_ceil(result, result);
    }
    else
    {
- add(result, a, 0.5f);
+ add(result, a, fp_type(0.5f));
       eval_floor(result, result);
    }
 }

Modified: sandbox/big_number/boost/multiprecision/detail/functions/trig.hpp
==============================================================================
--- sandbox/big_number/boost/multiprecision/detail/functions/trig.hpp (original)
+++ sandbox/big_number/boost/multiprecision/detail/functions/trig.hpp 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
@@ -546,7 +546,10 @@
    }
    else if(c == 0)
    {
- result = ui_type(0);
+ if(get_sign(x) < 0)
+ result = get_constant_pi<T>();
+ else
+ result = ui_type(0);
       return;
    }
 
@@ -694,7 +697,7 @@
    case FP_ZERO:
       {
          eval_ldexp(result, get_constant_pi<T>(), -1);
- if(get_sign(x) < 0)
+ if(get_sign(y) < 0)
             result.negate();
          return;
       }

Modified: sandbox/big_number/boost/multiprecision/gmp.hpp
==============================================================================
--- sandbox/big_number/boost/multiprecision/gmp.hpp (original)
+++ sandbox/big_number/boost/multiprecision/gmp.hpp 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
@@ -556,12 +556,21 @@
 template <unsigned digits10>
 inline void convert_to(unsigned long* result, const gmp_float<digits10>& val)
 {
- *result = mpf_get_ui(val.data());
+ if(0 == mpf_fits_ulong_p(val.data()))
+ *result = (std::numeric_limits<unsigned long>::max)();
+ else
+ *result = mpf_get_ui(val.data());
 }
 template <unsigned digits10>
 inline void convert_to(long* result, const gmp_float<digits10>& val)
 {
- *result = mpf_get_si(val.data());
+ if(0 == mpf_fits_slong_p(val.data()))
+ {
+ *result = (std::numeric_limits<unsigned long>::max)();
+ *result *= mpf_sgn(val.data());
+ }
+ else
+ *result = mpf_get_si(val.data());
 }
 template <unsigned digits10>
 inline void convert_to(double* result, const gmp_float<digits10>& val)
@@ -1122,11 +1131,22 @@
 }
 inline void convert_to(unsigned long* result, const gmp_int& val)
 {
- *result = mpz_get_ui(val.data());
+ if(0 == mpz_fits_ulong_p(val.data()))
+ {
+ *result = (std::numeric_limits<unsigned long>::max)();
+ }
+ else
+ *result = mpz_get_ui(val.data());
 }
 inline void convert_to(long* result, const gmp_int& val)
 {
- *result = mpz_get_si(val.data());
+ if(0 == mpz_fits_slong_p(val.data()))
+ {
+ *result = (std::numeric_limits<unsigned long>::max)();
+ *result *= mpz_sgn(val.data());
+ }
+ else
+ *result = mpz_get_si(val.data());
 }
 inline void convert_to(double* result, const gmp_int& val)
 {

Modified: sandbox/big_number/boost/multiprecision/mp_float.hpp
==============================================================================
--- sandbox/big_number/boost/multiprecision/mp_float.hpp (original)
+++ sandbox/big_number/boost/multiprecision/mp_float.hpp 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
@@ -16,6 +16,11 @@
 #include <boost/array.hpp>
 #include <boost/multiprecision/mp_number.hpp>
 
+//
+// Headers required for Boost.Math integration:
+//
+#include <boost/math/policies/policy.hpp>
+
 namespace boost{
 namespace multiprecision{
 
@@ -88,6 +93,7 @@
             mp_float<Digits10>::zero();
             mp_float<Digits10>::one();
             mp_float<Digits10>::two();
+ mp_float<Digits10>::half();
             mp_float<Digits10>::double_min();
             mp_float<Digits10>::double_max();
             mp_float<Digits10>::long_double_max();
@@ -228,6 +234,12 @@
       static mp_float val(static_cast<unsigned long long>(2u));
       return val;
    }
+ static const mp_float& half()
+ {
+ init.do_nothing();
+ static mp_float val(0.5L);
+ return val;
+ }
    static const mp_float& double_min()
    {
       init.do_nothing();
@@ -403,6 +415,57 @@
       }
    }
    static mp_float pow2(long long i);
+ long long order()const
+ {
+ const bool bo_order_is_zero = ((!isfinite()) || (data[0] == static_cast<boost::uint32_t>(0u)));
+ //
+ // Binary search to find the order of the leading term:
+ //
+ boost::uint32_t prefix = 0;
+
+ if(data[0] >= 100000UL)
+ {
+ if(data[0] >= 10000000UL)
+ {
+ if(data[0] >= 100000000UL)
+ {
+ if(data[0] >= 1000000000UL)
+ prefix = 9;
+ else
+ prefix = 8;
+ }
+ else
+ prefix = 7;
+ }
+ else
+ {
+ if(data[0] >= 1000000UL)
+ prefix = 6;
+ else
+ prefix = 5;
+ }
+ }
+ else
+ {
+ if(data[0] >= 1000UL)
+ {
+ if(data[0] >= 10000UL)
+ prefix = 4;
+ else
+ prefix = 3;
+ }
+ else
+ {
+ if(data[0] >= 100)
+ prefix = 2;
+ else if(data[0] >= 10)
+ prefix = 1;
+ }
+ }
+
+ return (bo_order_is_zero ? static_cast<boost::int64_t>(0)
+ : static_cast<boost::int64_t>(exp + prefix));
+ }
 
 private:
    static bool data_elem_is_non_zero_predicate(const boost::uint32_t& d) { return (d != static_cast<boost::uint32_t>(0u)); }
@@ -418,13 +481,6 @@
    static boost::uint32_t div_loop_n(boost::uint32_t* const u, boost::uint32_t n, const boost::int32_t p);
 
    bool rd_string(const char* const s);
- long long order()const
- {
- const bool bo_order_is_zero = ((!isfinite()) || (data[0] == static_cast<boost::uint32_t>(0u)));
-
- return (bo_order_is_zero ? static_cast<boost::int64_t>(0)
- : static_cast<boost::int64_t>(exp + static_cast<boost::int32_t>(std::log10(static_cast<double>(data[0])) + (std::numeric_limits<double>::epsilon() * 0.9))));
- }
 };
 
 template <unsigned Digits10>
@@ -2462,7 +2518,7 @@
 // Non member function support:
 //
 template <unsigned Digits10>
-int eval_fpclassify(const mp_float<Digits10>& x)
+inline int eval_fpclassify(const mp_float<Digits10>& x)
 {
    if(x.isinf())
       return FP_INFINITE;
@@ -2473,6 +2529,114 @@
    return FP_NORMAL;
 }
 
+template <unsigned Digits10>
+inline void eval_abs(mp_float<Digits10>& result, const mp_float<Digits10>& x)
+{
+ result = x;
+ if(x.isneg())
+ result.negate();
+}
+
+template <unsigned Digits10>
+inline void eval_fabs(mp_float<Digits10>& result, const mp_float<Digits10>& x)
+{
+ result = x;
+ if(x.isneg())
+ result.negate();
+}
+
+template <unsigned Digits10>
+inline void eval_sqrt(mp_float<Digits10>& result, const mp_float<Digits10>& x)
+{
+ result = x;
+ result.calculate_sqrt();
+}
+
+template <unsigned Digits10>
+inline void eval_floor(mp_float<Digits10>& result, const mp_float<Digits10>& x)
+{
+ result = x;
+ if(!x.isfinite() || x.isint())
+ {
+ return;
+ }
+
+ if(x.isneg())
+ result -= mp_float<Digits10>::one();
+ result = result.extract_integer_part();
+}
+
+template <unsigned Digits10>
+inline void eval_ceil(mp_float<Digits10>& result, const mp_float<Digits10>& x)
+{
+ result = x;
+ if(!x.isfinite() || x.isint())
+ {
+ return;
+ }
+
+ if(!x.isneg())
+ result += mp_float<Digits10>::one();
+ result = result.extract_integer_part();
+}
+
+template <unsigned Digits10>
+inline void eval_trunc(mp_float<Digits10>& result, const mp_float<Digits10>& x)
+{
+ if(!x.isfinite() || x.isint())
+ {
+ result = x;
+ return;
+ }
+ result = x.extract_integer_part();
+}
+
+template <unsigned Digits10>
+inline void eval_ldexp(mp_float<Digits10>& result, const mp_float<Digits10>& x, long long e)
+{
+ result = x;
+ result *= mp_float<Digits10>::pow2(e);
+}
+
+template <unsigned Digits10>
+inline void eval_frexp(mp_float<Digits10>& result, const mp_float<Digits10>& x, long long* e)
+{
+ result = x;
+ if(result.isneg())
+ result.negate();
+
+ long long t = result.order();
+
+ if(std::abs(t) > (std::numeric_limits<long long>::max)() / 3)
+ throw std::runtime_error("Exponent is too large to be represented as a power of 2.");
+ t *= 3;
+
+ result *= mp_float<Digits10>::pow2(-t);
+
+ while(result.compare(mp_float<Digits10>::one()) >= 0)
+ {
+ result /= mp_float<Digits10>::two();
+ ++t;
+ }
+ while(result.compare(mp_float<Digits10>::half()) < 0)
+ {
+ result *= mp_float<Digits10>::two();
+ --t;
+ }
+ *e = t;
+ if(x.isneg())
+ result.negate();
+}
+
+template <unsigned Digits10>
+inline void eval_frexp(mp_float<Digits10>& result, const mp_float<Digits10>& x, int* e)
+{
+ long long t;
+ eval_frexp(result, x, &t);
+ if(t > (std::numeric_limits<int>::max)())
+ throw std::runtime_error("Exponent is outside the range of an int");
+ *e = static_cast<int>(t);
+}
 
 typedef mp_number<mp_float<50> > mp_float_50;
 typedef mp_number<mp_float<100> > mp_float_100;
@@ -2521,6 +2685,29 @@
    };
 }
 
+namespace boost{ namespace math{
+
+namespace policies{
+
+template <unsigned Digits10, class Policy>
+struct precision< boost::multiprecision::mp_number<boost::multiprecision::mp_float<Digits10> >, Policy>
+{
+ typedef typename Policy::precision_type precision_type;
+ typedef digits2<((Digits10 + 1) * 1000L) / 301L> digits_2;
+ typedef typename mpl::if_c<
+ ((digits_2::value <= precision_type::value)
+ || (Policy::precision_type::value <= 0)),
+ // Default case, full precision for RealType:
+ digits_2,
+ // User customised precision:
+ precision_type
+ >::type type;
+};
+
+} // namespace policies
+
+}} // namespaces boost::math
+
 
 #endif
 

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 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
@@ -45,7 +45,7 @@
    }
 
    template <class V>
- mp_number(V v, typename enable_if<mpl::and_<is_convertible<V, Backend>, mpl::not_<boost::is_arithmetic<V> > > >::type* dummy1 = 0)
+ mp_number(V v, typename enable_if<mpl::and_<is_convertible<V, Backend>, mpl::not_<mpl::or_<boost::is_arithmetic<V>, is_same<std::string, V>, is_convertible<V, const char*> > > > >::type* dummy1 = 0)
       : m_backend(v){}
 
    template <class tag, class Arg1, class Arg2, class Arg3>

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 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
@@ -166,6 +166,14 @@
          [ check-target-builds ../config//has_gmp : : <build>no ]
         : big_number_concept_check_mpf50 ;
 
+run mp_number_concept_check.cpp
+ : # command line
+ : # input files
+ : # requirements
+ <define>TEST_MP_FLOAT
+ [ check-target-builds ../config//has_gmp : : <build>no ]
+ : big_number_concept_check_mp_float ;
+
 run test_exp.cpp gmp
         : # command line
         : # input files
@@ -262,6 +270,55 @@
          [ check-target-builds ../config//has_mpfr : : <build>no ]
         : test_tanh_mpfr50 ;
 
+run test_exp.cpp
+ : # command line
+ : # input files
+ : # requirements
+ <define>TEST_MP_FLOAT
+ : test_exp_mp_float ;
+
+run test_log.cpp
+ : # command line
+ : # input files
+ : # requirements
+ <define>TEST_MP_FLOAT
+ : test_log_mp_float ;
+
+run test_pow.cpp
+ : # command line
+ : # input files
+ : # requirements
+ <define>TEST_MP_FLOAT
+ : test_pow_mp_float ;
+
+run test_sinh.cpp
+ : # command line
+ : # input files
+ : # requirements
+ <define>TEST_MP_FLOAT
+ : test_sinh_mp_float ;
+
+run test_cosh.cpp
+ : # command line
+ : # input files
+ : # requirements
+ <define>TEST_MP_FLOAT
+ : test_cosh_mp_float ;
+
+run test_tanh.cpp
+ : # command line
+ : # input files
+ : # requirements
+ <define>TEST_MP_FLOAT
+ : test_tanh_mp_float ;
+
+run test_sin.cpp
+ : # command line
+ : # input files
+ : # requirements
+ <define>TEST_MP_FLOAT
+ : test_sin_mp_float ;
+
 run test_sin.cpp gmp
         : # command line
         : # input files
@@ -278,6 +335,13 @@
          [ check-target-builds ../config//has_mpfr : : <build>no ]
         : test_sin_mpfr_50 ;
 
+run test_cos.cpp
+ : # command line
+ : # input files
+ : # requirements
+ <define>TEST_MP_FLOAT
+ : test_cos_mp_float ;
+
 run test_cos.cpp gmp
         : # command line
         : # input files
@@ -294,6 +358,13 @@
          [ check-target-builds ../config//has_mpfr : : <build>no ]
         : test_cos_mpfr_50 ;
 
+run test_asin.cpp
+ : # command line
+ : # input files
+ : # requirements
+ <define>TEST_MP_FLOAT
+ : test_asin_mp_float ;
+
 run test_asin.cpp gmp
         : # command line
         : # input files
@@ -310,6 +381,13 @@
          [ check-target-builds ../config//has_mpfr : : <build>no ]
         : test_asin_mpfr_50 ;
 
+run test_acos.cpp
+ : # command line
+ : # input files
+ : # requirements
+ <define>TEST_MP_FLOAT
+ : test_acos_mp_float ;
+
 run test_acos.cpp gmp
         : # command line
         : # input files
@@ -334,6 +412,13 @@
          [ check-target-builds ../config//has_gmp : : <build>no ]
         : test_atan_mpf50 ;
 
+run test_atan.cpp
+ : # command line
+ : # input files
+ : # requirements
+ <define>TEST_MP_FLOAT
+ : test_atan_mp_float ;
+
 run test_atan.cpp mpfr
         : # command line
         : # input files

Modified: sandbox/big_number/libs/multiprecision/test/mp_number_concept_check.cpp
==============================================================================
--- sandbox/big_number/libs/multiprecision/test/mp_number_concept_check.cpp (original)
+++ sandbox/big_number/libs/multiprecision/test/mp_number_concept_check.cpp 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
@@ -5,7 +5,7 @@
 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 //
-// This tests two things: that e_float meets our
+// This tests two things: that mp_float_50 meets our
 // conceptual requirements, and that we can instantiate
 // all our distributions and special functions on this type.
 //
@@ -20,14 +20,14 @@
 # pragma warning(disable:4503) // decorated name length exceeded, name was truncated
 #endif
 
-#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_E_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50)
+#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_MP_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50)
 # define TEST_MPF_50
 # define TEST_MPF
 # define TEST_BACKEND
 # define TEST_MPZ
 # define TEST_MPFR
 # define TEST_MPFR_50
-# define TEST_E_FLOAT
+# define TEST_MP_FLOAT
 
 #ifdef _MSC_VER
 #pragma message("CAUTION!!: No backend type specified so testing everything.... this will take some time!!")
@@ -44,8 +44,8 @@
 #ifdef TEST_BACKEND
 #include <boost/multiprecision/concepts/mp_number_architypes.hpp>
 #endif
-#ifdef TEST_E_FLOAT
-#include <boost/multiprecision/e_float.hpp>
+#ifdef TEST_MP_FLOAT
+#include <boost/multiprecision/mp_float.hpp>
 #endif
 #if defined(TEST_MPFR) || defined(TEST_MPFR_50)
 #include <boost/multiprecision/mpfr.hpp>
@@ -71,8 +71,8 @@
 #ifdef TEST_MPFR
    instantiate(boost::multiprecision::mpfr_float());
 #endif
-#ifdef TEST_E_FLOAT
- instantiate(boost::multiprecision::e_float());
+#ifdef TEST_MP_FLOAT
+ instantiate(boost::multiprecision::mp_float_50());
 #endif
 }
 
@@ -93,8 +93,8 @@
 #ifdef TEST_MPFR
    BOOST_CONCEPT_ASSERT((boost::math::concepts::RealTypeConcept<boost::multiprecision::mpfr_float>));
 #endif
-#ifdef TEST_E_FLOAT
- BOOST_CONCEPT_ASSERT((boost::math::concepts::RealTypeConcept<boost::multiprecision::e_float>));
+#ifdef TEST_MP_FLOAT
+ BOOST_CONCEPT_ASSERT((boost::math::concepts::RealTypeConcept<boost::multiprecision::mp_float_50>));
 #endif
 
 }

Modified: sandbox/big_number/libs/multiprecision/test/test_acos.cpp
==============================================================================
--- sandbox/big_number/libs/multiprecision/test/test_acos.cpp (original)
+++ sandbox/big_number/libs/multiprecision/test/test_acos.cpp 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
@@ -12,11 +12,11 @@
 #include <boost/array.hpp>
 #include "test.hpp"
 
-#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_E_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
+#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_MP_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
 # define TEST_MPF_50
 //# define TEST_MPF
 # define TEST_BACKEND
-# define TEST_E_FLOAT
+# define TEST_MP_FLOAT
 
 #ifdef _MSC_VER
 #pragma message("CAUTION!!: No backend type specified so testing everything.... this will take some time!!")
@@ -36,8 +36,8 @@
 #ifdef TEST_BACKEND
 #include <boost/multiprecision/concepts/mp_number_architypes.hpp>
 #endif
-#ifdef TEST_E_FLOAT
-#include <boost/multiprecision/e_float.hpp>
+#ifdef TEST_MP_FLOAT
+#include <boost/multiprecision/mp_float.hpp>
 #endif
 
 template <class T>
@@ -96,8 +96,9 @@
    test<boost::multiprecision::mpfr_float_50>();
    test<boost::multiprecision::mpfr_float_100>();
 #endif
-#ifdef TEST_E_FLOAT
- test<boost::multiprecision::e_float>();
+#ifdef TEST_MP_FLOAT
+ test<boost::multiprecision::mp_float_50>();
+ test<boost::multiprecision::mp_float_100>();
 #endif
    return boost::report_errors();
 }

Modified: sandbox/big_number/libs/multiprecision/test/test_arithmetic.cpp
==============================================================================
--- sandbox/big_number/libs/multiprecision/test/test_arithmetic.cpp (original)
+++ sandbox/big_number/libs/multiprecision/test/test_arithmetic.cpp 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
@@ -272,7 +272,6 @@
 template <class Real>
 void test_float_ops(const boost::mpl::int_<boost::multiprecision::number_kind_floating_point>&)
 {
-#if defined(TEST_MPF) || defined(TEST_MPF_50) || defined(TEST_BACKEND) || defined(TEST_MPFR)
    BOOST_TEST(abs(Real(2)) == 2);
    BOOST_TEST(abs(Real(-2)) == 2);
    BOOST_TEST(fabs(Real(2)) == 2);
@@ -318,11 +317,6 @@
    BOOST_TEST(r == boost::math::pow<6>(3.25));
    r = pow(v, 25);
    BOOST_TEST(r == boost::math::pow<25>(Real(3.25)));
- /*
- r = pow(v, 56);
- BOOST_TEST(r == boost::math::pow<56>(Real(3.25)));
- */
-#endif
 }
 
 template <class T>

Modified: sandbox/big_number/libs/multiprecision/test/test_asin.cpp
==============================================================================
--- sandbox/big_number/libs/multiprecision/test/test_asin.cpp (original)
+++ sandbox/big_number/libs/multiprecision/test/test_asin.cpp 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
@@ -12,11 +12,11 @@
 #include <boost/array.hpp>
 #include "test.hpp"
 
-#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_E_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
+#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_MP_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
 # define TEST_MPF_50
 //# define TEST_MPF
 # define TEST_BACKEND
-# define TEST_E_FLOAT
+# define TEST_MP_FLOAT
 
 #ifdef _MSC_VER
 #pragma message("CAUTION!!: No backend type specified so testing everything.... this will take some time!!")
@@ -36,8 +36,8 @@
 #ifdef TEST_BACKEND
 #include <boost/multiprecision/concepts/mp_number_architypes.hpp>
 #endif
-#ifdef TEST_E_FLOAT
-#include <boost/multiprecision/e_float.hpp>
+#ifdef TEST_MP_FLOAT
+#include <boost/multiprecision/mp_float.hpp>
 #endif
 
 template <class T>
@@ -93,8 +93,9 @@
    test<boost::multiprecision::mpfr_float_50>();
    test<boost::multiprecision::mpfr_float_100>();
 #endif
-#ifdef TEST_E_FLOAT
- test<boost::multiprecision::e_float>();
+#ifdef TEST_MP_FLOAT
+ test<boost::multiprecision::mp_float_50>();
+ test<boost::multiprecision::mp_float_100>();
 #endif
    return boost::report_errors();
 }

Modified: sandbox/big_number/libs/multiprecision/test/test_atan.cpp
==============================================================================
--- sandbox/big_number/libs/multiprecision/test/test_atan.cpp (original)
+++ sandbox/big_number/libs/multiprecision/test/test_atan.cpp 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
@@ -12,11 +12,11 @@
 #include <boost/array.hpp>
 #include "test.hpp"
 
-#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_E_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
+#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_MP_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
 # define TEST_MPF_50
 //# define TEST_MPF
 # define TEST_BACKEND
-# define TEST_E_FLOAT
+# define TEST_MP_FLOAT
 
 #ifdef _MSC_VER
 #pragma message("CAUTION!!: No backend type specified so testing everything.... this will take some time!!")
@@ -36,8 +36,8 @@
 #ifdef TEST_BACKEND
 #include <boost/multiprecision/concepts/mp_number_architypes.hpp>
 #endif
-#ifdef TEST_E_FLOAT
-#include <boost/multiprecision/e_float.hpp>
+#ifdef TEST_MP_FLOAT
+#include <boost/multiprecision/mp_float.hpp>
 #endif
 
 template <class T>
@@ -195,13 +195,11 @@
    err = relative_error(T(atan2(T(1), T(0))), T(pi / 2)).template convert_to<unsigned>();
    if(err > max_err)
       max_err = err;
- if(! is_mpfr_type<T>::value)
- {
- // MPFR seems to get the sign of this all wrong:
- err = relative_error(T(atan2(T(-1), T(0))), T(pi / -2)).template convert_to<unsigned>();
- if(err > max_err)
- max_err = err;
- }
+
+ err = relative_error(T(atan2(T(-1), T(0))), T(pi / -2)).template convert_to<unsigned>();
+ if(err > max_err)
+ max_err = err;
+
    T mv = (std::numeric_limits<T>::max)();
    err = relative_error(T(atan2(mv, T(1))), T(pi / 2)).template convert_to<unsigned>();
    if(err > max_err)
@@ -239,8 +237,9 @@
    test<boost::multiprecision::mpfr_float_50>();
    test<boost::multiprecision::mpfr_float_100>();
 #endif
-#ifdef TEST_E_FLOAT
- test<boost::multiprecision::e_float>();
+#ifdef TEST_MP_FLOAT
+ test<boost::multiprecision::mp_float_50>();
+ test<boost::multiprecision::mp_float_100>();
 #endif
    return boost::report_errors();
 }

Modified: sandbox/big_number/libs/multiprecision/test/test_cos.cpp
==============================================================================
--- sandbox/big_number/libs/multiprecision/test/test_cos.cpp (original)
+++ sandbox/big_number/libs/multiprecision/test/test_cos.cpp 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
@@ -12,11 +12,11 @@
 #include <boost/array.hpp>
 #include "test.hpp"
 
-#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_E_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
+#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_MP_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
 # define TEST_MPF_50
 //# define TEST_MPF
 # define TEST_BACKEND
-# define TEST_E_FLOAT
+# define TEST_MP_FLOAT
 
 #ifdef _MSC_VER
 #pragma message("CAUTION!!: No backend type specified so testing everything.... this will take some time!!")
@@ -36,8 +36,8 @@
 #ifdef TEST_BACKEND
 #include <boost/multiprecision/concepts/mp_number_architypes.hpp>
 #endif
-#ifdef TEST_E_FLOAT
-#include <boost/multiprecision/e_float.hpp>
+#ifdef TEST_MP_FLOAT
+#include <boost/multiprecision/mp_float.hpp>
 #endif
 
 template <class T>
@@ -45,107 +45,107 @@
 {
    static const boost::array<T, 101u> data =
    {{
-T("-2.37609908807915949996042688873953402912174184373388399043229539427530802169622688886435380890546981798452174137747437590e-1"),
-T("8.03406366226813589517543567844755380935198206635917017883860879215939165740799963435747185200486086864198723786516760875e-1"),
-T("8.60219386510802105228997694366289682807721120146423711696179175800635220710279361583231346318224971127450760223168489952e-1"),
-T("-1.36768951513839774357595871594675554406872039078811749027554673949684004409484639336417431285061889554892096426752261915e-1"),
-T("-9.66210139195431691033548069227792927999642647449593184440815029076272297050360196975341458076547426373476590671462150981e-1"),
-T("-6.12007278553856790723803948280976098970972124581361775428331444376106018942231526074915731012122426588769327127413045994e-1"),
-T("4.91927698740873688392439262912409276430264703350691359723802294639643655296838880236042651349290074585311025856549893171e-1"),
-T("9.93232596718899824059271235487971663771012607519717340071654721877802691370866768064059943491135925674950430467047724563e-1"),
-T("2.77789911520199551017947550534057049374212876971194676010301098598339529915403722848373365985645657342475739669568931563e-1"),
-T("-7.77955945956221239101360662190442739163791527953499629555756394261998892874934847131138921705713935365505245406994428077e-1"),
-T("-8.80676278306736581575818642341143682410874043182925227659938804267878718513212454821032629378618345485453587099696563832e-1"),
-T("9.54652155963865007116798560589970996367213754762169439269792747771200843006278637115722685610960738675814993576019945344e-2"),
-T("9.54658201427917718824191302196929158303422390793460018465335986921801519149657723689322277773550748806000948225466432438e-1"),
-T("6.44358700620889799575033272322899136331490664925359198096632560532437137894857803619177106562399406351419810452110265174e-1"),
-T("-4.55304635273050571206400777159475409897339683148730716647371922365967582339285347105376503917296765204188604297021364549e-1"),
-T("-9.97202532932553753622481171186283382950122646390227670693679248197349800205205290898290539070732778341271049474946533154e-1"),
-T("-3.17489525058325500707686194437148362752290391406825231198381521862930317513649081353670386166519524315810546189268634469e-1"),
-T("7.51160186640147504067744846462384089742696250681200524524912647858645140367792164416711871535116761744380912486921554617e-1"),
-T("8.99610194168373157174515848193119670768490559799348397680196213249921436405001710937402190319584272526657508442591319630e-1"),
-T("-5.39963892484342940823660554048696208293700871414984387094529796385334086703752106515008832585578915389731907422242902573e-2"),
-T("-9.41455348900839346761557896365239742769987576963330061702397697388879776230596944312519157729410022380228287314835345969e-1"),
-T("-6.75595816763857390859268297670835380459024839344154743310231115864242050771191159334664874097564054770066166961642073448e-1"),
-T("4.17894201894880415042381733708896725748531223743344790054523182948440843948904650988733732381978194392219295696279423635e-1"),
-T("9.99447981389824371458566861195586395552622718284098766856978062347139060489410032781030191080200904443096549587568037683e-1"),
-T("3.56640095868759075150409032448421838265699043643228482503057299699740924345262819242042067863780263400092250418388628640e-1"),
-T("-7.23065426868134142613141384486526262450487633432466529798821958977732347646832059032382447792655111641456570392189752211e-1"),
-T("-9.16988391192434436877664999042786024703848714036221388727578305299843547352325574309860356272561772723624753484063972217e-1"),
-T("1.24341855683226931265962750806821531283439413068694552738675989282017066737438591268502070364982899342633928417210588531e-2"),
-T("9.26624413643579136646620112107410908114766812511471130116341925013001661546817531064974089666536893346764523464250445838e-1"),
-T("7.05664607841658050248613256866289182754229289446384595719719495272020558391145537620968819401219414243210529013148958366e-1"),
-T("-3.79761093422301890838671114556341706055562482358183402807224298533060188038450560241345615647754569347252101282386222173e-1"),
-T("-9.99965058979463689113370264378210962384824970050865061898892508056811665771886385589295806419278045318841717598003331419e-1"),
-T("-3.95173919871548266286836251448043149039940610894391718791244019288314418437411707835924620250473697245151743147215758686e-1"),
-T("6.93720251624319621941983929806434090162802383400620564454074825718151625795576680427510026452063593762417421561201654156e-1"),
-T("9.32780816819880202610269817418700102084277332259524791943833699964920012022753227823298655560837271746316929623378078695e-1"),
-T("2.91495208658083070508005579692813621670878962971611104453227900103973434149303469066898102622556226584993895360896300290e-2"),
-T("-9.10191043170480685360743788297835112117551819731152897291272407935139876953384666161532187572493791297095784055525159185e-1"),
-T("-7.34513075127503122343910106816656237074878218180284276449954797048122379869002663646507706411949095015624141821039453971e-1"),
-T("3.40971254411713599427147477626159847871020791931107106418841144080445813896332252160005593096670674809345703079384115052e-1"),
-T("9.98752871506016936810666998588493462933191829230756181478046320353377054175122206889047094521687205093218701141334147081e-1"),
-T("4.33024359542714849537532946954507232835434973891665238942502273464321666207117525270650546741831354943253652514490075246e-1"),
-T("-6.63175408268187738636594884921931867786416057472876635147295424128144233911929585327601381618059327766986981109409782838e-1"),
-T("-9.46960160806563725719808910991708075372282242401645009270517113290439792088443109178772446465191984149998211903724560065e-1"),
-T("-7.06828182905581345108929510344440443421290640066613022421187316650733628538705972455891575947230299102119854983197703150e-2"),
-T("8.92183656127948379886438402777950080111433733329436790239129260607557296960582455582584117031260710927499215646838011844e-1"),
-T("7.62091330231640362984555508176991632755732840163230620595759320390970951235395195394649584713540498911356433919369698423e-1"),
-T("-3.01591765120371930643555588643712101466544136366607065361801475091335195383846047491935017919396438040414024941341524187e-1"),
-T("-9.95813515236177554177387795413035497724212540625760091518605741283184405719984044075159457509720410668598540884613985023e-1"),
-T("-4.70125959152223022135690700550251564040118601846181392455764893020377582359429013073566263451488554529709131439092909247e-1"),
-T("6.31483718775865440843182928017874708719203714677143270278178885379757350754752477512514449375355491054871712891789652146e-1"),
-T("1.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
-T("3.87481045630097871028201331640164477694000480353342897357083794605539506785023570062767753819472037935010414476627195076e-1"),
-T("-6.99716878554812023132822640034166338740077082416915046841339368979161296335086955803240899441098534898926193252558848693e-1"),
-T("-9.29735101124991407032113033015438177585645722877060262785796302722011806301680288369763295777635760805579255008366302180e-1"),
-T("-2.07925797310208845709174899248298159909010721767168338004516304026594885686024530923209628704670627250569637267490913462e-2"),
-T("9.13621640053945104047985280883096238900189007462190433514805702721127019097915088259906184736442916334750420359005079959e-1"),
-T("7.28814716527795995795780587639833705107995825167970668466246348938821997240383021826681253777014938636567626203524137506e-1"),
-T("-3.48817863192357573536083313907744269588018702862402502601699983054718835012048372083235768555953613790431700360695537918e-1"),
-T("-9.99135337256258278958854200595331742602280601557283993231562055717063052179292021052372510863057206152466386086657442382e-1"),
-T("-4.25474147219713305654097901385832164424798803616095278869643928816776198489330071073326518019520590535564717523756486665e-1"),
-T("6.69409002349720857726983952566596052122726437391092096671257338244059819036586172017092390651026654050631669646310910927e-1"),
-T("9.44240747589054266930136705015787520728797286842746645573763175559132491628984502333043316023599487896169049499868916865e-1"),
-T("6.23417820549832676844933182722733277887833220127638406914080428946880981800946578131712749910941183940944526141109771339e-2"),
-T("-8.95928229794837090592434136137683839101829890460754766346170956577979909285084363961363023377587044303560652568203578379e-1"),
-T("-7.56652196635835430995109388017590459596111729342964992503572530290981857981790620732129221157071082788019187787999930361e-1"),
-T("3.09551461133309219674309651201007026752336319933918953736299690287371505733386433918863300129026763968979930342098019300e-1"),
-T("9.96542844308353945757715814452637400116215448012622700698887257177706625278927018059066920597035660000571997275705962011e-1"),
-T("4.62731465522276407764000677957978862104808823938378826581864482071733508960062598574638347814740748458034065235894523010e-1"),
-T("-6.37943500095315456672541800050589670140910744260281868746767523730582697622604545933849801882909439609368258115114388202e-1"),
-T("-9.57113494461990955768932962010819183910065445494138937651443249061391692258872250121438832853873660881630205561168895590e-1"),
-T("-1.03783175146302830356973378710923690121182237844646430783773333188328606275124873219756415071202025673009660963930966273e-1"),
-T("8.76685468012988943166112725030293740012198666616661362437433807594683780986916439696374569274720383546275206733493672834e-1"),
-T("7.83181178815072182812568575402104911406191663934571600092749188502783771503475038116599065276589122015600004250624262132e-1"),
-T("-2.69749743842835294071354429049113807280228918034124159074991560056663623624511602063409428877143567459307323934051784210e-1"),
-T("-9.92227004420417932443416371636723983768124774541445787394585828303853075015733744933294181104002649816119116502663362907e-1"),
-T("-4.99188570507651271652464431008309802023236218596632956064119419694573621896525872847587264755853127438644874992889777436e-1"),
-T("6.05374785886620830935500306718810628353011877048386199574451402773468315797082901705593423724389976967865835641164117478e-1"),
-T("9.68331080574540181354402420018944004334504868848934676984951546671476956051983469715128604348963016773169794077158289730e-1"),
-T("1.45045093347669933436797325432376656017480150281100519869038554695618054318368975927557872948037203212941966706926758604e-1"),
-T("-8.55926631706799584065153976496431313099942493164544290051315786450857575707615522517293656706329757352795226750189755758e-1"),
-T("-8.08355785820466703104647317116964786017731181599256098405978700298563758509572188640629418770593008092680980412866065299e-1"),
-T("2.29481541445091823694157468006983283649885473964756916206813927875661041834620526229807744443043682778028709792615798955e-1"),
-T("9.86195281084368344446227722442335005500018635181693920385626820970119467136148305491035657795704047666385553672680209923e-1"),
-T("5.34782415974986828906369231191245075731384342252264783019973387059318216570499447505623911253042567598873910043381675873e-1"),
-T("-5.71759181631212640256161075896307515511612057247572886814941945052483422285718810088660759708176904381865453799197101481e-1"),
-T("-9.77874107069129472007009478090869879295520839405452365411822873037906082086100232576241983901051327761231156641104065497e-1"),
-T("-1.86056181372276495846711248156316208757691570931906856005697361080864028851991674077024223201008430626166447144444086146e-1"),
-T("8.33687619660983803179149188531271900120055171980951416163724579833511897001564116810390933587615557717585362295882429826e-1"),
-T("8.32132482562487183916482822112362004641509381783438374175226355792137053285527706239574867923387554339582561002247202518e-1"),
-T("-1.88816490768820368180947188938258919466912959009058295775702554895970560887437777994365295452696990115940651570073217522e-1"),
-T("-9.78458105113103660973458641126689066610890753079836635611789969774219913050456840122278188955139015473252491612410972950e-1"),
-T("-5.69451448580118869157805059117807250106203230622762838051154208713065707949727035884250775206017528612930773233017928006e-1"),
-T("5.37154819650306918873973169624898539483418364490295996462663218848771864764982600193558748568095521886456306061269765631e-1"),
-T("9.85726070946814004698231423834505649751779161578718404221294527194525251740198034173542003704080544827976936213857653517e-1"),
-T("2.26745517700332138489400566746499809209783385009289423848083137846668382711005704387134606000570923556980021574851618566e-1"),
-T("-8.10006890365888881023982873786181048364505748637138923322482323010218991062084191379116946709356002103893071903481540337e-1"),
-T("-8.54470151393449484710948210543666267680196067632693416660536443330720708402601669617638569732848938319544250428600991723e-1"),
-T("1.47824914922605209542648603104533928946885824995208478684499907657728115943168395067575842431291755277452367320596435067e-1"),
-T("9.69028856602232134498324179654622883463820270279077886397861028881882684131282848087869087883519707948141915733221980948e-1"),
-T("6.03135714281336943093251136556365407562473924416812270469171432809743173719168209727199952532489544254928975940518615351e-1"),
-T("-5.01621542149055350065079347615664213658089623368745676779267390227688581807037821041573344917735076902116221444127518632e-1"),
+ T("-2.37609908807915949996042688873953402912174184373388399043229539427530802169622688886435380890546981798452174137747437590e-1"),
+ T("8.03406366226813589517543567844755380935198206635917017883860879215939165740799963435747185200486086864198723786516760875e-1"),
+ T("8.60219386510802105228997694366289682807721120146423711696179175800635220710279361583231346318224971127450760223168489952e-1"),
+ T("-1.36768951513839774357595871594675554406872039078811749027554673949684004409484639336417431285061889554892096426752261915e-1"),
+ T("-9.66210139195431691033548069227792927999642647449593184440815029076272297050360196975341458076547426373476590671462150981e-1"),
+ T("-6.12007278553856790723803948280976098970972124581361775428331444376106018942231526074915731012122426588769327127413045994e-1"),
+ T("4.91927698740873688392439262912409276430264703350691359723802294639643655296838880236042651349290074585311025856549893171e-1"),
+ T("9.93232596718899824059271235487971663771012607519717340071654721877802691370866768064059943491135925674950430467047724563e-1"),
+ T("2.77789911520199551017947550534057049374212876971194676010301098598339529915403722848373365985645657342475739669568931563e-1"),
+ T("-7.77955945956221239101360662190442739163791527953499629555756394261998892874934847131138921705713935365505245406994428077e-1"),
+ T("-8.80676278306736581575818642341143682410874043182925227659938804267878718513212454821032629378618345485453587099696563832e-1"),
+ T("9.54652155963865007116798560589970996367213754762169439269792747771200843006278637115722685610960738675814993576019945344e-2"),
+ T("9.54658201427917718824191302196929158303422390793460018465335986921801519149657723689322277773550748806000948225466432438e-1"),
+ T("6.44358700620889799575033272322899136331490664925359198096632560532437137894857803619177106562399406351419810452110265174e-1"),
+ T("-4.55304635273050571206400777159475409897339683148730716647371922365967582339285347105376503917296765204188604297021364549e-1"),
+ T("-9.97202532932553753622481171186283382950122646390227670693679248197349800205205290898290539070732778341271049474946533154e-1"),
+ T("-3.17489525058325500707686194437148362752290391406825231198381521862930317513649081353670386166519524315810546189268634469e-1"),
+ T("7.51160186640147504067744846462384089742696250681200524524912647858645140367792164416711871535116761744380912486921554617e-1"),
+ T("8.99610194168373157174515848193119670768490559799348397680196213249921436405001710937402190319584272526657508442591319630e-1"),
+ T("-5.39963892484342940823660554048696208293700871414984387094529796385334086703752106515008832585578915389731907422242902573e-2"),
+ T("-9.41455348900839346761557896365239742769987576963330061702397697388879776230596944312519157729410022380228287314835345969e-1"),
+ T("-6.75595816763857390859268297670835380459024839344154743310231115864242050771191159334664874097564054770066166961642073448e-1"),
+ T("4.17894201894880415042381733708896725748531223743344790054523182948440843948904650988733732381978194392219295696279423635e-1"),
+ T("9.99447981389824371458566861195586395552622718284098766856978062347139060489410032781030191080200904443096549587568037683e-1"),
+ T("3.56640095868759075150409032448421838265699043643228482503057299699740924345262819242042067863780263400092250418388628640e-1"),
+ T("-7.23065426868134142613141384486526262450487633432466529798821958977732347646832059032382447792655111641456570392189752211e-1"),
+ T("-9.16988391192434436877664999042786024703848714036221388727578305299843547352325574309860356272561772723624753484063972217e-1"),
+ T("1.24341855683226931265962750806821531283439413068694552738675989282017066737438591268502070364982899342633928417210588531e-2"),
+ T("9.26624413643579136646620112107410908114766812511471130116341925013001661546817531064974089666536893346764523464250445838e-1"),
+ T("7.05664607841658050248613256866289182754229289446384595719719495272020558391145537620968819401219414243210529013148958366e-1"),
+ T("-3.79761093422301890838671114556341706055562482358183402807224298533060188038450560241345615647754569347252101282386222173e-1"),
+ T("-9.99965058979463689113370264378210962384824970050865061898892508056811665771886385589295806419278045318841717598003331419e-1"),
+ T("-3.95173919871548266286836251448043149039940610894391718791244019288314418437411707835924620250473697245151743147215758686e-1"),
+ T("6.93720251624319621941983929806434090162802383400620564454074825718151625795576680427510026452063593762417421561201654156e-1"),
+ T("9.32780816819880202610269817418700102084277332259524791943833699964920012022753227823298655560837271746316929623378078695e-1"),
+ T("2.91495208658083070508005579692813621670878962971611104453227900103973434149303469066898102622556226584993895360896300290e-2"),
+ T("-9.10191043170480685360743788297835112117551819731152897291272407935139876953384666161532187572493791297095784055525159185e-1"),
+ T("-7.34513075127503122343910106816656237074878218180284276449954797048122379869002663646507706411949095015624141821039453971e-1"),
+ T("3.40971254411713599427147477626159847871020791931107106418841144080445813896332252160005593096670674809345703079384115052e-1"),
+ T("9.98752871506016936810666998588493462933191829230756181478046320353377054175122206889047094521687205093218701141334147081e-1"),
+ T("4.33024359542714849537532946954507232835434973891665238942502273464321666207117525270650546741831354943253652514490075246e-1"),
+ T("-6.63175408268187738636594884921931867786416057472876635147295424128144233911929585327601381618059327766986981109409782838e-1"),
+ T("-9.46960160806563725719808910991708075372282242401645009270517113290439792088443109178772446465191984149998211903724560065e-1"),
+ T("-7.06828182905581345108929510344440443421290640066613022421187316650733628538705972455891575947230299102119854983197703150e-2"),
+ T("8.92183656127948379886438402777950080111433733329436790239129260607557296960582455582584117031260710927499215646838011844e-1"),
+ T("7.62091330231640362984555508176991632755732840163230620595759320390970951235395195394649584713540498911356433919369698423e-1"),
+ T("-3.01591765120371930643555588643712101466544136366607065361801475091335195383846047491935017919396438040414024941341524187e-1"),
+ T("-9.95813515236177554177387795413035497724212540625760091518605741283184405719984044075159457509720410668598540884613985023e-1"),
+ T("-4.70125959152223022135690700550251564040118601846181392455764893020377582359429013073566263451488554529709131439092909247e-1"),
+ T("6.31483718775865440843182928017874708719203714677143270278178885379757350754752477512514449375355491054871712891789652146e-1"),
+ T("1.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
+ T("3.87481045630097871028201331640164477694000480353342897357083794605539506785023570062767753819472037935010414476627195076e-1"),
+ T("-6.99716878554812023132822640034166338740077082416915046841339368979161296335086955803240899441098534898926193252558848693e-1"),
+ T("-9.29735101124991407032113033015438177585645722877060262785796302722011806301680288369763295777635760805579255008366302180e-1"),
+ T("-2.07925797310208845709174899248298159909010721767168338004516304026594885686024530923209628704670627250569637267490913462e-2"),
+ T("9.13621640053945104047985280883096238900189007462190433514805702721127019097915088259906184736442916334750420359005079959e-1"),
+ T("7.28814716527795995795780587639833705107995825167970668466246348938821997240383021826681253777014938636567626203524137506e-1"),
+ T("-3.48817863192357573536083313907744269588018702862402502601699983054718835012048372083235768555953613790431700360695537918e-1"),
+ T("-9.99135337256258278958854200595331742602280601557283993231562055717063052179292021052372510863057206152466386086657442382e-1"),
+ T("-4.25474147219713305654097901385832164424798803616095278869643928816776198489330071073326518019520590535564717523756486665e-1"),
+ T("6.69409002349720857726983952566596052122726437391092096671257338244059819036586172017092390651026654050631669646310910927e-1"),
+ T("9.44240747589054266930136705015787520728797286842746645573763175559132491628984502333043316023599487896169049499868916865e-1"),
+ T("6.23417820549832676844933182722733277887833220127638406914080428946880981800946578131712749910941183940944526141109771339e-2"),
+ T("-8.95928229794837090592434136137683839101829890460754766346170956577979909285084363961363023377587044303560652568203578379e-1"),
+ T("-7.56652196635835430995109388017590459596111729342964992503572530290981857981790620732129221157071082788019187787999930361e-1"),
+ T("3.09551461133309219674309651201007026752336319933918953736299690287371505733386433918863300129026763968979930342098019300e-1"),
+ T("9.96542844308353945757715814452637400116215448012622700698887257177706625278927018059066920597035660000571997275705962011e-1"),
+ T("4.62731465522276407764000677957978862104808823938378826581864482071733508960062598574638347814740748458034065235894523010e-1"),
+ T("-6.37943500095315456672541800050589670140910744260281868746767523730582697622604545933849801882909439609368258115114388202e-1"),
+ T("-9.57113494461990955768932962010819183910065445494138937651443249061391692258872250121438832853873660881630205561168895590e-1"),
+ T("-1.03783175146302830356973378710923690121182237844646430783773333188328606275124873219756415071202025673009660963930966273e-1"),
+ T("8.76685468012988943166112725030293740012198666616661362437433807594683780986916439696374569274720383546275206733493672834e-1"),
+ T("7.83181178815072182812568575402104911406191663934571600092749188502783771503475038116599065276589122015600004250624262132e-1"),
+ T("-2.69749743842835294071354429049113807280228918034124159074991560056663623624511602063409428877143567459307323934051784210e-1"),
+ T("-9.92227004420417932443416371636723983768124774541445787394585828303853075015733744933294181104002649816119116502663362907e-1"),
+ T("-4.99188570507651271652464431008309802023236218596632956064119419694573621896525872847587264755853127438644874992889777436e-1"),
+ T("6.05374785886620830935500306718810628353011877048386199574451402773468315797082901705593423724389976967865835641164117478e-1"),
+ T("9.68331080574540181354402420018944004334504868848934676984951546671476956051983469715128604348963016773169794077158289730e-1"),
+ T("1.45045093347669933436797325432376656017480150281100519869038554695618054318368975927557872948037203212941966706926758604e-1"),
+ T("-8.55926631706799584065153976496431313099942493164544290051315786450857575707615522517293656706329757352795226750189755758e-1"),
+ T("-8.08355785820466703104647317116964786017731181599256098405978700298563758509572188640629418770593008092680980412866065299e-1"),
+ T("2.29481541445091823694157468006983283649885473964756916206813927875661041834620526229807744443043682778028709792615798955e-1"),
+ T("9.86195281084368344446227722442335005500018635181693920385626820970119467136148305491035657795704047666385553672680209923e-1"),
+ T("5.34782415974986828906369231191245075731384342252264783019973387059318216570499447505623911253042567598873910043381675873e-1"),
+ T("-5.71759181631212640256161075896307515511612057247572886814941945052483422285718810088660759708176904381865453799197101481e-1"),
+ T("-9.77874107069129472007009478090869879295520839405452365411822873037906082086100232576241983901051327761231156641104065497e-1"),
+ T("-1.86056181372276495846711248156316208757691570931906856005697361080864028851991674077024223201008430626166447144444086146e-1"),
+ T("8.33687619660983803179149188531271900120055171980951416163724579833511897001564116810390933587615557717585362295882429826e-1"),
+ T("8.32132482562487183916482822112362004641509381783438374175226355792137053285527706239574867923387554339582561002247202518e-1"),
+ T("-1.88816490768820368180947188938258919466912959009058295775702554895970560887437777994365295452696990115940651570073217522e-1"),
+ T("-9.78458105113103660973458641126689066610890753079836635611789969774219913050456840122278188955139015473252491612410972950e-1"),
+ T("-5.69451448580118869157805059117807250106203230622762838051154208713065707949727035884250775206017528612930773233017928006e-1"),
+ T("5.37154819650306918873973169624898539483418364490295996462663218848771864764982600193558748568095521886456306061269765631e-1"),
+ T("9.85726070946814004698231423834505649751779161578718404221294527194525251740198034173542003704080544827976936213857653517e-1"),
+ T("2.26745517700332138489400566746499809209783385009289423848083137846668382711005704387134606000570923556980021574851618566e-1"),
+ T("-8.10006890365888881023982873786181048364505748637138923322482323010218991062084191379116946709356002103893071903481540337e-1"),
+ T("-8.54470151393449484710948210543666267680196067632693416660536443330720708402601669617638569732848938319544250428600991723e-1"),
+ T("1.47824914922605209542648603104533928946885824995208478684499907657728115943168395067575842431291755277452367320596435067e-1"),
+ T("9.69028856602232134498324179654622883463820270279077886397861028881882684131282848087869087883519707948141915733221980948e-1"),
+ T("6.03135714281336943093251136556365407562473924416812270469171432809743173719168209727199952532489544254928975940518615351e-1"),
+ T("-5.01621542149055350065079347615664213658089623368745676779267390227688581807037821041573344917735076902116221444127518632e-1"),
    }};
 
    T eg = "5.77215664901532860606512090082402431042159335939923598805767234884867726777664670936947063291746749514631447249807082480960504014486542836224173997644923536253500333742937337737673942792595258247094916008735203948165670853233151776611528621199501507984793745085705740029921354786146694029604325421519e-1";
@@ -282,8 +282,9 @@
    test<boost::multiprecision::mpfr_float_50>();
    test<boost::multiprecision::mpfr_float_100>();
 #endif
-#ifdef TEST_E_FLOAT
- test<boost::multiprecision::e_float>();
+#ifdef TEST_MP_FLOAT
+ test<boost::multiprecision::mp_float_50>();
+ test<boost::multiprecision::mp_float_100>();
 #endif
    return boost::report_errors();
 }

Modified: sandbox/big_number/libs/multiprecision/test/test_cosh.cpp
==============================================================================
--- sandbox/big_number/libs/multiprecision/test/test_cosh.cpp (original)
+++ sandbox/big_number/libs/multiprecision/test/test_cosh.cpp 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
@@ -12,11 +12,11 @@
 #include <boost/array.hpp>
 #include "test.hpp"
 
-#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_E_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
+#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_MP_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
 # define TEST_MPF_50
 //# define TEST_MPF
 # define TEST_BACKEND
-# define TEST_E_FLOAT
+# define TEST_MP_FLOAT
 
 #ifdef _MSC_VER
 #pragma message("CAUTION!!: No backend type specified so testing everything.... this will take some time!!")
@@ -36,8 +36,8 @@
 #ifdef TEST_BACKEND
 #include <boost/multiprecision/concepts/mp_number_architypes.hpp>
 #endif
-#ifdef TEST_E_FLOAT
-#include <boost/multiprecision/e_float.hpp>
+#ifdef TEST_MP_FLOAT
+#include <boost/multiprecision/mp_float.hpp>
 #endif
 
 template <class T>
@@ -128,8 +128,9 @@
    test<boost::multiprecision::mpfr_float_50>();
    test<boost::multiprecision::mpfr_float_100>();
 #endif
-#ifdef TEST_E_FLOAT
- test<boost::multiprecision::e_float>();
+#ifdef TEST_MP_FLOAT
+ test<boost::multiprecision::mp_float_50>();
+ test<boost::multiprecision::mp_float_100>();
 #endif
    return boost::report_errors();
 }

Modified: sandbox/big_number/libs/multiprecision/test/test_exp.cpp
==============================================================================
--- sandbox/big_number/libs/multiprecision/test/test_exp.cpp (original)
+++ sandbox/big_number/libs/multiprecision/test/test_exp.cpp 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
@@ -12,11 +12,11 @@
 #include <boost/array.hpp>
 #include "test.hpp"
 
-#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_E_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
+#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_MP_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
 # define TEST_MPF_50
 //# define TEST_MPF
 # define TEST_BACKEND
-# define TEST_E_FLOAT
+# define TEST_MP_FLOAT
 
 #ifdef _MSC_VER
 #pragma message("CAUTION!!: No backend type specified so testing everything.... this will take some time!!")
@@ -36,8 +36,8 @@
 #ifdef TEST_BACKEND
 #include <boost/multiprecision/concepts/mp_number_architypes.hpp>
 #endif
-#ifdef TEST_E_FLOAT
-#include <boost/multiprecision/e_float.hpp>
+#ifdef TEST_MP_FLOAT
+#include <boost/multiprecision/mp_float.hpp>
 #endif
 
 template <class T>
@@ -173,8 +173,9 @@
    test<boost::multiprecision::mpfr_float_50>();
    test<boost::multiprecision::mpfr_float_100>();
 #endif
-#ifdef TEST_E_FLOAT
- test<boost::multiprecision::e_float>();
+#ifdef TEST_MP_FLOAT
+ test<boost::multiprecision::mp_float_50>();
+ test<boost::multiprecision::mp_float_100>();
 #endif
    return boost::report_errors();
 }

Modified: sandbox/big_number/libs/multiprecision/test/test_log.cpp
==============================================================================
--- sandbox/big_number/libs/multiprecision/test/test_log.cpp (original)
+++ sandbox/big_number/libs/multiprecision/test/test_log.cpp 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
@@ -12,11 +12,11 @@
 #include <boost/array.hpp>
 #include "test.hpp"
 
-#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_E_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
+#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_MP_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
 # define TEST_MPF_50
 //# define TEST_MPF
 # define TEST_BACKEND
-# define TEST_E_FLOAT
+# define TEST_MP_FLOAT
 
 #ifdef _MSC_VER
 #pragma message("CAUTION!!: No backend type specified so testing everything.... this will take some time!!")
@@ -36,8 +36,8 @@
 #ifdef TEST_BACKEND
 #include <boost/multiprecision/concepts/mp_number_architypes.hpp>
 #endif
-#ifdef TEST_E_FLOAT
-#include <boost/multiprecision/e_float.hpp>
+#ifdef TEST_MP_FLOAT
+#include <boost/multiprecision/mp_float.hpp>
 #endif
 
 template <class T>
@@ -186,8 +186,9 @@
    test<boost::multiprecision::mpfr_float_50>();
    test<boost::multiprecision::mpfr_float_100>();
 #endif
-#ifdef TEST_E_FLOAT
- test<boost::multiprecision::e_float>();
+#ifdef TEST_MP_FLOAT
+ test<boost::multiprecision::mp_float_50>();
+ test<boost::multiprecision::mp_float_100>();
 #endif
    return boost::report_errors();
 }

Modified: sandbox/big_number/libs/multiprecision/test/test_pow.cpp
==============================================================================
--- sandbox/big_number/libs/multiprecision/test/test_pow.cpp (original)
+++ sandbox/big_number/libs/multiprecision/test/test_pow.cpp 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
@@ -12,11 +12,11 @@
 #include <boost/array.hpp>
 #include "test.hpp"
 
-#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_E_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
+#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_MP_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
 # define TEST_MPF_50
 //# define TEST_MPF
 # define TEST_BACKEND
-# define TEST_E_FLOAT
+# define TEST_MP_FLOAT
 # define TEST_MPFR_50
 
 #ifdef _MSC_VER
@@ -37,8 +37,8 @@
 #ifdef TEST_BACKEND
 #include <boost/multiprecision/concepts/mp_number_architypes.hpp>
 #endif
-#ifdef TEST_E_FLOAT
-#include <boost/multiprecision/e_float.hpp>
+#ifdef TEST_MP_FLOAT
+#include <boost/multiprecision/mp_float.hpp>
 #endif
 
 template <class T>
@@ -576,8 +576,9 @@
    test<boost::multiprecision::mpfr_float_50>();
    test<boost::multiprecision::mpfr_float_100>();
 #endif
-#ifdef TEST_E_FLOAT
- test<boost::multiprecision::e_float>();
+#ifdef TEST_MP_FLOAT
+ test<boost::multiprecision::mp_float_50>();
+ test<boost::multiprecision::mp_float_100>();
 #endif
    return boost::report_errors();
 }

Modified: sandbox/big_number/libs/multiprecision/test/test_sin.cpp
==============================================================================
--- sandbox/big_number/libs/multiprecision/test/test_sin.cpp (original)
+++ sandbox/big_number/libs/multiprecision/test/test_sin.cpp 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
@@ -12,11 +12,11 @@
 #include <boost/array.hpp>
 #include "test.hpp"
 
-#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_E_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
+#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_MP_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
 # define TEST_MPF_50
 //# define TEST_MPF
 # define TEST_BACKEND
-# define TEST_E_FLOAT
+# define TEST_MP_FLOAT
 
 #ifdef _MSC_VER
 #pragma message("CAUTION!!: No backend type specified so testing everything.... this will take some time!!")
@@ -36,8 +36,8 @@
 #ifdef TEST_BACKEND
 #include <boost/multiprecision/concepts/mp_number_architypes.hpp>
 #endif
-#ifdef TEST_E_FLOAT
-#include <boost/multiprecision/e_float.hpp>
+#ifdef TEST_MP_FLOAT
+#include <boost/multiprecision/mp_float.hpp>
 #endif
 
 template <class T>
@@ -246,7 +246,7 @@
    // Test with some exact binary values as input - this tests our code
    // rather than the test data:
    //
- static const boost::array<boost::array<T, 2>, 7> exact_data =
+ static const boost::array<boost::array<T, 2>, 9> exact_data =
    {{
       {{ 0.5, "0.479425538604203000273287935215571388081803367940600675188616613125535000287814832209631274684348269086132091084505717418" }},
       {{ 0.25, "0.247403959254522929596848704849389195893390980386965810676544830494398136043486821690984848527973792338327197752176516138" }},
@@ -254,7 +254,9 @@
       {{std::ldexp(1.0, -20), "9.53674316406105439710335272649306549801506698739838753888815787489707114648106832493113326022411646219016312547902694921e-7" }},
       {{ 2, "0.909297426825681695396019865911744842702254971447890268378973011530967301540783544620126688924959380309967896742399486261" }},
       {{ 5, "-0.958924274663138468893154406155993973352461543964601778131672454235102558086559603076995955429532866596530638461663378937" }},
- {{ 10, "-0.544021110889369813404747661851377281683643012916223891574184012616757209640493425707075673894983216158293824238262832286" }}
+ {{ 10, "-0.544021110889369813404747661851377281683643012916223891574184012616757209640493425707075673894983216158293824238262832286" }},
+ {{ 0, 0 }},
+ {{ "1.57079632679489661923132169163975144209858469968755291048747229615390820314310449931401741267105853399107404325664115332354692230477529111586267970406424055872514205135096926055277982231147447746519098221440548783296672306423782411689339158263560095457282428346173017430522716332410669680363012457064", 1 }}
    }};
    max_err = 0;
    for(unsigned k = 0; k < exact_data.size(); k++)
@@ -267,11 +269,6 @@
    }
    std::cout << "Max error was: " << max_err << std::endl;
    BOOST_TEST(max_err < 20);
-
- T half_pi = "1.57079632679489661923132169163975144209858469968755291048747229615390820314310449931401741267105853399107404325664115332354692230477529111586267970406424055872514205135096926055277982231147447746519098221440548783296672306423782411689339158263560095457282428346173017430522716332410669680363012457064";
-
- BOOST_TEST(sin(T(0)) == 0);
- BOOST_TEST(sin(half_pi) == 1);
 }
 
 
@@ -288,8 +285,8 @@
    test<boost::multiprecision::mpfr_float_50>();
    test<boost::multiprecision::mpfr_float_100>();
 #endif
-#ifdef TEST_E_FLOAT
- test<boost::multiprecision::e_float>();
+#ifdef TEST_MP_FLOAT
+ test<boost::multiprecision::mp_float_50>();
 #endif
    return boost::report_errors();
 }

Modified: sandbox/big_number/libs/multiprecision/test/test_sinh.cpp
==============================================================================
--- sandbox/big_number/libs/multiprecision/test/test_sinh.cpp (original)
+++ sandbox/big_number/libs/multiprecision/test/test_sinh.cpp 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
@@ -12,11 +12,11 @@
 #include <boost/array.hpp>
 #include "test.hpp"
 
-#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_E_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
+#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_MP_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
 # define TEST_MPF_50
 //# define TEST_MPF
 # define TEST_BACKEND
-# define TEST_E_FLOAT
+# define TEST_MP_FLOAT
 
 #ifdef _MSC_VER
 #pragma message("CAUTION!!: No backend type specified so testing everything.... this will take some time!!")
@@ -36,8 +36,8 @@
 #ifdef TEST_BACKEND
 #include <boost/multiprecision/concepts/mp_number_architypes.hpp>
 #endif
-#ifdef TEST_E_FLOAT
-#include <boost/multiprecision/e_float.hpp>
+#ifdef TEST_MP_FLOAT
+#include <boost/multiprecision/mp_float.hpp>
 #endif
 
 template <class T>
@@ -128,8 +128,9 @@
    test<boost::multiprecision::mpfr_float_50>();
    test<boost::multiprecision::mpfr_float_100>();
 #endif
-#ifdef TEST_E_FLOAT
- test<boost::multiprecision::e_float>();
+#ifdef TEST_MP_FLOAT
+ test<boost::multiprecision::mp_float_50>();
+ test<boost::multiprecision::mp_float_100>();
 #endif
    return boost::report_errors();
 }

Modified: sandbox/big_number/libs/multiprecision/test/test_tanh.cpp
==============================================================================
--- sandbox/big_number/libs/multiprecision/test/test_tanh.cpp (original)
+++ sandbox/big_number/libs/multiprecision/test/test_tanh.cpp 2011-10-29 07:57:54 EDT (Sat, 29 Oct 2011)
@@ -12,11 +12,11 @@
 #include <boost/array.hpp>
 #include "test.hpp"
 
-#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_E_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
+#if !defined(TEST_MPF_50) && !defined(TEST_MPF) && !defined(TEST_BACKEND) && !defined(TEST_MPZ) && !defined(TEST_MP_FLOAT) && !defined(TEST_MPFR) && !defined(TEST_MPFR_50) && !defined(TEST_MPQ)
 # define TEST_MPF_50
 //# define TEST_MPF
 # define TEST_BACKEND
-# define TEST_E_FLOAT
+# define TEST_MP_FLOAT
 
 #ifdef _MSC_VER
 #pragma message("CAUTION!!: No backend type specified so testing everything.... this will take some time!!")
@@ -36,8 +36,8 @@
 #ifdef TEST_BACKEND
 #include <boost/multiprecision/concepts/mp_number_architypes.hpp>
 #endif
-#ifdef TEST_E_FLOAT
-#include <boost/multiprecision/e_float.hpp>
+#ifdef TEST_MP_FLOAT
+#include <boost/multiprecision/mp_float.hpp>
 #endif
 
 template <class T>
@@ -128,8 +128,9 @@
    test<boost::multiprecision::mpfr_float_50>();
    test<boost::multiprecision::mpfr_float_100>();
 #endif
-#ifdef TEST_E_FLOAT
- test<boost::multiprecision::e_float>();
+#ifdef TEST_MP_FLOAT
+ test<boost::multiprecision::mp_float_50>();
+ test<boost::multiprecision::mp_float_100>();
 #endif
    return boost::report_errors();
 }


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