Boost logo

Boost-Commit :

From: john_at_[hidden]
Date: 2007-08-15 14:31:29


Author: johnmaddock
Date: 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
New Revision: 38692
URL: http://svn.boost.org/trac/boost/changeset/38692

Log:
Updated include tests, to instantiate the respective code. Fixed any errors that cropped up and suppressed rather a lot of warnings.
Updated docs as well.
Text files modified:
   sandbox/math_toolkit/boost/math/distributions/poisson.hpp | 4 ---
   sandbox/math_toolkit/boost/math/special_functions/factorials.hpp | 4 +-
   sandbox/math_toolkit/boost/math/special_functions/sign.hpp | 3 ++
   sandbox/math_toolkit/boost/math/special_functions/sin_pi.hpp | 2
   sandbox/math_toolkit/boost/math/tools/roots.hpp | 18 +++++++++-------
   sandbox/math_toolkit/boost/math/tools/stats.hpp | 2 -
   sandbox/math_toolkit/boost/math/tools/test_data.hpp | 12 +++++++++-
   sandbox/math_toolkit/libs/math/doc/bessel_jy.qbk | 20 +++++++++---------
   sandbox/math_toolkit/libs/math/doc/beta.qbk | 6 ++--
   sandbox/math_toolkit/libs/math/doc/erf.qbk | 14 ++++++------
   sandbox/math_toolkit/libs/math/doc/ibeta.qbk | 8 +++---
   sandbox/math_toolkit/libs/math/doc/igamma.qbk | 14 ++++++------
   sandbox/math_toolkit/libs/math/doc/legendre.qbk | 8 +++---
   sandbox/math_toolkit/libs/math/doc/lgamma.qbk | 10 ++++----
   sandbox/math_toolkit/libs/math/doc/math.qbk | 1
   sandbox/math_toolkit/libs/math/doc/tgamma.qbk | 10 ++++----
   sandbox/math_toolkit/libs/math/test/compile_test/dist_bernoulli_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/dist_beta_incl_test.cpp | 4 +++
   sandbox/math_toolkit/libs/math/test/compile_test/dist_binomial_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/dist_cauchy_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/dist_chi_squared_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/dist_exponential_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/dist_extreme_value_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/dist_fisher_f_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/dist_gamma_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/dist_lognormal_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/dist_negative_binomial_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/dist_normal_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/dist_pareto_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/dist_poisson_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/dist_students_t_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/dist_triangular_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/dist_uniform_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/dist_weibull_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/distribution_concept_check.cpp | 20 -----------------
   sandbox/math_toolkit/libs/math/test/compile_test/sf_bessel_incl_test.cpp | 23 ++++++++++++++++++++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_beta_incl_test.cpp | 16 ++++++++++++++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_binomial_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_cbrt_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_cos_pi_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_digamma_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_1_incl_test.cpp | 7 ++++++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_2_incl_test.cpp | 7 ++++++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_3_incl_test.cpp | 7 ++++++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_rc_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_rd_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_rf_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_rj_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_erf_incl_test.cpp | 16 ++++++++++++++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_expm1_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_factorials_incl_test.cpp | 17 +++++++++++++++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_fpclassify_incl_test.cpp | 18 ++++++++++++++++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_gamma_incl_test.cpp | 44 ++++++++++++++++++++++++++++++++++++++++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_hermite_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_hypot_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_laguerre_incl_test.cpp | 10 +++++++++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_legendre_incl_test.cpp | 12 ++++++++++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_log1p_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_powm1_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_sign_incl_test.cpp | 12 ++++++++++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_sin_pi_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_sinc_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_sinhc_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_spherical_harmonic_incl_test.cpp | 14 ++++++++++++
   sandbox/math_toolkit/libs/math/test/compile_test/sf_sqrt1pm1_incl_test.cpp | 3 ++
   sandbox/math_toolkit/libs/math/test/compile_test/tools_roots_inc_test.cpp | 13 +++++++++++
   sandbox/math_toolkit/libs/math/test/compile_test/tools_series_inc_test.cpp | 15 +++++++++++++
   sandbox/math_toolkit/libs/math/test/compile_test/tools_stats_inc_test.cpp | 1
   sandbox/math_toolkit/libs/math/test/compile_test/tools_test_data_inc_test.cpp | 11 ++++++++++
   sandbox/math_toolkit/libs/math/test/compile_test/tools_test_inc_test.cpp | 11 ++++++++++
   sandbox/math_toolkit/libs/math/test/compile_test/tools_toms748_solve_inc_test.cpp | 8 +++++++
   71 files changed, 441 insertions(+), 83 deletions(-)

Modified: sandbox/math_toolkit/boost/math/distributions/poisson.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/distributions/poisson.hpp (original)
+++ sandbox/math_toolkit/boost/math/distributions/poisson.hpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -221,10 +221,6 @@
       { // Private data getter function.
         return m_l;
       }
-
- // Parameter estimation:
- static RealType estimate_mean(RealType n, RealType k); // vector/array k TODO ????
-
     private:
       // Data member, initialized by constructor.
       RealType m_l; // mean number of occurrences.

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-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -202,7 +202,7 @@
 
 template <class RT>
 inline typename tools::promote_args<RT>::type
- rising_factorial(RT x, unsigned n)
+ rising_factorial(RT x, int n)
 {
    typedef typename tools::promote_args<RT>::type result_type;
    return detail::rising_factorial_imp(
@@ -211,7 +211,7 @@
 
 template <class RT, class Policy>
 inline typename tools::promote_args<RT>::type
- rising_factorial(RT x, unsigned n, const Policy& pol)
+ rising_factorial(RT x, int n, const Policy& pol)
 {
    typedef typename tools::promote_args<RT>::type result_type;
    return detail::rising_factorial_imp(

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-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -6,6 +6,9 @@
 #ifndef BOOST_MATH_TOOLS_SIGN_HPP
 #define BOOST_MATH_TOOLS_SIGN_HPP
 
+#include <cmath>
+#include <cstdlib>
+
 namespace boost{ namespace math{
 
 template <class T>

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-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -34,7 +34,7 @@
    if(rem > 0.5f)
       rem = 1 - rem;
    if(rem == 0.5f)
- return invert ? -1 : 1;
+ return static_cast<T>(invert ? -1 : 1);
    
    rem = sin(constants::pi<T>() * rem);
    return invert ? -rem : rem;

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-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -6,6 +6,15 @@
 #ifndef BOOST_MATH_TOOLS_NEWTON_SOLVER_HPP
 #define BOOST_MATH_TOOLS_NEWTON_SOLVER_HPP
 
+#include <utility>
+#include <cmath>
+#include <stdexcept>
+
+#include <boost/math/tools/config.hpp>
+#include <boost/cstdint.hpp>
+#include <boost/assert.hpp>
+#include <boost/throw_exception.hpp>
+
 #ifdef BOOST_MSVC
 #pragma warning(push)
 #pragma warning(disable: 4512)
@@ -14,18 +23,11 @@
 #ifdef BOOST_MSVC
 #pragma warning(pop)
 #endif
-#include <boost/cstdint.hpp>
-#include <boost/assert.hpp>
-#include <boost/throw_exception.hpp>
+
 #include <boost/math/special_functions/sign.hpp>
 #include <boost/math/tools/toms748_solve.hpp>
 #include <boost/math/policy/error_handling.hpp>
 
-
-#include <utility>
-#include <cmath>
-#include <stdexcept>
-
 namespace boost{ namespace math{ namespace tools{
 
 namespace detail{

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-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -42,7 +42,6 @@
    {
       using namespace std;
 
- T m = mean();
       T t = m_squared_total - m_total * m_total / m_count;
       t /= m_count;
       return t;
@@ -51,7 +50,6 @@
    {
       using namespace std;
 
- T m = mean();
       T t = m_squared_total - m_total * m_total / m_count;
       t /= (m_count-1);
       return t;

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-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -6,13 +6,14 @@
 #ifndef BOOST_MATH_TOOLS_TEST_DATA_HPP
 #define BOOST_MATH_TOOLS_TEST_DATA_HPP
 
+#include <boost/config.hpp>
 #include <boost/assert.hpp>
-#include <boost/algorithm/string/trim.hpp>
 #ifdef BOOST_MSVC
 # pragma warning(push)
-# pragma warning(disable: 4127 4701 )
+# pragma warning(disable: 4127 4701 4512)
 # pragma warning(disable: 4130) // '==' : logical operation on address of string constant.
 #endif
+#include <boost/algorithm/string/trim.hpp>
 #include <boost/lexical_cast.hpp>
 #ifdef BOOST_MSVC
 #pragma warning(pop)
@@ -404,6 +405,10 @@
 template <class T>
 bool get_user_parameter_info(parameter_info<T>& info, const char* param_name)
 {
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable: 4127)
+#endif
    std::string line;
    do{
       std::cout << "What kind of distribution do you require for parameter " << param_name << "?\n"
@@ -646,6 +651,9 @@
    }
 
    return true;
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
 }
 
 template <class charT, class traits, class T>

Modified: sandbox/math_toolkit/libs/math/doc/bessel_jy.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/bessel_jy.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/bessel_jy.qbk 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -63,7 +63,7 @@
 
 The following tables show how the accuracy of these functions
 varies on various platforms, along with comparisons to the __gsl and
-Cephes libraries. Note that the cyclic nature of these
+__cephes libraries. Note that the cyclic nature of these
 functions means that they have an infinite number of irrational
 roots: in general these functions have arbitrarily large /relative/
 errors when the arguments are sufficiently close to a root. Of
@@ -79,17 +79,17 @@
 
 GSL Peak=6.6
 
-Cephes Peak=2.5 Mean=1.1]
+__cephes Peak=2.5 Mean=1.1]
       [Peak=11 Mean=2.2
 
 GSL Peak=11
 
-Cephes Peak=17 Mean=2.5]
+__cephes Peak=17 Mean=2.5]
       [Peak=413 Mean=110
 
 GSL Peak=6x10[super 11]
 
-Cephes Peak=2x10[super 5] ] ]
+__cephes Peak=2x10[super 5] ] ]
 [[64] [Red Hat Linux IA64 / G++ 3.4] [Peak=7 Mean=3] [Peak=117 Mean=10] [Peak=2x10[super 4][space] Mean=6x10[super 3]] ]
 [[64] [SUSE Linux AMD64 / G++ 4.1] [Peak=7 Mean=3] [Peak=400 Mean=40] [Peak=2x10[super 4][space] Mean=1x10[super 4]] ]
 [[113] [HP-UX / HP aCC 6] [Peak=14 Mean=6] [Peak=29 Mean=3] [Peak=2700 Mean=450] ]
@@ -102,17 +102,17 @@
 
 GSL Peak=34 Mean=9
 
-Cephes Peak=330 Mean=54]
+__cephes Peak=330 Mean=54]
       [Peak=923 Mean=83
 
 GSL Peak=500 Mean=54
 
-Cephes Peak=923 Mean=83]
+__cephes Peak=923 Mean=83]
       [Peak=561 Mean=36
 
 GSL Peak=1.4x10[super 6][space] Mean\=7x10[super 4][space]
 
-Cephes Peak=+INF]]
+__cephes Peak=+INF]]
 [[64] [Red Hat Linux IA64 / G++ 3.4] [Peak=470 Mean=56] [Peak=843 Mean=51] [Peak=741 Mean=51] ]
 [[64] [SUSE Linux AMD64 / G++ 4.1] [Peak=1300 Mean=424] [Peak=2x10[super 4][space] Mean=8x10[super 3]] [Peak=1x10[super 5][space] Mean=6x10[super 3]] ]
 [[113] [HP-UX / HP aCC 6] [Peak=180 Mean=63] [Peak=340 Mean=150] [Peak=2x10[super 4][space] Mean=1200] ]
@@ -121,14 +121,14 @@
 Note that for large /x/ these functions are largely dependent on
 the accuracy of the `std::sin` and `std::cos` functions.
 
-Comparison to GSL and Cephes is interesting: both Cephes and this library optimise
+Comparison to GSL and __cephes is interesting: both __cephes and this library optimise
 the integer order case - leading to identical results - simply using the general
 case is for the most part slightly more accurate though, as noted by the
 better accuracy of GSL in the integer argument cases. This implementation tends to
-perform much better when the arguments become large, Cephes in particular produces
+perform much better when the arguments become large, __cephes in particular produces
 some remarkably inaccurate results with some of the test data (no significant figures
 correct), and even GSL performs badly with some inputs to J[sub v]. Note that
-by way of double-checking these results, the worst performing Cephes and GSL cases
+by way of double-checking these results, the worst performing __cephes and GSL cases
 were recomputed using [@http//:functions.wolfram.com functions.wolfram.com],
 and the result checked against our test data: no errors in the test data were found.
 

Modified: sandbox/math_toolkit/libs/math/doc/beta.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/beta.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/beta.qbk 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -40,7 +40,7 @@
 [h4 Accuracy]
 
 The following table shows peak errors for various domains of input arguments,
-along with comparisons to the __gsl and Cephes libraries. Note that
+along with comparisons to the __gsl and __cephes libraries. Note that
 only results for the widest floating point type on the system are given as
 narrower types have __zero_error.
 
@@ -54,11 +54,11 @@
 
 (GSL Peak=1178 Mean=238)
 
-(Cephes=1612)] [Peak=10.7 Mean=2.6
+(__cephes=1612)] [Peak=10.7 Mean=2.6
 
 (GSL Peak=12 Mean=2.0)
 
-(Cephes=174)]]
+(__cephes=174)]]
 [[64] [Red Hat Linux IA32, g++ 3.4.4] [Peak=112.1 Mean=26.9] [Peak=15.8 Mean=3.6]]
 [[64] [Red Hat Linux IA64, g++ 3.4.4] [Peak=61.4 Mean=19.5] [Peak=12.2 Mean=3.6]]
 [[113] [HPUX IA64, aCC A.06.06] [Peak=42.03 Mean=13.94] [Peak=9.8 Mean=3.1]]

Modified: sandbox/math_toolkit/libs/math/doc/erf.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/erf.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/erf.qbk 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -58,7 +58,7 @@
 
 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, __glibc, __hpc and Cephes libraries.
+along with comparisons to the __gsl, __glibc, __hpc and __cephes libraries.
 Unless otherwise specified any floating point type that is narrower
 than the one shown will have __zero_error.
 
@@ -68,15 +68,15 @@
 
 GSL Peak=2.0 Mean=0.3
 
-Cephes Peak=1.1 Mean=0.7] [Peak=0.9 Mean=0.09
+__cephes Peak=1.1 Mean=0.7] [Peak=0.9 Mean=0.09
 
 GSL Peak=2.3 Mean=0.3
 
-Cephes Peak=1.3 Mean=0.2] [Peak=0 Mean=0
+__cephes Peak=1.3 Mean=0.2] [Peak=0 Mean=0
 
 GSL Peak=0 Mean=0
 
-Cephes Peak=0 Mean=0]]
+__cephes Peak=0 Mean=0]]
 [[64] [RedHat Linux IA32, gcc-3.3] [Peak=0.7 Mean=0.07
 
 __glibc Peak=0.9 Mean=0.2] [Peak=0.9 Mean=0.2
@@ -106,15 +106,15 @@
 
 GSL Peak=1.0 Mean=0.4
 
-Cephes Peak=0.7 Mean=0.06] [Peak=0.99 Mean=0.3
+__cephes Peak=0.7 Mean=0.06] [Peak=0.99 Mean=0.3
 
 GSL Peak=2.6 Mean=0.6
 
-Cephes Peak=3.6 Mean=0.7] [Peak=1.0 Mean=0.2
+__cephes Peak=3.6 Mean=0.7] [Peak=1.0 Mean=0.2
 
 GSL Peak=3.9 Mean=0.4
 
-Cephes Peak=2.7 Mean=0.4]]
+__cephes Peak=2.7 Mean=0.4]]
 [[64] [RedHat Linux IA32, gcc-3.3] [Peak=0 Mean=0
 
 __glibc Peak=0 Mean=0] [Peak=1.4 Mean=0.3

Modified: sandbox/math_toolkit/libs/math/doc/ibeta.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/ibeta.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/ibeta.qbk 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -96,7 +96,7 @@
 [h4 Accuracy]
 
 The following tables give peak and mean relative errors in over various domains of
-a, b and x, along with comparisons to the __gsl and Cephes libraries.
+a, b and x, along with comparisons to the __gsl and __cephes libraries.
 Note that only results for the widest floating-point type on the system are given as
 narrower types have __zero_error.
 
@@ -125,17 +125,17 @@
 
 (GSL Peak=682 Mean=32.5)
 
-(Cephes Peak=42.7 Mean=7.0)]
+(__cephes Peak=42.7 Mean=7.0)]
       [Peak=108 Mean=16.6
       
 (GSL Peak=690 Mean=151)
 
-(Cephes Peak=1545 Mean=218)]
+(__cephes Peak=1545 Mean=218)]
       [Peak=4x10[super 3][space] Mean=203
       
 (GSL Peak~3x10[super 5][space] Mean~2x10[super 4][space])
 
-(Cephes Peak~5x10[super 5][space] Mean~2x10[super 4][space])]]
+(__cephes Peak~5x10[super 5][space] Mean~2x10[super 4][space])]]
 [[64] [Redhat Linux IA32, gcc-3.4.4] [Peak=21.9 Mean=3.1]
       [Peak=270.7 Mean=26.8] [Peak~5x10[super 4][space] Mean=3x10[super 3][space] ]]
 [[64] [Redhat Linux IA64, gcc-3.4.4] [Peak=15.4 Mean=3.0] [Peak=112.9 Mean=14.3]

Modified: sandbox/math_toolkit/libs/math/doc/igamma.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/igamma.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/igamma.qbk 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -103,7 +103,7 @@
 [h4 Accuracy]
 
 The following tables give peak and mean relative errors in over various domains of
-a and z, along with comparisons to the __gsl and Cephes libraries.
+a and z, along with comparisons to the __gsl and __cephes libraries.
 Note that only results for the widest floating point type on the system are given as
 narrower types have __zero_error.
 
@@ -139,17 +139,17 @@
 
    (GSL Peak=342 Mean=46)
 
- (Cephes Peak=491 Mean=102)]
+ (__cephes Peak=491 Mean=102)]
       [Peak=4.5 Mean=1.4
 
       (GSL Peak=4.8 Mean=0.76)
 
- (Cephes Peak=21 Mean=5.6)]
+ (__cephes Peak=21 Mean=5.6)]
          [Peak=244 Mean=21
 
          (GSL Peak=1022 Mean=1054)
 
- (Cephes Peak~8x10[super 6] Mean~7x10[super 4])]]
+ (__cephes Peak~8x10[super 6] Mean~7x10[super 4])]]
 [[64] [RedHat Linux IA32, gcc-3.3] [Peak=241 Mean=36] [Peak=4.7 Mean=1.5] [Peak~30,220 Mean=1929]]
 [[64] [Redhat Linux IA64, gcc-3.4] [Peak=41 Mean=10] [Peak=4.7 Mean=1.4] [Peak~30,790 Mean=1864]]
 [[113] [HPUX IA64, aCC A.06.06] [Peak=40.2 Mean=10.2] [Peak=5 Mean=1.6] [Peak=5,476 Mean=440]]
@@ -175,15 +175,15 @@
 
 (GSL Peak=201 Mean=13)
 
-(Cephes Peak=556 Mean=97)] [Peak=4.8 Mean=1.6
+(__cephes Peak=556 Mean=97)] [Peak=4.8 Mean=1.6
 
 (GSL Peak~1.3x10[super 10] Mean=1x10[super +9])
 
-(Cephes Peak~3x10[super 11] Mean=4x10[super 10])] [Peak=469 Mean=33
+(__cephes Peak~3x10[super 11] Mean=4x10[super 10])] [Peak=469 Mean=33
 
 (GSL Peak=27,050 Mean=2159)
 
-(Cephes Peak~8x10[super 6] Mean~7x10[super 5])]]
+(__cephes Peak~8x10[super 6] Mean~7x10[super 5])]]
 [[64] [RedHat Linux IA32, gcc-3.3] [Peak=280 Mean=33] [Peak=4.1 Mean=1.6] [Peak=11,490 Mean=732]]
 [[64] [Redhat Linux IA64, gcc-3.4] [Peak=32 Mean=9.4] [Peak=4.7 Mean=1.5] [Peak=6815 Mean=414]]
 [[113] [HPUX IA64, aCC A.06.06] [Peak=37 Mean=10] [Peak=11.2 Mean=2.0] [Peak=4,999 Mean=298]]

Modified: sandbox/math_toolkit/libs/math/doc/legendre.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/legendre.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/legendre.qbk 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -21,10 +21,10 @@
    ``__sf_result`` legendre_p(int n, int m, T x, const ``__Policy``&);
    
    template <class T>
- ``__sf_result`` legendre_q(int n, T x);
+ ``__sf_result`` legendre_q(unsigned n, T x);
    
    template <class T, class ``__Policy``>
- ``__sf_result`` legendre_q(int n, T x, const ``__Policy``&);
+ ``__sf_result`` legendre_q(unsigned n, T x, const ``__Policy``&);
    
    template <class T1, class T2, class T3>
    ``__sf_result`` legendre_next(unsigned l, T1 x, T2 Pl, T3 Plm1);
@@ -104,10 +104,10 @@
  ]
    
    template <class T>
- ``__sf_result`` legendre_q(int n, T x);
+ ``__sf_result`` legendre_q(unsigned n, T x);
    
    template <class T, class ``__Policy``>
- ``__sf_result`` legendre_q(int n, T x, const ``__Policy``&);
+ ``__sf_result`` legendre_q(unsigned n, T x, const ``__Policy``&);
    
 Returns the value of the Legendre polynomial that is the second solution
 to the Legendre differential equation, for example:

Modified: sandbox/math_toolkit/libs/math/doc/lgamma.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/lgamma.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/lgamma.qbk 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -52,7 +52,7 @@
 found on various platforms
 with various floating point types, along with comparisons to the
 __gsl, __glibc, __hpc and
-Cephes libraries. Unless otherwise specified any
+__cephes libraries. Unless otherwise specified any
 floating point type that is narrower than the one shown will have
 __zero_error.
 
@@ -66,16 +66,16 @@
 [[53] [Win32 Visual C++ 8]
 [Peak=0.88 Mean=0.14
 
-(GSL=33) (Cephes=1.5)]
+(GSL=33) (__cephes=1.5)]
 [Peak=0.96 Mean=0.46
 
-(GSL=5.2) (Cephes=1.1)]
+(GSL=5.2) (__cephes=1.1)]
 [Peak=0.86 Mean=0.46
 
-(GSL=1168) (Cephes~500000)]
+(GSL=1168) (__cephes~500000)]
 [Peak=4.2 Mean=1.3
 
-(GSL=25) (Cephes=1.6)] ]
+(GSL=25) (__cephes=1.6)] ]
 [[64] [Linux IA32 / GCC]
 [Peak=1.9 Mean=0.43
 

Modified: sandbox/math_toolkit/libs/math/doc/math.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/math.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/math.qbk 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -196,6 +196,7 @@
 [def __gsl [@http://www.gnu.org/software/gsl/ GSL-1.9]]
 [def __glibc [@http://www.gnu.org/software/libc/ GNU C Lib]]
 [def __hpc [@http://docs.hp.com/en/B9106-90010/index.html HP-UX C Library]]
+[def __cephes [@http://www.netlib.org/cephes/ Cephes]]
 
 
 [/ Some composite templates]

Modified: sandbox/math_toolkit/libs/math/doc/tgamma.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/tgamma.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/tgamma.qbk 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -71,7 +71,7 @@
 
 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, __glibc, __hpc and Cephes libraries.
+along with comparisons to the __gsl, __glibc, __hpc and __cephes libraries.
 Unless otherwise specified any floating point type that is narrower
 than the one shown will have __zero_error.
 
@@ -82,22 +82,22 @@
 
 (GSL=3.9)
 
-(Cephes=3.0)]
+(__cephes=3.0)]
 [Peak=2.0 Mean=1.1
 
 (GSL=4.5)
 
-(Cephes=1)]
+(__cephes=1)]
 [Peak=2.0 Mean=1.1
 
 (GSL=7.9)
 
-(Cephes=1.0)]
+(__cephes=1.0)]
 [Peak=2.6 Mean=1.3
 
 (GSL=2.5)
 
-(Cephes=2.7)] ]
+(__cephes=2.7)] ]
 [[64] [Linux IA32 / GCC]
 [Peak=300 Mean=49.5
 

Modified: sandbox/math_toolkit/libs/math/test/compile_test/dist_bernoulli_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/dist_bernoulli_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/dist_bernoulli_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/distributions/bernoulli.hpp>
 
+template class boost::math::bernoulli_distribution<float, boost::math::policies::policy<> >;
+template class boost::math::bernoulli_distribution<double, boost::math::policies::policy<> >;
+template class boost::math::bernoulli_distribution<long double, boost::math::policies::policy<> >;

Modified: sandbox/math_toolkit/libs/math/test/compile_test/dist_beta_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/dist_beta_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/dist_beta_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,7 @@
 //
 #include <boost/math/distributions/beta.hpp>
 
+template class boost::math::beta_distribution<double, boost::math::policies::policy<> >;
+template class boost::math::beta_distribution<float, boost::math::policies::policy<> >;
+template class boost::math::beta_distribution<long double, boost::math::policies::policy<> >;
+

Modified: sandbox/math_toolkit/libs/math/test/compile_test/dist_binomial_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/dist_binomial_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/dist_binomial_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/distributions/binomial.hpp>
 
+template class boost::math::binomial_distribution<float, boost::math::policies::policy<> >;
+template class boost::math::binomial_distribution<double, boost::math::policies::policy<> >;
+template class boost::math::binomial_distribution<long double, boost::math::policies::policy<> >;

Modified: sandbox/math_toolkit/libs/math/test/compile_test/dist_cauchy_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/dist_cauchy_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/dist_cauchy_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/distributions/cauchy.hpp>
 
+template class boost::math::cauchy_distribution<float, boost::math::policies::policy<> >;
+template class boost::math::cauchy_distribution<double, boost::math::policies::policy<> >;
+template class boost::math::cauchy_distribution<long double, boost::math::policies::policy<> >;

Modified: sandbox/math_toolkit/libs/math/test/compile_test/dist_chi_squared_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/dist_chi_squared_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/dist_chi_squared_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/distributions/chi_squared.hpp>
 
+template class boost::math::chi_squared_distribution<float, boost::math::policies::policy<> >;
+template class boost::math::chi_squared_distribution<double, boost::math::policies::policy<> >;
+template class boost::math::chi_squared_distribution<long double, boost::math::policies::policy<> >;

Modified: sandbox/math_toolkit/libs/math/test/compile_test/dist_exponential_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/dist_exponential_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/dist_exponential_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/distributions/exponential.hpp>
 
+template class boost::math::exponential_distribution<float, boost::math::policies::policy<> >;
+template class boost::math::exponential_distribution<double, boost::math::policies::policy<> >;
+template class boost::math::exponential_distribution<long double, boost::math::policies::policy<> >;

Modified: sandbox/math_toolkit/libs/math/test/compile_test/dist_extreme_value_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/dist_extreme_value_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/dist_extreme_value_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/distributions/extreme_value.hpp>
 
+template class boost::math::extreme_value_distribution<float, boost::math::policies::policy<> >;
+template class boost::math::extreme_value_distribution<double, boost::math::policies::policy<> >;
+template class boost::math::extreme_value_distribution<long double, boost::math::policies::policy<> >;

Modified: sandbox/math_toolkit/libs/math/test/compile_test/dist_fisher_f_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/dist_fisher_f_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/dist_fisher_f_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/distributions/fisher_f.hpp>
 
+template class boost::math::fisher_f_distribution<float, boost::math::policies::policy<> >;
+template class boost::math::fisher_f_distribution<double, boost::math::policies::policy<> >;
+template class boost::math::fisher_f_distribution<long double, boost::math::policies::policy<> >;

Modified: sandbox/math_toolkit/libs/math/test/compile_test/dist_gamma_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/dist_gamma_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/dist_gamma_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/distributions/gamma.hpp>
 
+template class boost::math::gamma_distribution<float, boost::math::policies::policy<> >;
+template class boost::math::gamma_distribution<double, boost::math::policies::policy<> >;
+template class boost::math::gamma_distribution<long double, boost::math::policies::policy<> >;

Modified: sandbox/math_toolkit/libs/math/test/compile_test/dist_lognormal_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/dist_lognormal_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/dist_lognormal_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/distributions/lognormal.hpp>
 
+template class boost::math::lognormal_distribution<float, boost::math::policies::policy<> >;
+template class boost::math::lognormal_distribution<double, boost::math::policies::policy<> >;
+template class boost::math::lognormal_distribution<long double, boost::math::policies::policy<> >;

Modified: sandbox/math_toolkit/libs/math/test/compile_test/dist_negative_binomial_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/dist_negative_binomial_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/dist_negative_binomial_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/distributions/negative_binomial.hpp>
 
+template class boost::math::negative_binomial_distribution<float, boost::math::policies::policy<> >;
+template class boost::math::negative_binomial_distribution<double, boost::math::policies::policy<> >;
+template class boost::math::negative_binomial_distribution<long double, boost::math::policies::policy<> >;

Modified: sandbox/math_toolkit/libs/math/test/compile_test/dist_normal_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/dist_normal_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/dist_normal_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/distributions/normal.hpp>
 
+template class boost::math::normal_distribution<float, boost::math::policies::policy<> >;
+template class boost::math::normal_distribution<double, boost::math::policies::policy<> >;
+template class boost::math::normal_distribution<long double, boost::math::policies::policy<> >;

Modified: sandbox/math_toolkit/libs/math/test/compile_test/dist_pareto_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/dist_pareto_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/dist_pareto_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/distributions/pareto.hpp>
 
+template class boost::math::pareto_distribution<float, boost::math::policies::policy<> >;
+template class boost::math::pareto_distribution<double, boost::math::policies::policy<> >;
+template class boost::math::pareto_distribution<long double, boost::math::policies::policy<> >;

Modified: sandbox/math_toolkit/libs/math/test/compile_test/dist_poisson_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/dist_poisson_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/dist_poisson_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/distributions/poisson.hpp>
 
+template class boost::math::poisson_distribution<float, boost::math::policies::policy<> >;
+template class boost::math::poisson_distribution<double, boost::math::policies::policy<> >;
+template class boost::math::poisson_distribution<long double, boost::math::policies::policy<> >;

Modified: sandbox/math_toolkit/libs/math/test/compile_test/dist_students_t_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/dist_students_t_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/dist_students_t_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/distributions/students_t.hpp>
 
+template class boost::math::students_t_distribution<float, boost::math::policies::policy<> >;
+template class boost::math::students_t_distribution<double, boost::math::policies::policy<> >;
+template class boost::math::students_t_distribution<long double, boost::math::policies::policy<> >;

Modified: sandbox/math_toolkit/libs/math/test/compile_test/dist_triangular_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/dist_triangular_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/dist_triangular_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/distributions/triangular.hpp>
 
+template class boost::math::triangular_distribution<float, boost::math::policies::policy<> >;
+template class boost::math::triangular_distribution<double, boost::math::policies::policy<> >;
+template class boost::math::triangular_distribution<long double, boost::math::policies::policy<> >;

Modified: sandbox/math_toolkit/libs/math/test/compile_test/dist_uniform_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/dist_uniform_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/dist_uniform_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/distributions/uniform.hpp>
 
+template class boost::math::uniform_distribution<float, boost::math::policies::policy<> >;
+template class boost::math::uniform_distribution<double, boost::math::policies::policy<> >;
+template class boost::math::uniform_distribution<long double, boost::math::policies::policy<> >;

Modified: sandbox/math_toolkit/libs/math/test/compile_test/dist_weibull_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/dist_weibull_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/dist_weibull_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/distributions/weibull.hpp>
 
+template class boost::math::weibull_distribution<float, boost::math::policies::policy<> >;
+template class boost::math::weibull_distribution<double, boost::math::policies::policy<> >;
+template class boost::math::weibull_distribution<long double, boost::math::policies::policy<> >;

Modified: sandbox/math_toolkit/libs/math/test/compile_test/distribution_concept_check.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/distribution_concept_check.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/distribution_concept_check.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -5,27 +5,9 @@
 
 #define BOOST_MATH_ASSERT_UNDEFINED_POLICY false
 
+#include <boost/math/distributions.hpp>
 #include <boost/math/concepts/distributions.hpp>
 
-#include <boost/math/distributions/normal.hpp>
-#include <boost/math/distributions/bernoulli.hpp>
-#include <boost/math/distributions/students_t.hpp>
-#include <boost/math/distributions/binomial.hpp>
-#include <boost/math/distributions/cauchy.hpp>
-#include <boost/math/distributions/chi_squared.hpp>
-#include <boost/math/distributions/exponential.hpp>
-#include <boost/math/distributions/extreme_value.hpp>
-#include <boost/math/distributions/fisher_f.hpp>
-#include <boost/math/distributions/gamma.hpp>
-#include <boost/math/distributions/pareto.hpp>
-#include <boost/math/distributions/rayleigh.hpp>
-#include <boost/math/distributions/weibull.hpp>
-#include <boost/math/distributions/lognormal.hpp>
-#include <boost/math/distributions/triangular.hpp>
-#include <boost/math/distributions/uniform.hpp>
-#include <boost/math/distributions/poisson.hpp>
-#include <boost/math/distributions/beta.hpp>
-#include <boost/math/distributions/negative_binomial.hpp>
 
 template <class RealType>
 void instantiate(RealType)

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_bessel_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_bessel_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_bessel_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,4 +8,27 @@
 //
 #include <boost/math/special_functions/bessel.hpp>
 
+template float boost::math::cyl_bessel_j<float>(float, float);
+template double boost::math::cyl_bessel_j<double>(double, double);
+template long double boost::math::cyl_bessel_j<long double>(long double, long double);
+
+template float boost::math::cyl_neumann<float>(float, float);
+template double boost::math::cyl_neumann<double>(double, double);
+template long double boost::math::cyl_neumann<long double>(long double, long double);
+
+template float boost::math::cyl_bessel_i<float>(float, float);
+template double boost::math::cyl_bessel_i<double>(double, double);
+template long double boost::math::cyl_bessel_i<long double>(long double, long double);
+
+template float boost::math::cyl_bessel_k<float>(float, float);
+template double boost::math::cyl_bessel_k<double>(double, double);
+template long double boost::math::cyl_bessel_k<long double>(long double, long double);
+
+template float boost::math::sph_bessel<float>(unsigned, float);
+template double boost::math::sph_bessel<double>(unsigned, double);
+template long double boost::math::sph_bessel<long double>(unsigned, long double);
+
+template float boost::math::sph_neumann<float>(unsigned, float);
+template double boost::math::sph_neumann<double>(unsigned, double);
+template long double boost::math::sph_neumann<long double>(unsigned, long double);
 

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_beta_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_beta_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_beta_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,19 @@
 //
 #include <boost/math/special_functions/beta.hpp>
 
+template float boost::math::beta<float>(float, float);
+template double boost::math::beta<double>(double, double);
+template long double boost::math::beta<long double>(long double, long double);
+
+template float boost::math::ibeta<float>(float, float, float);
+template double boost::math::ibeta<double>(double, double, double);
+template long double boost::math::ibeta<long double>(long double, long double, long double);
+
+template float boost::math::ibeta_inv<float>(float, float, float);
+template double boost::math::ibeta_inv<double>(double, double, double);
+template long double boost::math::ibeta_inv<long double>(long double, long double, long double);
+
+template float boost::math::ibeta_inva<float>(float, float, float);
+template double boost::math::ibeta_inva<double>(double, double, double);
+template long double boost::math::ibeta_inva<long double>(long double, long double, long double);
+

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_binomial_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_binomial_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_binomial_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/special_functions/binomial.hpp>
 
+template float boost::math::binomial_coefficient<float>(unsigned, unsigned);
+template double boost::math::binomial_coefficient<double>(unsigned, unsigned);
+template long double boost::math::binomial_coefficient<long double>(unsigned, unsigned);

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_cbrt_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_cbrt_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_cbrt_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/special_functions/cbrt.hpp>
 
+template float boost::math::cbrt<float>(float);
+template double boost::math::cbrt<double>(double);
+template long double boost::math::cbrt<long double>(long double);

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_cos_pi_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_cos_pi_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_cos_pi_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,4 +8,7 @@
 //
 #include <boost/math/special_functions/cos_pi.hpp>
 
+template float boost::math::cos_pi<float>(float);
+template double boost::math::cos_pi<double>(double);
+template long double boost::math::cos_pi<long double>(long double);
 

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_digamma_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_digamma_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_digamma_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/special_functions/digamma.hpp>
 
+template float boost::math::digamma<float>(float);
+template double boost::math::digamma<double>(double);
+template long double boost::math::digamma<long double>(long double);

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_1_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_1_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_1_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,10 @@
 //
 #include <boost/math/special_functions/ellint_1.hpp>
 
+template float boost::math::ellint_1<float>(float, float);
+template double boost::math::ellint_1<double>(double, double);
+template long double boost::math::ellint_1<long double>(long double, long double);
+
+template float boost::math::ellint_1<float>(float);
+template double boost::math::ellint_1<double>(double);
+template long double boost::math::ellint_1<long double>(long double);

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_2_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_2_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_2_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,10 @@
 //
 #include <boost/math/special_functions/ellint_2.hpp>
 
+template float boost::math::ellint_2<float>(float, float);
+template double boost::math::ellint_2<double>(double, double);
+template long double boost::math::ellint_2<long double>(long double, long double);
+
+template float boost::math::ellint_2<float>(float);
+template double boost::math::ellint_2<double>(double);
+template long double boost::math::ellint_2<long double>(long double);

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_3_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_3_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_3_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,10 @@
 //
 #include <boost/math/special_functions/ellint_3.hpp>
 
+template float boost::math::ellint_3<float>(float, float);
+template double boost::math::ellint_3<double>(double, double);
+template long double boost::math::ellint_3<long double>(long double, long double);
+
+template float boost::math::ellint_3<float>(float, float, float);
+template double boost::math::ellint_3<double>(double, double, double);
+template long double boost::math::ellint_3<long double>(long double, long double, long double);

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_rc_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_rc_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_rc_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/special_functions/ellint_rc.hpp>
 
+template float boost::math::ellint_rc<float>(float, float);
+template double boost::math::ellint_rc<double>(double, double);
+template long double boost::math::ellint_rc<long double>(long double, long double);

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_rd_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_rd_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_rd_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/special_functions/ellint_rd.hpp>
 
+template float boost::math::ellint_rd<float>(float, float, float);
+template double boost::math::ellint_rd<double>(double, double, double);
+template long double boost::math::ellint_rd<long double>(long double, long double, long double);

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_rf_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_rf_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_rf_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/special_functions/ellint_rf.hpp>
 
+template float boost::math::ellint_rf<float>(float, float, float);
+template double boost::math::ellint_rf<double>(double, double, double);
+template long double boost::math::ellint_rf<long double>(long double, long double, long double);

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_rj_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_rj_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_ellint_rj_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/special_functions/ellint_rj.hpp>
 
+template float boost::math::ellint_rj<float>(float, float, float, float);
+template double boost::math::ellint_rj<double>(double, double, double, double);
+template long double boost::math::ellint_rj<long double>(long double, long double, long double, long double);

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_erf_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_erf_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_erf_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,19 @@
 //
 #include <boost/math/special_functions/erf.hpp>
 
+template float boost::math::erf<float>(float);
+template double boost::math::erf<double>(double);
+template long double boost::math::erf<long double>(long double);
+
+template float boost::math::erfc<float>(float);
+template double boost::math::erfc<double>(double);
+template long double boost::math::erfc<long double>(long double);
+
+template float boost::math::erf_inv<float>(float);
+template double boost::math::erf_inv<double>(double);
+template long double boost::math::erf_inv<long double>(long double);
+
+template float boost::math::erfc_inv<float>(float);
+template double boost::math::erfc_inv<double>(double);
+template long double boost::math::erfc_inv<long double>(long double);
+

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_expm1_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_expm1_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_expm1_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/special_functions/expm1.hpp>
 
+template float boost::math::expm1<float>(float);
+template double boost::math::expm1<double>(double);
+template long double boost::math::expm1<long double>(long double);

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_factorials_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_factorials_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_factorials_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,20 @@
 //
 #include <boost/math/special_functions/factorials.hpp>
 
+template float boost::math::factorial<float>(unsigned);
+template double boost::math::factorial<double>(unsigned);
+template long double boost::math::factorial<long double>(unsigned);
+
+template float boost::math::double_factorial<float>(unsigned);
+template double boost::math::double_factorial<double>(unsigned);
+template long double boost::math::double_factorial<long double>(unsigned);
+
+template float boost::math::rising_factorial<float>(float, int);
+template double boost::math::rising_factorial<double>(double, int);
+template long double boost::math::rising_factorial<long double>(long double, int);
+
+template float boost::math::falling_factorial<float>(float, unsigned int);
+template double boost::math::falling_factorial<double>(double, unsigned int);
+template long double boost::math::falling_factorial<long double>(long double, unsigned int);
+
+

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_fpclassify_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_fpclassify_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_fpclassify_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,21 @@
 //
 #include <boost/math/special_functions/fpclassify.hpp>
 
+template int boost::math::fpclassify<float>(float);
+template int boost::math::fpclassify<double>(double);
+template int boost::math::fpclassify<long double>(long double);
+
+template bool boost::math::isfinite<float>(float);
+template bool boost::math::isfinite<double>(double);
+template bool boost::math::isfinite<long double>(long double);
+
+template bool boost::math::isinf<float>(float);
+template bool boost::math::isinf<double>(double);
+template bool boost::math::isinf<long double>(long double);
+
+template bool boost::math::isnormal<float>(float);
+template bool boost::math::isnormal<double>(double);
+template bool boost::math::isnormal<long double>(long double);
+
+
+

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_gamma_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_gamma_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_gamma_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,47 @@
 //
 #include <boost/math/special_functions/gamma.hpp>
 
+template float boost::math::tgamma<float>(float);
+template double boost::math::tgamma<double>(double);
+template long double boost::math::tgamma<long double>(long double);
+
+template float boost::math::lgamma<float>(float);
+template double boost::math::lgamma<double>(double);
+template long double boost::math::lgamma<long double>(long double);
+
+template float boost::math::gamma_p<float>(float, float);
+template double boost::math::gamma_p<double>(double, double);
+template long double boost::math::gamma_p<long double>(long double, long double);
+
+template float boost::math::gamma_q<float>(float, float);
+template double boost::math::gamma_q<double>(double, double);
+template long double boost::math::gamma_q<long double>(long double, long double);
+
+template float boost::math::gamma_p_inv<float>(float, float);
+template double boost::math::gamma_p_inv<double>(double, double);
+template long double boost::math::gamma_p_inv<long double>(long double, long double);
+
+template float boost::math::gamma_q_inv<float>(float, float);
+template double boost::math::gamma_q_inv<double>(double, double);
+template long double boost::math::gamma_q_inv<long double>(long double, long double);
+
+template float boost::math::gamma_p_inva<float>(float, float);
+template double boost::math::gamma_p_inva<double>(double, double);
+template long double boost::math::gamma_p_inva<long double>(long double, long double);
+
+template float boost::math::gamma_q_inva<float>(float, float);
+template double boost::math::gamma_q_inva<double>(double, double);
+template long double boost::math::gamma_q_inva<long double>(long double, long double);
+
+template float boost::math::gamma_p_derivative<float>(float, float);
+template double boost::math::gamma_p_derivative<double>(double, double);
+template long double boost::math::gamma_p_derivative<long double>(long double, long double);
+
+template float boost::math::tgamma_ratio<float>(float, float);
+template double boost::math::tgamma_ratio<double>(double, double);
+template long double boost::math::tgamma_ratio<long double>(long double, long double);
+
+template float boost::math::tgamma_delta_ratio<float>(float, float);
+template double boost::math::tgamma_delta_ratio<double>(double, double);
+template long double boost::math::tgamma_delta_ratio<long double>(long double, long double);
+

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_hermite_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_hermite_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_hermite_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/special_functions/hermite.hpp>
 
+template float boost::math::hermite<float>(unsigned, float);
+template double boost::math::hermite<double>(unsigned, double);
+template long double boost::math::hermite<long double>(unsigned, long double);

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_hypot_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_hypot_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_hypot_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/special_functions/hypot.hpp>
 
+template float boost::math::hypot<float>(float, float);
+template double boost::math::hypot<double>(double, double);
+template long double boost::math::hypot<long double>(long double, long double);

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_laguerre_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_laguerre_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_laguerre_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,13 @@
 //
 #include <boost/math/special_functions/laguerre.hpp>
 
+template float boost::math::laguerre<float>(unsigned, float);
+template double boost::math::laguerre<double>(unsigned, double);
+template long double boost::math::laguerre<long double>(unsigned, long double);
+
+typedef boost::math::policies::policy<> def_pol;
+
+template float boost::math::laguerre<float, def_pol>(unsigned, unsigned, float, const def_pol&);
+template double boost::math::laguerre<double, def_pol>(unsigned, unsigned, double, const def_pol&);
+template long double boost::math::laguerre<long double, def_pol>(unsigned, unsigned, long double, const def_pol&);
+

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_legendre_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_legendre_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_legendre_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,15 @@
 //
 #include <boost/math/special_functions/legendre.hpp>
 
+template float boost::math::legendre_p<float>(int, float);
+template double boost::math::legendre_p<double>(int, double);
+template long double boost::math::legendre_p<long double>(int, long double);
+
+template float boost::math::legendre_p<float>(int, int, float);
+template double boost::math::legendre_p<double>(int, int, double);
+template long double boost::math::legendre_p<long double>(int, int, long double);
+
+template float boost::math::legendre_q<float>(unsigned, float);
+template double boost::math::legendre_q<double>(unsigned, double);
+template long double boost::math::legendre_q<long double>(unsigned, long double);
+

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_log1p_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_log1p_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_log1p_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/special_functions/log1p.hpp>
 
+template float boost::math::log1p<float>(float);
+template double boost::math::log1p<double>(double);
+template long double boost::math::log1p<long double>(long double);

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_powm1_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_powm1_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_powm1_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/special_functions/powm1.hpp>
 
+template float boost::math::powm1<float>(float, float);
+template double boost::math::powm1<double>(double, double);
+template long double boost::math::powm1<long double>(long double, long double);

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_sign_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_sign_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_sign_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,15 @@
 //
 #include <boost/math/special_functions/sign.hpp>
 
+template int boost::math::sign<float>(const float&);
+template int boost::math::sign<double>(const double&);
+template int boost::math::sign<long double>(const long double&);
+
+template int boost::math::signbit<float>(const float&);
+template int boost::math::signbit<double>(const double&);
+template int boost::math::signbit<long double>(const long double&);
+
+template float boost::math::copysign<float>(const float&, const float&);
+template double boost::math::copysign<double>(const double&, const double&);
+template long double boost::math::copysign<long double>(const long double&, const long double&);
+

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_sin_pi_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_sin_pi_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_sin_pi_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,4 +8,7 @@
 //
 #include <boost/math/special_functions/sin_pi.hpp>
 
+template float boost::math::sin_pi<float>(float);
+template double boost::math::sin_pi<double>(double);
+template long double boost::math::sin_pi<long double>(long double);
 

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_sinc_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_sinc_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_sinc_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/special_functions/sinc.hpp>
 
+template float boost::math::sinc_pi<float>(float);
+template double boost::math::sinc_pi<double>(double);
+template long double boost::math::sinc_pi<long double>(long double);

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_sinhc_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_sinhc_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_sinhc_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/special_functions/sinhc.hpp>
 
+template float boost::math::sinhc_pi<float>(float);
+template double boost::math::sinhc_pi<double>(double);
+template long double boost::math::sinhc_pi<long double>(long double);

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_spherical_harmonic_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_spherical_harmonic_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_spherical_harmonic_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,17 @@
 //
 #include <boost/math/special_functions/spherical_harmonic.hpp>
 
+template std::complex<float> boost::math::spherical_harmonic<float>(unsigned, int, float, float);
+template std::complex<double> boost::math::spherical_harmonic<double>(unsigned, int, double, double);
+template std::complex<long double> boost::math::spherical_harmonic<long double>(unsigned, int, long double, long double);
+
+template float boost::math::spherical_harmonic_r<float>(unsigned, int, float, float);
+template double boost::math::spherical_harmonic_r<double>(unsigned, int, double, double);
+template long double boost::math::spherical_harmonic_r<long double>(unsigned, int, long double, long double);
+
+template float boost::math::spherical_harmonic_i<float>(unsigned, int, float, float);
+template double boost::math::spherical_harmonic_i<double>(unsigned, int, double, double);
+template long double boost::math::spherical_harmonic_i<long double>(unsigned, int, long double, long double);
+
+
+

Modified: sandbox/math_toolkit/libs/math/test/compile_test/sf_sqrt1pm1_incl_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/sf_sqrt1pm1_incl_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/sf_sqrt1pm1_incl_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,6 @@
 //
 #include <boost/math/special_functions/sqrt1pm1.hpp>
 
+template float boost::math::sqrt1pm1<float>(const float&);
+template double boost::math::sqrt1pm1<double>(const double&);
+template long double boost::math::sqrt1pm1<long double>(const long double&);

Modified: sandbox/math_toolkit/libs/math/test/compile_test/tools_roots_inc_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/tools_roots_inc_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/tools_roots_inc_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,16 @@
 //
 #include <boost/math/tools/roots.hpp>
 
+typedef double (*F)(double);
+typedef std::pair<double, double> (*F2)(double);
+typedef std::tr1::tuple<double, double, double> (*F3)(double);
+#define T double
+typedef boost::math::tools::eps_tolerance<double> Tol;
+
+template std::pair<T, T> boost::math::tools::bisect<F, T, Tol>(F f, T min, T max, Tol tol, boost::uintmax_t& max_iter);
+template std::pair<T, T> boost::math::tools::bisect<F, T, Tol>(F f, T min, T max, Tol tol);
+template T boost::math::tools::newton_raphson_iterate<F2, T>(F2 f, T guess, T min, T max, int digits, boost::uintmax_t& max_iter);
+template T boost::math::tools::halley_iterate<F3, T>(F3 f, T guess, T min, T max, int digits, boost::uintmax_t& max_iter);
+template T boost::math::tools::schroeder_iterate<F3, T>(F3 f, T guess, T min, T max, int digits, boost::uintmax_t& max_iter);
+
+

Modified: sandbox/math_toolkit/libs/math/test/compile_test/tools_series_inc_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/tools_series_inc_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/tools_series_inc_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,18 @@
 //
 #include <boost/math/tools/series.hpp>
 
+struct Functor
+{
+ typedef double result_type;
+ double operator()();
+};
+#define U double
+
+template Functor::result_type boost::math::tools::sum_series<Functor>(Functor& func, int bits);
+template Functor::result_type boost::math::tools::sum_series<Functor>(Functor& func, int bits, boost::uintmax_t& max_terms);
+template Functor::result_type boost::math::tools::sum_series<Functor, U>(Functor& func, int bits, U init_value);
+template Functor::result_type boost::math::tools::sum_series<Functor, U>(Functor& func, int bits, boost::uintmax_t& max_terms, U init_value);
+template Functor::result_type boost::math::tools::kahan_sum_series<Functor>(Functor& func, int bits);
+template Functor::result_type boost::math::tools::kahan_sum_series<Functor>(Functor& func, int bits, boost::uintmax_t& max_terms);
+
+

Modified: sandbox/math_toolkit/libs/math/test/compile_test/tools_stats_inc_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/tools_stats_inc_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/tools_stats_inc_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,4 @@
 //
 #include <boost/math/tools/stats.hpp>
 
+template class boost::math::tools::stats<double>;

Modified: sandbox/math_toolkit/libs/math/test/compile_test/tools_test_data_inc_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/tools_test_data_inc_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/tools_test_data_inc_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,14 @@
 //
 #include <boost/math/tools/test_data.hpp>
 
+#define T double
+
+template boost::math::tools::parameter_info<T> boost::math::tools::make_random_param<T>(T start_range, T end_range, int n_points);
+template boost::math::tools::parameter_info<T> boost::math::tools::make_periodic_param<T>(T start_range, T end_range, int n_points);
+template boost::math::tools::parameter_info<T> boost::math::tools::make_power_param<T>(T basis, int start_exponent, int end_exponent);
+
+template boost::math::tools::test_data<T>;
+
+template bool boost::math::tools::get_user_parameter_info<T>(boost::math::tools::parameter_info<T>& info, const char* param_name);
+
+

Modified: sandbox/math_toolkit/libs/math/test/compile_test/tools_test_inc_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/tools_test_inc_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/tools_test_inc_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -7,4 +7,15 @@
 // #includes all the files that it needs to.
 //
 #include <boost/math/tools/test.hpp>
+#include <boost/array.hpp>
+
+template float boost::math::tools::relative_error<float>(float a, float b);
+
+#define A boost::array<boost::array<double, 2>, 2>
+typedef double (*F1)(const boost::array<double, 2>&);
+typedef F1 F2;
+
+template boost::math::tools::test_result<
+ boost::math::tools::calculate_result_type<A>::value_type>
+ boost::math::tools::test<A, F1, F2>(const A& a, F1 test_func, F2 expect_func);
 

Modified: sandbox/math_toolkit/libs/math/test/compile_test/tools_toms748_solve_inc_test.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/compile_test/tools_toms748_solve_inc_test.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/compile_test/tools_toms748_solve_inc_test.cpp 2007-08-15 14:31:18 EDT (Wed, 15 Aug 2007)
@@ -8,3 +8,11 @@
 //
 #include <boost/math/tools/toms748_solve.hpp>
 
+#define T double
+#define Tol boost::math::tools::eps_tolerance<double>
+
+typedef T (*F)(T);
+
+template std::pair<T, T> boost::math::tools::toms748_solve<F, T, Tol >(F, const T&, const T&, const T&, const T&, Tol, boost::uintmax_t&);
+template std::pair<T, T> boost::math::tools::toms748_solve<F, T, Tol>(F f, const T& ax, const T& bx, Tol tol, boost::uintmax_t& max_iter);
+template std::pair<T, T> boost::math::tools::bracket_and_solve_root<F, T, Tol>(F f, const T& guess, const T& factor, bool rising, Tol tol, boost::uintmax_t& max_iter);


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