Boost logo

Boost-Commit :

From: john_at_[hidden]
Date: 2007-12-13 13:45:59


Author: johnmaddock
Date: 2007-12-13 13:45:58 EST (Thu, 13 Dec 2007)
New Revision: 42012
URL: http://svn.boost.org/trac/boost/changeset/42012

Log:
Fixes #1454.

Previous fix was incomplete, so added new tests, confirmed problem report, and added fixes.

All the tests now compile cleanly with g++ -pedantic -Wall -Wno-long-long (checked with gcc-4.4.1 and 3.4.4).
Added:
   trunk/libs/math/test/compile_test/compl_abs_incl_test.cpp (contents, props changed)
   trunk/libs/math/test/compile_test/compl_acos_incl_test.cpp (contents, props changed)
   trunk/libs/math/test/compile_test/compl_acosh_incl_test.cpp (contents, props changed)
   trunk/libs/math/test/compile_test/compl_asin_incl_test.cpp (contents, props changed)
   trunk/libs/math/test/compile_test/compl_asinh_incl_test.cpp (contents, props changed)
   trunk/libs/math/test/compile_test/compl_atan_incl_test.cpp (contents, props changed)
   trunk/libs/math/test/compile_test/compl_atanh_incl_test.cpp (contents, props changed)
   trunk/libs/math/test/compile_test/dist_find_location_incl_test.cpp (contents, props changed)
   trunk/libs/math/test/compile_test/dist_find_scale_incl_test.cpp (contents, props changed)
Text files modified:
   trunk/boost/math/complex/asinh.hpp | 4 ++--
   trunk/boost/math/distributions/find_location.hpp | 2 ++
   trunk/boost/math/distributions/find_scale.hpp | 2 ++
   trunk/libs/math/test/Jamfile.v2 | 10 ++++++++++
   4 files changed, 16 insertions(+), 2 deletions(-)

Modified: trunk/boost/math/complex/asinh.hpp
==============================================================================
--- trunk/boost/math/complex/asinh.hpp (original)
+++ trunk/boost/math/complex/asinh.hpp 2007-12-13 13:45:58 EST (Thu, 13 Dec 2007)
@@ -9,8 +9,8 @@
 #ifndef BOOST_MATH_COMPLEX_DETAILS_INCLUDED
 # include <boost/math/complex/details.hpp>
 #endif
-#ifndef BOOST_MATH_COMPLEX_ASINH_INCLUDED
-# include <boost/math/complex/asinh.hpp>
+#ifndef BOOST_MATH_COMPLEX_ASIN_INCLUDED
+# include <boost/math/complex/asin.hpp>
 #endif
 
 namespace boost{ namespace math{

Modified: trunk/boost/math/distributions/find_location.hpp
==============================================================================
--- trunk/boost/math/distributions/find_location.hpp (original)
+++ trunk/boost/math/distributions/find_location.hpp 2007-12-13 13:45:58 EST (Thu, 13 Dec 2007)
@@ -13,6 +13,8 @@
 #include <boost/math/policies/policy.hpp>
 #include <boost/math/tools/traits.hpp>
 #include <boost/static_assert.hpp>
+#include <boost/math/special_functions/fpclassify.hpp>
+#include <boost/math/policies/error_handling.hpp>
 // using boost::math::policies::policy;
 // using boost::math::complement; // will be needed by users who want complement,
 // but NOT placed here to avoid putting it in global scope.

Modified: trunk/boost/math/distributions/find_scale.hpp
==============================================================================
--- trunk/boost/math/distributions/find_scale.hpp (original)
+++ trunk/boost/math/distributions/find_scale.hpp 2007-12-13 13:45:58 EST (Thu, 13 Dec 2007)
@@ -14,6 +14,8 @@
 // using boost::math::policies::policy;
 #include <boost/math/tools/traits.hpp>
 #include <boost/static_assert.hpp>
+#include <boost/math/special_functions/fpclassify.hpp>
+#include <boost/math/policies/error_handling.hpp>
 // using boost::math::complement; // will be needed by users who want complement,
 // but NOT placed here to avoid putting it in global scope.
 

Modified: trunk/libs/math/test/Jamfile.v2
==============================================================================
--- trunk/libs/math/test/Jamfile.v2 (original)
+++ trunk/libs/math/test/Jamfile.v2 2007-12-13 13:45:58 EST (Thu, 13 Dec 2007)
@@ -310,6 +310,13 @@
 run test_bessel_i.cpp ;
 run test_bessel_k.cpp ;
 
+compile compile_test/compl_abs_incl_test.cpp ;
+compile compile_test/compl_acos_incl_test.cpp ;
+compile compile_test/compl_acosh_incl_test.cpp ;
+compile compile_test/compl_asin_incl_test.cpp ;
+compile compile_test/compl_asinh_incl_test.cpp ;
+compile compile_test/compl_atan_incl_test.cpp ;
+compile compile_test/compl_atanh_incl_test.cpp ;
 compile compile_test/dist_bernoulli_incl_test.cpp ;
 compile compile_test/dist_beta_incl_test.cpp ;
 compile compile_test/dist_binomial_incl_test.cpp ;
@@ -318,6 +325,8 @@
 compile compile_test/dist_complement_incl_test.cpp ;
 compile compile_test/dist_exponential_incl_test.cpp ;
 compile compile_test/dist_extreme_val_incl_test.cpp ;
+compile compile_test/dist_find_location_incl_test.cpp ;
+compile compile_test/dist_find_scale_incl_test.cpp ;
 compile compile_test/dist_fisher_f_incl_test.cpp ;
 compile compile_test/dist_gamma_incl_test.cpp ;
 compile compile_test/dist_lognormal_incl_test.cpp ;
@@ -401,3 +410,4 @@
 
 
 
+

Added: trunk/libs/math/test/compile_test/compl_abs_incl_test.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/math/test/compile_test/compl_abs_incl_test.cpp 2007-12-13 13:45:58 EST (Thu, 13 Dec 2007)
@@ -0,0 +1,26 @@
+// 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)
+//
+// Basic sanity check that header <boost/math/special_functions/spherical_harmonic.hpp>
+// #includes all the files that it needs to.
+//
+#include <boost/math/complex/fabs.hpp>
+
+inline void check_result_imp(std::complex<float>, std::complex<float>){}
+inline void check_result_imp(std::complex<double>, std::complex<double>){}
+inline void check_result_imp(std::complex<long double>, std::complex<long double>){}
+
+#include "test_compile_result.hpp"
+
+
+
+void check()
+{
+ check_result<float >(boost::math::fabs(std::complex<float>()));
+ check_result<double >(boost::math::fabs(std::complex<double>()));
+ check_result<long double>(boost::math::fabs(std::complex<long double>()));
+}
+
+

Added: trunk/libs/math/test/compile_test/compl_acos_incl_test.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/math/test/compile_test/compl_acos_incl_test.cpp 2007-12-13 13:45:58 EST (Thu, 13 Dec 2007)
@@ -0,0 +1,26 @@
+// 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)
+//
+// Basic sanity check that header <boost/math/special_functions/spherical_harmonic.hpp>
+// #includes all the files that it needs to.
+//
+#include <boost/math/complex/acos.hpp>
+
+inline void check_result_imp(std::complex<float>, std::complex<float>){}
+inline void check_result_imp(std::complex<double>, std::complex<double>){}
+inline void check_result_imp(std::complex<long double>, std::complex<long double>){}
+
+#include "test_compile_result.hpp"
+
+
+
+void check()
+{
+ check_result<std::complex<float> >(boost::math::acos(std::complex<float>()));
+ check_result<std::complex<double> >(boost::math::acos(std::complex<double>()));
+ check_result<std::complex<long double> >(boost::math::acos(std::complex<long double>()));
+}
+
+

Added: trunk/libs/math/test/compile_test/compl_acosh_incl_test.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/math/test/compile_test/compl_acosh_incl_test.cpp 2007-12-13 13:45:58 EST (Thu, 13 Dec 2007)
@@ -0,0 +1,26 @@
+// 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)
+//
+// Basic sanity check that header <boost/math/special_functions/spherical_harmonic.hpp>
+// #includes all the files that it needs to.
+//
+#include <boost/math/complex/acosh.hpp>
+
+inline void check_result_imp(std::complex<float>, std::complex<float>){}
+inline void check_result_imp(std::complex<double>, std::complex<double>){}
+inline void check_result_imp(std::complex<long double>, std::complex<long double>){}
+
+#include "test_compile_result.hpp"
+
+
+
+void check()
+{
+ check_result<std::complex<float> >(boost::math::acosh(std::complex<float>()));
+ check_result<std::complex<double> >(boost::math::acosh(std::complex<double>()));
+ check_result<std::complex<long double> >(boost::math::acosh(std::complex<long double>()));
+}
+
+

Added: trunk/libs/math/test/compile_test/compl_asin_incl_test.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/math/test/compile_test/compl_asin_incl_test.cpp 2007-12-13 13:45:58 EST (Thu, 13 Dec 2007)
@@ -0,0 +1,25 @@
+// 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)
+//
+// Basic sanity check that header <boost/math/special_functions/spherical_harmonic.hpp>
+// #includes all the files that it needs to.
+//
+#include <boost/math/complex/asin.hpp>
+
+inline void check_result_imp(std::complex<float>, std::complex<float>){}
+inline void check_result_imp(std::complex<double>, std::complex<double>){}
+inline void check_result_imp(std::complex<long double>, std::complex<long double>){}
+
+#include "test_compile_result.hpp"
+
+
+
+void check()
+{
+ check_result<std::complex<float> >(boost::math::asin(std::complex<float>()));
+ check_result<std::complex<double> >(boost::math::asin(std::complex<double>()));
+}
+
+

Added: trunk/libs/math/test/compile_test/compl_asinh_incl_test.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/math/test/compile_test/compl_asinh_incl_test.cpp 2007-12-13 13:45:58 EST (Thu, 13 Dec 2007)
@@ -0,0 +1,26 @@
+// 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)
+//
+// Basic sanity check that header <boost/math/special_functions/spherical_harmonic.hpp>
+// #includes all the files that it needs to.
+//
+#include <boost/math/complex/asinh.hpp>
+
+inline void check_result_imp(std::complex<float>, std::complex<float>){}
+inline void check_result_imp(std::complex<double>, std::complex<double>){}
+inline void check_result_imp(std::complex<long double>, std::complex<long double>){}
+
+#include "test_compile_result.hpp"
+
+
+
+void check()
+{
+ check_result<std::complex<float> >(boost::math::asinh(std::complex<float>()));
+ check_result<std::complex<double> >(boost::math::asinh(std::complex<double>()));
+ check_result<std::complex<long double> >(boost::math::asinh(std::complex<long double>()));
+}
+
+

Added: trunk/libs/math/test/compile_test/compl_atan_incl_test.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/math/test/compile_test/compl_atan_incl_test.cpp 2007-12-13 13:45:58 EST (Thu, 13 Dec 2007)
@@ -0,0 +1,26 @@
+// 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)
+//
+// Basic sanity check that header <boost/math/special_functions/spherical_harmonic.hpp>
+// #includes all the files that it needs to.
+//
+#include <boost/math/complex/atan.hpp>
+
+inline void check_result_imp(std::complex<float>, std::complex<float>){}
+inline void check_result_imp(std::complex<double>, std::complex<double>){}
+inline void check_result_imp(std::complex<long double>, std::complex<long double>){}
+
+#include "test_compile_result.hpp"
+
+
+
+void check()
+{
+ check_result<std::complex<float> >(boost::math::atan(std::complex<float>()));
+ check_result<std::complex<double> >(boost::math::atan(std::complex<double>()));
+ check_result<std::complex<long double> >(boost::math::atan(std::complex<long double>()));
+}
+
+

Added: trunk/libs/math/test/compile_test/compl_atanh_incl_test.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/math/test/compile_test/compl_atanh_incl_test.cpp 2007-12-13 13:45:58 EST (Thu, 13 Dec 2007)
@@ -0,0 +1,26 @@
+// 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)
+//
+// Basic sanity check that header <boost/math/special_functions/spherical_harmonic.hpp>
+// #includes all the files that it needs to.
+//
+#include <boost/math/complex/atanh.hpp>
+
+inline void check_result_imp(std::complex<float>, std::complex<float>){}
+inline void check_result_imp(std::complex<double>, std::complex<double>){}
+inline void check_result_imp(std::complex<long double>, std::complex<long double>){}
+
+#include "test_compile_result.hpp"
+
+
+
+void check()
+{
+ check_result<std::complex<float> >(boost::math::atanh(std::complex<float>()));
+ check_result<std::complex<double> >(boost::math::atanh(std::complex<double>()));
+ check_result<std::complex<long double> >(boost::math::atanh(std::complex<long double>()));
+}
+
+

Added: trunk/libs/math/test/compile_test/dist_find_location_incl_test.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/math/test/compile_test/dist_find_location_incl_test.cpp 2007-12-13 13:45:58 EST (Thu, 13 Dec 2007)
@@ -0,0 +1,10 @@
+// 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)
+//
+// Basic sanity check that header <boost/math/distributions/bernoulli.hpp>
+// #includes all the files that it needs to.
+//
+#include <boost/math/distributions/find_location.hpp>
+

Added: trunk/libs/math/test/compile_test/dist_find_scale_incl_test.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/math/test/compile_test/dist_find_scale_incl_test.cpp 2007-12-13 13:45:58 EST (Thu, 13 Dec 2007)
@@ -0,0 +1,10 @@
+// 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)
+//
+// Basic sanity check that header <boost/math/distributions/bernoulli.hpp>
+// #includes all the files that it needs to.
+//
+#include <boost/math/distributions/find_scale.hpp>
+


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