Boost logo

Boost-Commit :

From: john_at_[hidden]
Date: 2008-07-04 13:09:02


Author: johnmaddock
Date: 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
New Revision: 47079
URL: http://svn.boost.org/trac/boost/changeset/47079

Log:
Merge changes from Trunk.
Added:
   sandbox/math_toolkit/libs/math/build/has_long_double_support.cpp
      - copied unchanged from r47044, /trunk/libs/math/build/has_long_double_support.cpp
Text files modified:
   sandbox/math_toolkit/boost/math/distributions/detail/generic_quantile.hpp | 4 ++++
   sandbox/math_toolkit/boost/math/distributions/non_central_chi_squared.hpp | 4 ++--
   sandbox/math_toolkit/boost/math/distributions/poisson.hpp | 2 +-
   sandbox/math_toolkit/boost/math/special_functions/detail/t_distribution_inv.hpp | 6 +++---
   sandbox/math_toolkit/boost/math/special_functions/fpclassify.hpp | 4 ++--
   sandbox/math_toolkit/boost/math/special_functions/next.hpp | 2 +-
   sandbox/math_toolkit/boost/math/tr1.hpp | 37 ++++++++++++++++++++++++++++---------
   sandbox/math_toolkit/libs/math/build/Jamfile.v2 | 9 +++++++++
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/generate.sh | 4 ++++
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/graphs/generate.sh | 4 ++++
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/math.qbk | 2 +-
   sandbox/math_toolkit/libs/math/performance/Jamfile.v2 | 7 ++++++-
   sandbox/math_toolkit/libs/math/performance/main.cpp | 3 +++
   sandbox/math_toolkit/libs/math/src/tr1/expm1.cpp | 2 +-
   sandbox/math_toolkit/libs/math/src/tr1/expm1f.cpp | 2 +-
   sandbox/math_toolkit/libs/math/src/tr1/expm1l.cpp | 2 +-
   sandbox/math_toolkit/libs/math/src/tr1/log1p.cpp | 2 +-
   sandbox/math_toolkit/libs/math/src/tr1/log1pf.cpp | 2 +-
   sandbox/math_toolkit/libs/math/src/tr1/log1pl.cpp | 2 +-
   sandbox/math_toolkit/libs/math/src/tr1/nextafter.cpp | 2 +-
   sandbox/math_toolkit/libs/math/src/tr1/nextafterf.cpp | 2 +-
   sandbox/math_toolkit/libs/math/src/tr1/nextafterl.cpp | 2 +-
   sandbox/math_toolkit/libs/math/test/Jamfile.v2 | 9 ++++++++-
   sandbox/math_toolkit/libs/math/test/expint_1_data.ipp | 5 +++++
   sandbox/math_toolkit/libs/math/test/expint_data.ipp | 5 +++++
   sandbox/math_toolkit/libs/math/test/expint_small_data.ipp | 5 +++++
   sandbox/math_toolkit/libs/math/test/expinti_data.ipp | 5 +++++
   sandbox/math_toolkit/libs/math/test/expinti_data_double.ipp | 5 +++++
   sandbox/math_toolkit/libs/math/test/expinti_data_long.ipp | 5 +++++
   sandbox/math_toolkit/libs/math/test/ncbeta.ipp | 5 +++++
   sandbox/math_toolkit/libs/math/test/ncbeta_big.ipp | 5 +++++
   sandbox/math_toolkit/libs/math/test/nccs.ipp | 5 +++++
   sandbox/math_toolkit/libs/math/test/test_nc_t.cpp | 2 +-
   sandbox/math_toolkit/libs/math/test/test_next.cpp | 2 ++
   sandbox/math_toolkit/libs/math/test/test_tr1.cpp | 30 ++++++++++++++++++++++--------
   sandbox/math_toolkit/libs/math/test/zeta_1_below_data.ipp | 5 +++++
   sandbox/math_toolkit/libs/math/test/zeta_1_up_data.ipp | 5 +++++
   sandbox/math_toolkit/libs/math/test/zeta_data.ipp | 5 +++++
   sandbox/math_toolkit/libs/math/test/zeta_neg_data.ipp | 5 +++++
   39 files changed, 175 insertions(+), 39 deletions(-)

Modified: sandbox/math_toolkit/boost/math/distributions/detail/generic_quantile.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/distributions/detail/generic_quantile.hpp (original)
+++ sandbox/math_toolkit/boost/math/distributions/detail/generic_quantile.hpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -1,3 +1,7 @@
+// Copyright John Maddock 2008.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef BOOST_MATH_DISTIBUTIONS_DETAIL_GENERIC_QUANTILE_HPP
 #define BOOST_MATH_DISTIBUTIONS_DETAIL_GENERIC_QUANTILE_HPP

Modified: sandbox/math_toolkit/boost/math/distributions/non_central_chi_squared.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/distributions/non_central_chi_squared.hpp (original)
+++ sandbox/math_toolkit/boost/math/distributions/non_central_chi_squared.hpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -48,7 +48,7 @@
             // and the distribution of the square of the sample
             // multiple correlation coeficient.
             // D. Benton, K. Krishnamoorthy.
- // Computational Statistics & Data Analysis 43 (2003) 249 – 267
+ // Computational Statistics & Data Analysis 43 (2003) 249 - 267
             //
             BOOST_MATH_STD_USING
 
@@ -193,7 +193,7 @@
             // and the distribution of the square of the sample
             // multiple correlation coeficient.
             // D. Benton, K. Krishnamoorthy.
- // Computational Statistics & Data Analysis 43 (2003) 249 – 267
+ // Computational Statistics & Data Analysis 43 (2003) 249 - 267
             //
             // We're summing a Poisson weighting term multiplied by
             // a central chi squared distribution.

Modified: sandbox/math_toolkit/boost/math/distributions/poisson.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/distributions/poisson.hpp (original)
+++ sandbox/math_toolkit/boost/math/distributions/poisson.hpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -13,7 +13,7 @@
 // events, occurrences, failures or arrivals occurring in a fixed time,
 // assuming these events occur with a known average or mean rate (lambda)
 // and are independent of the time since the last event.
-// The distribution was discovered by Siméon-Denis Poisson (1781–1840).
+// The distribution was discovered by Simeon-Denis Poisson (1781-1840).
 
 // Parameter lambda is the mean number of events in the given time interval.
 // The random variate k is the number of events, occurrences or arrivals.

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/t_distribution_inv.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/t_distribution_inv.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/t_distribution_inv.hpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -19,7 +19,7 @@
 //
 // The main method used is due to Hill:
 //
-// G. W. Hill, Algorithm 396, Student’s t-Quantiles,
+// G. W. Hill, Algorithm 396, Student's t-Quantiles,
 // Communications of the ACM, 13(10): 619-620, Oct., 1970.
 //
 template <class T, class Policy>
@@ -66,9 +66,9 @@
 //
 // Tail and body series are due to Shaw:
 //
-// www.mth.kcl.ac.uk/˜shaww/web_page/papers/Tdistribution06.pdf
+// www.mth.kcl.ac.uk/~shaww/web_page/papers/Tdistribution06.pdf
 //
-// Shaw, W.T., 2006, "Sampling Student’s T distribution – use of
+// Shaw, W.T., 2006, "Sampling Student's T distribution - use of
 // the inverse cumulative distribution function."
 // Journal of Computational Finance, Vol 9 Issue 4, pp 37-73, Summer 2006
 //

Modified: sandbox/math_toolkit/boost/math/special_functions/fpclassify.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/fpclassify.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/fpclassify.hpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -177,7 +177,7 @@
    case _FPCLASS_SNAN /* Signaling NaN */ :
    case _FPCLASS_QNAN /* Quiet NaN */ :
       return FP_NAN;
- case _FPCLASS_NINF /*Negative infinity ( –INF) */ :
+ case _FPCLASS_NINF /*Negative infinity ( -INF) */ :
    case _FPCLASS_PINF /* Positive infinity (+INF) */ :
       return FP_INFINITE;
    case _FPCLASS_NN /* Negative normalized non-zero */ :
@@ -186,7 +186,7 @@
    case _FPCLASS_ND /* Negative denormalized */:
    case _FPCLASS_PD /* Positive denormalized */ :
       return FP_SUBNORMAL;
- case _FPCLASS_NZ /* Negative zero ( – 0) */ :
+ case _FPCLASS_NZ /* Negative zero ( - 0) */ :
    case _FPCLASS_PZ /* Positive 0 (+0) */ :
       return FP_ZERO;
    default:

Modified: sandbox/math_toolkit/boost/math/special_functions/next.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/next.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/next.hpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -202,7 +202,7 @@
    // because we actually have fewer than tools::digits<T>()
    // significant bits in the representation:
    //
- frexp((boost::math::fpclassify(a) == FP_SUBNORMAL) ? tools::min_value<T>() : a, &expon);
+ frexp(((boost::math::fpclassify)(a) == FP_SUBNORMAL) ? tools::min_value<T>() : a, &expon);
    T upper = ldexp(T(1), expon);
    T result = 0;
    expon = tools::digits<T>() - expon;

Modified: sandbox/math_toolkit/boost/math/tr1.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tr1.hpp (original)
+++ sandbox/math_toolkit/boost/math/tr1.hpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -14,6 +14,7 @@
 #ifdef __cplusplus
 
 #include <boost/config.hpp>
+#include <boost/static_assert.hpp>
 
 namespace boost{ namespace math{ namespace tr1{ extern "C"{
 
@@ -140,9 +141,9 @@
 float BOOST_MATH_TR1_DECL exp2f(float x);
 long double BOOST_MATH_TR1_DECL exp2l(long double x);
 #endif
-double BOOST_MATH_TR1_DECL expm1(double x);
-float BOOST_MATH_TR1_DECL expm1f(float x);
-long double BOOST_MATH_TR1_DECL expm1l(long double x);
+double BOOST_MATH_TR1_DECL boost_expm1(double x);
+float BOOST_MATH_TR1_DECL boost_expm1f(float x);
+long double BOOST_MATH_TR1_DECL boost_expm1l(long double x);
 #if 0
 double BOOST_MATH_TR1_DECL fdim(double x, double y);
 float BOOST_MATH_TR1_DECL fdimf(float x, float y);
@@ -179,9 +180,9 @@
 long long BOOST_MATH_TR1_DECL llroundf(float x);
 long long BOOST_MATH_TR1_DECL llroundl(long double x);
 
-double BOOST_MATH_TR1_DECL log1p(double x);
-float BOOST_MATH_TR1_DECL log1pf(float x);
-long double BOOST_MATH_TR1_DECL log1pl(long double x);
+double BOOST_MATH_TR1_DECL boost_log1p(double x);
+float BOOST_MATH_TR1_DECL boost_log1pf(float x);
+long double BOOST_MATH_TR1_DECL boost_log1pl(long double x);
 #if 0
 double BOOST_MATH_TR1_DECL log2(double x);
 float BOOST_MATH_TR1_DECL log2f(float x);
@@ -205,9 +206,9 @@
 float BOOST_MATH_TR1_DECL nearbyintf(float x);
 long double BOOST_MATH_TR1_DECL nearbyintl(long double x);
 #endif
-double BOOST_MATH_TR1_DECL nextafter(double x, double y);
-float BOOST_MATH_TR1_DECL nextafterf(float x, float y);
-long double BOOST_MATH_TR1_DECL nextafterl(long double x, long double y);
+double BOOST_MATH_TR1_DECL boost_nextafter(double x, double y);
+float BOOST_MATH_TR1_DECL boost_nextafterf(float x, float y);
+long double BOOST_MATH_TR1_DECL boost_nextafterl(long double x, long double y);
 
 double BOOST_MATH_TR1_DECL nexttoward(double x, long double y);
 float BOOST_MATH_TR1_DECL nexttowardf(float x, long double y);
@@ -430,6 +431,12 @@
 float exp2f(float x);
 long double exp2l(long double x);
 #endif
+inline float expm1f(float x)
+{ return boost::math::tr1::boost_expm1f(x); }
+inline double expm1(double x)
+{ return boost::math::tr1::boost_expm1(x); }
+inline long double expm1l(long double x)
+{ return boost::math::tr1::boost_expm1l(x); }
 inline float expm1(float x)
 { return boost::math::tr1::expm1f(x); }
 inline long double expm1(long double x)
@@ -493,6 +500,12 @@
 inline long long llround(T x)
 { return llround(static_cast<double>(x)); }
 
+inline float log1pf(float x)
+{ return boost::math::tr1::boost_log1pf(x); }
+inline double log1p(double x)
+{ return boost::math::tr1::boost_log1p(x); }
+inline long double log1pl(long double x)
+{ return boost::math::tr1::boost_log1pl(x); }
 inline float log1p(float x)
 { return boost::math::tr1::log1pf(x); }
 inline long double log1p(long double x)
@@ -527,6 +540,12 @@
 float nearbyintf(float x);
 long double nearbyintl(long double x);
 #endif
+inline float nextafterf(float x, float y)
+{ return boost::math::tr1::boost_nextafterf(x, y); }
+inline double nextafter(double x, double y)
+{ return boost::math::tr1::boost_nextafter(x, y); }
+inline long double nextafterl(long double x, long double y)
+{ return boost::math::tr1::boost_nextafterl(x, y); }
 inline float nextafter(float x, float y)
 { return boost::math::tr1::nextafterf(x, y); }
 inline long double nextafter(long double x, long double y)

Modified: sandbox/math_toolkit/libs/math/build/Jamfile.v2
==============================================================================
--- sandbox/math_toolkit/libs/math/build/Jamfile.v2 (original)
+++ sandbox/math_toolkit/libs/math/build/Jamfile.v2 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -3,6 +3,8 @@
 # (See accompanying file LICENSE_1_0.txt or copy at
 # http://www.boost.org/LICENSE_1_0.txt.
 
+import testing ;
+
 C99_SOURCES = acosh
 asinh
 atanh
@@ -49,6 +51,8 @@
 sph_neumann
 ;
 
+compile has_long_double_support.cpp ;
+
 lib boost_math_tr1 : ../src/tr1/$(TR1_SOURCES).cpp
     :
               <link>shared:<define>BOOST_MATH_TR1_DYN_LINK=1
@@ -62,6 +66,7 @@
 lib boost_math_tr1l : ../src/tr1/$(TR1_SOURCES)l.cpp
     :
               <link>shared:<define>BOOST_MATH_TR1_DYN_LINK=1
+ <dependency>has_long_double_support
    ;
 
 lib boost_math_c99 : ../src/tr1/$(C99_SOURCES).cpp
@@ -77,5 +82,9 @@
 lib boost_math_c99l : ../src/tr1/$(C99_SOURCES)l.cpp
     :
               <link>shared:<define>BOOST_MATH_TR1_DYN_LINK=1
+ <dependency>has_long_double_support
    ;
 
+
+boost-install boost_math_c99 boost_math_c99f boost_math_c99l boost_math_tr1 boost_math_tr1f boost_math_tr1l ;
+

Modified: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/generate.sh
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/generate.sh (original)
+++ sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/generate.sh 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -1,3 +1,7 @@
+# Copyright John Maddock 2008.
+# Use, modification and distribution are subject to the
+# Boost Software License, Version 1.0. (See accompanying file
+# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 #
 # Generates SVG and PNG files from the MML masters.
 #

Modified: sandbox/math_toolkit/libs/math/doc/sf_and_dist/graphs/generate.sh
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/sf_and_dist/graphs/generate.sh (original)
+++ sandbox/math_toolkit/libs/math/doc/sf_and_dist/graphs/generate.sh 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -1,3 +1,7 @@
+# Copyright John Maddock 2008.
+# Use, modification and distribution are subject to the
+# Boost Software License, Version 1.0. (See accompanying file
+# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 #
 # Generates PNG files from the SVG masters.
 #

Modified: sandbox/math_toolkit/libs/math/doc/sf_and_dist/math.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/sf_and_dist/math.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/sf_and_dist/math.qbk 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -308,7 +308,7 @@
 ] [/ template discrete_quantile_warning]
 
 This manual is also available in
-[@http:svn.boost.org/svn/boost/sandbox/pdf/math/release/math.pdf
+[@http://svn.boost.org/svn/boost/sandbox/pdf/math/release/math.pdf
 printer friendly PDF format].
 
 [section:main_overview Overview]

Modified: sandbox/math_toolkit/libs/math/performance/Jamfile.v2
==============================================================================
--- sandbox/math_toolkit/libs/math/performance/Jamfile.v2 (original)
+++ sandbox/math_toolkit/libs/math/performance/Jamfile.v2 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -12,7 +12,12 @@
 test_ibeta.cpp
 test_igamma.cpp
 test_polynomial.cpp
-test_reference.cpp ;
+test_reference.cpp
+test_lanczos.cpp /boost/regex//boost_regex
+:
+ <define>BOOST_ALL_NO_LIB
+ <link>static
+;
 
 install dist-bin
     :

Modified: sandbox/math_toolkit/libs/math/performance/main.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/performance/main.cpp (original)
+++ sandbox/math_toolkit/libs/math/performance/main.cpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -123,8 +123,11 @@
    std::cout << "BOOST_MATH_MAX_ROOT_ITERATION_POLICY " << BOOST_STRINGIZE(BOOST_MATH_MAX_ROOT_ITERATION_POLICY) << std::endl;
 }
 
+extern void sanity_check();
+
 int main(int argc, const char** argv)
 {
+ //sanity_check();
    try{
 
 #ifdef TEST_GSL

Modified: sandbox/math_toolkit/libs/math/src/tr1/expm1.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/src/tr1/expm1.cpp (original)
+++ sandbox/math_toolkit/libs/math/src/tr1/expm1.cpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -8,7 +8,7 @@
 #include <boost/math/special_functions/expm1.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL expm1(double x)
+extern "C" double BOOST_MATH_TR1_DECL boost_expm1(double x)
 {
    return c_policies::expm1(x);
 }

Modified: sandbox/math_toolkit/libs/math/src/tr1/expm1f.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/src/tr1/expm1f.cpp (original)
+++ sandbox/math_toolkit/libs/math/src/tr1/expm1f.cpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -8,7 +8,7 @@
 #include <boost/math/special_functions/expm1.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL expm1f(float x)
+extern "C" float BOOST_MATH_TR1_DECL boost_expm1f(float x)
 {
    return c_policies::expm1(x);
 }

Modified: sandbox/math_toolkit/libs/math/src/tr1/expm1l.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/src/tr1/expm1l.cpp (original)
+++ sandbox/math_toolkit/libs/math/src/tr1/expm1l.cpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -8,7 +8,7 @@
 #include <boost/math/special_functions/expm1.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL expm1l(long double x)
+extern "C" long double BOOST_MATH_TR1_DECL boost_expm1l(long double x)
 {
    return c_policies::expm1(x);
 }

Modified: sandbox/math_toolkit/libs/math/src/tr1/log1p.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/src/tr1/log1p.cpp (original)
+++ sandbox/math_toolkit/libs/math/src/tr1/log1p.cpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -10,7 +10,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" double BOOST_MATH_TR1_DECL log1p(double x)
+extern "C" double BOOST_MATH_TR1_DECL boost_log1p(double x)
 {
    return c_policies::log1p(x);
 }

Modified: sandbox/math_toolkit/libs/math/src/tr1/log1pf.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/src/tr1/log1pf.cpp (original)
+++ sandbox/math_toolkit/libs/math/src/tr1/log1pf.cpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -10,7 +10,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" float BOOST_MATH_TR1_DECL log1pf(float x)
+extern "C" float BOOST_MATH_TR1_DECL boost_log1pf(float x)
 {
    return c_policies::log1p(x);
 }

Modified: sandbox/math_toolkit/libs/math/src/tr1/log1pl.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/src/tr1/log1pl.cpp (original)
+++ sandbox/math_toolkit/libs/math/src/tr1/log1pl.cpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -10,7 +10,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" long double BOOST_MATH_TR1_DECL log1pl(long double x)
+extern "C" long double BOOST_MATH_TR1_DECL boost_log1pl(long double x)
 {
    return c_policies::log1p(x);
 }

Modified: sandbox/math_toolkit/libs/math/src/tr1/nextafter.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/src/tr1/nextafter.cpp (original)
+++ sandbox/math_toolkit/libs/math/src/tr1/nextafter.cpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -10,7 +10,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" double BOOST_MATH_TR1_DECL nextafter(double x, double y)
+extern "C" double BOOST_MATH_TR1_DECL boost_nextafter(double x, double y)
 {
    return c_policies::nextafter(x, y);
 }

Modified: sandbox/math_toolkit/libs/math/src/tr1/nextafterf.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/src/tr1/nextafterf.cpp (original)
+++ sandbox/math_toolkit/libs/math/src/tr1/nextafterf.cpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -10,7 +10,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" float BOOST_MATH_TR1_DECL nextafterf(float x, float y)
+extern "C" float BOOST_MATH_TR1_DECL boost_nextafterf(float x, float y)
 {
    return c_policies::nextafter(x, y);
 }

Modified: sandbox/math_toolkit/libs/math/src/tr1/nextafterl.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/src/tr1/nextafterl.cpp (original)
+++ sandbox/math_toolkit/libs/math/src/tr1/nextafterl.cpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -10,7 +10,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" long double BOOST_MATH_TR1_DECL nextafterl(long double x, long double y)
+extern "C" long double BOOST_MATH_TR1_DECL boost_nextafterl(long double x, long double y)
 {
    return c_policies::nextafter(x, y);
 }

Modified: sandbox/math_toolkit/libs/math/test/Jamfile.v2
==============================================================================
--- sandbox/math_toolkit/libs/math/test/Jamfile.v2 (original)
+++ sandbox/math_toolkit/libs/math/test/Jamfile.v2 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -389,10 +389,17 @@
 run test_tr1.cpp
    ../build//boost_math_tr1
    ../build//boost_math_tr1f
- ../build//boost_math_tr1l
    ../build//boost_math_c99
    ../build//boost_math_c99f
+ ;
+
+run test_tr1.cpp
+ ../build//boost_math_tr1l
    ../build//boost_math_c99l
+ : : :
+ <define>TEST_LD=1
+ :
+ test_tr1_long_double
    ;
 
 compile compile_test/compl_abs_incl_test.cpp ;

Modified: sandbox/math_toolkit/libs/math/test/expint_1_data.ipp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/expint_1_data.ipp (original)
+++ sandbox/math_toolkit/libs/math/test/expint_1_data.ipp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -1,3 +1,8 @@
+// Copyright John Maddock 2008.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
 #define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
    static const boost::array<boost::array<T, 3>, 79> expint_1_data = {{
       { SC_(1), SC_(0.1690093176520690576580818742513656616211e-8), SC_(19.62126651228390287899433646349668926594) },

Modified: sandbox/math_toolkit/libs/math/test/expint_data.ipp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/expint_data.ipp (original)
+++ sandbox/math_toolkit/libs/math/test/expint_data.ipp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -1,3 +1,8 @@
+// Copyright John Maddock 2008.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
 #define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
    static const boost::array<boost::array<T, 3>, 600> expint_data = {{
       { SC_(0), SC_(4.8770198822021484375), SC_(0.001562365538135970995717852896857631808327) },

Modified: sandbox/math_toolkit/libs/math/test/expint_small_data.ipp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/expint_small_data.ipp (original)
+++ sandbox/math_toolkit/libs/math/test/expint_small_data.ipp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -1,3 +1,8 @@
+// Copyright John Maddock 2008.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
 #define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
    static const boost::array<boost::array<T, 3>, 380> expint_small_data = {{
       { SC_(0), SC_(0.1730655412757187150418758392333984375e-5), SC_(577814.7758212256423775256378551874856003) },

Modified: sandbox/math_toolkit/libs/math/test/expinti_data.ipp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/expinti_data.ipp (original)
+++ sandbox/math_toolkit/libs/math/test/expinti_data.ipp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -1,3 +1,8 @@
+// Copyright John Maddock 2008.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
 #define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
    static const boost::array<boost::array<T, 2>, 336> expinti_data = {{
       { SC_(-49.689971923828125), SC_(-0.5189914452467706181911213069148082266893e-23) },

Modified: sandbox/math_toolkit/libs/math/test/expinti_data_double.ipp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/expinti_data_double.ipp (original)
+++ sandbox/math_toolkit/libs/math/test/expinti_data_double.ipp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -1,3 +1,8 @@
+// Copyright John Maddock 2008.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
 #define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
    static const boost::array<boost::array<T, 2>, 100> expinti_data_double = {{
       { SC_(102.87009429931640625), SC_(4654899469800805764672952463660041015404000.0) },

Modified: sandbox/math_toolkit/libs/math/test/expinti_data_long.ipp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/expinti_data_long.ipp (original)
+++ sandbox/math_toolkit/libs/math/test/expinti_data_long.ipp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -1,3 +1,8 @@
+// Copyright John Maddock 2008.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
 #define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
    static const boost::array<boost::array<T, 2>, 100> expinti_data_long = {{
       { SC_(850.51361083984375), SC_(0.27809823533792637952061836944224670902e367) },

Modified: sandbox/math_toolkit/libs/math/test/ncbeta.ipp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/ncbeta.ipp (original)
+++ sandbox/math_toolkit/libs/math/test/ncbeta.ipp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -1,3 +1,8 @@
+// Copyright John Maddock 2008.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
 #define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
    static const boost::array<boost::array<T, 6>, 3000> ncbeta = {{
       { SC_(1.454305052757263183593750000000000000000), SC_(1.454305052757263183593750000000000000000e-1), SC_(5.940588760375976562500000000000000000000e1), SC_(9.976066350936889648437500000000000000000e-1), SC_(2.759834870217354705236013708534509068967e-1), SC_(7.240165129782645294763986291465490931033e-1) },

Modified: sandbox/math_toolkit/libs/math/test/ncbeta_big.ipp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/ncbeta_big.ipp (original)
+++ sandbox/math_toolkit/libs/math/test/ncbeta_big.ipp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -1,3 +1,8 @@
+// Copyright John Maddock 2008.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
 #define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
    static const boost::array<boost::array<T, 6>, 72> ncbeta_big = {{
       { SC_(2.322846374511718750000000000000000000000e2), SC_(2.090561676025390625000000000000000000000e2), SC_(2.322846374511718750000000000000000000000e2), SC_(6.248598918318748474121093750000000000000e-2), SC_(5.822794103663371475941613559141512048716e-200), SC_(1.000000000000000000000000000000000000000) },

Modified: sandbox/math_toolkit/libs/math/test/nccs.ipp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/nccs.ipp (original)
+++ sandbox/math_toolkit/libs/math/test/nccs.ipp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -1,3 +1,8 @@
+// Copyright John Maddock 2008.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
 #define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
    static const boost::array<boost::array<T, 5>, 3200> nccs = {{
       { SC_(1.951913356781005859375000000000000000000), SC_(9.566968083381652832031250000000000000000e-1), SC_(2.908610105514526367187500000000000000000e-1), SC_(9.191713210042786241188236234883914114395e-2), SC_(9.080828678995721375881176376511608588560e-1) },

Modified: sandbox/math_toolkit/libs/math/test/test_nc_t.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/test_nc_t.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/test_nc_t.cpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -261,7 +261,7 @@
    // and the distribution of the square of the sample
    // multiple correlation coeficient.
    // Denise Benton, K. Krishnamoorthy.
- // Computational Statistics & Data Analysis 43 (2003) 249 – 267
+ // Computational Statistics & Data Analysis 43 (2003) 249 - 267
    //
    test_spot(
       static_cast<RealType>(3), // degrees of freedom

Modified: sandbox/math_toolkit/libs/math/test/test_next.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/test_next.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/test_next.cpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -109,8 +109,10 @@
 {
    test_values(1.0f, "float");
    test_values(1.0, "double");
+#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
    test_values(1.0L, "long double");
    test_values(boost::math::concepts::real_concept(0), "real_concept");
+#endif
    return 0;
 }
 

Modified: sandbox/math_toolkit/libs/math/test/test_tr1.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/test_tr1.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/test_tr1.cpp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -6,6 +6,7 @@
 #include <boost/test/included/test_exec_monitor.hpp>
 #include <boost/test/floating_point_comparison.hpp>
 #include <boost/math/tools/precision.hpp>
+#include <math.h> // ldexpf
 
 #ifdef TEST_STD
 #include <cmath>
@@ -18,6 +19,7 @@
 void test_values(float, const char* name)
 {
    std::cout << "Testing type " << name << std::endl;
+#ifndef TEST_LD
    //
    // First the C99 math functions:
    //
@@ -645,12 +647,14 @@
 
    BOOST_CHECK_CLOSE_FRACTION(tr1::sph_legendre(3, 2, static_cast<float>(0.5)), static_cast<float>(0.2061460599687871330692286791802688341213L), eps * 5000);
    BOOST_CHECK_CLOSE_FRACTION(tr1::sph_legendre(40, 15, static_cast<float>(0.75)), static_cast<float>(-0.406036847302819452666908966769096223205057182668333862900509L), eps * 5000);
+#endif
 }
 
 void test_values(double, const char* name)
 {
    std::cout << "Testing type " << name << std::endl;
 
+#ifndef TEST_LD
    double eps = boost::math::tools::epsilon<double>();
    BOOST_CHECK_CLOSE(tr1::acosh(std::cosh(0.5)), 0.5, 500 * eps);
    BOOST_CHECK_CLOSE(tr1::asinh(std::sinh(0.5)), 0.5, 500 * eps);
@@ -963,10 +967,13 @@
 
    BOOST_CHECK_CLOSE_FRACTION(tr1::sph_legendre(3, 2, static_cast<double>(0.5)), static_cast<double>(0.2061460599687871330692286791802688341213L), eps * 5000);
    BOOST_CHECK_CLOSE_FRACTION(tr1::sph_legendre(40, 15, static_cast<double>(0.75)), static_cast<double>(-0.406036847302819452666908966769096223205057182668333862900509L), eps * 5000);
+#endif
 }
 
 void test_values(long double, const char* name)
 {
+#ifdef TEST_LD
+#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
    std::cout << "Testing type " << name << std::endl;
 
    long double eps = boost::math::tools::epsilon<long double>();
@@ -1027,14 +1034,14 @@
    BOOST_CHECK(tr1::roundl(2.5L) == 3.0L);
    BOOST_CHECK(tr1::roundl(2.25L) == 2.0L);
 
- BOOST_CHECK(tr1::nextafterf(1.0L, 2.0L) > 1.0L);
- BOOST_CHECK(tr1::nextafterf(1.0L, -2.0L) < 1.0L);
- BOOST_CHECK(tr1::nextafterf(tr1::nextafterf(1.0L, 2.0L), -2.0L) == 1.0L);
- BOOST_CHECK(tr1::nextafterf(tr1::nextafterf(1.0L, -2.0L), 2.0L) == 1.0L);
- BOOST_CHECK(tr1::nextafterf(1.0L, 2.0L) > 1.0L);
- BOOST_CHECK(tr1::nextafterf(1.0L, -2.0L) < 1.0L);
- BOOST_CHECK(tr1::nextafterf(tr1::nextafterf(1.0L, 2.0L), -2.0L) == 1.0L);
- BOOST_CHECK(tr1::nextafterf(tr1::nextafterf(1.0L, -2.0L), 2.0L) == 1.0L);
+ BOOST_CHECK(tr1::nextafterl(1.0L, 2.0L) > 1.0L);
+ BOOST_CHECK(tr1::nextafterl(1.0L, -2.0L) < 1.0L);
+ BOOST_CHECK(tr1::nextafterl(tr1::nextafterl(1.0L, 2.0L), -2.0L) == 1.0L);
+ BOOST_CHECK(tr1::nextafterl(tr1::nextafterl(1.0L, -2.0L), 2.0L) == 1.0L);
+ BOOST_CHECK(tr1::nextafterl(1.0L, 2.0L) > 1.0L);
+ BOOST_CHECK(tr1::nextafterl(1.0L, -2.0L) < 1.0L);
+ BOOST_CHECK(tr1::nextafterl(tr1::nextafterl(1.0L, 2.0L), -2.0L) == 1.0L);
+ BOOST_CHECK(tr1::nextafterl(tr1::nextafterl(1.0L, -2.0L), 2.0L) == 1.0L);
 
    BOOST_CHECK(tr1::truncl(2.5L) == 2.0L);
    BOOST_CHECK(tr1::truncl(2.25L) == 2.0L);
@@ -1593,13 +1600,20 @@
 
    BOOST_CHECK_CLOSE_FRACTION(tr1::sph_legendre(3L, 2L, static_cast<long double>(0.5L)), static_cast<long double>(0.2061460599687871330692286791802688341213L), eps * 5000L);
    BOOST_CHECK_CLOSE_FRACTION(tr1::sph_legendre(40L, 15L, static_cast<long double>(0.75L)), static_cast<long double>(-0.406036847302819452666908966769096223205057182668333862900509L), eps * 5000L);
+#endif
+#endif
 }
 
 int test_main(int, char* [])
 {
+#ifndef TEST_LD
    test_values(1.0f, "float");
    test_values(1.0, "double");
+#else
+#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
    test_values(1.0L, "long double");
+#endif
+#endif
    return 0;
 }
 

Modified: sandbox/math_toolkit/libs/math/test/zeta_1_below_data.ipp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/zeta_1_below_data.ipp (original)
+++ sandbox/math_toolkit/libs/math/test/zeta_1_below_data.ipp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -1,3 +1,8 @@
+// Copyright John Maddock 2008.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
 #define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
    static const boost::array<boost::array<T, 2>, 24> zeta_1_below_data = {{
       { SC_(0.02141654491424560546875), SC_(-0.5201506602793944998316548018699690797681) },

Modified: sandbox/math_toolkit/libs/math/test/zeta_1_up_data.ipp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/zeta_1_up_data.ipp (original)
+++ sandbox/math_toolkit/libs/math/test/zeta_1_up_data.ipp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -1,3 +1,8 @@
+// Copyright John Maddock 2008.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
 #define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
    static const boost::array<boost::array<T, 2>, 24> zeta_1_up_data = {{
       { SC_(1.00000011920928955078125), SC_(8388608.57721567358185799990090564625463) },

Modified: sandbox/math_toolkit/libs/math/test/zeta_data.ipp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/zeta_data.ipp (original)
+++ sandbox/math_toolkit/libs/math/test/zeta_data.ipp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -1,3 +1,8 @@
+// Copyright John Maddock 2008.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
 #define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
    static const boost::array<boost::array<T, 2>, 200> zeta_data = {{
       { SC_(1.16628754138946533203125), SC_(6.602868183069916948720755731837247651904) },

Modified: sandbox/math_toolkit/libs/math/test/zeta_neg_data.ipp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/zeta_neg_data.ipp (original)
+++ sandbox/math_toolkit/libs/math/test/zeta_neg_data.ipp 2008-07-04 13:08:58 EDT (Fri, 04 Jul 2008)
@@ -1,3 +1,8 @@
+// Copyright John Maddock 2008.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
 #define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
    static const boost::array<boost::array<T, 2>, 200> zeta_neg_data = {{
       { SC_(-29.912628173828125), SC_(-11411595.03734503626230312380285630491992) },


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