diff --git a/example/brent_minimise_example.cpp b/example/brent_minimise_example.cpp index 877160ef4..a80919855 100644 --- a/example/brent_minimise_example.cpp +++ b/example/brent_minimise_example.cpp @@ -579,4 +579,4 @@ f(x) == (0 compared to uncertainty 7.311312755e-26) is true RUN SUCCESSFUL (total time: 90ms) -*/ \ No newline at end of file +*/ diff --git a/example/float_comparison_example.cpp b/example/float_comparison_example.cpp index 71eb6abe3..ddb1324d8 100644 --- a/example/float_comparison_example.cpp +++ b/example/float_comparison_example.cpp @@ -160,7 +160,7 @@ relative_difference = 3.40282347e+038 /*` Note that finite values are always infinitely far away from infinities even if those finite values are very large:*/ - a = std::numeric_limits::max(); + a = (std::numeric_limits::max)(); b = std::numeric_limits::infinity(); std::cout << "a = " << a << std::endl; std::cout << "b = " << b << std::endl; @@ -377,7 +377,7 @@ A few values near zero are tested with varying tolerance below. c = std::numeric_limits::denorm_min(); // 1.40129846e-045 std::cout << "denorm_ min =" << c << ", is_small is " << is_small(c, epsilon) << std::endl; // true - c = std::numeric_limits::min(); // 1.17549435e-038 + c = (std::numeric_limits::min)(); // 1.17549435e-038 std::cout << "min = " << c << ", is_small is " << is_small(c, epsilon) << std::endl; // true c = 1 * epsilon; // 1.19209290e-007 diff --git a/example/hyperexponential_more_snips.cpp b/example/hyperexponential_more_snips.cpp index bbd13f348..ba9d5010e 100644 --- a/example/hyperexponential_more_snips.cpp +++ b/example/hyperexponential_more_snips.cpp @@ -16,140 +16,140 @@ struct ds_info { - std::string name; - double iat_sample_mean; - double iat_sample_sd; - boost::math::hyperexponential iat_he; - double multi_lt_sample_mean; - double multi_lt_sample_sd; - boost::math::hyperexponential multi_lt_he; - double single_lt_sample_mean; - double single_lt_sample_sd; - boost::math::hyperexponential single_lt_he; + std::string name; + double iat_sample_mean; + double iat_sample_sd; + boost::math::hyperexponential iat_he; + double multi_lt_sample_mean; + double multi_lt_sample_sd; + boost::math::hyperexponential multi_lt_he; + double single_lt_sample_mean; + double single_lt_sample_sd; + boost::math::hyperexponential single_lt_he; }; // DS1 dataset ds_info make_ds1() { - ds_info ds; + ds_info ds; - ds.name = "DS1"; + ds.name = "DS1"; - // VM interarrival time distribution - const double iat_fit_probs[] = {0.34561,0.08648,0.56791}; - const double iat_fit_rates[] = {0.0008,0.00005,0.02894}; - ds.iat_sample_mean = 2202.1; - ds.iat_sample_sd = 2.2e+4; - ds.iat_he = boost::math::hyperexponential(iat_fit_probs, iat_fit_rates); + // VM interarrival time distribution + const double iat_fit_probs[] = { 0.34561,0.08648,0.56791 }; + const double iat_fit_rates[] = { 0.0008,0.00005,0.02894 }; + ds.iat_sample_mean = 2202.1; + ds.iat_sample_sd = 2.2e+4; + ds.iat_he = boost::math::hyperexponential(iat_fit_probs, iat_fit_rates); - // Multi-core VM lifetime distribution - const double multi_lt_fit_probs[] = {0.24667,0.37948,0.37385}; - const double multi_lt_fit_rates[] = {0.00004,0.000002,0.00059}; - ds.multi_lt_sample_mean = 257173; - ds.multi_lt_sample_sd = 4.6e+5; - ds.multi_lt_he = boost::math::hyperexponential(multi_lt_fit_probs, multi_lt_fit_rates); + // Multi-core VM lifetime distribution + const double multi_lt_fit_probs[] = { 0.24667,0.37948,0.37385 }; + const double multi_lt_fit_rates[] = { 0.00004,0.000002,0.00059 }; + ds.multi_lt_sample_mean = 257173; + ds.multi_lt_sample_sd = 4.6e+5; + ds.multi_lt_he = boost::math::hyperexponential(multi_lt_fit_probs, multi_lt_fit_rates); - // Single-core VM lifetime distribution - const double single_lt_fit_probs[] = {0.09325,0.22251,0.68424}; - const double single_lt_fit_rates[] = {0.000003,0.00109,0.00109}; - ds.single_lt_sample_mean = 28754.4; - ds.single_lt_sample_sd = 1.6e+5; - ds.single_lt_he = boost::math::hyperexponential(single_lt_fit_probs, single_lt_fit_rates); + // Single-core VM lifetime distribution + const double single_lt_fit_probs[] = { 0.09325,0.22251,0.68424 }; + const double single_lt_fit_rates[] = { 0.000003,0.00109,0.00109 }; + ds.single_lt_sample_mean = 28754.4; + ds.single_lt_sample_sd = 1.6e+5; + ds.single_lt_he = boost::math::hyperexponential(single_lt_fit_probs, single_lt_fit_rates); - return ds; + return ds; } // DS2 dataset ds_info make_ds2() { - ds_info ds; + ds_info ds; - ds.name = "DS2"; + ds.name = "DS2"; - // VM interarrival time distribution - const double iat_fit_probs[] = {0.38881,0.18227,0.42892}; - const double iat_fit_rates[] = {0.000006,0.05228,0.00081}; - ds.iat_sample_mean = 41285.7; - ds.iat_sample_sd = 1.1e+05; - ds.iat_he = boost::math::hyperexponential(iat_fit_probs, iat_fit_rates); + // VM interarrival time distribution + const double iat_fit_probs[] = { 0.38881,0.18227,0.42892 }; + const double iat_fit_rates[] = { 0.000006,0.05228,0.00081 }; + ds.iat_sample_mean = 41285.7; + ds.iat_sample_sd = 1.1e+05; + ds.iat_he = boost::math::hyperexponential(iat_fit_probs, iat_fit_rates); - // Multi-core VM lifetime distribution - const double multi_lt_fit_probs[] = {0.42093,0.43960,0.13947}; - const double multi_lt_fit_rates[] = {0.00186,0.00008,0.0000008}; - ds.multi_lt_sample_mean = 144669.0; - ds.multi_lt_sample_sd = 7.9e+05; - ds.multi_lt_he = boost::math::hyperexponential(multi_lt_fit_probs, multi_lt_fit_rates); + // Multi-core VM lifetime distribution + const double multi_lt_fit_probs[] = { 0.42093,0.43960,0.13947 }; + const double multi_lt_fit_rates[] = { 0.00186,0.00008,0.0000008 }; + ds.multi_lt_sample_mean = 144669.0; + ds.multi_lt_sample_sd = 7.9e+05; + ds.multi_lt_he = boost::math::hyperexponential(multi_lt_fit_probs, multi_lt_fit_rates); - // Single-core VM lifetime distribution - const double single_lt_fit_probs[] = {0.44885,0.30675,0.2444}; - const double single_lt_fit_rates[] = {0.00143,0.00005,0.0000004}; - ds.single_lt_sample_mean = 599815.0; - ds.single_lt_sample_sd = 1.7e+06; - ds.single_lt_he = boost::math::hyperexponential(single_lt_fit_probs, single_lt_fit_rates); + // Single-core VM lifetime distribution + const double single_lt_fit_probs[] = { 0.44885,0.30675,0.2444 }; + const double single_lt_fit_rates[] = { 0.00143,0.00005,0.0000004 }; + ds.single_lt_sample_mean = 599815.0; + ds.single_lt_sample_sd = 1.7e+06; + ds.single_lt_he = boost::math::hyperexponential(single_lt_fit_probs, single_lt_fit_rates); - return ds; + return ds; } // DS3 dataset ds_info make_ds3() { - ds_info ds; + ds_info ds; - ds.name = "DS3"; + ds.name = "DS3"; - // VM interarrival time distribution - const double iat_fit_probs[] = {0.39442,0.24644,0.35914}; - const double iat_fit_rates[] = {0.00030,0.00003,0.00257}; - ds.iat_sample_mean = 11238.8; - ds.iat_sample_sd = 3.0e+04; - ds.iat_he = boost::math::hyperexponential(iat_fit_probs, iat_fit_rates); + // VM interarrival time distribution + const double iat_fit_probs[] = { 0.39442,0.24644,0.35914 }; + const double iat_fit_rates[] = { 0.00030,0.00003,0.00257 }; + ds.iat_sample_mean = 11238.8; + ds.iat_sample_sd = 3.0e+04; + ds.iat_he = boost::math::hyperexponential(iat_fit_probs, iat_fit_rates); - // Multi-core VM lifetime distribution - const double multi_lt_fit_probs[] = {0.37621,0.14838,0.47541}; - const double multi_lt_fit_rates[] = {0.00498,0.000005,0.00022}; - ds.multi_lt_sample_mean = 30739.2; - ds.multi_lt_sample_sd = 1.6e+05; - ds.multi_lt_he = boost::math::hyperexponential(multi_lt_fit_probs, multi_lt_fit_rates); + // Multi-core VM lifetime distribution + const double multi_lt_fit_probs[] = { 0.37621,0.14838,0.47541 }; + const double multi_lt_fit_rates[] = { 0.00498,0.000005,0.00022 }; + ds.multi_lt_sample_mean = 30739.2; + ds.multi_lt_sample_sd = 1.6e+05; + ds.multi_lt_he = boost::math::hyperexponential(multi_lt_fit_probs, multi_lt_fit_rates); - // Single-core VM lifetime distribution - const double single_lt_fit_probs[] = {0.34131,0.12544,0.53325}; - const double single_lt_fit_rates[] = {0.000297,0.000003,0.00410}; - ds.single_lt_sample_mean = 44447.8; - ds.single_lt_sample_sd = 2.2e+05; - ds.single_lt_he = boost::math::hyperexponential(single_lt_fit_probs, single_lt_fit_rates); + // Single-core VM lifetime distribution + const double single_lt_fit_probs[] = { 0.34131,0.12544,0.53325 }; + const double single_lt_fit_rates[] = { 0.000297,0.000003,0.00410 }; + ds.single_lt_sample_mean = 44447.8; + ds.single_lt_sample_sd = 2.2e+05; + ds.single_lt_he = boost::math::hyperexponential(single_lt_fit_probs, single_lt_fit_rates); - return ds; + return ds; } void print_fitted(ds_info const& ds) { - const double secs_in_a_hour = 3600; - const double secs_in_a_month = 30*24*secs_in_a_hour; + const double secs_in_a_hour = 3600; + const double secs_in_a_month = 30 * 24 * secs_in_a_hour; - std::cout << "### " << ds.name << std::endl; - std::cout << "* Fitted Request Interarrival Time" << std::endl; - std::cout << " - Mean (SD): " << boost::math::mean(ds.iat_he) << " (" << boost::math::standard_deviation(ds.iat_he) << ") seconds." << std::endl; - std::cout << " - 99th Percentile: " << boost::math::quantile(ds.iat_he, 0.99) << " seconds." << std::endl; - std::cout << " - Probability that a VM will arrive within 30 minutes: " << boost::math::cdf(ds.iat_he, secs_in_a_hour/2.0) << std::endl; - std::cout << " - Probability that a VM will arrive after 1 hour: " << boost::math::cdf(boost::math::complement(ds.iat_he, secs_in_a_hour)) << std::endl; - std::cout << "* Fitted Multi-core VM Lifetime" << std::endl; - std::cout << " - Mean (SD): " << boost::math::mean(ds.multi_lt_he) << " (" << boost::math::standard_deviation(ds.multi_lt_he) << ") seconds." << std::endl; - std::cout << " - 99th Percentile: " << boost::math::quantile(ds.multi_lt_he, 0.99) << " seconds." << std::endl; - std::cout << " - Probability that a VM will last for less than 1 month: " << boost::math::cdf(ds.multi_lt_he, secs_in_a_month) << std::endl; - std::cout << " - Probability that a VM will last for more than 3 months: " << boost::math::cdf(boost::math::complement(ds.multi_lt_he, 3.0*secs_in_a_month)) << std::endl; - std::cout << "* Fitted Single-core VM Lifetime" << std::endl; - std::cout << " - Mean (SD): " << boost::math::mean(ds.single_lt_he) << " (" << boost::math::standard_deviation(ds.single_lt_he) << ") seconds." << std::endl; - std::cout << " - 99th Percentile: " << boost::math::quantile(ds.single_lt_he, 0.99) << " seconds." << std::endl; - std::cout << " - Probability that a VM will last for less than 1 month: " << boost::math::cdf(ds.single_lt_he, secs_in_a_month) << std::endl; - std::cout << " - Probability that a VM will last for more than 3 months: " << boost::math::cdf(boost::math::complement(ds.single_lt_he, 3.0*secs_in_a_month)) << std::endl; + std::cout << "### " << ds.name << std::endl; + std::cout << "* Fitted Request Interarrival Time" << std::endl; + std::cout << " - Mean (SD): " << boost::math::mean(ds.iat_he) << " (" << boost::math::standard_deviation(ds.iat_he) << ") seconds." << std::endl; + std::cout << " - 99th Percentile: " << boost::math::quantile(ds.iat_he, 0.99) << " seconds." << std::endl; + std::cout << " - Probability that a VM will arrive within 30 minutes: " << boost::math::cdf(ds.iat_he, secs_in_a_hour / 2.0) << std::endl; + std::cout << " - Probability that a VM will arrive after 1 hour: " << boost::math::cdf(boost::math::complement(ds.iat_he, secs_in_a_hour)) << std::endl; + std::cout << "* Fitted Multi-core VM Lifetime" << std::endl; + std::cout << " - Mean (SD): " << boost::math::mean(ds.multi_lt_he) << " (" << boost::math::standard_deviation(ds.multi_lt_he) << ") seconds." << std::endl; + std::cout << " - 99th Percentile: " << boost::math::quantile(ds.multi_lt_he, 0.99) << " seconds." << std::endl; + std::cout << " - Probability that a VM will last for less than 1 month: " << boost::math::cdf(ds.multi_lt_he, secs_in_a_month) << std::endl; + std::cout << " - Probability that a VM will last for more than 3 months: " << boost::math::cdf(boost::math::complement(ds.multi_lt_he, 3.0*secs_in_a_month)) << std::endl; + std::cout << "* Fitted Single-core VM Lifetime" << std::endl; + std::cout << " - Mean (SD): " << boost::math::mean(ds.single_lt_he) << " (" << boost::math::standard_deviation(ds.single_lt_he) << ") seconds." << std::endl; + std::cout << " - 99th Percentile: " << boost::math::quantile(ds.single_lt_he, 0.99) << " seconds." << std::endl; + std::cout << " - Probability that a VM will last for less than 1 month: " << boost::math::cdf(ds.single_lt_he, secs_in_a_month) << std::endl; + std::cout << " - Probability that a VM will last for more than 3 months: " << boost::math::cdf(boost::math::complement(ds.single_lt_he, 3.0*secs_in_a_month)) << std::endl; } int main() { - print_fitted(make_ds1()); + print_fitted(make_ds1()); - print_fitted(make_ds2()); + print_fitted(make_ds2()); - print_fitted(make_ds3()); + print_fitted(make_ds3()); } //] diff --git a/example/numerical_derivative_example.cpp b/example/numerical_derivative_example.cpp index 3a194502c..ff45b4584 100644 --- a/example/numerical_derivative_example.cpp +++ b/example/numerical_derivative_example.cpp @@ -44,7 +44,7 @@ at x = 3= 2. In other words, The expected result is - 0:74535 59924 99929 89880 . (5) + 0:74535 59924 99929 89880 . (5) The program below uses the derivative template in order to perform the numerical calculation of this derivative. The program also compares the numerically-obtained result with the expected result and reports the absolute diff --git a/example/root_elliptic_finding.cpp b/example/root_elliptic_finding.cpp index 9bc03a783..1554aeebc 100644 --- a/example/root_elliptic_finding.cpp +++ b/example/root_elliptic_finding.cpp @@ -140,7 +140,7 @@ struct root_info std::vector times; // arbirary units (ticks). //boost::int_least64_t min_time = std::numeric_limits::max(); // Used to normalize times (as int). std::vector normed_times; - int min_time = std::numeric_limits::max(); // Used to normalize times. + int min_time = (std::numeric_limits::max)(); // Used to normalize times. std::vector iterations; std::vector distances; std::vector full_results; diff --git a/example/root_finding_algorithms.cpp b/example/root_finding_algorithms.cpp index ac1e077a7..02ee7619c 100644 --- a/example/root_finding_algorithms.cpp +++ b/example/root_finding_algorithms.cpp @@ -148,7 +148,7 @@ struct root_info std::vector times; //boost::int_least64_t min_time = std::numeric_limits::max(); // Used to normalize times (as int). std::vector normed_times; - boost::int_least64_t min_time = std::numeric_limits::max(); // Used to normalize times. + boost::int_least64_t min_time = (std::numeric_limits::max)(); // Used to normalize times. std::vector iterations; std::vector distances; std::vector full_results; diff --git a/example/root_finding_multiprecision_example.cpp b/example/root_finding_multiprecision_example.cpp index c291b27f4..d658f193e 100644 --- a/example/root_finding_multiprecision_example.cpp +++ b/example/root_finding_multiprecision_example.cpp @@ -229,4 +229,4 @@ value = 2, cube root =1.25992104989487 value = 2, cube root =1.2599210498948731647672106072782283505702514647015 -*/ \ No newline at end of file +*/ diff --git a/example/root_n_finding_algorithms.cpp b/example/root_n_finding_algorithms.cpp index 0a87ceee9..aa4cf8b89 100644 --- a/example/root_n_finding_algorithms.cpp +++ b/example/root_n_finding_algorithms.cpp @@ -141,7 +141,7 @@ struct root_info std::vector times; // arbirary units (ticks). //boost::int_least64_t min_time = std::numeric_limits::max(); // Used to normalize times (as int). std::vector normed_times; - int min_time = std::numeric_limits::max(); // Used to normalize times. + int min_time = (std::numeric_limits::max)(); // Used to normalize times. std::vector iterations; std::vector distances; std::vector full_results; diff --git a/include/boost/math/distributions/exponential.hpp b/include/boost/math/distributions/exponential.hpp index bfe7e6b4a..05c49374e 100644 --- a/include/boost/math/distributions/exponential.hpp +++ b/include/boost/math/distributions/exponential.hpp @@ -117,7 +117,7 @@ inline RealType pdf(const exponential_distribution& dist, cons return result; // Workaround for VC11/12 bug: if ((boost::math::isinf)(x)) - return 0; + return 0; result = lambda * exp(-lambda * x); return result; } // pdf @@ -178,7 +178,7 @@ inline RealType cdf(const complemented2_type= tools::max_value()) - return 0; + return 0; result = exp(-c.param * lambda); return result; diff --git a/include/boost/math/distributions/non_central_chi_squared.hpp b/include/boost/math/distributions/non_central_chi_squared.hpp index 302a208ff..97f87ed4c 100644 --- a/include/boost/math/distributions/non_central_chi_squared.hpp +++ b/include/boost/math/distributions/non_central_chi_squared.hpp @@ -442,7 +442,7 @@ namespace boost // noncentral chi squared", Biometrika 46: 364. // See also: // "A comparison of approximations to percentiles of the noncentral chi2-distribution", - // Hardeo Sahai and Mario Miguel Ojeda, Revista de Matematica: Teoria y Aplicaciones 2003 10(1–2) : 57–76. + // Hardeo Sahai and Mario Miguel Ojeda, Revista de Matematica: Teoria y Aplicaciones 2003 10(1-2) : 57-76. // Note that the latter reference refers to an approximation of the CDF, when they really mean the quantile. // value_type b = -(l * l) / (k + 3 * l); diff --git a/include/boost/math/distributions/rayleigh.hpp b/include/boost/math/distributions/rayleigh.hpp index 01f38c0b0..744733a9f 100644 --- a/include/boost/math/distributions/rayleigh.hpp +++ b/include/boost/math/distributions/rayleigh.hpp @@ -182,7 +182,7 @@ inline RealType cdf(const complemented2_type= tools::max_value()) - return 0; + return 0; result = exp(-ea); return result; } // cdf complement diff --git a/include/boost/math/special_functions/detail/polygamma.hpp b/include/boost/math/special_functions/detail/polygamma.hpp index 353c148eb..0267bd3ac 100644 --- a/include/boost/math/special_functions/detail/polygamma.hpp +++ b/include/boost/math/special_functions/detail/polygamma.hpp @@ -505,7 +505,7 @@ // would mean setting the limit to ~ 1 / n, // but we can tolerate a small amount of divergence: // - T small_x_limit = std::min(T(T(5) / n), T(0.25f)); + T small_x_limit = (std::min)(T(T(5) / n), T(0.25f)); if(x < small_x_limit) { return polygamma_nearzero(n, x, pol, function); diff --git a/include/boost/math/special_functions/gamma.hpp b/include/boost/math/special_functions/gamma.hpp index 718be01d9..3a3191a80 100644 --- a/include/boost/math/special_functions/gamma.hpp +++ b/include/boost/math/special_functions/gamma.hpp @@ -162,7 +162,7 @@ T gamma_imp(T z, const Policy& pol, const Lanczos& l) { if (z < 1 / tools::max_value()) result = policies::raise_overflow_error(function, 0, pol); - result *= 1 / z - constants::euler(); + result *= 1 / z - constants::euler(); } else { @@ -238,13 +238,13 @@ T lgamma_imp(T z, const Policy& pol, const Lanczos& l, int* sign = 0) } else if (z < tools::root_epsilon()) { - if (0 == z) - return policies::raise_pole_error(function, "Evaluation of lgamma at %1%.", z, pol); + if (0 == z) + return policies::raise_pole_error(function, "Evaluation of lgamma at %1%.", z, pol); if (fabs(z) < 1 / tools::max_value()) result = -log(fabs(z)); else - result = log(fabs(1 / z - constants::euler())); - if (z < 0) + result = log(fabs(1 / z - constants::euler())); + if (z < 0) sresult = -1; } else if(z < 15) @@ -526,9 +526,9 @@ T lgamma_imp(T z, const Policy& pol, const lanczos::undefined_lanczos&, int* sig if (zz < min_arg_for_recursion) { - // Here we simply take the logarithm of tgamma(). This is somewhat - // inefficient, but simple. The rationale is that the argument here - // is relatively small and overflow is not expected to be likely. + // Here we simply take the logarithm of tgamma(). This is somewhat + // inefficient, but simple. The rationale is that the argument here + // is relatively small and overflow is not expected to be likely. if (z > -tools::root_epsilon()) { // Reflection formula may fail if z is very close to zero, let the series @@ -540,7 +540,7 @@ T lgamma_imp(T z, const Policy& pol, const lanczos::undefined_lanczos&, int* sig } return log_gamma_value; } - else + else { // No issue with spurious overflow in reflection formula, // just fall through to regular code: diff --git a/special_functions/acosh_test.hpp b/special_functions/acosh_test.hpp deleted file mode 100644 index c2dddbde7..000000000 --- a/special_functions/acosh_test.hpp +++ /dev/null @@ -1,83 +0,0 @@ -// unit test file acosh.hpp for the special functions test suite - -// (C) Copyright Hubert Holin 2003. -// 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) - - -#include -#include -#include - - -#include - - -#include - - -template -T acosh_error_evaluator(T x) -{ - using ::std::abs; - using ::std::sinh; - using ::std::cosh; - - using ::std::numeric_limits; - - using ::boost::math::acosh; - - - static T const epsilon = numeric_limits::epsilon(); - - T y = cosh(x); - T z = acosh(y); - - T absolute_error = abs(z-abs(x)); - T relative_error = absolute_error*abs(sinh(x)); - T scaled_error = relative_error/epsilon; - - return(scaled_error); -} - - -BOOST_TEST_CASE_TEMPLATE_FUNCTION(acosh_test, T) -{ - BOOST_TEST_MESSAGE("Testing acosh in the real domain for " - << string_type_name::_() << "."); - - for (int i = 0; i <= 100; i++) - { - T x = static_cast(i-50)/static_cast(5); - - BOOST_CHECK_PREDICATE(::std::less_equal(), - (acosh_error_evaluator(x)) - (static_cast(4))); - } -} - - -void acosh_manual_check() -{ - BOOST_TEST_MESSAGE(" "); - BOOST_TEST_MESSAGE("acosh"); - - for (int i = 0; i <= 100; i++) - { - float xf = static_cast(i-50)/static_cast(5); - double xd = static_cast(i-50)/static_cast(5); - long double xl = - static_cast(i-50)/static_cast(5); - - BOOST_TEST_MESSAGE( ::std::setw(15) - << acosh_error_evaluator(xf) - << ::std::setw(15) - << acosh_error_evaluator(xd) - << ::std::setw(15) - << acosh_error_evaluator(xl)); - } - - BOOST_TEST_MESSAGE(" "); -} - diff --git a/special_functions/asinh_test.hpp b/special_functions/asinh_test.hpp deleted file mode 100644 index a058364b6..000000000 --- a/special_functions/asinh_test.hpp +++ /dev/null @@ -1,83 +0,0 @@ -// unit test file asinh.hpp for the special functions test suite - -// (C) Copyright Hubert Holin 2003. -// 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) - - -#include -#include -#include - - -#include - - -#include - - -template -T asinh_error_evaluator(T x) -{ - using ::std::abs; - using ::std::sinh; - using ::std::cosh; - - using ::std::numeric_limits; - - using ::boost::math::asinh; - - - static T const epsilon = numeric_limits::epsilon(); - - T y = sinh(x); - T z = asinh(y); - - T absolute_error = abs(z-x); - T relative_error = absolute_error*cosh(x); - T scaled_error = relative_error/epsilon; - - return(scaled_error); -} - - -BOOST_TEST_CASE_TEMPLATE_FUNCTION(asinh_test, T) -{ - BOOST_TEST_MESSAGE("Testing asinh in the real domain for " - << string_type_name::_() << "."); - - for (int i = 0; i <= 100; i++) - { - T x = static_cast(i-50)/static_cast(5); - - BOOST_CHECK_PREDICATE(::std::less_equal(), - (asinh_error_evaluator(x)) - (static_cast(4))); - } -} - - -void asinh_manual_check() -{ - BOOST_TEST_MESSAGE(" "); - BOOST_TEST_MESSAGE("asinh"); - - for (int i = 0; i <= 100; i++) - { - float xf = static_cast(i-50)/static_cast(5); - double xd = static_cast(i-50)/static_cast(5); - long double xl = - static_cast(i-50)/static_cast(5); - - BOOST_TEST_MESSAGE( ::std::setw(15) - << asinh_error_evaluator(xf) - << ::std::setw(15) - << asinh_error_evaluator(xd) - << ::std::setw(15) - << asinh_error_evaluator(xl)); - } - - BOOST_TEST_MESSAGE(" "); -} - diff --git a/special_functions/atanh_test.hpp b/special_functions/atanh_test.hpp deleted file mode 100644 index 97a7a2615..000000000 --- a/special_functions/atanh_test.hpp +++ /dev/null @@ -1,158 +0,0 @@ -// unit test file atanh.hpp for the special functions test suite - -// (C) Copyright Hubert Holin 2003. -// 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) - - -#include -#include -//#include - - -#include - - -#include - -template -T atanh_error_evaluator(T x) -{ - using ::std::abs; - using ::std::tanh; - using ::std::cosh; - - using ::std::numeric_limits; - - using ::boost::math::atanh; - - - static T const epsilon = numeric_limits::epsilon(); - - T y = tanh(x); - T z = atanh(y); - - T absolute_error = abs(z-x); - T relative_error = absolute_error/(cosh(x)*cosh(x)); - T scaled_error = relative_error/epsilon; - - return(scaled_error); -} - - -BOOST_TEST_CASE_TEMPLATE_FUNCTION(atanh_test, T) -{ - using ::std::abs; - using ::std::tanh; - using ::std::log; - - using ::std::numeric_limits; - - using ::boost::math::atanh; - - - BOOST_TEST_MESSAGE("Testing atanh in the real domain for " - << string_type_name::_() << "."); - - BOOST_CHECK_PREDICATE(::std::less_equal(), - (abs(atanh(static_cast(0)))) - (numeric_limits::epsilon())); - - BOOST_CHECK_PREDICATE(::std::less_equal(), - (abs(atanh(static_cast(3)/5) - log(static_cast(2)))) - (numeric_limits::epsilon())); - - BOOST_CHECK_PREDICATE(::std::less_equal(), - (abs(atanh(static_cast(-3)/5) + log(static_cast(2)))) - (numeric_limits::epsilon())); - - for (int i = 0; i <= 100; i++) - { - T x = static_cast(i-50)/static_cast(5); - T y = tanh(x); - - if ( - (abs(y-static_cast(1)) >= numeric_limits::epsilon())&& - (abs(y+static_cast(1)) >= numeric_limits::epsilon()) - ) - { - BOOST_CHECK_PREDICATE(::std::less_equal(), - (atanh_error_evaluator(x)) - (static_cast(4))); - } - } -} - - -void atanh_manual_check() -{ - using ::std::abs; - using ::std::tanh; - - using ::std::numeric_limits; - - - BOOST_TEST_MESSAGE(" "); - BOOST_TEST_MESSAGE("atanh"); - - for (int i = 0; i <= 100; i++) - { - float xf = static_cast(i-50)/static_cast(5); - double xd = static_cast(i-50)/static_cast(5); - long double xl = - static_cast(i-50)/static_cast(5); - - float yf = tanh(xf); - double yd = tanh(xd); - (void) &yd; // avoid "unused variable" warning - long double yl = tanh(xl); - (void) &yl; // avoid "unused variable" warning - - if ( - std::numeric_limits::has_infinity && - std::numeric_limits::has_infinity && - std::numeric_limits::has_infinity - ) - { - BOOST_TEST_MESSAGE( ::std::setw(15) - << atanh_error_evaluator(xf) - << ::std::setw(15) - << atanh_error_evaluator(xd) - << ::std::setw(15) - << atanh_error_evaluator(xl)); - } - else - { - if ( - (abs(yf-static_cast(1)) < - numeric_limits::epsilon())|| - (abs(yf+static_cast(1)) < - numeric_limits::epsilon())|| - (abs(yf-static_cast(1)) < - numeric_limits::epsilon())|| - (abs(yf+static_cast(1)) < - numeric_limits::epsilon())|| - (abs(yf-static_cast(1)) < - numeric_limits::epsilon())|| - (abs(yf+static_cast(1)) < - numeric_limits::epsilon()) - ) - { - BOOST_TEST_MESSAGE("Platform's numerics may lack precision."); - } - else - { - BOOST_TEST_MESSAGE( ::std::setw(15) - << atanh_error_evaluator(xf) - << ::std::setw(15) - << atanh_error_evaluator(xd) - << ::std::setw(15) - << atanh_error_evaluator(xl)); - } - } - } - - BOOST_TEST_MESSAGE(" "); -} - diff --git a/special_functions/graphics/Im_exp_on_C.png b/special_functions/graphics/Im_exp_on_C.png deleted file mode 100644 index 68fb3d963..000000000 Binary files a/special_functions/graphics/Im_exp_on_C.png and /dev/null differ diff --git a/special_functions/graphics/Re_exp_on_C.png b/special_functions/graphics/Re_exp_on_C.png deleted file mode 100644 index 7f25e8f9a..000000000 Binary files a/special_functions/graphics/Re_exp_on_C.png and /dev/null differ diff --git a/special_functions/graphics/exp_on_R.png b/special_functions/graphics/exp_on_R.png deleted file mode 100644 index 819de7c68..000000000 Binary files a/special_functions/graphics/exp_on_R.png and /dev/null differ diff --git a/special_functions/graphics/hyperbolic.png b/special_functions/graphics/hyperbolic.png deleted file mode 100644 index 48ad0bf91..000000000 Binary files a/special_functions/graphics/hyperbolic.png and /dev/null differ diff --git a/special_functions/graphics/sinc_pi_and_sinhc_pi_on_R.png b/special_functions/graphics/sinc_pi_and_sinhc_pi_on_R.png deleted file mode 100644 index fd6fae54d..000000000 Binary files a/special_functions/graphics/sinc_pi_and_sinhc_pi_on_R.png and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb1.jpeg b/special_functions/graphics/special_functions_blurb1.jpeg deleted file mode 100644 index f5ca0befb..000000000 Binary files a/special_functions/graphics/special_functions_blurb1.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb10.jpeg b/special_functions/graphics/special_functions_blurb10.jpeg deleted file mode 100644 index 98135ee6e..000000000 Binary files a/special_functions/graphics/special_functions_blurb10.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb11.jpeg b/special_functions/graphics/special_functions_blurb11.jpeg deleted file mode 100644 index 6bfe22f7b..000000000 Binary files a/special_functions/graphics/special_functions_blurb11.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb12.jpeg b/special_functions/graphics/special_functions_blurb12.jpeg deleted file mode 100644 index 98135ee6e..000000000 Binary files a/special_functions/graphics/special_functions_blurb12.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb13.jpeg b/special_functions/graphics/special_functions_blurb13.jpeg deleted file mode 100644 index 98135ee6e..000000000 Binary files a/special_functions/graphics/special_functions_blurb13.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb14.jpeg b/special_functions/graphics/special_functions_blurb14.jpeg deleted file mode 100644 index fd9b24cbd..000000000 Binary files a/special_functions/graphics/special_functions_blurb14.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb15.jpeg b/special_functions/graphics/special_functions_blurb15.jpeg deleted file mode 100644 index abb28b420..000000000 Binary files a/special_functions/graphics/special_functions_blurb15.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb16.jpeg b/special_functions/graphics/special_functions_blurb16.jpeg deleted file mode 100644 index 4276ef9ad..000000000 Binary files a/special_functions/graphics/special_functions_blurb16.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb17.jpeg b/special_functions/graphics/special_functions_blurb17.jpeg deleted file mode 100644 index 73475c1f4..000000000 Binary files a/special_functions/graphics/special_functions_blurb17.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb18.jpeg b/special_functions/graphics/special_functions_blurb18.jpeg deleted file mode 100644 index fdb5ec7d8..000000000 Binary files a/special_functions/graphics/special_functions_blurb18.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb19.jpeg b/special_functions/graphics/special_functions_blurb19.jpeg deleted file mode 100644 index d81d831aa..000000000 Binary files a/special_functions/graphics/special_functions_blurb19.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb2.jpeg b/special_functions/graphics/special_functions_blurb2.jpeg deleted file mode 100644 index b089e7fec..000000000 Binary files a/special_functions/graphics/special_functions_blurb2.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb20.jpeg b/special_functions/graphics/special_functions_blurb20.jpeg deleted file mode 100644 index c5da84fb8..000000000 Binary files a/special_functions/graphics/special_functions_blurb20.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb21.jpeg b/special_functions/graphics/special_functions_blurb21.jpeg deleted file mode 100644 index d81d831aa..000000000 Binary files a/special_functions/graphics/special_functions_blurb21.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb22.jpeg b/special_functions/graphics/special_functions_blurb22.jpeg deleted file mode 100644 index 3240190bb..000000000 Binary files a/special_functions/graphics/special_functions_blurb22.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb23.jpeg b/special_functions/graphics/special_functions_blurb23.jpeg deleted file mode 100644 index ee5d3ccd1..000000000 Binary files a/special_functions/graphics/special_functions_blurb23.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb24.jpeg b/special_functions/graphics/special_functions_blurb24.jpeg deleted file mode 100644 index fdbbd1951..000000000 Binary files a/special_functions/graphics/special_functions_blurb24.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb25.jpeg b/special_functions/graphics/special_functions_blurb25.jpeg deleted file mode 100644 index a74d12b7c..000000000 Binary files a/special_functions/graphics/special_functions_blurb25.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb26.jpeg b/special_functions/graphics/special_functions_blurb26.jpeg deleted file mode 100644 index ce753c594..000000000 Binary files a/special_functions/graphics/special_functions_blurb26.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb27.jpeg b/special_functions/graphics/special_functions_blurb27.jpeg deleted file mode 100644 index e20a20544..000000000 Binary files a/special_functions/graphics/special_functions_blurb27.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb28.jpeg b/special_functions/graphics/special_functions_blurb28.jpeg deleted file mode 100644 index c0f122a18..000000000 Binary files a/special_functions/graphics/special_functions_blurb28.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb29.jpeg b/special_functions/graphics/special_functions_blurb29.jpeg deleted file mode 100644 index fd9b24cbd..000000000 Binary files a/special_functions/graphics/special_functions_blurb29.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb3.jpeg b/special_functions/graphics/special_functions_blurb3.jpeg deleted file mode 100644 index f94f565b7..000000000 Binary files a/special_functions/graphics/special_functions_blurb3.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb4.jpeg b/special_functions/graphics/special_functions_blurb4.jpeg deleted file mode 100644 index 8b52f006b..000000000 Binary files a/special_functions/graphics/special_functions_blurb4.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb5.jpeg b/special_functions/graphics/special_functions_blurb5.jpeg deleted file mode 100644 index 268fcd917..000000000 Binary files a/special_functions/graphics/special_functions_blurb5.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb6.jpeg b/special_functions/graphics/special_functions_blurb6.jpeg deleted file mode 100644 index 1acee1992..000000000 Binary files a/special_functions/graphics/special_functions_blurb6.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb7.jpeg b/special_functions/graphics/special_functions_blurb7.jpeg deleted file mode 100644 index fa602d630..000000000 Binary files a/special_functions/graphics/special_functions_blurb7.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb8.jpeg b/special_functions/graphics/special_functions_blurb8.jpeg deleted file mode 100644 index 1ca4a7794..000000000 Binary files a/special_functions/graphics/special_functions_blurb8.jpeg and /dev/null differ diff --git a/special_functions/graphics/special_functions_blurb9.jpeg b/special_functions/graphics/special_functions_blurb9.jpeg deleted file mode 100644 index fd9b24cbd..000000000 Binary files a/special_functions/graphics/special_functions_blurb9.jpeg and /dev/null differ diff --git a/special_functions/graphics/trigonometric.png b/special_functions/graphics/trigonometric.png deleted file mode 100644 index 41e0cb3f4..000000000 Binary files a/special_functions/graphics/trigonometric.png and /dev/null differ diff --git a/special_functions/output.txt b/special_functions/output.txt deleted file mode 100644 index 922d2b1df..000000000 --- a/special_functions/output.txt +++ /dev/null @@ -1,32 +0,0 @@ -Results of special functions test. - -(C) Copyright Hubert Holin 2003-2005. -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) - -Running 21 test cases... -Testing atanh in the real domain for float. -Testing atanh in the real domain for double. -Testing atanh in the real domain for long double. -Testing asinh in the real domain for float. -Testing asinh in the real domain for double. -Testing asinh in the real domain for long double. -Testing acosh in the real domain for float. -Testing acosh in the real domain for double. -Testing acosh in the real domain for long double. -Testing sinc_pi in the real domain for float. -Testing sinc_pi in the real domain for double. -Testing sinc_pi in the real domain for long double. -Testing sinhc_pi in the real domain for float. -Testing sinhc_pi in the real domain for double. -Testing sinhc_pi in the real domain for long double. -Testing sinc_pi in the complex domain for float. -Testing sinc_pi in the complex domain for double. -Testing sinc_pi in the complex domain for long double. -Testing sinhc_pi in the complex domain for float. -Testing sinhc_pi in the complex domain for double. -Testing sinhc_pi in the complex domain for long double. - -*** No errors detected - diff --git a/special_functions/output_more.txt b/special_functions/output_more.txt deleted file mode 100644 index b561ad6f0..000000000 --- a/special_functions/output_more.txt +++ /dev/null @@ -1,1107 +0,0 @@ -Results of special functions test. - -(C) Copyright Hubert Holin 2003-2005. -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) - -epsilon - 1.19209e-07 2.22045e-16 2.22045e-16 - -Running 26 test cases... -Testing atanh in the real domain for float. -Testing atanh in the real domain for double. -Testing atanh in the real domain for long double. -Testing asinh in the real domain for float. -Testing asinh in the real domain for double. -Testing asinh in the real domain for long double. -Testing acosh in the real domain for float. -Testing acosh in the real domain for double. -Testing acosh in the real domain for long double. -Testing sinc_pi in the real domain for float. -Testing sinc_pi in the real domain for double. -Testing sinc_pi in the real domain for long double. -Testing sinhc_pi in the real domain for float. -Testing sinhc_pi in the real domain for double. -Testing sinhc_pi in the real domain for long double. -Testing sinc_pi in the complex domain for float. -Testing sinc_pi in the complex domain for double. -Testing sinc_pi in the complex domain for long double. -Testing sinhc_pi in the complex domain for float. -Testing sinhc_pi in the complex domain for double. -Testing sinhc_pi in the complex domain for long double. -atanh - inf 1.24114e-09 1.24114e-09 - inf 6.05977e-10 6.05977e-10 - inf 3.34841e-10 3.34841e-10 - inf 5.03842e-10 5.03842e-10 - inf 9.63896e-10 9.63896e-10 - inf 2.18033e-10 2.18033e-10 - inf 7.84529e-10 7.84529e-10 - inf 2.96864e-10 2.96864e-10 - 0.139525 1.99383e-10 1.99383e-10 - 0.215065 9.58367e-10 9.58367e-10 - 0.108779 3.822e-10 3.822e-10 - 0.177674 3.0338e-10 3.0338e-10 - 0.206893 4.58128e-10 4.58128e-10 - 0.227358 7.43831e-10 7.43831e-10 - 0.147374 1.47583e-09 1.47583e-09 - 0.0491865 7.96054e-10 7.96054e-10 - 0.187146 5.91661e-10 5.91661e-10 - 0.0479082 8.17629e-10 8.17629e-10 - 0.18168 1.129e-09 1.129e-09 - 0.0982523 1.57626e-09 1.57626e-09 - 0.082184 2.91858e-09 2.91858e-09 - 0.219835 1.70647e-09 1.70647e-09 - 0.0881688 2.38802e-10 2.38802e-10 - 0.239888 1.93929e-10 1.93929e-10 - 0.0569662 1.15449e-09 1.15449e-09 - 0.149625 1.93465e-10 1.93465e-10 - 0.22212 1.23312e-09 1.23312e-09 - 0.0113141 1.25843e-09 1.25843e-09 - 0 1.75143e-10 1.75143e-10 - 0.197794 7.16745e-10 7.16745e-10 - 0.241371 8.49223e-10 8.49223e-10 - 0.0159984 3.20344e-10 3.20344e-10 - 0.208732 1.27747e-09 1.27747e-09 - 0.248931 9.1078e-10 9.1078e-10 - 0.066242 7.40312e-10 7.40312e-10 - 0.236785 1.02911e-09 1.02911e-09 - 0.205557 1.20334e-09 1.20334e-09 - 0.174598 8.94341e-10 8.94341e-10 - 0.194303 2.41278e-10 2.41278e-10 - 0.191701 0 0 - 0 2.63195e-10 2.63195e-10 - 0 7.7157e-10 7.7157e-10 - 0.150527 2.80379e-10 2.80379e-10 - 0.216152 4.02615e-10 4.02615e-10 - 0 5.68144e-10 5.68144e-10 - 0.419974 0 0 - 0.279528 5.20661e-10 5.20661e-10 - 0 0 0 - 0 0 0 - 0.360391 2.2376e-10 2.2376e-10 - 0 0 0 - 0.240261 0 0 - 0.21391 3.98438e-10 3.98438e-10 - 0 0 0 - 0.279528 5.20661e-10 5.20661e-10 - 0 3.91132e-10 3.91132e-10 - 0.30502 5.68144e-10 5.68144e-10 - 0.216152 4.02615e-10 4.02615e-10 - 0.301054 2.80379e-10 2.80379e-10 - 0 9.64463e-10 9.64463e-10 - 0 2.63195e-10 2.63195e-10 - 0.191701 0 0 - 0.194303 2.41278e-10 2.41278e-10 - 0.174598 8.94341e-10 8.94341e-10 - 0.205557 1.20334e-09 1.20334e-09 - 0.236785 1.02911e-09 1.02911e-09 - 0.066242 7.40312e-10 7.40312e-10 - 0.248931 9.1078e-10 9.1078e-10 - 0.208732 1.27747e-09 1.27747e-09 - 0.0159984 3.20344e-10 3.20344e-10 - 0.241371 8.49223e-10 8.49223e-10 - 0.197794 7.16745e-10 7.16745e-10 - 0 1.75143e-10 1.75143e-10 - 0.0113141 1.25843e-09 1.25843e-09 - 0.22212 1.23312e-09 1.23312e-09 - 0.149625 1.93465e-10 1.93465e-10 - 0.0569662 1.15449e-09 1.15449e-09 - 0.239888 1.93929e-10 1.93929e-10 - 0.0881688 2.38802e-10 2.38802e-10 - 0.219835 1.70619e-09 1.70619e-09 - 0.082184 2.91858e-09 2.91858e-09 - 0.0982523 1.57626e-09 1.57626e-09 - 0.181724 1.129e-09 1.129e-09 - 0.0479082 8.17629e-10 8.17629e-10 - 0.187146 5.91661e-10 5.91661e-10 - 0.0491865 7.96054e-10 7.96054e-10 - 0.147374 1.47583e-09 1.47583e-09 - 0.227358 7.43831e-10 7.43831e-10 - 0.206893 4.58128e-10 4.58128e-10 - 0.177674 3.0338e-10 3.0338e-10 - 0.108779 3.822e-10 3.822e-10 - 0.215065 9.58367e-10 9.58367e-10 - 0.139525 1.99383e-10 1.99383e-10 - inf 2.96864e-10 2.96864e-10 - inf 7.84529e-10 7.84529e-10 - inf 2.18033e-10 2.18033e-10 - inf 9.63896e-10 9.63896e-10 - inf 5.03842e-10 5.03842e-10 - inf 3.34841e-10 3.34841e-10 - inf 6.05977e-10 6.05977e-10 - inf 1.24114e-09 1.24114e-09 - -asinh - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 5.78812e-09 5.78812e-09 - 0 0 0 - 2.1509 4.00636e-09 4.00636e-09 - 0 0 0 - 0.77154 0 0 - 0.668718 1.24558e-09 1.24558e-09 - 0.592733 1.10405e-09 1.10405e-09 - 0.540536 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0.540536 0 0 - 0.592733 1.10405e-09 1.10405e-09 - 0.668718 1.24558e-09 1.24558e-09 - 0.77154 0 0 - 0 0 0 - 2.1509 4.00636e-09 4.00636e-09 - 0 0 0 - 0 5.78812e-09 5.78812e-09 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - -acosh - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 5.48023e-09 5.48023e-09 - 0 0 0 - 0 3.54704e-09 3.54704e-09 - 0 0 0 - 0 0 0 - 0.444053 8.27113e-10 8.27113e-10 - 0.318327 5.9293e-10 5.9293e-10 - 0.410752 9.56357e-10 9.56357e-10 - 0.151002 3.2814e-10 3.2814e-10 - 0 0 0 - 0.151002 3.2814e-10 3.2814e-10 - 0.410752 9.56357e-10 9.56357e-10 - 0.318327 5.9293e-10 5.9293e-10 - 0.444053 8.27113e-10 8.27113e-10 - 0 0 0 - 0 0 0 - 0 3.54704e-09 3.54704e-09 - 0 0 0 - 0 5.48023e-09 5.48023e-09 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - -sinc_pi - 0.841471 0.841471 0.841471 - 0.847446 0.847446 0.847446 - 0.853325 0.853325 0.853325 - 0.859104 0.859104 0.859104 - 0.864784 0.864784 0.864784 - 0.870363 0.870363 0.870363 - 0.87584 0.87584 0.87584 - 0.881212 0.881212 0.881212 - 0.88648 0.88648 0.88648 - 0.891641 0.891641 0.891641 - 0.896695 0.896695 0.896695 - 0.90164 0.90164 0.90164 - 0.906476 0.906476 0.906476 - 0.9112 0.9112 0.9112 - 0.915812 0.915812 0.915812 - 0.920311 0.920311 0.920311 - 0.924696 0.924696 0.924696 - 0.928965 0.928965 0.928965 - 0.933118 0.933118 0.933118 - 0.937153 0.937153 0.937153 - 0.941071 0.941071 0.941071 - 0.944869 0.944869 0.944869 - 0.948547 0.948547 0.948547 - 0.952104 0.952104 0.952104 - 0.955539 0.955539 0.955539 - 0.958851 0.958851 0.958851 - 0.96204 0.96204 0.96204 - 0.965105 0.965105 0.965105 - 0.968044 0.968044 0.968044 - 0.970858 0.970858 0.970858 - 0.973546 0.973546 0.973546 - 0.976107 0.976106 0.976106 - 0.97854 0.97854 0.97854 - 0.980844 0.980844 0.980844 - 0.98302 0.983021 0.983021 - 0.985067 0.985067 0.985067 - 0.986984 0.986984 0.986984 - 0.988771 0.988771 0.988771 - 0.990428 0.990428 0.990428 - 0.991953 0.991953 0.991953 - 0.993347 0.993347 0.993347 - 0.994609 0.994609 0.994609 - 0.995739 0.995739 0.995739 - 0.996737 0.996737 0.996737 - 0.997602 0.997602 0.997602 - 0.998334 0.998334 0.998334 - 0.998934 0.998934 0.998934 - 0.9994 0.9994 0.9994 - 0.999733 0.999733 0.999733 - 0.999933 0.999933 0.999933 - 1 1 1 - 0.999933 0.999933 0.999933 - 0.999733 0.999733 0.999733 - 0.9994 0.9994 0.9994 - 0.998934 0.998934 0.998934 - 0.998334 0.998334 0.998334 - 0.997602 0.997602 0.997602 - 0.996737 0.996737 0.996737 - 0.995739 0.995739 0.995739 - 0.994609 0.994609 0.994609 - 0.993347 0.993347 0.993347 - 0.991953 0.991953 0.991953 - 0.990428 0.990428 0.990428 - 0.988771 0.988771 0.988771 - 0.986984 0.986984 0.986984 - 0.985067 0.985067 0.985067 - 0.98302 0.983021 0.983021 - 0.980844 0.980844 0.980844 - 0.97854 0.97854 0.97854 - 0.976107 0.976106 0.976106 - 0.973546 0.973546 0.973546 - 0.970858 0.970858 0.970858 - 0.968044 0.968044 0.968044 - 0.965105 0.965105 0.965105 - 0.96204 0.96204 0.96204 - 0.958851 0.958851 0.958851 - 0.955539 0.955539 0.955539 - 0.952104 0.952104 0.952104 - 0.948547 0.948547 0.948547 - 0.944869 0.944869 0.944869 - 0.941071 0.941071 0.941071 - 0.937153 0.937153 0.937153 - 0.933118 0.933118 0.933118 - 0.928965 0.928965 0.928965 - 0.924696 0.924696 0.924696 - 0.920311 0.920311 0.920311 - 0.915812 0.915812 0.915812 - 0.9112 0.9112 0.9112 - 0.906476 0.906476 0.906476 - 0.90164 0.90164 0.90164 - 0.896695 0.896695 0.896695 - 0.891641 0.891641 0.891641 - 0.88648 0.88648 0.88648 - 0.881212 0.881212 0.881212 - 0.87584 0.87584 0.87584 - 0.870363 0.870363 0.870363 - 0.864784 0.864784 0.864784 - 0.859104 0.859104 0.859104 - 0.853325 0.853325 0.853325 - 0.847446 0.847446 0.847446 - 0.841471 0.841471 0.841471 - -sinc_pi - 1.1752 1.1752 1.1752 - 1.16793 1.16793 1.16793 - 1.16084 1.16084 1.16084 - 1.15391 1.15391 1.15391 - 1.14716 1.14716 1.14716 - 1.14057 1.14057 1.14057 - 1.13416 1.13416 1.13416 - 1.12791 1.12791 1.12791 - 1.12182 1.12182 1.12182 - 1.1159 1.1159 1.1159 - 1.11013 1.11013 1.11013 - 1.10453 1.10453 1.10453 - 1.09909 1.09909 1.09909 - 1.0938 1.0938 1.0938 - 1.08867 1.08867 1.08867 - 1.08369 1.08369 1.08369 - 1.07887 1.07887 1.07887 - 1.0742 1.0742 1.0742 - 1.06968 1.06968 1.06968 - 1.06531 1.06531 1.06531 - 1.06109 1.06109 1.06109 - 1.05702 1.05702 1.05702 - 1.05309 1.05309 1.05309 - 1.04931 1.04931 1.04931 - 1.04568 1.04568 1.04568 - 1.04219 1.04219 1.04219 - 1.03884 1.03884 1.03884 - 1.03564 1.03564 1.03564 - 1.03258 1.03258 1.03258 - 1.02966 1.02966 1.02966 - 1.02688 1.02688 1.02688 - 1.02424 1.02424 1.02424 - 1.02174 1.02174 1.02174 - 1.01938 1.01938 1.01938 - 1.01715 1.01715 1.01715 - 1.01507 1.01507 1.01507 - 1.01312 1.01312 1.01312 - 1.0113 1.0113 1.0113 - 1.00963 1.00963 1.00963 - 1.00809 1.00809 1.00809 - 1.00668 1.00668 1.00668 - 1.00541 1.00541 1.00541 - 1.00427 1.00427 1.00427 - 1.00327 1.00327 1.00327 - 1.0024 1.0024 1.0024 - 1.00167 1.00167 1.00167 - 1.00107 1.00107 1.00107 - 1.0006 1.0006 1.0006 - 1.00027 1.00027 1.00027 - 1.00007 1.00007 1.00007 - 1 1 1 - 1.00007 1.00007 1.00007 - 1.00027 1.00027 1.00027 - 1.0006 1.0006 1.0006 - 1.00107 1.00107 1.00107 - 1.00167 1.00167 1.00167 - 1.0024 1.0024 1.0024 - 1.00327 1.00327 1.00327 - 1.00427 1.00427 1.00427 - 1.00541 1.00541 1.00541 - 1.00668 1.00668 1.00668 - 1.00809 1.00809 1.00809 - 1.00963 1.00963 1.00963 - 1.0113 1.0113 1.0113 - 1.01312 1.01312 1.01312 - 1.01507 1.01507 1.01507 - 1.01715 1.01715 1.01715 - 1.01938 1.01938 1.01938 - 1.02174 1.02174 1.02174 - 1.02424 1.02424 1.02424 - 1.02688 1.02688 1.02688 - 1.02966 1.02966 1.02966 - 1.03258 1.03258 1.03258 - 1.03564 1.03564 1.03564 - 1.03884 1.03884 1.03884 - 1.04219 1.04219 1.04219 - 1.04568 1.04568 1.04568 - 1.04931 1.04931 1.04931 - 1.05309 1.05309 1.05309 - 1.05702 1.05702 1.05702 - 1.06109 1.06109 1.06109 - 1.06531 1.06531 1.06531 - 1.06968 1.06968 1.06968 - 1.0742 1.0742 1.0742 - 1.07887 1.07887 1.07887 - 1.08369 1.08369 1.08369 - 1.08867 1.08867 1.08867 - 1.0938 1.0938 1.0938 - 1.09909 1.09909 1.09909 - 1.10453 1.10453 1.10453 - 1.11013 1.11013 1.11013 - 1.1159 1.1159 1.1159 - 1.12182 1.12182 1.12182 - 1.12791 1.12791 1.12791 - 1.13416 1.13416 1.13416 - 1.14057 1.14057 1.14057 - 1.14716 1.14716 1.14716 - 1.15391 1.15391 1.15391 - 1.16084 1.16084 1.16084 - 1.16793 1.16793 1.16793 - 1.1752 1.1752 1.1752 - - -*** No errors detected - -Executable Ňspecial_functionsÓ has exited with status 0. -[Session started at 2005-02-28 15:06:22 +0100.] -Results of special functions test. - -(C) Copyright Hubert Holin 2003-2005. -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) - -epsilon - 1.19209e-07 2.22045e-16 2.22045e-16 - -Running 26 test cases... -Testing atanh in the real domain for float. -Testing atanh in the real domain for double. -Testing atanh in the real domain for long double. -Testing asinh in the real domain for float. -Testing asinh in the real domain for double. -Testing asinh in the real domain for long double. -Testing acosh in the real domain for float. -Testing acosh in the real domain for double. -Testing acosh in the real domain for long double. -Testing sinc_pi in the real domain for float. -Testing sinc_pi in the real domain for double. -Testing sinc_pi in the real domain for long double. -Testing sinhc_pi in the real domain for float. -Testing sinhc_pi in the real domain for double. -Testing sinhc_pi in the real domain for long double. -Testing sinc_pi in the complex domain for float. -Testing sinc_pi in the complex domain for double. -Testing sinc_pi in the complex domain for long double. -Testing sinhc_pi in the complex domain for float. -Testing sinhc_pi in the complex domain for double. -Testing sinhc_pi in the complex domain for long double. - -atanh - inf 1.24114e-09 1.24114e-09 - inf 6.05977e-10 6.05977e-10 - inf 3.34841e-10 3.34841e-10 - inf 5.03842e-10 5.03842e-10 - inf 9.63896e-10 9.63896e-10 - inf 2.18033e-10 2.18033e-10 - inf 7.84529e-10 7.84529e-10 - inf 2.96864e-10 2.96864e-10 - 0.139525 1.99383e-10 1.99383e-10 - 0.215065 9.58367e-10 9.58367e-10 - 0.108779 3.822e-10 3.822e-10 - 0.177674 3.0338e-10 3.0338e-10 - 0.206893 4.58128e-10 4.58128e-10 - 0.227358 7.43831e-10 7.43831e-10 - 0.147374 1.47583e-09 1.47583e-09 - 0.0491865 7.96054e-10 7.96054e-10 - 0.187146 5.91661e-10 5.91661e-10 - 0.0479082 8.17629e-10 8.17629e-10 - 0.18168 1.129e-09 1.129e-09 - 0.0982523 1.57626e-09 1.57626e-09 - 0.082184 2.91858e-09 2.91858e-09 - 0.219835 1.70647e-09 1.70647e-09 - 0.0881688 2.38802e-10 2.38802e-10 - 0.239888 1.93929e-10 1.93929e-10 - 0.0569662 1.15449e-09 1.15449e-09 - 0.149625 1.93465e-10 1.93465e-10 - 0.22212 1.23312e-09 1.23312e-09 - 0.0113141 1.25843e-09 1.25843e-09 - 0 1.75143e-10 1.75143e-10 - 0.197794 7.16745e-10 7.16745e-10 - 0.241371 8.49223e-10 8.49223e-10 - 0.0159984 3.20344e-10 3.20344e-10 - 0.208732 1.27747e-09 1.27747e-09 - 0.248931 9.1078e-10 9.1078e-10 - 0.066242 7.40312e-10 7.40312e-10 - 0.236785 1.02911e-09 1.02911e-09 - 0.205557 1.20334e-09 1.20334e-09 - 0.174598 8.94341e-10 8.94341e-10 - 0.194303 2.41278e-10 2.41278e-10 - 0.191701 0 0 - 0 2.63195e-10 2.63195e-10 - 0 7.7157e-10 7.7157e-10 - 0.150527 2.80379e-10 2.80379e-10 - 0.216152 4.02615e-10 4.02615e-10 - 0 5.68144e-10 5.68144e-10 - 0.419974 0 0 - 0.279528 5.20661e-10 5.20661e-10 - 0 0 0 - 0 0 0 - 0.360391 2.2376e-10 2.2376e-10 - 0 0 0 - 0.240261 0 0 - 0.21391 3.98438e-10 3.98438e-10 - 0 0 0 - 0.279528 5.20661e-10 5.20661e-10 - 0 3.91132e-10 3.91132e-10 - 0.30502 5.68144e-10 5.68144e-10 - 0.216152 4.02615e-10 4.02615e-10 - 0.301054 2.80379e-10 2.80379e-10 - 0 9.64463e-10 9.64463e-10 - 0 2.63195e-10 2.63195e-10 - 0.191701 0 0 - 0.194303 2.41278e-10 2.41278e-10 - 0.174598 8.94341e-10 8.94341e-10 - 0.205557 1.20334e-09 1.20334e-09 - 0.236785 1.02911e-09 1.02911e-09 - 0.066242 7.40312e-10 7.40312e-10 - 0.248931 9.1078e-10 9.1078e-10 - 0.208732 1.27747e-09 1.27747e-09 - 0.0159984 3.20344e-10 3.20344e-10 - 0.241371 8.49223e-10 8.49223e-10 - 0.197794 7.16745e-10 7.16745e-10 - 0 1.75143e-10 1.75143e-10 - 0.0113141 1.25843e-09 1.25843e-09 - 0.22212 1.23312e-09 1.23312e-09 - 0.149625 1.93465e-10 1.93465e-10 - 0.0569662 1.15449e-09 1.15449e-09 - 0.239888 1.93929e-10 1.93929e-10 - 0.0881688 2.38802e-10 2.38802e-10 - 0.219835 1.70619e-09 1.70619e-09 - 0.082184 2.91858e-09 2.91858e-09 - 0.0982523 1.57626e-09 1.57626e-09 - 0.181724 1.129e-09 1.129e-09 - 0.0479082 8.17629e-10 8.17629e-10 - 0.187146 5.91661e-10 5.91661e-10 - 0.0491865 7.96054e-10 7.96054e-10 - 0.147374 1.47583e-09 1.47583e-09 - 0.227358 7.43831e-10 7.43831e-10 - 0.206893 4.58128e-10 4.58128e-10 - 0.177674 3.0338e-10 3.0338e-10 - 0.108779 3.822e-10 3.822e-10 - 0.215065 9.58367e-10 9.58367e-10 - 0.139525 1.99383e-10 1.99383e-10 - inf 2.96864e-10 2.96864e-10 - inf 7.84529e-10 7.84529e-10 - inf 2.18033e-10 2.18033e-10 - inf 9.63896e-10 9.63896e-10 - inf 5.03842e-10 5.03842e-10 - inf 3.34841e-10 3.34841e-10 - inf 6.05977e-10 6.05977e-10 - inf 1.24114e-09 1.24114e-09 - - -asinh - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 5.78812e-09 5.78812e-09 - 0 0 0 - 2.1509 4.00636e-09 4.00636e-09 - 0 0 0 - 0.77154 0 0 - 0.668718 1.24558e-09 1.24558e-09 - 0.592733 1.10405e-09 1.10405e-09 - 0.540536 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0.540536 0 0 - 0.592733 1.10405e-09 1.10405e-09 - 0.668718 1.24558e-09 1.24558e-09 - 0.77154 0 0 - 0 0 0 - 2.1509 4.00636e-09 4.00636e-09 - 0 0 0 - 0 5.78812e-09 5.78812e-09 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - - -acosh - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 5.48023e-09 5.48023e-09 - 0 0 0 - 0 3.54704e-09 3.54704e-09 - 0 0 0 - 0 0 0 - 0.444053 8.27113e-10 8.27113e-10 - 0.318327 5.9293e-10 5.9293e-10 - 0.410752 9.56357e-10 9.56357e-10 - 0.151002 3.2814e-10 3.2814e-10 - 0 0 0 - 0.151002 3.2814e-10 3.2814e-10 - 0.410752 9.56357e-10 9.56357e-10 - 0.318327 5.9293e-10 5.9293e-10 - 0.444053 8.27113e-10 8.27113e-10 - 0 0 0 - 0 0 0 - 0 3.54704e-09 3.54704e-09 - 0 0 0 - 0 5.48023e-09 5.48023e-09 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - 0 0 0 - - -sinc_pi - 0.841471 0.841471 0.841471 - 0.847446 0.847446 0.847446 - 0.853325 0.853325 0.853325 - 0.859104 0.859104 0.859104 - 0.864784 0.864784 0.864784 - 0.870363 0.870363 0.870363 - 0.87584 0.87584 0.87584 - 0.881212 0.881212 0.881212 - 0.88648 0.88648 0.88648 - 0.891641 0.891641 0.891641 - 0.896695 0.896695 0.896695 - 0.90164 0.90164 0.90164 - 0.906476 0.906476 0.906476 - 0.9112 0.9112 0.9112 - 0.915812 0.915812 0.915812 - 0.920311 0.920311 0.920311 - 0.924696 0.924696 0.924696 - 0.928965 0.928965 0.928965 - 0.933118 0.933118 0.933118 - 0.937153 0.937153 0.937153 - 0.941071 0.941071 0.941071 - 0.944869 0.944869 0.944869 - 0.948547 0.948547 0.948547 - 0.952104 0.952104 0.952104 - 0.955539 0.955539 0.955539 - 0.958851 0.958851 0.958851 - 0.96204 0.96204 0.96204 - 0.965105 0.965105 0.965105 - 0.968044 0.968044 0.968044 - 0.970858 0.970858 0.970858 - 0.973546 0.973546 0.973546 - 0.976107 0.976106 0.976106 - 0.97854 0.97854 0.97854 - 0.980844 0.980844 0.980844 - 0.98302 0.983021 0.983021 - 0.985067 0.985067 0.985067 - 0.986984 0.986984 0.986984 - 0.988771 0.988771 0.988771 - 0.990428 0.990428 0.990428 - 0.991953 0.991953 0.991953 - 0.993347 0.993347 0.993347 - 0.994609 0.994609 0.994609 - 0.995739 0.995739 0.995739 - 0.996737 0.996737 0.996737 - 0.997602 0.997602 0.997602 - 0.998334 0.998334 0.998334 - 0.998934 0.998934 0.998934 - 0.9994 0.9994 0.9994 - 0.999733 0.999733 0.999733 - 0.999933 0.999933 0.999933 - 1 1 1 - 0.999933 0.999933 0.999933 - 0.999733 0.999733 0.999733 - 0.9994 0.9994 0.9994 - 0.998934 0.998934 0.998934 - 0.998334 0.998334 0.998334 - 0.997602 0.997602 0.997602 - 0.996737 0.996737 0.996737 - 0.995739 0.995739 0.995739 - 0.994609 0.994609 0.994609 - 0.993347 0.993347 0.993347 - 0.991953 0.991953 0.991953 - 0.990428 0.990428 0.990428 - 0.988771 0.988771 0.988771 - 0.986984 0.986984 0.986984 - 0.985067 0.985067 0.985067 - 0.98302 0.983021 0.983021 - 0.980844 0.980844 0.980844 - 0.97854 0.97854 0.97854 - 0.976107 0.976106 0.976106 - 0.973546 0.973546 0.973546 - 0.970858 0.970858 0.970858 - 0.968044 0.968044 0.968044 - 0.965105 0.965105 0.965105 - 0.96204 0.96204 0.96204 - 0.958851 0.958851 0.958851 - 0.955539 0.955539 0.955539 - 0.952104 0.952104 0.952104 - 0.948547 0.948547 0.948547 - 0.944869 0.944869 0.944869 - 0.941071 0.941071 0.941071 - 0.937153 0.937153 0.937153 - 0.933118 0.933118 0.933118 - 0.928965 0.928965 0.928965 - 0.924696 0.924696 0.924696 - 0.920311 0.920311 0.920311 - 0.915812 0.915812 0.915812 - 0.9112 0.9112 0.9112 - 0.906476 0.906476 0.906476 - 0.90164 0.90164 0.90164 - 0.896695 0.896695 0.896695 - 0.891641 0.891641 0.891641 - 0.88648 0.88648 0.88648 - 0.881212 0.881212 0.881212 - 0.87584 0.87584 0.87584 - 0.870363 0.870363 0.870363 - 0.864784 0.864784 0.864784 - 0.859104 0.859104 0.859104 - 0.853325 0.853325 0.853325 - 0.847446 0.847446 0.847446 - 0.841471 0.841471 0.841471 - - -sinc_pi - 1.1752 1.1752 1.1752 - 1.16793 1.16793 1.16793 - 1.16084 1.16084 1.16084 - 1.15391 1.15391 1.15391 - 1.14716 1.14716 1.14716 - 1.14057 1.14057 1.14057 - 1.13416 1.13416 1.13416 - 1.12791 1.12791 1.12791 - 1.12182 1.12182 1.12182 - 1.1159 1.1159 1.1159 - 1.11013 1.11013 1.11013 - 1.10453 1.10453 1.10453 - 1.09909 1.09909 1.09909 - 1.0938 1.0938 1.0938 - 1.08867 1.08867 1.08867 - 1.08369 1.08369 1.08369 - 1.07887 1.07887 1.07887 - 1.0742 1.0742 1.0742 - 1.06968 1.06968 1.06968 - 1.06531 1.06531 1.06531 - 1.06109 1.06109 1.06109 - 1.05702 1.05702 1.05702 - 1.05309 1.05309 1.05309 - 1.04931 1.04931 1.04931 - 1.04568 1.04568 1.04568 - 1.04219 1.04219 1.04219 - 1.03884 1.03884 1.03884 - 1.03564 1.03564 1.03564 - 1.03258 1.03258 1.03258 - 1.02966 1.02966 1.02966 - 1.02688 1.02688 1.02688 - 1.02424 1.02424 1.02424 - 1.02174 1.02174 1.02174 - 1.01938 1.01938 1.01938 - 1.01715 1.01715 1.01715 - 1.01507 1.01507 1.01507 - 1.01312 1.01312 1.01312 - 1.0113 1.0113 1.0113 - 1.00963 1.00963 1.00963 - 1.00809 1.00809 1.00809 - 1.00668 1.00668 1.00668 - 1.00541 1.00541 1.00541 - 1.00427 1.00427 1.00427 - 1.00327 1.00327 1.00327 - 1.0024 1.0024 1.0024 - 1.00167 1.00167 1.00167 - 1.00107 1.00107 1.00107 - 1.0006 1.0006 1.0006 - 1.00027 1.00027 1.00027 - 1.00007 1.00007 1.00007 - 1 1 1 - 1.00007 1.00007 1.00007 - 1.00027 1.00027 1.00027 - 1.0006 1.0006 1.0006 - 1.00107 1.00107 1.00107 - 1.00167 1.00167 1.00167 - 1.0024 1.0024 1.0024 - 1.00327 1.00327 1.00327 - 1.00427 1.00427 1.00427 - 1.00541 1.00541 1.00541 - 1.00668 1.00668 1.00668 - 1.00809 1.00809 1.00809 - 1.00963 1.00963 1.00963 - 1.0113 1.0113 1.0113 - 1.01312 1.01312 1.01312 - 1.01507 1.01507 1.01507 - 1.01715 1.01715 1.01715 - 1.01938 1.01938 1.01938 - 1.02174 1.02174 1.02174 - 1.02424 1.02424 1.02424 - 1.02688 1.02688 1.02688 - 1.02966 1.02966 1.02966 - 1.03258 1.03258 1.03258 - 1.03564 1.03564 1.03564 - 1.03884 1.03884 1.03884 - 1.04219 1.04219 1.04219 - 1.04568 1.04568 1.04568 - 1.04931 1.04931 1.04931 - 1.05309 1.05309 1.05309 - 1.05702 1.05702 1.05702 - 1.06109 1.06109 1.06109 - 1.06531 1.06531 1.06531 - 1.06968 1.06968 1.06968 - 1.0742 1.0742 1.0742 - 1.07887 1.07887 1.07887 - 1.08369 1.08369 1.08369 - 1.08867 1.08867 1.08867 - 1.0938 1.0938 1.0938 - 1.09909 1.09909 1.09909 - 1.10453 1.10453 1.10453 - 1.11013 1.11013 1.11013 - 1.1159 1.1159 1.1159 - 1.12182 1.12182 1.12182 - 1.12791 1.12791 1.12791 - 1.13416 1.13416 1.13416 - 1.14057 1.14057 1.14057 - 1.14716 1.14716 1.14716 - 1.15391 1.15391 1.15391 - 1.16084 1.16084 1.16084 - 1.16793 1.16793 1.16793 - 1.1752 1.1752 1.1752 - - -*** No errors detected - diff --git a/special_functions/sinc_test.hpp b/special_functions/sinc_test.hpp deleted file mode 100644 index b60705c1d..000000000 --- a/special_functions/sinc_test.hpp +++ /dev/null @@ -1,83 +0,0 @@ -// unit test file sinc.hpp for the special functions test suite - -// (C) Copyright Hubert Holin 2003. -// 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) - - -#include -#include -#include -#include - - -#include - - -#include - - -BOOST_TEST_CASE_TEMPLATE_FUNCTION(sinc_pi_test, T) -{ - using ::std::abs; - - using ::std::numeric_limits; - - using ::boost::math::sinc_pi; - - - BOOST_TEST_MESSAGE("Testing sinc_pi in the real domain for " - << string_type_name::_() << "."); - - BOOST_CHECK_PREDICATE(::std::less_equal(), - (abs(sinc_pi(static_cast(0))-static_cast(1))) - (numeric_limits::epsilon())); -} - - -BOOST_TEST_CASE_TEMPLATE_FUNCTION(sinc_pi_complex_test, T) -{ - using ::std::abs; - using ::std::sinh; - - using ::std::numeric_limits; - - using ::boost::math::sinc_pi; - - - BOOST_TEST_MESSAGE("Testing sinc_pi in the complex domain for " - << string_type_name::_() << "."); - - BOOST_CHECK_PREDICATE(::std::less_equal(), - (abs(sinc_pi(::std::complex(0, 1))- - ::std::complex(sinh(static_cast(1))))) - (numeric_limits::epsilon())); -} - - -void sinc_pi_manual_check() -{ - using ::boost::math::sinc_pi; - - - BOOST_TEST_MESSAGE(" "); - BOOST_TEST_MESSAGE("sinc_pi"); - - for (int i = 0; i <= 100; i++) - { - BOOST_TEST_MESSAGE( ::std::setw(15) - << sinc_pi(static_cast(i-50)/ - static_cast(50)) - << ::std::setw(15) - << sinc_pi(static_cast(i-50)/ - static_cast(50)) - << ::std::setw(15) - << sinc_pi(static_cast(i-50)/ - static_cast(50))); - } - - BOOST_TEST_MESSAGE(" "); -} - - diff --git a/special_functions/sinhc_test.hpp b/special_functions/sinhc_test.hpp deleted file mode 100644 index 95375576d..000000000 --- a/special_functions/sinhc_test.hpp +++ /dev/null @@ -1,83 +0,0 @@ -// unit test file sinhc.hpp for the special functions test suite - -// (C) Copyright Hubert Holin 2003. -// 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) - - -#include -#include -#include -#include - - -#include - - -#include - - -BOOST_TEST_CASE_TEMPLATE_FUNCTION(sinhc_pi_test, T) -{ - using ::std::abs; - - using ::std::numeric_limits; - - using ::boost::math::sinhc_pi; - - - BOOST_TEST_MESSAGE("Testing sinhc_pi in the real domain for " - << string_type_name::_() << "."); - - BOOST_CHECK_PREDICATE(::std::less_equal(), - (abs(sinhc_pi(static_cast(0))-static_cast(1))) - (numeric_limits::epsilon())); -} - - -BOOST_TEST_CASE_TEMPLATE_FUNCTION(sinhc_pi_complex_test, T) -{ - using ::std::abs; - using ::std::sin; - - using ::std::numeric_limits; - - using ::boost::math::sinhc_pi; - - - BOOST_TEST_MESSAGE("Testing sinhc_pi in the complex domain for " - << string_type_name::_() << "."); - - BOOST_CHECK_PREDICATE(::std::less_equal(), - (abs(sinhc_pi(::std::complex(0, 1))- - ::std::complex(sin(static_cast(1))))) - (numeric_limits::epsilon())); -} - - -void sinhc_pi_manual_check() -{ - using ::boost::math::sinhc_pi; - - - BOOST_TEST_MESSAGE(" "); - BOOST_TEST_MESSAGE("sinc_pi"); - - for (int i = 0; i <= 100; i++) - { - BOOST_TEST_MESSAGE( ::std::setw(15) - << sinhc_pi(static_cast(i-50)/ - static_cast(50)) - << ::std::setw(15) - << sinhc_pi(static_cast(i-50)/ - static_cast(50)) - << ::std::setw(15) - << sinhc_pi(static_cast(i-50)/ - static_cast(50))); - } - - BOOST_TEST_MESSAGE(" "); -} - - diff --git a/special_functions/special_functions_test.cpp b/special_functions/special_functions_test.cpp deleted file mode 100644 index c696b62c8..000000000 --- a/special_functions/special_functions_test.cpp +++ /dev/null @@ -1,139 +0,0 @@ -// test file for special functions. - -// (C) Copyright Hubert Holin 2003. -// 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) - - -#include - - -#include - -#include -#include - -template -struct string_type_name; - -#define DEFINE_TYPE_NAME(Type) \ -template<> struct string_type_name \ -{ \ - static char const * _() \ - { \ - return #Type; \ - } \ -} - -DEFINE_TYPE_NAME(float); -DEFINE_TYPE_NAME(double); -DEFINE_TYPE_NAME(long double); - - -typedef boost::mpl::list test_types; - -// Apple GCC 4.0 uses the "double double" format for its long double, -// which means that epsilon is VERY small but useless for -// comparisons. So, don't do those comparisons. -#if defined(__APPLE_CC__) && defined(__GNUC__) && __GNUC__ == 4 -typedef boost::mpl::list near_eps_test_types; -#else -typedef boost::mpl::list near_eps_test_types; -#endif - -#include "sinc_test.hpp" -#include "sinhc_test.hpp" -#include "atanh_test.hpp" -#include "asinh_test.hpp" -#include "acosh_test.hpp" - - - -boost::unit_test::test_suite * init_unit_test_suite(int, char *[]) -{ - ::boost::unit_test::unit_test_log. - set_threshold_level(::boost::unit_test::log_messages); - - boost::unit_test::test_suite * test = - BOOST_TEST_SUITE("special_functions_test"); - - BOOST_TEST_MESSAGE("Results of special functions test."); - BOOST_TEST_MESSAGE(" "); - BOOST_TEST_MESSAGE("(C) Copyright Hubert Holin 2003-2005."); - BOOST_TEST_MESSAGE("Distributed under the Boost Software License, Version 1.0."); - BOOST_TEST_MESSAGE("(See accompanying file LICENSE_1_0.txt or copy at"); - BOOST_TEST_MESSAGE("http://www.boost.org/LICENSE_1_0.txt)"); - BOOST_TEST_MESSAGE(" "); - -#define BOOST_SPECIAL_FUNCTIONS_COMMON_GENERATOR(fct) \ - test->add(BOOST_TEST_CASE_TEMPLATE(fct##_test, test_types)); - -#define BOOST_SPECIAL_FUNCTIONS_COMMON_GENERATOR_NEAR_EPS(fct) \ - test->add(BOOST_TEST_CASE_TEMPLATE(fct##_test, near_eps_test_types)); - - -#define BOOST_SPECIAL_FUNCTIONS_COMMON_TEST \ - BOOST_SPECIAL_FUNCTIONS_COMMON_GENERATOR(atanh) \ - BOOST_SPECIAL_FUNCTIONS_COMMON_GENERATOR(asinh) \ - BOOST_SPECIAL_FUNCTIONS_COMMON_GENERATOR(acosh) \ - BOOST_SPECIAL_FUNCTIONS_COMMON_GENERATOR(sinc_pi) \ - BOOST_SPECIAL_FUNCTIONS_COMMON_GENERATOR(sinhc_pi) - -#define BOOST_SPECIAL_FUNCTIONS_TEMPLATE_TEMPLATE_TEST \ - BOOST_SPECIAL_FUNCTIONS_COMMON_GENERATOR_NEAR_EPS(sinc_pi_complex) \ - BOOST_SPECIAL_FUNCTIONS_COMMON_GENERATOR_NEAR_EPS(sinhc_pi_complex) - - -#ifdef BOOST_NO_TEMPLATE_TEMPLATES - -#define BOOST_SPECIAL_FUNCTIONS_TEST \ - BOOST_SPECIAL_FUNCTIONS_COMMON_TEST \ - BOOST_TEST_MESSAGE("Warning: no template templates; curtailed functionality."); - -#else /* BOOST_NO_TEMPLATE_TEMPLATES */ - -#define BOOST_SPECIAL_FUNCTIONS_TEST \ - BOOST_SPECIAL_FUNCTIONS_COMMON_TEST \ - BOOST_SPECIAL_FUNCTIONS_TEMPLATE_TEMPLATE_TEST - -#endif /* BOOST_NO_TEMPLATE_TEMPLATES */ - - - BOOST_SPECIAL_FUNCTIONS_TEST - - -#undef BOOST_SPECIAL_FUNCTIONS_TEST - -#undef BOOST_SPECIAL_FUNCTIONS_TEMPLATE_TEMPLATE_TEST - -#undef BOOST_SPECIAL_FUNCTIONS_COMMON_TEST - -#undef BOOST_SPECIAL_FUNCTIONS_COMMON_GENERATOR - -#undef BOOST_SPECIAL_FUNCTIONS_COMMON_GENERATOR_NEAR_EPS - -#ifdef BOOST_SPECIAL_FUNCTIONS_TEST_VERBOSE - - using ::std::numeric_limits; - - BOOST_TEST_MESSAGE("epsilon"); - - BOOST_TEST_MESSAGE( ::std::setw(15) << numeric_limits::epsilon() - << ::std::setw(15) << numeric_limits::epsilon() - << ::std::setw(15) << numeric_limits::epsilon()); - - BOOST_TEST_MESSAGE(" "); - - test->add(BOOST_TEST_CASE(atanh_manual_check)); - test->add(BOOST_TEST_CASE(asinh_manual_check)); - test->add(BOOST_TEST_CASE(acosh_manual_check)); - test->add(BOOST_TEST_CASE(sinc_pi_manual_check)); - test->add(BOOST_TEST_CASE(sinhc_pi_manual_check)); - -#endif /* BOOST_SPECIAL_FUNCTIONS_TEST_VERBOSE */ - - return test; -} - -#undef DEFINE_TYPE_NAME