Boost logo

Boost-Commit :

From: john_at_[hidden]
Date: 2007-12-18 13:32:58


Author: johnmaddock
Date: 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
New Revision: 42140
URL: http://svn.boost.org/trac/boost/changeset/42140

Log:
Added expint docs.
Updated zeta and expint tests with hooks for other libraries.
Added #pragma once to header files.
Added:
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_1.mml (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_1.png (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_1.svg (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_2.mml (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_2.png (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_2.svg (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_3.mml (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_3.png (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_3.svg (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_4.mml (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_4.png (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_4.svg (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_1.mml (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_1.png (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_1.svg (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_2.mml (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_2.png (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_2.svg (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_3.mml (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_3.png (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_3.svg (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_4.mml (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_4.png (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_4.svg (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_5.mml (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_5.png (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_5.svg (contents, props changed)
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/expint.qbk (contents, props changed)
   sandbox/math_toolkit/libs/math/test/test_expint_hooks.hpp (contents, props changed)
   sandbox/math_toolkit/libs/math/test/test_zeta_hooks.hpp (contents, props changed)
Binary files modified:
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/zeta1.png
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/zeta2.png
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/zeta3.png
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/zeta4.png
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/zeta5.png
Text files modified:
   sandbox/math_toolkit/boost/math/special_functions/acosh.hpp | 4 +++
   sandbox/math_toolkit/boost/math/special_functions/asinh.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/atanh.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/bessel.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/beta.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/binomial.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/cbrt.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/cos_pi.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/bessel_i0.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/bessel_i1.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/bessel_ik.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/bessel_j0.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/bessel_j1.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/bessel_jn.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/bessel_jy.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/bessel_jy_asym.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/bessel_k0.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/bessel_k1.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/bessel_kn.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/bessel_y0.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/bessel_y1.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/bessel_yn.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/erf_inv.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/gamma_inva.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/ibeta_inv_ab.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/ibeta_inverse.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/igamma_inverse.hpp | 7 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/igamma_large.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/lgamma_small.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/simple_complex.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/t_distribution_inv.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/detail/unchecked_factorial.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/digamma.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/ellint_1.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/ellint_2.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/ellint_3.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/ellint_rc.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/ellint_rd.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/ellint_rf.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/ellint_rj.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/erf.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/expint.hpp | 9 +++++-
   sandbox/math_toolkit/boost/math/special_functions/expm1.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/factorials.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/fpclassify.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/gamma.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/hermite.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/hypot.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/laguerre.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/lanczos.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/legendre.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/log1p.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/math_fwd.hpp | 7 ++++
   sandbox/math_toolkit/boost/math/special_functions/powm1.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/sign.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/sin_pi.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/sinc.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/sinhc.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/spherical_harmonic.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/sqrt1pm1.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/special_functions/zeta.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/tools/config.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/tools/fraction.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/tools/minima.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/tools/polynomial.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/tools/precision.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/tools/promotion.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/tools/rational.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/tools/real_cast.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/tools/remez.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/tools/roots.hpp | 6 ++++
   sandbox/math_toolkit/boost/math/tools/series.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/tools/solve.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/tools/stats.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/tools/test.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/tools/test_data.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/tools/toms748_solve.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/tools/traits.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/tools/user.hpp | 5 ++++
   sandbox/math_toolkit/boost/math/tools/workaround.hpp | 5 ++++
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/implementation.qbk | 8 ++++++
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/math.qbk | 11 ++++++++
   sandbox/math_toolkit/libs/math/test/test_expint.cpp | 50 ++++++++++++++++++++++++++++++++++++++-
   sandbox/math_toolkit/libs/math/test/test_zeta.cpp | 12 +++++++++
   84 files changed, 483 insertions(+), 6 deletions(-)

Modified: sandbox/math_toolkit/boost/math/special_functions/acosh.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/acosh.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/acosh.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -10,6 +10,9 @@
 #ifndef BOOST_ACOSH_HPP
 #define BOOST_ACOSH_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
 
 #include <cmath>
 #include <boost/config.hpp>
@@ -110,3 +113,4 @@
 
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/asinh.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/asinh.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/asinh.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -10,6 +10,10 @@
 #ifndef BOOST_ASINH_HPP
 #define BOOST_ASINH_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 
 #include <cmath>
 #include <boost/config.hpp>
@@ -110,3 +114,4 @@
 }
 
 #endif /* BOOST_ASINH_HPP */
+

Modified: sandbox/math_toolkit/boost/math/special_functions/atanh.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/atanh.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/atanh.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -10,6 +10,10 @@
 #ifndef BOOST_ATANH_HPP
 #define BOOST_ATANH_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 
 #include <cmath>
 #include <boost/config.hpp>
@@ -120,3 +124,4 @@
 #endif /* BOOST_ATANH_HPP */
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/bessel.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/bessel.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/bessel.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -10,6 +10,10 @@
 #ifndef BOOST_MATH_BESSEL_HPP
 #define BOOST_MATH_BESSEL_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/detail/bessel_jy.hpp>
 #include <boost/math/special_functions/detail/bessel_jn.hpp>
 #include <boost/math/special_functions/detail/bessel_yn.hpp>
@@ -482,3 +486,4 @@
 } // namespace boost
 
 #endif // BOOST_MATH_BESSEL_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/beta.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/beta.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/beta.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_SPECIAL_BETA_HPP
 #define BOOST_MATH_SPECIAL_BETA_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/math_fwd.hpp>
 #include <boost/math/tools/config.hpp>
 #include <boost/math/special_functions/gamma.hpp>
@@ -1348,3 +1352,4 @@
 
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/binomial.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/binomial.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/binomial.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_SF_BINOMIAL_HPP
 #define BOOST_MATH_SF_BINOMIAL_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/factorials.hpp>
 #include <boost/math/special_functions/beta.hpp>
 #include <boost/math/policies/error_handling.hpp>
@@ -73,3 +77,4 @@
 #endif // BOOST_MATH_SF_BINOMIAL_HPP
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/cbrt.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/cbrt.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/cbrt.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_SF_CBRT_HPP
 #define BOOST_MATH_SF_CBRT_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/roots.hpp>
 #include <boost/math/special_functions/math_fwd.hpp>
 
@@ -70,3 +74,4 @@
 
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/cos_pi.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/cos_pi.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/cos_pi.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_COS_PI_HPP
 #define BOOST_MATH_COS_PI_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <cmath>
 #include <boost/math/tools/config.hpp>
 #include <boost/math/tools/real_cast.hpp>
@@ -51,3 +55,4 @@
 } // namespace math
 } // namespace boost
 #endif
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/bessel_i0.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/bessel_i0.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/bessel_i0.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_BESSEL_I0_HPP
 #define BOOST_MATH_BESSEL_I0_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/rational.hpp>
 #include <boost/assert.hpp>
 
@@ -94,3 +98,4 @@
 }}} // namespaces
 
 #endif // BOOST_MATH_BESSEL_I0_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/bessel_i1.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/bessel_i1.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/bessel_i1.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_BESSEL_I1_HPP
 #define BOOST_MATH_BESSEL_I1_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/rational.hpp>
 #include <boost/assert.hpp>
 
@@ -97,3 +101,4 @@
 }}} // namespaces
 
 #endif // BOOST_MATH_BESSEL_I1_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/bessel_ik.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/bessel_ik.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/bessel_ik.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_BESSEL_IK_HPP
 #define BOOST_MATH_BESSEL_IK_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/gamma.hpp>
 #include <boost/math/special_functions/sin_pi.hpp>
 #include <boost/math/constants/constants.hpp>
@@ -329,3 +333,4 @@
 }}} // namespaces
 
 #endif // BOOST_MATH_BESSEL_IK_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/bessel_j0.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/bessel_j0.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/bessel_j0.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_BESSEL_J0_HPP
 #define BOOST_MATH_BESSEL_J0_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/constants/constants.hpp>
 #include <boost/math/tools/rational.hpp>
 #include <boost/assert.hpp>
@@ -145,3 +149,4 @@
 }}} // namespaces
 
 #endif // BOOST_MATH_BESSEL_J0_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/bessel_j1.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/bessel_j1.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/bessel_j1.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_BESSEL_J1_HPP
 #define BOOST_MATH_BESSEL_J1_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/constants/constants.hpp>
 #include <boost/math/tools/rational.hpp>
 #include <boost/assert.hpp>
@@ -150,3 +154,4 @@
 }}} // namespaces
 
 #endif // BOOST_MATH_BESSEL_J1_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/bessel_jn.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/bessel_jn.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/bessel_jn.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_BESSEL_JN_HPP
 #define BOOST_MATH_BESSEL_JN_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/detail/bessel_j0.hpp>
 #include <boost/math/special_functions/detail/bessel_j1.hpp>
 #include <boost/math/special_functions/detail/bessel_jy.hpp>
@@ -84,3 +88,4 @@
 }}} // namespaces
 
 #endif // BOOST_MATH_BESSEL_JN_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/bessel_jy.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/bessel_jy.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/bessel_jy.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_BESSEL_JY_HPP
 #define BOOST_MATH_BESSEL_JY_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/config.hpp>
 #include <boost/math/special_functions/gamma.hpp>
 #include <boost/math/special_functions/sign.hpp>
@@ -359,3 +363,4 @@
 }} // namespaces
 
 #endif // BOOST_MATH_BESSEL_JY_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/bessel_jy_asym.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/bessel_jy_asym.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/bessel_jy_asym.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -12,6 +12,10 @@
 #ifndef BOOST_MATH_SF_DETAIL_BESSEL_JY_ASYM_HPP
 #define BOOST_MATH_SF_DETAIL_BESSEL_JY_ASYM_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/factorials.hpp>
 
 namespace boost{ namespace math{ namespace detail{
@@ -295,3 +299,4 @@
 }}} // namespaces
 
 #endif
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/bessel_k0.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/bessel_k0.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/bessel_k0.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_BESSEL_K0_HPP
 #define BOOST_MATH_BESSEL_K0_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/rational.hpp>
 #include <boost/math/policies/error_handling.hpp>
 #include <boost/assert.hpp>
@@ -114,3 +118,4 @@
 }}} // namespaces
 
 #endif // BOOST_MATH_BESSEL_K0_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/bessel_k1.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/bessel_k1.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/bessel_k1.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_BESSEL_K1_HPP
 #define BOOST_MATH_BESSEL_K1_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/rational.hpp>
 #include <boost/math/policies/error_handling.hpp>
 #include <boost/assert.hpp>
@@ -110,3 +114,4 @@
 }}} // namespaces
 
 #endif // BOOST_MATH_BESSEL_K1_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/bessel_kn.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/bessel_kn.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/bessel_kn.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_BESSEL_KN_HPP
 #define BOOST_MATH_BESSEL_KN_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/detail/bessel_k0.hpp>
 #include <boost/math/special_functions/detail/bessel_k1.hpp>
 #include <boost/math/policies/error_handling.hpp>
@@ -67,3 +71,4 @@
 }}} // namespaces
 
 #endif // BOOST_MATH_BESSEL_KN_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/bessel_y0.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/bessel_y0.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/bessel_y0.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_BESSEL_Y0_HPP
 #define BOOST_MATH_BESSEL_Y0_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/detail/bessel_j0.hpp>
 #include <boost/math/constants/constants.hpp>
 #include <boost/math/tools/rational.hpp>
@@ -175,3 +179,4 @@
 }}} // namespaces
 
 #endif // BOOST_MATH_BESSEL_Y0_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/bessel_y1.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/bessel_y1.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/bessel_y1.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_BESSEL_Y1_HPP
 #define BOOST_MATH_BESSEL_Y1_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/detail/bessel_j1.hpp>
 #include <boost/math/constants/constants.hpp>
 #include <boost/math/tools/rational.hpp>
@@ -148,3 +152,4 @@
 }}} // namespaces
 
 #endif // BOOST_MATH_BESSEL_Y1_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/bessel_yn.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/bessel_yn.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/bessel_yn.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_BESSEL_YN_HPP
 #define BOOST_MATH_BESSEL_YN_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/detail/bessel_y0.hpp>
 #include <boost/math/special_functions/detail/bessel_y1.hpp>
 #include <boost/math/policies/error_handling.hpp>
@@ -77,3 +81,4 @@
 }}} // namespaces
 
 #endif // BOOST_MATH_BESSEL_YN_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/erf_inv.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/erf_inv.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/erf_inv.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_SF_ERF_INV_HPP
 #define BOOST_MATH_SF_ERF_INV_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 namespace boost{ namespace math{
 
 namespace detail{
@@ -462,3 +466,4 @@
 } // namespace boost
 
 #endif // BOOST_MATH_SF_ERF_INV_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/gamma_inva.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/gamma_inva.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/gamma_inva.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -13,6 +13,10 @@
 #ifndef BOOST_MATH_SP_DETAIL_GAMMA_INVA
 #define BOOST_MATH_SP_DETAIL_GAMMA_INVA
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/toms748_solve.hpp>
 #include <boost/cstdint.hpp>
 
@@ -176,3 +180,4 @@
 #endif // BOOST_MATH_SP_DETAIL_GAMMA_INVA
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/ibeta_inv_ab.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/ibeta_inv_ab.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/ibeta_inv_ab.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -13,6 +13,10 @@
 #ifndef BOOST_MATH_SP_DETAIL_BETA_INV_AB
 #define BOOST_MATH_SP_DETAIL_BETA_INV_AB
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/toms748_solve.hpp>
 #include <boost/cstdint.hpp>
 
@@ -209,3 +213,4 @@
 #endif // BOOST_MATH_SP_DETAIL_BETA_INV_AB
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/ibeta_inverse.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/ibeta_inverse.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/ibeta_inverse.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -7,6 +7,10 @@
 #ifndef BOOST_MATH_SPECIAL_FUNCTIONS_IBETA_INVERSE_HPP
 #define BOOST_MATH_SPECIAL_FUNCTIONS_IBETA_INVERSE_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/beta.hpp>
 #include <boost/math/special_functions/erf.hpp>
 #include <boost/math/tools/roots.hpp>
@@ -932,3 +936,4 @@
 
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/igamma_inverse.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/igamma_inverse.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/igamma_inverse.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,11 +6,15 @@
 #ifndef BOOST_MATH_SPECIAL_FUNCTIONS_IGAMMA_INVERSE_HPP
 #define BOOST_MATH_SPECIAL_FUNCTIONS_IGAMMA_INVERSE_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
+#include <boost/tr1/tuple.hpp>
 #include <boost/math/special_functions/gamma.hpp>
 #include <boost/math/special_functions/sign.hpp>
 #include <boost/math/tools/roots.hpp>
 #include <boost/math/policies/error_handling.hpp>
-#include <boost/tr1/tuple.hpp>
 
 namespace boost{ namespace math{
 
@@ -464,3 +468,4 @@
 #endif // BOOST_MATH_SPECIAL_FUNCTIONS_IGAMMA_INVERSE_HPP
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/igamma_large.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/igamma_large.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/igamma_large.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -45,6 +45,10 @@
 #ifndef BOOST_MATH_DETAIL_IGAMMA_LARGE
 #define BOOST_MATH_DETAIL_IGAMMA_LARGE
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 namespace boost{ namespace math{ namespace detail{
 
 // This version will never be called (at runtime), it's a stub used
@@ -762,3 +766,4 @@
 
 
 #endif // BOOST_MATH_DETAIL_IGAMMA_LARGE
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/lgamma_small.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/lgamma_small.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/lgamma_small.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_SPECIAL_FUNCTIONS_DETAIL_LGAMMA_SMALL
 #define BOOST_MATH_SPECIAL_FUNCTIONS_DETAIL_LGAMMA_SMALL
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 namespace boost{ namespace math{ namespace detail{
 
 //
@@ -505,3 +509,4 @@
 }}} // namespaces
 
 #endif // BOOST_MATH_SPECIAL_FUNCTIONS_DETAIL_LGAMMA_SMALL
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/simple_complex.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/simple_complex.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/simple_complex.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_SF_DETAIL_SIMPLE_COMPLEX_HPP
 #define BOOST_MATH_SF_DETAIL_SIMPLE_COMPLEX_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 namespace boost{ namespace math{ namespace detail{ namespace sc{
 
 template <class T>
@@ -165,3 +169,4 @@
 
 #endif
 
+

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 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -7,6 +7,10 @@
 #ifndef BOOST_MATH_SF_DETAIL_INV_T_HPP
 #define BOOST_MATH_SF_DETAIL_INV_T_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/cbrt.hpp>
 
 namespace boost{ namespace math{ namespace detail{
@@ -507,3 +511,4 @@
 #endif // BOOST_MATH_SF_DETAIL_INV_T_HPP
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/detail/unchecked_factorial.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/detail/unchecked_factorial.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/detail/unchecked_factorial.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_SP_UC_FACTORIALS_HPP
 #define BOOST_MATH_SP_UC_FACTORIALS_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/array.hpp>
 #ifdef BOOST_MSVC
 #pragma warning(push) // Temporary until lexical cast fixed.
@@ -395,3 +399,4 @@
 } // namespace boost
 
 #endif // BOOST_MATH_SP_UC_FACTORIALS_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/digamma.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/digamma.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/digamma.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_SF_DIGAMMA_HPP
 #define BOOST_MATH_SF_DIGAMMA_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/rational.hpp>
 #include <boost/math/tools/promotion.hpp>
 #include <boost/math/policies/error_handling.hpp>
@@ -443,3 +447,4 @@
 } // namespace math
 } // namespace boost
 #endif
+

Modified: sandbox/math_toolkit/boost/math/special_functions/ellint_1.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/ellint_1.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/ellint_1.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -14,6 +14,10 @@
 #ifndef BOOST_MATH_ELLINT_1_HPP
 #define BOOST_MATH_ELLINT_1_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/ellint_rf.hpp>
 #include <boost/math/constants/constants.hpp>
 #include <boost/math/policies/error_handling.hpp>
@@ -180,3 +184,4 @@
 }} // namespaces
 
 #endif // BOOST_MATH_ELLINT_1_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/ellint_2.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/ellint_2.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/ellint_2.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -14,6 +14,10 @@
 #ifndef BOOST_MATH_ELLINT_2_HPP
 #define BOOST_MATH_ELLINT_2_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/ellint_rf.hpp>
 #include <boost/math/special_functions/ellint_rd.hpp>
 #include <boost/math/constants/constants.hpp>
@@ -161,3 +165,4 @@
 }} // namespaces
 
 #endif // BOOST_MATH_ELLINT_2_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/ellint_3.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/ellint_3.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/ellint_3.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -14,6 +14,10 @@
 #ifndef BOOST_MATH_ELLINT_3_HPP
 #define BOOST_MATH_ELLINT_3_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/ellint_rf.hpp>
 #include <boost/math/special_functions/ellint_rj.hpp>
 #include <boost/math/special_functions/ellint_1.hpp>
@@ -325,3 +329,4 @@
 }} // namespaces
 
 #endif // BOOST_MATH_ELLINT_3_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/ellint_rc.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/ellint_rc.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/ellint_rc.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -13,6 +13,10 @@
 #ifndef BOOST_MATH_ELLINT_RC_HPP
 #define BOOST_MATH_ELLINT_RC_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/policies/error_handling.hpp>
 #include <boost/math/tools/config.hpp>
 #include <boost/math/special_functions/math_fwd.hpp>
@@ -108,3 +112,4 @@
 }} // namespaces
 
 #endif // BOOST_MATH_ELLINT_RC_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/ellint_rd.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/ellint_rd.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/ellint_rd.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -11,6 +11,10 @@
 #ifndef BOOST_MATH_ELLINT_RD_HPP
 #define BOOST_MATH_ELLINT_RD_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/math_fwd.hpp>
 #include <boost/math/tools/config.hpp>
 #include <boost/math/policies/error_handling.hpp>
@@ -123,3 +127,4 @@
 }} // namespaces
 
 #endif // BOOST_MATH_ELLINT_RD_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/ellint_rf.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/ellint_rf.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/ellint_rf.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -12,6 +12,10 @@
 #ifndef BOOST_MATH_ELLINT_RF_HPP
 #define BOOST_MATH_ELLINT_RF_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/math_fwd.hpp>
 #include <boost/math/tools/config.hpp>
 
@@ -125,3 +129,4 @@
 }} // namespaces
 
 #endif // BOOST_MATH_ELLINT_RF_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/ellint_rj.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/ellint_rj.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/ellint_rj.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -13,6 +13,10 @@
 #ifndef BOOST_MATH_ELLINT_RJ_HPP
 #define BOOST_MATH_ELLINT_RJ_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/math_fwd.hpp>
 #include <boost/math/tools/config.hpp>
 #include <boost/math/policies/error_handling.hpp>
@@ -172,3 +176,4 @@
 }} // namespaces
 
 #endif // BOOST_MATH_ELLINT_RJ_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/erf.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/erf.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/erf.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_SPECIAL_ERF_HPP
 #define BOOST_MATH_SPECIAL_ERF_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/math_fwd.hpp>
 #include <boost/math/tools/config.hpp>
 #include <boost/math/special_functions/gamma.hpp>
@@ -856,3 +860,4 @@
 
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/expint.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/expint.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/expint.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_EXPINT_HPP
 #define BOOST_MATH_EXPINT_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/precision.hpp>
 #include <boost/math/tools/promotion.hpp>
 #include <boost/math/tools/fraction.hpp>
@@ -432,7 +436,7 @@
    if(z < 0)
       return policies::raise_domain_error<T>(function, "Function requires z >= 0 but got %1%.", z, pol);
    if(z == 0)
- return n == 1 ? policies::raise_overflow_error<T>(function, 0, pol) : 1 / (n - 1);
+ return n == 1 ? policies::raise_overflow_error<T>(function, 0, pol) : 1 / (static_cast<T>(n - 1));
 
    T result;
 
@@ -1489,7 +1493,7 @@
 
 template <class T, class U>
 inline typename detail::expint_result<T, U>::type
- expint(T const& z, U const& u)
+ expint(T const z, U const u)
 {
    typedef typename policies::is_policy<U>::type tag_type;
    return detail::expint_forwarder(z, u, tag_type());
@@ -1506,3 +1510,4 @@
 
 #endif // BOOST_MATH_EXPINT_HPP
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/expm1.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/expm1.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/expm1.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_EXPM1_INCLUDED
 #define BOOST_MATH_EXPM1_INCLUDED
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <cmath>
 #include <math.h> // platform's ::expm1
 #include <boost/limits.hpp>
@@ -267,3 +271,4 @@
 #endif // BOOST_MATH_HYPOT_INCLUDED
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/factorials.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/factorials.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/factorials.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_SP_FACTORIALS_HPP
 #define BOOST_MATH_SP_FACTORIALS_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/gamma.hpp>
 #include <boost/math/special_functions/math_fwd.hpp>
 #include <boost/math/special_functions/detail/unchecked_factorial.hpp>
@@ -222,3 +226,4 @@
 } // namespace boost
 
 #endif // BOOST_MATH_SP_FACTORIALS_HPP
+

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 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_FPCLASSIFY_HPP
 #define BOOST_MATH_FPCLASSIFY_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <math.h>
 #include <cmath>
 #include <boost/limits.hpp>
@@ -238,3 +242,4 @@
 
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/gamma.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/gamma.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/gamma.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -8,6 +8,10 @@
 #ifndef BOOST_MATH_SF_GAMMA_HPP
 #define BOOST_MATH_SF_GAMMA_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/config.hpp>
 #ifdef BOOST_MSVC
 # pragma warning(push)
@@ -1469,3 +1473,4 @@
 
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/hermite.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/hermite.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/hermite.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -7,6 +7,10 @@
 #ifndef BOOST_MATH_SPECIAL_HERMITE_HPP
 #define BOOST_MATH_SPECIAL_HERMITE_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/math_fwd.hpp>
 #include <boost/math/tools/config.hpp>
 #include <boost/math/policies/error_handling.hpp>
@@ -69,3 +73,4 @@
 #endif // BOOST_MATH_SPECIAL_HERMITE_HPP
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/hypot.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/hypot.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/hypot.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_HYPOT_INCLUDED
 #define BOOST_MATH_HYPOT_INCLUDED
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/config.hpp>
 #include <boost/math/tools/precision.hpp>
 #include <boost/math/policies/error_handling.hpp>
@@ -79,3 +83,4 @@
 #endif // BOOST_MATH_HYPOT_INCLUDED
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/laguerre.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/laguerre.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/laguerre.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -7,6 +7,10 @@
 #ifndef BOOST_MATH_SPECIAL_LAGUERRE_HPP
 #define BOOST_MATH_SPECIAL_LAGUERRE_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/math_fwd.hpp>
 #include <boost/math/tools/config.hpp>
 #include <boost/math/policies/error_handling.hpp>
@@ -132,3 +136,4 @@
 #endif // BOOST_MATH_SPECIAL_LAGUERRE_HPP
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/lanczos.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/lanczos.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/lanczos.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_SPECIAL_FUNCTIONS_LANCZOS
 #define BOOST_MATH_SPECIAL_FUNCTIONS_LANCZOS
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/config.hpp>
 #include <boost/mpl/if.hpp>
 #include <boost/limits.hpp>
@@ -1229,3 +1233,4 @@
 
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/legendre.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/legendre.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/legendre.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -7,6 +7,10 @@
 #ifndef BOOST_MATH_SPECIAL_LEGENDRE_HPP
 #define BOOST_MATH_SPECIAL_LEGENDRE_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/math_fwd.hpp>
 #include <boost/math/special_functions/factorials.hpp>
 #include <boost/math/tools/config.hpp>
@@ -187,3 +191,4 @@
 #endif // BOOST_MATH_SPECIAL_LEGENDRE_HPP
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/log1p.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/log1p.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/log1p.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_LOG1P_INCLUDED
 #define BOOST_MATH_LOG1P_INCLUDED
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <cmath>
 #include <math.h> // platform's ::log1p
 #include <boost/limits.hpp>
@@ -275,3 +279,4 @@
 #endif // BOOST_MATH_LOG1P_INCLUDED
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/math_fwd.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/math_fwd.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/math_fwd.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -19,6 +19,10 @@
 #ifndef BOOST_MATH_SPECIAL_MATH_FWD_HPP
 #define BOOST_MATH_SPECIAL_MATH_FWD_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/promotion.hpp> // for argument promotion.
 #include <boost/math/policies/policy.hpp>
 #include <boost/mpl/comparison.hpp>
@@ -640,7 +644,7 @@
    typename tools::promote_args<T>::type expint(unsigned n, T z, const Policy&);
 
    template <class T, class U>
- typename detail::expint_result<T, U>::type expint(T const& z, U const& u);
+ typename detail::expint_result<T, U>::type expint(T const z, U const u);
 
    template <class T>
    typename tools::promote_args<T>::type expint(T z);
@@ -952,3 +956,4 @@
 
 
 #endif // BOOST_MATH_SPECIAL_MATH_FWD_HPP
+

Modified: sandbox/math_toolkit/boost/math/special_functions/powm1.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/powm1.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/powm1.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_POWM1
 #define BOOST_MATH_POWM1
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/log1p.hpp>
 #include <boost/math/special_functions/expm1.hpp>
 #include <boost/math/special_functions/math_fwd.hpp>
@@ -54,3 +58,4 @@
 
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/sign.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/sign.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/sign.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_TOOLS_SIGN_HPP
 #define BOOST_MATH_TOOLS_SIGN_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/config.hpp>
 #include <boost/math/special_functions/math_fwd.hpp>
 
@@ -36,3 +40,4 @@
 
 #endif // BOOST_MATH_TOOLS_SIGN_HPP
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/sin_pi.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/sin_pi.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/sin_pi.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_SIN_PI_HPP
 #define BOOST_MATH_SIN_PI_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <cmath>
 #include <boost/math/tools/config.hpp>
 #include <boost/math/tools/real_cast.hpp>
@@ -53,3 +57,4 @@
 } // namespace math
 } // namespace boost
 #endif
+

Modified: sandbox/math_toolkit/boost/math/special_functions/sinc.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/sinc.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/sinc.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -11,6 +11,10 @@
 #define BOOST_SINC_HPP
 
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/config.hpp>
 #include <boost/math/tools/precision.hpp>
 #include <boost/math/policies/policy.hpp>
@@ -170,3 +174,4 @@
 }
 
 #endif /* BOOST_SINC_HPP */
+

Modified: sandbox/math_toolkit/boost/math/special_functions/sinhc.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/sinhc.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/sinhc.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -11,6 +11,10 @@
 #define BOOST_SINHC_HPP
 
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/config.hpp>
 #include <boost/math/tools/precision.hpp>
 #include <boost/math/special_functions/math_fwd.hpp>
@@ -161,3 +165,4 @@
 }
 
 #endif /* BOOST_SINHC_HPP */
+

Modified: sandbox/math_toolkit/boost/math/special_functions/spherical_harmonic.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/spherical_harmonic.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/spherical_harmonic.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -7,6 +7,10 @@
 #ifndef BOOST_MATH_SPECIAL_SPHERICAL_HARMONIC_HPP
 #define BOOST_MATH_SPECIAL_SPHERICAL_HARMONIC_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/legendre.hpp>
 #include <boost/math/tools/workaround.hpp>
 #include <complex>
@@ -197,3 +201,4 @@
 #endif // BOOST_MATH_SPECIAL_SPHERICAL_HARMONIC_HPP
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/sqrt1pm1.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/sqrt1pm1.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/sqrt1pm1.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_SQRT1PM1
 #define BOOST_MATH_SQRT1PM1
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/special_functions/log1p.hpp>
 #include <boost/math/special_functions/expm1.hpp>
 #include <boost/math/special_functions/math_fwd.hpp>
@@ -41,3 +45,4 @@
 
 
 
+

Modified: sandbox/math_toolkit/boost/math/special_functions/zeta.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/special_functions/zeta.hpp (original)
+++ sandbox/math_toolkit/boost/math/special_functions/zeta.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_ZETA_HPP
 #define BOOST_MATH_ZETA_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/precision.hpp>
 #include <boost/math/tools/series.hpp>
 #include <boost/math/policies/error_handling.hpp>
@@ -896,3 +900,4 @@
 #endif // BOOST_MATH_ZETA_HPP
 
 
+

Modified: sandbox/math_toolkit/boost/math/tools/config.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tools/config.hpp (original)
+++ sandbox/math_toolkit/boost/math/tools/config.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_TOOLS_CONFIG_HPP
 #define BOOST_MATH_TOOLS_CONFIG_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/cstdint.hpp> // for boost::uintmax_t
 #include <boost/config.hpp>
 #include <boost/detail/workaround.hpp>
@@ -245,3 +249,4 @@
 
 
 
+

Modified: sandbox/math_toolkit/boost/math/tools/fraction.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tools/fraction.hpp (original)
+++ sandbox/math_toolkit/boost/math/tools/fraction.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_TOOLS_FRACTION_INCLUDED
 #define BOOST_MATH_TOOLS_FRACTION_INCLUDED
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <cmath>
 #include <boost/cstdint.hpp>
 #include <boost/type_traits/integral_constant.hpp>
@@ -257,3 +261,4 @@
 } // namespace boost
 
 #endif // BOOST_MATH_TOOLS_FRACTION_INCLUDED
+

Modified: sandbox/math_toolkit/boost/math/tools/minima.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tools/minima.hpp (original)
+++ sandbox/math_toolkit/boost/math/tools/minima.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -7,6 +7,10 @@
 #ifndef BOOST_MATH_TOOLS_MINIMA_HPP
 #define BOOST_MATH_TOOLS_MINIMA_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <utility>
 #include <cmath>
 #include <boost/math/tools/precision.hpp>
@@ -145,3 +149,4 @@
 
 
 
+

Modified: sandbox/math_toolkit/boost/math/tools/polynomial.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tools/polynomial.hpp (original)
+++ sandbox/math_toolkit/boost/math/tools/polynomial.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_TOOLS_POLYNOMIAL_HPP
 #define BOOST_MATH_TOOLS_POLYNOMIAL_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/assert.hpp>
 #include <boost/math/tools/rational.hpp>
 #include <boost/math/tools/real_cast.hpp>
@@ -313,3 +317,4 @@
 #endif // BOOST_MATH_TOOLS_POLYNOMIAL_HPP
 
 
+

Modified: sandbox/math_toolkit/boost/math/tools/precision.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tools/precision.hpp (original)
+++ sandbox/math_toolkit/boost/math/tools/precision.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_TOOLS_PRECISION_INCLUDED
 #define BOOST_MATH_TOOLS_PRECISION_INCLUDED
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/limits.hpp>
 #include <boost/assert.hpp>
 #include <boost/static_assert.hpp>
@@ -233,3 +237,4 @@
 } // namespace boost
 
 #endif // BOOST_MATH_TOOLS_PRECISION_INCLUDED
+

Modified: sandbox/math_toolkit/boost/math/tools/promotion.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tools/promotion.hpp (original)
+++ sandbox/math_toolkit/boost/math/tools/promotion.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -18,6 +18,10 @@
 #ifndef BOOST_MATH_PROMOTION_HPP
 #define BOOST_MATH_PROMOTION_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 // Boost type traits:
 #include <boost/math/tools/config.hpp>
 #include <boost/type_traits/is_floating_point.hpp> // for boost::is_floating_point;
@@ -118,3 +122,4 @@
 } // namespace boost
 
 #endif // BOOST_MATH_PROMOTION_HPP
+

Modified: sandbox/math_toolkit/boost/math/tools/rational.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tools/rational.hpp (original)
+++ sandbox/math_toolkit/boost/math/tools/rational.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_TOOLS_RATIONAL_HPP
 #define BOOST_MATH_TOOLS_RATIONAL_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/array.hpp>
 #include <boost/math/tools/config.hpp>
 #include <boost/mpl/int.hpp>
@@ -204,3 +208,4 @@
 
 
 
+

Modified: sandbox/math_toolkit/boost/math/tools/real_cast.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tools/real_cast.hpp (original)
+++ sandbox/math_toolkit/boost/math/tools/real_cast.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_TOOLS_REAL_CAST_HPP
 #define BOOST_MATH_TOOLS_REAL_CAST_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 namespace boost{ namespace math
 {
   namespace tools
@@ -22,3 +26,4 @@
 #endif // BOOST_MATH_TOOLS_REAL_CAST_HPP
 
 
+

Modified: sandbox/math_toolkit/boost/math/tools/remez.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tools/remez.hpp (original)
+++ sandbox/math_toolkit/boost/math/tools/remez.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_TOOLS_REMEZ_HPP
 #define BOOST_MATH_TOOLS_REMEZ_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/solve.hpp>
 #include <boost/math/tools/minima.hpp>
 #include <boost/math/tools/roots.hpp>
@@ -660,3 +664,4 @@
 #endif // BOOST_MATH_TOOLS_REMEZ_HPP
 
 
+

Modified: sandbox/math_toolkit/boost/math/tools/roots.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tools/roots.hpp (original)
+++ sandbox/math_toolkit/boost/math/tools/roots.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,10 +6,15 @@
 #ifndef BOOST_MATH_TOOLS_NEWTON_SOLVER_HPP
 #define BOOST_MATH_TOOLS_NEWTON_SOLVER_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <utility>
 #include <cmath>
 #include <stdexcept>
 
+#include <boost/tr1/tuple.hpp>
 #include <boost/math/tools/config.hpp>
 #include <boost/cstdint.hpp>
 #include <boost/assert.hpp>
@@ -515,3 +520,4 @@
 #endif // BOOST_MATH_TOOLS_NEWTON_SOLVER_HPP
 
 
+

Modified: sandbox/math_toolkit/boost/math/tools/series.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tools/series.hpp (original)
+++ sandbox/math_toolkit/boost/math/tools/series.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_TOOLS_SERIES_INCLUDED
 #define BOOST_MATH_TOOLS_SERIES_INCLUDED
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <cmath>
 #include <boost/cstdint.hpp>
 #include <boost/math/tools/config.hpp>
@@ -169,3 +173,4 @@
 } // namespace boost
 
 #endif // BOOST_MATH_TOOLS_SERIES_INCLUDED
+

Modified: sandbox/math_toolkit/boost/math/tools/solve.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tools/solve.hpp (original)
+++ sandbox/math_toolkit/boost/math/tools/solve.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_TOOLS_SOLVE_HPP
 #define BOOST_MATH_TOOLS_SOLVE_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/config.hpp>
 #include <boost/assert.hpp>
 
@@ -72,3 +76,4 @@
 
 #endif // BOOST_MATH_TOOLS_SOLVE_HPP
 
+

Modified: sandbox/math_toolkit/boost/math/tools/stats.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tools/stats.hpp (original)
+++ sandbox/math_toolkit/boost/math/tools/stats.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_TOOLS_STATS_INCLUDED
 #define BOOST_MATH_TOOLS_STATS_INCLUDED
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <cmath>
 #include <boost/cstdint.hpp>
 #include <boost/math/tools/precision.hpp>
@@ -81,3 +85,4 @@
 } // namespace boost
 
 #endif
+

Modified: sandbox/math_toolkit/boost/math/tools/test.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tools/test.hpp (original)
+++ sandbox/math_toolkit/boost/math/tools/test.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_TOOLS_TEST_HPP
 #define BOOST_MATH_TOOLS_TEST_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/config.hpp>
 #include <boost/math/tools/stats.hpp>
 #include <boost/math/special_functions/fpclassify.hpp>
@@ -240,3 +244,4 @@
 
 #endif
 
+

Modified: sandbox/math_toolkit/boost/math/tools/test_data.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tools/test_data.hpp (original)
+++ sandbox/math_toolkit/boost/math/tools/test_data.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_TOOLS_TEST_DATA_HPP
 #define BOOST_MATH_TOOLS_TEST_DATA_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/config.hpp>
 #include <boost/assert.hpp>
 #ifdef BOOST_MSVC
@@ -753,3 +757,4 @@
 
 #endif // BOOST_MATH_TOOLS_TEST_DATA_HPP
 
+

Modified: sandbox/math_toolkit/boost/math/tools/toms748_solve.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tools/toms748_solve.hpp (original)
+++ sandbox/math_toolkit/boost/math/tools/toms748_solve.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_TOOLS_SOLVE_ROOT_HPP
 #define BOOST_MATH_TOOLS_SOLVE_ROOT_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/precision.hpp>
 #include <boost/math/policies/error_handling.hpp>
 #include <boost/math/tools/config.hpp>
@@ -577,3 +581,4 @@
 
 
 #endif // BOOST_MATH_TOOLS_SOLVE_ROOT_HPP
+

Modified: sandbox/math_toolkit/boost/math/tools/traits.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tools/traits.hpp (original)
+++ sandbox/math_toolkit/boost/math/tools/traits.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -21,6 +21,10 @@
 #ifndef BOOST_STATS_IS_DISTRIBUTION_HPP
 #define BOOST_STATS_IS_DISTRIBUTION_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/mpl/has_xxx.hpp>
 // should be the last #include
 #include <boost/type_traits/detail/bool_trait_def.hpp>
@@ -104,3 +108,4 @@
 
 #endif
 
+

Modified: sandbox/math_toolkit/boost/math/tools/user.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tools/user.hpp (original)
+++ sandbox/math_toolkit/boost/math/tools/user.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -9,6 +9,10 @@
 #ifndef BOOST_MATH_TOOLS_USER_HPP
 #define BOOST_MATH_TOOLS_USER_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 // This file can be modified by the user to change the default policies.
 // See "Changing the Policy Defaults" in documentation.
 
@@ -90,3 +94,4 @@
 
 #endif // BOOST_MATH_TOOLS_USER_HPP
 
+

Modified: sandbox/math_toolkit/boost/math/tools/workaround.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/tools/workaround.hpp (original)
+++ sandbox/math_toolkit/boost/math/tools/workaround.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -6,6 +6,10 @@
 #ifndef BOOST_MATH_TOOLS_WORHAROUND_HPP
 #define BOOST_MATH_TOOLS_WORHAROUND_HPP
 
+#ifdef _MSC_VER
+#pragma once
+#endif
+
 #include <boost/math/tools/config.hpp>
 
 namespace boost{ namespace math{ namespace tools{
@@ -31,3 +35,4 @@
 }}} // namespaces
 
 #endif // BOOST_MATH_TOOLS_WORHAROUND_HPP
+

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_1.mml
==============================================================================
--- (empty file)
+++ sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_1.mml 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -0,0 +1,46 @@
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mi>E</mi>
+ <mi>i</mi>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ <mo>=</mo>
+ <mo>&#x2212;</mo>
+ <msub>
+ <mi>E</mi>
+ <mn>1</mn>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ <mo>=</mo>
+ <munderover>
+ <mo>&#x222B;</mo>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mi>x</mi>
+ </mrow>
+ <mi>&#x221E;</mi>
+ </munderover>
+ <mfrac>
+ <mrow>
+ <msup>
+ <mi>e</mi>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mi>t</mi>
+ </mrow>
+ </msup>
+ <mi>d</mi>
+ <mi>t</mi>
+ </mrow>
+ <mi>t</mi>
+ </mfrac>
+ </mrow>
+</math>
\ No newline at end of file

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_1.png
==============================================================================
Binary file. No diff available.

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_1.svg
==============================================================================
Binary file. No diff available.

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_2.mml
==============================================================================
--- (empty file)
+++ sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_2.mml 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -0,0 +1,42 @@
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtext>Ei</mtext>
+ <mfenced>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mfenced>
+ <mo>=</mo>
+ <mi>log</mi>
+ <mfenced>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mfenced>
+ <mo>+</mo>
+ <mi>&#x03B3;</mi>
+ <mo>+</mo>
+ <munderover>
+ <mo>&#x2211;</mo>
+ <mrow>
+ <mi>k</mi>
+ <mo>=</mo>
+ <mn>0</mn>
+ </mrow>
+ <mi>&#x221E;</mi>
+ </munderover>
+ <mfrac>
+ <mrow>
+ <msup>
+ <mi>z</mi>
+ <mi>k</mi>
+ </msup>
+ </mrow>
+ <mrow>
+ <mi>k</mi>
+ <mi>k</mi>
+ <mo>!</mo>
+ </mrow>
+ </mfrac>
+ </mrow>
+</math>
\ No newline at end of file

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_2.png
==============================================================================
Binary file. No diff available.

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_2.svg
==============================================================================
Binary file. No diff available.

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_3.mml
==============================================================================
--- (empty file)
+++ sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_3.mml 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -0,0 +1,45 @@
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtext>Ei</mtext>
+ <mfenced>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mfenced>
+ <mo>=</mo>
+ <mi>log</mi>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mi>z</mi>
+ <msub>
+ <mi>z</mi>
+ <mn>0</mn>
+ </msub>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ <mo>+</mo>
+ <mfenced>
+ <mrow>
+ <mi>z</mi>
+ <mo>&#x2212;</mo>
+ <msub>
+ <mi>z</mi>
+ <mn>0</mn>
+ </msub>
+ </mrow>
+ </mfenced>
+ <mi>R</mi>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mi>z</mi>
+ <mn>3</mn>
+ </mfrac>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ </mrow>
+</math>
\ No newline at end of file

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_3.png
==============================================================================
Binary file. No diff available.

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_3.svg
==============================================================================
Binary file. No diff available.

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_4.mml
==============================================================================
--- (empty file)
+++ sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_4.mml 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -0,0 +1,32 @@
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtext>Ei</mtext>
+ <mfenced>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mfenced>
+ <mo>=</mo>
+ <mi>z</mi>
+ <mo>+</mo>
+ <mfrac>
+ <msup>
+ <mi>e</mi>
+ <mi>z</mi>
+ </msup>
+ <mi>z</mi>
+ </mfrac>
+ <mfenced>
+ <mrow>
+ <mi>c</mi>
+ <mo>+</mo>
+ <mi>R</mi>
+ <mfenced>
+ <mrow>
+ <mi>t</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfenced>
+ </mrow>
+</math>
\ No newline at end of file

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_4.png
==============================================================================
Binary file. No diff available.

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_i_4.svg
==============================================================================
Binary file. No diff available.

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_1.mml
==============================================================================
--- (empty file)
+++ sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_1.mml 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -0,0 +1,41 @@
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <msub>
+ <mi>E</mi>
+ <mi>n</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ <mo>=</mo>
+ <msubsup>
+ <mo>&#x222B;</mo>
+ <mrow>
+ <mn>1</mn>
+ </mrow>
+ <mi>&#x221E;</mi>
+ </msubsup>
+ <mfrac>
+ <mrow>
+ <msup>
+ <mi>e</mi>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mi>x</mi>
+ <mi>t</mi>
+ </mrow>
+ </msup>
+ <mi>d</mi>
+ <mi>t</mi>
+ </mrow>
+ <mrow>
+ <msup>
+ <mi>t</mi>
+ <mi>n</mi>
+ </msup>
+ </mrow>
+ </mfrac>
+ </mrow>
+</math>
\ No newline at end of file

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_1.png
==============================================================================
Binary file. No diff available.

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_1.svg
==============================================================================
Binary file. No diff available.

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_2.mml
==============================================================================
--- (empty file)
+++ sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_2.mml 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -0,0 +1,101 @@
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <msub>
+ <mi>E</mi>
+ <mi>n</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ <mo>=</mo>
+ <mfrac>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mi>z</mi>
+ </mrow>
+ </mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </msup>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mo>!</mo>
+ </mrow>
+ </mfrac>
+ <mfenced>
+ <mrow>
+ <mi>&#x03C8;</mi>
+ <mfenced>
+ <mrow>
+ <mi>n</mi>
+ </mrow>
+ </mfenced>
+ <mo>&#x2212;</mo>
+ <mi>log</mi>
+ <mfenced>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfenced>
+ <mo>&#x2212;</mo>
+ <munderover>
+ <mo>&#x2211;</mo>
+ <mrow>
+ <mi>k</mi>
+ <mo>=</mo>
+ <mn>0,</mn>
+ <mi>k</mi>
+ <mo>&#x2260;</mo>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>&#x221E;</mi>
+ </munderover>
+ <mfrac>
+ <mrow>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mi>k</mi>
+ </msup>
+ <msup>
+ <mi>z</mi>
+ <mi>k</mi>
+ </msup>
+ </mrow>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mi>k</mi>
+ <mo>&#x2212;</mo>
+ <mi>n</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mi>k</mi>
+ <mo>!</mo>
+ </mrow>
+ </mfrac>
+ </mrow>
+</math>
\ No newline at end of file

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_2.png
==============================================================================
Binary file. No diff available.

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_2.svg
==============================================================================
Binary file. No diff available.

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_3.mml
==============================================================================
--- (empty file)
+++ sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_3.mml 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -0,0 +1,101 @@
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <msub>
+ <mi>E</mi>
+ <mi>n</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ <mo>=</mo>
+ <mfrac>
+ <msup>
+ <mi>e</mi>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mi>x</mi>
+ </mrow>
+ </msup>
+ <mrow>
+ <mi>n</mi>
+ <mo>+</mo>
+ <mi>x</mi>
+ <mo>&#x2212;</mo>
+ <mfrac>
+ <mi>n</mi>
+ <mrow>
+ <mn>2</mn>
+ <mo>+</mo>
+ <mi>n</mi>
+ <mo>+</mo>
+ <mi>x</mi>
+ <mo>&#x2212;</mo>
+ <mfrac>
+ <mrow>
+ <mn>2</mn>
+ <mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mrow>
+ <mn>4</mn>
+ <mo>+</mo>
+ <mi>n</mi>
+ <mo>+</mo>
+ <mi>x</mi>
+ <mo>&#x2212;</mo>
+ <mfrac>
+ <mrow>
+ <mn>3</mn>
+ <mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>+</mo>
+ <mn>2</mn>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mrow>
+ <mn>6</mn>
+ <mo>+</mo>
+ <mi>n</mi>
+ <mo>+</mo>
+ <mi>x</mi>
+ <mo>&#x2212;</mo>
+ <mfrac>
+ <mrow>
+ <mn>4</mn>
+ <mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>+</mo>
+ <mn>3</mn>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mrow>
+ <mn>8</mn>
+ <mo>+</mo>
+ <mi>n</mi>
+ <mo>+</mo>
+ <mi>x</mi>
+ <mo>&#x2212;</mo>
+ <mo>&#x2026;</mo>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfrac>
+ </mrow>
+</math>
\ No newline at end of file

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_3.png
==============================================================================
Binary file. No diff available.

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_3.svg
==============================================================================
Binary file. No diff available.

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_4.mml
==============================================================================
--- (empty file)
+++ sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_4.mml 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -0,0 +1,31 @@
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <msub>
+ <mi>E</mi>
+ <mn>1</mn>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ <mo>=</mo>
+ <mi>x</mi>
+ <mo>+</mo>
+ <mi>log</mi>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ <mo>+</mo>
+ <mi>c</mi>
+ <mo>+</mo>
+ <mi>R</mi>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+</math>
\ No newline at end of file

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_4.png
==============================================================================
Binary file. No diff available.

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_4.svg
==============================================================================
Binary file. No diff available.

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_5.mml
==============================================================================
--- (empty file)
+++ sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_5.mml 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -0,0 +1,39 @@
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <msub>
+ <mi>E</mi>
+ <mn>1</mn>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ <mo>=</mo>
+ <mfrac>
+ <msup>
+ <mi>e</mi>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mi>x</mi>
+ </mrow>
+ </msup>
+ <mi>x</mi>
+ </mfrac>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>+</mo>
+ <mi>R</mi>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mi>x</mi>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfenced>
+ </mrow>
+</math>
\ No newline at end of file

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_5.png
==============================================================================
Binary file. No diff available.

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/expint_n_5.svg
==============================================================================
Binary file. No diff available.

Modified: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/zeta1.png
==============================================================================
Binary files. No diff available.

Modified: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/zeta2.png
==============================================================================
Binary files. No diff available.

Modified: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/zeta3.png
==============================================================================
Binary files. No diff available.

Modified: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/zeta4.png
==============================================================================
Binary files. No diff available.

Modified: sandbox/math_toolkit/libs/math/doc/sf_and_dist/equations/zeta5.png
==============================================================================
Binary files. No diff available.

Added: sandbox/math_toolkit/libs/math/doc/sf_and_dist/expint.qbk
==============================================================================
--- (empty file)
+++ sandbox/math_toolkit/libs/math/doc/sf_and_dist/expint.qbk 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -0,0 +1,227 @@
+[section:expint Exponential Integrals]
+
+[section:expint_n Exponential Integral En]
+
+[h4 Synopsis]
+
+``
+#include <boost/math/special_functions/expint.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T>
+ ``__sf_result`` expint(unsigned n, T z);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` expint(unsigned n, T z, const ``__Policy``&);
+
+ }} // namespaces
+
+The return type of these functions is computed using the __arg_pomotion_rules:
+the return type is `double` if T is an integer type, and T otherwise.
+
+[optional_policy]
+
+[h4 Description]
+
+ template <class T>
+ ``__sf_result`` expint(unsigned n, T z);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` expint(unsigned n, T z, const ``__Policy``&);
+
+Returns the [@http://mathworld.wolfram.com/En-Function.html exponential integral En]
+of z:
+
+[equation expint_n_1]
+
+[h4 Accuracy]
+
+The following table shows the peak errors (in units of epsilon)
+found on various platforms with various floating point types,
+along with comparisons to the __cephes library.
+Unless otherwise specified any floating point type that is narrower
+than the one shown will have __zero_error.
+
+[table Errors In the Function expint(n, z)
+[[Significand Size] [Platform and Compiler] [En][E1]]
+[[53] [Win32, Visual C++ 8] [Peak=7.1 Mean=1.8
+
+__cephes Peak=5.1 Mean=1.3
+]
+[Peak=0.99 Mean=0.5
+
+__cephes Peak=3.1 Mean=1.1]]
+[[64] [RedHat Linux IA_EM64, gcc-4.1] [Peak=9.9 Mean=2.1] [Peak=0.97 Mean=0.4]]
+[[64] [Redhat Linux IA64, gcc-4.1] [Peak=9.9 Mean=2.1] [Peak=0.97 Mean=0.4]]
+[[113] [HPUX IA64, aCC A.06.06] [Peak=23.3 Mean=3.7] [Peak=1.6 Mean=0.5]]
+]
+
+[h4 Testing]
+
+The tests for these functions come in two parts:
+basic sanity checks use spot values calculated using
+[@http://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=ExpIntegralE Mathworld's online evaluator],
+while accuracy checks use high-precision test values calculated at 1000-bit precision with
+[@http://shoup.net/ntl/doc/RR.txt NTL::RR] and this implementation.
+Note that the generic and type-specific
+versions of these functions use differing implementations internally, so this
+gives us reasonably independent test data. Using our test data to test other
+"known good" implementations also provides an additional sanity check.
+
+[h4 Implementation]
+
+The generic version of this function uses the continued fraction:
+
+[equation expint_n_3]
+
+for large /x/ and the infinite series:
+
+[equation expint_n_2]
+
+for small /x/.
+
+Where the precision of /x/ is known at compile time and is 113 bits or fewer
+in precision, then rational approximations [jm_rationals] are used for the
+`n == 1` case.
+
+For `x < 1` the approximating form is a minimax approximation:
+
+[equation expint_n_4]
+
+and for `x > 1` a Chebyshev interpolated approximation of the form:
+
+[equation expint_n_5]
+
+is used.
+
+
+[endsect]
+
+[section:expint_i Exponential Integral Ei]
+
+[h4 Synopsis]
+
+``
+#include <boost/math/special_functions/expint.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T>
+ ``__sf_result`` expint(T z);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` expint(T z, const ``__Policy``&);
+
+ }} // namespaces
+
+The return type of these functions is computed using the __arg_pomotion_rules:
+the return type is `double` if T is an integer type, and T otherwise.
+
+[optional_policy]
+
+[h4 Description]
+
+ template <class T>
+ ``__sf_result`` expint(T z);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` expint(T z, const ``__Policy``&);
+
+Returns the [@http://mathworld.wolfram.com/ExponentialIntegral.html exponential integral]
+of z:
+
+[equation expint_i_1]
+
+[h4 Accuracy]
+
+The following table shows the peak errors (in units of epsilon)
+found on various platforms with various floating point types,
+along with comparisons to the __gsl library.
+Unless otherwise specified any floating point type that is narrower
+than the one shown will have __zero_error.
+
+[table Errors In the Function expint(z)
+[[Significand Size] [Platform and Compiler] [Error]]
+[[53] [Win32, Visual C++ 8] [Peak=2.4 Mean=0.6
+
+GSL Peak=8.9 Mean=0.7
+]]
+[[64] [RedHat Linux IA_EM64, gcc-4.1] [Peak=5.1 Mean=0.8]]
+[[64] [Redhat Linux IA64, gcc-4.1] [Peak=5.0 Mean=0.8] ]
+[[113] [HPUX IA64, aCC A.06.06] [Peak=1.9 Mean=0.63]]
+]
+
+[h4 Testing]
+
+The tests for these functions come in two parts:
+basic sanity checks use spot values calculated using
+[@http://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=ExpIntegralEi Mathworld's online evaluator],
+while accuracy checks use high-precision test values calculated at 1000-bit precision with
+[@http://shoup.net/ntl/doc/RR.txt NTL::RR] and this implementation.
+Note that the generic and type-specific
+versions of these functions use differing implementations internally, so this
+gives us reasonably independent test data. Using our test data to test other
+"known good" implementations also provides an additional sanity check.
+
+[h4 Implementation]
+
+For x < 0 this function just calls __expint_n(1, -x): which in turn is implemented
+in terms of rational approximations when the type of x has 113 or fewer bits of
+precision.
+
+For x > 0 the generic version is implemented using the infinte series:
+
+[equation expint_i_2]
+
+However, when the precision of the argument type is known at compile time
+and is 113 bits or less, then rational approximations [jm_rationals] are used.
+
+For 0 < z < 6 a root-preserving approximation of the form:
+
+[equation expint_i_3]
+
+is used, where z[sub 0] is the positive root of the function, and
+R(z/3 - 1) is a minimax rational approximation rescaled so that
+it is evaluated over \[-1,1\]. Note that while the rational approximation
+over \[0,6\] converges rapidly to the minimax solution it is rather
+ill-conditioned in practice. Cody and Thacher
+[footnote W. J. Cody and H. C. Thacher, Jr.,
+Rational Chebyshev approximations for the exponential integral E[sub 1](x),
+Math. Comp. 22 (1968), 641-649,
+and W. J. Cody and H. C. Thacher, Jr., Chebyshev approximations for the
+exponential integral Ei(x), Math. Comp. 23 (1969), 289-303.]
+experienced the same issue and
+converted the polynomials into Chebeshev form to ensure stable
+computation. By experiment we found that the polynomials are just as stable
+in polynomial as Chebyshev form, /provided/ they are computed
+over the interval \[-1,1\].
+
+Over the a series of intervals [a,b] and [b,INF] the rational approximation
+takes the form:
+
+[equation expint_i_4]
+
+where /c/ is a constant, and R(t) is a minimax solution optimised for low
+absolute error compared to /c/. Variable /t/ is `1/z` when the range in infinite
+and `2z/(b-a) - (2a/(b-a) + 1)` otherwise: this has the effect of scaling z to the
+interval \[-1,1\]. As before rational approximations over arbitrary intervals
+were found to be ill-conditioned: Cody and Thacher solved this issue by
+converting the polynomials to their J-Fraction equivalent. However, as long
+as the interval of evaluation was \[-1,1\] and the number of terms carefully chosen,
+it was found that the polynomials /could/ be evaluated to suitable precision:
+error rates are typically 2 to 3 epsilon which is comparible to the error
+rate that Cody and Thacher achieved using J-Fractions, but marginally more
+efficient given that fewer divisions are involved.
+
+[endsect]
+[endsect]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under 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).
+]

Modified: sandbox/math_toolkit/libs/math/doc/sf_and_dist/implementation.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/sf_and_dist/implementation.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/sf_and_dist/implementation.qbk 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -445,6 +445,14 @@
 
 [pre java -jar 'C:\download\open\batik-1.7\batik-rasterizer.jar' -dpi 120 *.svg]
 
+Or using Inkscape and a command such as:
+
+[pre for file in *.svg; do
+ /cygdrive/c/progra~1/Inkscape/inkscape -d 120 -e $(cygpath -a -w $(basename $file .svg).png) $(cygpath -a -w $file);
+done]
+
+Currently Inkscape seems to generate the better looking png's.
+
 The PDF is generated into \pdf\math.pdf
 using a command from a shell or command window with current directory
 \math_toolkit\libs\math\doc\sf_and_dist, typically:

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 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -163,6 +163,15 @@
 [def __powm1 [link math_toolkit.special.powers.powm1 powm1]]
 [def __hypot [link math_toolkit.special.powers.hypot hypot]]
 
+[/zeta]
+[def __zeta [link math_toolkit.special.zetas.zeta zeta]]
+
+[/expint]
+[def __expint_i [link math_toolkit.special.expint.expint_i zeta]]
+[def __expint_n [link math_toolkit.special.expint.expint_n zeta]]
+
+
+
 [/ distribution non-members]
 [def __cdf [link math.dist.cdf Cumulative Distribution Function]]
 [def __pdf [link math.dist.pdf Probability Density Function]]
@@ -347,6 +356,8 @@
 [include zeta.qbk]
 [endsect]
 
+[include expint.qbk]
+
 [include powers.qbk]
 [include sinc.qbk]
 [include inv_hyper.qbk]

Modified: sandbox/math_toolkit/libs/math/test/test_expint.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/test_expint.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/test_expint.cpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -15,6 +15,7 @@
 #include "functor.hpp"
 
 #include "handle_test_result.hpp"
+#include "test_expint_hooks.hpp"
 
 //
 // DESCRIPTION:
@@ -72,6 +73,16 @@
       "float|double|long double", // test type(s)
       ".*Ei.*", // test data group
       ".*", 6, 3); // test function
+ if(std::numeric_limits<long double>::digits > 100)
+ {
+ add_expected_result(
+ ".*", // compiler
+ ".*", // stdlib
+ ".*", // platform
+ "real_concept", // test type(s)
+ ".*Ei.*", // test data group
+ ".*", 150, 50); // test function
+ }
    add_expected_result(
       ".*", // compiler
       ".*", // stdlib
@@ -85,7 +96,7 @@
       ".*", // platform
       ".*", // test type(s)
       ".*", // test data group
- ".*", 20, 5); // test function
+ ".*", 25, 5); // test function
 
    std::cout << "Tests run with " << BOOST_COMPILER << ", "
       << BOOST_STDLIB << ", " << BOOST_PLATFORM << std::endl;
@@ -98,6 +109,14 @@
       boost::math::tools::real_cast<unsigned>(n), z);
 }
 
+#ifdef TEST_OTHER
+template <class T>
+T other_expint_wrapper(T n, T z)
+{
+ return other::expint(
+ boost::math::tools::real_cast<unsigned>(n), z);
+}
+#endif
 template <class T>
 void do_test_expint(const T& data, const char* type_name, const char* test_name)
 {
@@ -122,7 +141,20 @@
       bind_func(funcp, 0, 1),
       extract_result(2));
    handle_test_result(result, data[result.worst()], result.worst(), type_name, "boost::math::expint", test_name);
-
+#ifdef TEST_OTHER
+ if(boost::is_floating_point<value_type>::value && other::expint(2u, 2.0))
+ {
+ funcp = other_expint_wrapper;
+ //
+ // test expint against data:
+ //
+ result = boost::math::tools::test(
+ data,
+ bind_func(funcp, 0, 1),
+ extract_result(2));
+ handle_test_result(result, data[result.worst()], result.worst(), type_name, "other::expint", test_name);
+ }
+#endif
    std::cout << std::endl;
 }
 
@@ -150,6 +182,20 @@
       bind_func(funcp, 0),
       extract_result(1));
    handle_test_result(result, data[result.worst()], result.worst(), type_name, "boost::math::expint", test_name);
+#ifdef TEST_OTHER
+ if(boost::is_floating_point<value_type>::value && other::expint(2.0))
+ {
+ funcp = other::expint;
+ //
+ // test expint against data:
+ //
+ result = boost::math::tools::test(
+ data,
+ bind_func(funcp, 0),
+ extract_result(1));
+ handle_test_result(result, data[result.worst()], result.worst(), type_name, "other::expint", test_name);
+ }
+#endif
 }
 
 template <class T>

Added: sandbox/math_toolkit/libs/math/test/test_expint_hooks.hpp
==============================================================================
--- (empty file)
+++ sandbox/math_toolkit/libs/math/test/test_expint_hooks.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -0,0 +1,63 @@
+// (C) Copyright John Maddock 2006.
+// 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_TEST_ZETA_OTHER_HOOKS_HPP
+#define BOOST_MATH_TEST_ZETA_OTHER_HOOKS_HPP
+
+
+#ifdef TEST_CEPHES
+namespace other{
+extern "C" {
+ double expn(int, double);
+ float expnf(int, float);
+ long double expnl(int, long double);
+}
+inline float expint(unsigned n, float a)
+{ return expnf(n, a); }
+inline double expint(unsigned n, double a)
+{ return expn(n, a); }
+inline long double expint(unsigned n, long double a)
+{
+#ifdef BOOST_MSVC
+ return expn(n, (double)a);
+#else
+ return expnl(n, a);
+#endif
+}
+// Ei is not supported:
+template <class T>
+inline T expint(T){ return 0; }
+}
+#define TEST_OTHER
+#endif
+
+#ifdef TEST_GSL
+#include <gsl/gsl_sf_expint.h>
+
+namespace other{
+inline float expint(float a)
+{ return (float)gsl_sf_expint_Ei(a); }
+inline double expint(double a)
+{ return gsl_sf_expint_Ei(a); }
+inline long double expint(long double a)
+{ return gsl_sf_expint_Ei(a); }
+// En is not supported:
+template <class T>
+inline T expint(unsigned, T){ return 0; }
+}
+#define TEST_OTHER
+#endif
+
+#ifdef TEST_OTHER
+namespace other{
+ boost::math::concepts::real_concept expint(unsigned, boost::math::concepts::real_concept){ return 0; }
+ boost::math::concepts::real_concept expint(boost::math::concepts::real_concept){ return 0; }
+}
+#endif
+
+
+#endif
+
+

Modified: sandbox/math_toolkit/libs/math/test/test_zeta.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/test_zeta.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/test_zeta.cpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -15,6 +15,7 @@
 #include "functor.hpp"
 
 #include "handle_test_result.hpp"
+#include "test_zeta_hooks.hpp"
 
 //
 // DESCRIPTION:
@@ -115,7 +116,18 @@
       bind_func(funcp, 0),
       extract_result(1));
    handle_test_result(result, data[result.worst()], result.worst(), type_name, "boost::math::zeta", test_name);
+#ifdef TEST_OTHER
+ if(boost::is_floating_point<value_type>::value)
+ {
+ funcp = other::zeta;
 
+ result = boost::math::tools::test(
+ data,
+ bind_func(funcp, 0),
+ extract_result(1));
+ handle_test_result(result, data[result.worst()], result.worst(), type_name, "other::zeta", test_name);
+ }
+#endif
    std::cout << std::endl;
 }
 template <class T>

Added: sandbox/math_toolkit/libs/math/test/test_zeta_hooks.hpp
==============================================================================
--- (empty file)
+++ sandbox/math_toolkit/libs/math/test/test_zeta_hooks.hpp 2007-12-18 13:32:50 EST (Tue, 18 Dec 2007)
@@ -0,0 +1,56 @@
+// (C) Copyright John Maddock 2006.
+// 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_TEST_ZETA_OTHER_HOOKS_HPP
+#define BOOST_MATH_TEST_ZETA_OTHER_HOOKS_HPP
+
+
+#ifdef TEST_CEPHES
+namespace other{
+extern "C" {
+ double zetac(double);
+ float zetacf(float);
+ long double zetacl(long double);
+}
+inline float zeta(float a)
+{ return 1 + zetac(a); }
+inline double zeta(double a)
+{ return 1 + zetac(a); }
+inline long double zeta(long double a)
+{
+#ifdef BOOST_MSVC
+ return 1 + zetac((double)a);
+#else
+ return zetacl(a);
+#endif
+}
+}
+#define TEST_OTHER
+#endif
+
+#ifdef TEST_GSL
+#include <gsl/gsl_sf_zeta.h>
+
+namespace other{
+inline float zeta(float a)
+{ return (float)gsl_sf_zeta(a); }
+inline double zeta(double a)
+{ return gsl_sf_zeta(a); }
+inline long double zeta(long double a)
+{ return gsl_sf_zeta(a); }
+}
+#define TEST_OTHER
+#endif
+
+#ifdef TEST_OTHER
+namespace other{
+ boost::math::concepts::real_concept zeta(boost::math::concepts::real_concept){ return 0; }
+}
+#endif
+
+
+#endif
+
+


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