Commit Graph

2189 Commits

Author SHA1 Message Date
pabristow
555e0f416b commit merge from develop 2017-06-22 17:05:02 +01:00
jzmaddock
b55167446f Quadrature: Policify the code,
Make tanh_sinh quadrature arbitrary precision.
Rework tests so the object files are not so large.
Added some more example integrals to the tanh_sinh tests.
2017-06-21 18:29:46 +01:00
jzmaddock
5e3fd1574e Merge branch 'double_exponential' of https://github.com/NAThompson/math into pr66 2017-06-17 18:10:25 +01:00
jzmaddock
9a8324c989 Merge pull request #71 from boostorg/pr65
PR based on #65 prepared for CI testing
2017-06-17 09:02:56 +01:00
jzmaddock
fdd959a32f Merge branch 'cleanup' of https://github.com/NAThompson/math into pr65.
Also made a couple of  minor modifications.
2017-06-16 19:35:13 +01:00
jzmaddock
34d413e830 trapezoidal: More fixes prior to merging:
Add new documentation section for integrators.
Remove isfinite from std_real_concept.hpp - it's not part of our conceptual requirements.
Add workarounds for older compilers that can't handle the default arguments to the function.
Restrict testing test_trapezoidal.cpp to compilers that handle lambdas.
Make the concept checks C++03.
Make test_trapezoidal.cpp compile with VC11's broken lambda support.
2017-06-16 18:13:42 +01:00
jzmaddock
f435cd3451 Bring trapezoidal.hpp more into line with the rest of Boost.Math:
Add policy support for error handling and epsilon.
Fix some warnings in the test case (msvc).
2017-06-15 19:14:31 +01:00
jzmaddock
a8bb78d25b Merge branch 'romberg' of https://github.com/NAThompson/math into pr59
# Resolved Conflicts:
#	test/Jamfile.v2
2017-06-15 18:26:48 +01:00
jzmaddock
cf0668eb62 Fix bessel N functions to behave correctly with decimal number types. 2017-06-13 18:54:48 +01:00
jzmaddock
4b90631b84 next.hpp: workarounds for std libs with no max_digist10
Only invoke numeric_limits<>::max_digits10 for decimal multiprecision types.
Also make sure our traits classes are instantiated on the actual number type, not an expression template.
2017-06-11 19:49:43 +01:00
jzmaddock
9b2f878103 Update next.hpp and ulp.hpp to work with decimal types. 2017-06-10 11:11:58 +01:00
jzmaddock
5c3624c0b8 Address CI failures:
* Fix bjam command line in appveyor file.
* Fix assertions triggered in bessel_i0.hpp.
* Remove common factor testing - it's moved to integer.
* Add lots of additional {} in initializers to silence clang warnings.
2017-06-04 13:12:33 +01:00
jzmaddock
0242c64eec float_distance: Fix cases that span several orders of magnitude.
Add more tests.
See https://github.com/boostorg/multiprecision/issues/22.
2017-06-02 19:40:52 +01:00
jzmaddock
37783e519a Bessel_I0: decimal number types shouldn't use numeric_limits::digits to judge precision. 2017-05-21 08:49:06 +01:00
Nick Thompson
23403b61a1 Add concept test and include test. 2017-05-18 19:02:29 -06:00
Nick Thompson
a980bd8af3 Add concept and include test. 2017-05-18 18:23:01 -06:00
Nick
1753d6e9e4 Merge branch 'develop' into romberg 2017-05-18 17:34:52 -06:00
Nick Thompson
7660162d41 Add concept and include test. 2017-05-18 17:33:45 -06:00
jzmaddock
bc37badb91 Change signbit to normalise the result when using std::signbit. 2017-05-15 18:28:32 +01:00
Nick Thompson
78409954f2 Use quadrature namespace. Add example. 2017-05-11 21:51:35 -06:00
Nick Thompson
4801e2d8bf Add namespace boost::math::quadrature. Remove throw when condition number of summation exceeds precision of type; how to properly mollify the condition number is not clear and should be done consistently rather than ad-hoc. 2017-05-11 21:03:00 -06:00
Nick Thompson
3bfeee838d Double exponential quadrature. 2017-05-10 22:03:21 -06:00
pabristow
369ce4312b Halley/Luu version working for 50 decimal digits 'reference' test values. 2017-05-10 18:21:35 +01:00
jzmaddock
5db9e8870b Legendre_stieltjes: hook up tests.
Add concept checks.
Fix some warnings, and reduce dependencies.
2017-05-09 19:13:44 +01:00
jzmaddock
83891e2b79 Merge branch 'legendre_stieltjes' of https://github.com/NAThompson/math into stieltjes 2017-05-09 18:36:53 +01:00
jzmaddock
27ded3276d Remove C++11 isms from, legendre_prime header and tests - we don't want to break existing C++03 code using that header. 2017-05-09 12:18:43 +01:00
jzmaddock
97a4184df9 Hook up concept checks for legendre_p_prime.
Fix errors from above, add domain-error handling to the function.
2017-05-08 19:47:02 +01:00
jzmaddock
150a0b5afa Merge branch 'legendre_derivatives' of https://github.com/NAThompson/math into legrende_prime
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-05-08 19:14:16 +01:00
jzmaddock
1d0880a9ef Remove dependencies on format and type_index. 2017-05-06 13:16:31 +01:00
jzmaddock
87ab68456d Improve interpolator documentation and examples. 2017-05-06 12:26:37 +01:00
jzmaddock
6e8687812f Add concept checks for barycentric_rational. 2017-05-05 13:12:25 +01:00
jzmaddock
80e7f7027c Merge branch 'barycentric' of https://github.com/NAThompson/math into interpolate_rat
Fix some msvc failures.
Suppress some compiler warnings.
Added iterator based constructor.
Moved docs to better position.

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-05-05 13:01:56 +01:00
jzmaddock
d300f98fdc Fix msvc compiler errors in barycentric code. 2017-05-04 13:27:41 +01:00
jzmaddock
adc2234d95 Merge branch 'barycentric' of https://github.com/NAThompson/math into interpolate_rat
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-05-04 13:18:05 +01:00
Nick Thompson
cf35d745d1 Remove unused typedef. Fix dangling reference to policy in airy. Pipe unused variables in compile test to /dev/null to suppress compiler warnings. Remove comment within comment. 2017-05-03 10:13:18 -06:00
jzmaddock
b9362cb000 Add concept checks for cubic-spline code, and fix resulting errors. 2017-05-03 13:32:53 +01:00
jzmaddock
127178518d Add iterator based construction to cubic B spline. 2017-05-03 13:07:54 +01:00
Nick Thompson
45226c7ef1 Numerical differentiation by finite differences and the complex step derivative. 2017-05-02 18:29:03 -06:00
jzmaddock
3141e075ed Fix min/max usage. 2017-05-02 20:06:53 +01:00
jzmaddock
9dd532e01a Merge branch 'develop' of https://github.com/NAThompson/math into interpolate 2017-05-02 19:30:31 +01:00
jzmaddock
6407bedb75 Bring polynomial gcd into line with new Boost.Integer code, and improve tests. 2017-05-02 19:12:18 +01:00
Nick Thompson
48a0cf714b Put license information in each file. Do not throw when condition number is approaching an undefined value; use mollification. Improve documentation. 2017-05-02 12:02:02 -06:00
Nick Thompson
2bbadc69fb Place copyright notices in file. 2017-05-01 18:36:26 -06:00
Nick Thompson
4b4c4e9364 Legendre-Stieltjes polynomials. 2017-04-30 15:58:10 -06:00
jzmaddock
ceae76a526 Switch to using Boost.Integer gcd/lcm. 2017-04-24 19:26:23 +01:00
Nick Thompson
a918d0f331 Return all zeros of the Legendre polynomial at once; there seems to be no benefit to having the user calculate them one at a time. 2017-04-22 15:47:22 -05:00
jzmaddock
1c10933943 polynomial.hpp should not be including private Boost.Config header. 2017-04-20 19:23:02 +01:00
jzmaddock
fafda3176c Fix gcd tests and code for clang on Linux 2017-04-20 14:43:28 +01:00
jzmaddock
82e3949024 GCD: Don't enable variadics unless the compiler supports them.
Update docs.
Escape from variadic GCD early when the result hits unity.
2017-04-15 18:31:01 +01:00
jzmaddock
c1ab95b6cc Add rational and multiprecision types to common_factor_test.cpp.
Disable rational overloads if there is no numeric_limits support as boost::rational won't compile in that case anyway.
2017-04-15 18:13:30 +01:00
Nick Thompson
4110a69416 Zeros of Legendre polynomials. This uses a root bracketing given by Szego with an asymptotic by Tricomi to get a domain and an initial guess for the root, then refines it via Newton's method. 2017-04-14 15:51:39 -05:00
Nick Thompson
21bcf34a51 Derivative of Legendre polynomials of the first kind. Used to generate the weights of Gaussian quadratures. 2017-04-12 14:16:26 -05:00
jzmaddock
70e82419d5 Fix for expression template types. 2017-04-08 20:12:23 +01:00
jzmaddock
f74da283aa Add variadic gcd and lcm variations, update tests to match. 2017-04-08 19:42:33 +01:00
jzmaddock
e71629f1c0 Make gcd/lcm functions constexpr and noexcept where applicable. 2017-04-08 19:13:08 +01:00
jzmaddock
8ee33649c7 Remove dead code orphaned by previous commits. 2017-04-07 09:55:31 +01:00
jzmaddock
5ca0e2ead8 Tighten up polynomial-GCD algorithm selection.
Disallow GCD's of polynomials of bounded integers as overflow is too likely to occur.
2017-04-07 09:44:48 +01:00
jzmaddock
8e98f30cb2 Remove SFINAE-logic and replace with simpler numeric_limits based algorithm selection. 2017-04-07 09:43:40 +01:00
jzmaddock
39006ecaca Reinstate gcd of rational numbers. 2017-04-06 19:22:45 +01:00
jzmaddock
7795ad3fd1 Merge branch 'gcd_polynomial' into gcd_cpp14 2017-04-06 11:28:32 +01:00
jzmaddock
9d0dac1df9 gcd: add the function objects back.
Improve the gcd/lcm tests.
2017-04-04 18:29:45 +01:00
jzmaddock
e4c0fdb0f2 Make gcd/lcm independent of type_traits and mpl.
Later we'll try and reconcile this version with that in Boost.Integer.
2017-04-02 20:10:46 +01:00
jzmaddock
8c9709b317 Fix cases where wchar_t is not an intrinsic type.
Fixes: https://svn.boost.org/trac/boost/ticket/12944
2017-03-30 19:35:59 +01:00
Nick Thompson
fff12aa16b Improve documentation for trapezoidal quadrature, explaining the role of the L1 norm calculation. Throw correct error type. 2017-03-28 13:56:18 -05:00
Nick Thompson
9f58f0d337 Add facility to check L1 norm and hence condition number of the quadrature sum. Throw when condition number exceeds the number of significant digits of the type. 2017-03-26 13:45:50 -05:00
pabristow
c5ee664a51 Refactored with policies and passes tests and timing. 2017-03-23 14:15:37 +00:00
pabristow
bdee37743d Bug in values near to -exp(-1) corrected. 2017-03-13 10:03:33 +00:00
pabristow
0048d41dd6 Added new constants expminusone and sixth 2017-03-10 13:06:44 +00:00
pabristow
cea2465e3e Need expminusone constant 2017-03-06 18:23:54 +00:00
pabristow
94d3cf4043 refactored to use local test_value.hpp 2017-03-06 18:10:52 +00:00
Nick Thompson
4efe710855 Add tests detailing the use cases which make it difficult to use std::unique_ptr for pimpl idiom. Also, test that evaluating the spline outside the interpolation region succeeds as best it can. 2017-03-06 11:12:51 -06:00
Nick Thompson
136e7411f5 Adaptive Trapezoidal Quadrature
This routine estimates the definite integral of a function f.
Assuming that f is periodic, it can be shown that this routine converges exponentially fast.
In fact, the test cases given exhibit exponential convergence with decreasing stepsize.

A potential improvement is using the Bulirsch sequence rather than the Romberg sequence to schedule the refinements.
However, the convergence is so rapid for functions of the class specified above that there seems to be no need at present.

This code is cppcheck clean, and runs successfully under AddressSanitizer and UndefinedBehaviorSanitizer.
2017-03-05 19:05:41 -06:00
Nick Thompson
446f8c415d Cite Kress's book 'Numerical Analysis' in MLA format. 2017-03-05 10:49:22 -06:00
Nick Thompson
2506d7ed1f Use PIMPL so that the interpolant can be passed as a functor. 2017-03-02 17:16:21 -06:00
Nick Thompson
2b9d88d352 Fixes suggested by code review of PR #57. 2017-03-02 11:54:55 -06:00
Nick Thompson
b157403fd9 Do not use Kahan summation to compute average; use update procedure that cannot overflow recommended by Knuth. 2017-02-27 20:58:42 -06:00
Nick Thompson
fee20ab932 Given a function f, known at evenly spaced samples y_j = f(a + jh),
this function constructs an interpolant using compactly supported cubic b splines.
The advantage of using splines of compact support over traditional cubic splines
is that compact support makes the splines well-conditioned.

The interpolant is constructed in O(N) time and can be evaluated in constant time.
Its error is O(h^4), and obeys the interpolating condition s(x_j) = f(x_j) for all samples.
In addition, f' can be estimated from s', albeit with lower accuracy.

This routine is cppcheck clean, and is clean under AddressSanitizer and MemorySanitizer.
2017-02-23 18:21:06 -06:00
jzmaddock
4c19a1ec34 Remove unneeded parameters in new beesel J/K code.
Also fix some multiprecision-conceptual errors.
2017-01-29 19:18:36 +00:00
jzmaddock
38eb9d3e38 Update docs for new Bessel K0 and K1 approximation code. 2017-01-24 18:35:54 +00:00
jzmaddock
fe66909b23 Reorder some declarations to keep GCC happy.
Remove some dead code.
2017-01-23 19:34:34 +00:00
jzmaddock
7922883e7b Add improved approximations for K0 and K1.
Based on http://www.advanpix.com/2016/01/05/rational-approximations-for-the-modified-bessel-function-of-the-second-kind-k1-for-computations-with-double-precision/
2017-01-23 17:45:51 +00:00
jzmaddock
2dc47a631a Improve constant initialization for I0 and I1. 2017-01-23 17:45:00 +00:00
jzmaddock
cc8e300bae Update I0 and I1 to use better approximations from Pavel Holoborodko
See: http://www.advanpix.com/2015/11/11/rational-approximations-for-the-modified-bessel-function-of-the-first-kind-i0-computations-double-precision/
2017-01-18 18:56:27 +00:00
pabristow
ffb025ca2c First very rough prototype of Lambert W function, example of calculating diode current versus voltage, and some tests, including multiprecision and fixed_point types. Not yet using policies and trouble near the singularity at z=-exp(-1) and large z. 2016-12-22 18:30:27 +00:00
pabristow
78320adb7a return 0 to T(0) in float_distance changed because fixed-point requires explicit construction 2016-12-05 16:41:18 +00:00
jzmaddock
1844134d07 Changes to call correct error handlers in C99 annex F cases. 2016-11-30 18:57:11 +00:00
zerotypos-found
3871f6a7e8 Fix issues in the inspection report
- Remove Non-ASCII characters (i.e. replace dashes with hyphens).
- Protect min from macro expansion.
2016-10-25 11:56:09 +09:00
jzmaddock
37fe39f2d9 Merge pull request #50 from kartikmohta/fix/boost-zero-polynomial-evaluate
Fix boost::math::polynomial::evaluate for the zero polynomial
2016-10-19 19:33:24 +01:00
jzmaddock
3370ea2f79 Add missing #include.
Fixes https://svn.boost.org/trac/boost/ticket/12537.
2016-10-19 19:27:37 +01:00
jzmaddock
21ab379ee9 Merge branch 'develop' of https://github.com/boostorg/math into develop 2016-10-19 19:22:51 +01:00
jzmaddock
4787d870c6 Suppress some msvc warnings. 2016-10-19 19:22:37 +01:00
Kartik Mohta
9dad3e2b62
Fix boost::math::polynomial::evaluate for the zero polynomial 2016-10-17 16:13:25 -04:00
zerotypos-found
4b9823768b Replace tabs to whitespace 2016-10-11 12:44:32 +09:00
jzmaddock
50e7ea3863 Sub-resultant GCD is only for integer types. 2016-08-26 18:40:11 +01:00
jzmaddock
accfe2f7eb Fix msvc compile failure, and add a using declaration so we overload boost::math::gcd. 2016-08-26 18:33:10 +01:00
jzmaddock
f888dcb129 Including polynomial.hpp should get the gcd overloads as well. 2016-08-26 18:32:27 +01:00
Jeremy W. Murphy
64c887a3c9 Add overload of gcd() for polynomials with multi-precision integral coeffs.
And add a unit test to show that it works.
2016-08-25 23:02:03 +10:00
Jeremy W. Murphy
d817274f3f Update some doxygen. 2016-08-25 23:00:59 +10:00
Jeremy W. Murphy
783dc6af46 Merge branch 'develop' into polynomial_ufd_gcd 2016-08-25 22:08:48 +10:00
inkstink
c9d9f446c5 fixed typos for real this time 2016-08-19 20:42:14 -04:00
inkstink
950d3990e4 fixed typos 2016-08-19 20:33:24 -04:00
pabristow
7786c7d5a8 Added Thomas Luu references 2016-08-09 16:05:20 +01:00
jzmaddock
53403a58f7 minor Intel fix. 2016-07-29 11:41:28 +01:00
Jeremy W. Murphy
3348f83fb7 Assert the loop invariant, degree(u) >= degree(v). 2016-07-27 17:47:03 +10:00
Jeremy W. Murphy
3b1f362a37 Let's not provide the subresultant algorithm as a default. 2016-07-26 19:07:51 +10:00
Jeremy W. Murphy
af290b272d The algorithm appears to assume that u is not smaller than v. 2016-07-26 19:07:21 +10:00
jzmaddock
d3a570e91a Fix Intel C++ test failures 2016-07-22 09:27:15 +01:00
Jeremy W. Murphy
2e024bd02d Merge branch 'polynomial_ufd_gcd' into polynomial_ufd_gcd_2
# Conflicts:
#	test/test_polynomial.cpp
2016-07-15 18:46:35 +10:00
Jeremy W. Murphy
579d6681bc Merge branch 'develop' into HEAD
# Conflicts:
#	test/test_polynomial.cpp
2016-07-15 18:42:53 +10:00
Jeremy W. Murphy
ce1d534414 Add case for zero to leading_coefficient and unit test. 2016-07-15 18:12:51 +10:00
jzmaddock
2165b95f52 Two more GCC 4.4 workarounds 2016-07-15 02:15:30 +01:00
jzmaddock
cbb0cce89b Disable initializer_list support for GCC-4.4 as it doesn't fully support the new syntax and there appears to be no workaround. 2016-07-15 01:24:18 +01:00
jzmaddock
5d125381f6 Enable SSE2 code for more cases. 2016-07-14 13:24:09 +01:00
jzmaddock
b043126170 Add long double specializations where appropriate. 2016-07-14 13:23:44 +01:00
jzmaddock
3891523510 Fix tgamma_delta_ratio for cases where argument is very large compared to delta. 2016-07-14 13:22:16 +01:00
Jeremy W. Murphy
efa83033fa Merge branch 'develop' into polynomial_ufd_gcd 2016-07-12 21:39:49 +10:00
jzmaddock
5e54ce2427 Fix thread_local code:
1) Use new Boost.Config macro.
2) Fix constants to cache value and initialize on startup when used with variable precision types.
3) Fix factorials to initialize on startup with UDT types.
4) Streamline some other variable precision code.
2016-07-03 18:27:49 +01:00
jzmaddock
44a105aaf0 Tidy up clang/thread_local detection a little. 2016-06-27 19:42:09 +01:00
jzmaddock
3f0eaf7c46 Fix clang thread_local support detection 2016-06-27 18:54:38 +01:00
Jeremy W. Murphy
882dbaddd2 [polynomial] No need to call primitive_part() on v if it equals 1. 2016-06-23 11:43:56 +10:00
Jeremy W. Murphy
6f05d647ac [polynomial] Tidy up headers. 2016-06-23 11:28:23 +10:00
Jeremy W. Murphy
6f5537d273 [polynomial] Move gcd code into a new file. 2016-06-20 09:58:39 +10:00
Jeremy W. Murphy
95d4976b86 [polynomial] Rename gcd_ufd to subresultant_gcd. 2016-06-19 15:37:42 +10:00
Jeremy W. Murphy
ebc14aacd3 [polynomial] Correct the requirements and handling of zero for gcd_ufd. 2016-06-18 21:44:28 +10:00
Jeremy W. Murphy
21438ba03a gcd_ufd: neaten code and improve documentation. 2016-06-17 22:52:43 +10:00
Jeremy W. Murphy
fc109276f2 Be more specific about kinds of polynomials. 2016-06-16 23:50:43 +10:00
Jeremy W. Murphy
66740e77df Update code to reflect operator bool() now exists; overload primitive_part. 2016-06-16 23:49:17 +10:00
Jeremy W. Murphy
48e856cf34 Merge branch 'develop' into polynomial_ufd_gcd 2016-06-16 23:21:48 +10:00
jzmaddock
a96792d309 Merge branch 'develop' of https://github.com/boostorg/math into develop 2016-06-05 18:29:14 +01:00
jzmaddock
afb8e89642 Change selection of thread_local to be more conservative. 2016-06-05 18:28:56 +01:00
jzmaddock
e4cd194686 Fix misc clang issues 2016-06-04 19:26:59 +01:00
jzmaddock
5ce39f2673 squash warnings and forward policies 2016-06-03 15:11:34 +01:00
jzmaddock
e946c45e9e Fixes for cases where number type has no infinity and divide by zero is a hard error. 2016-06-01 19:25:03 +01:00
jzmaddock
5966b186f9 Add needed typecast to factorial-from-string multiprecision code 2016-06-01 00:09:49 +01:00
Daniel James
cd496c9ace Fix typo 2016-05-31 14:04:39 +01:00
jzmaddock
1cb146a001 Merge branch 'develop' of https://github.com/boostorg/math into develop 2016-05-31 13:36:01 +01:00
jzmaddock
7499075a01 Recalculate cached constants if the precision changes in zeta.hpp. 2016-05-31 13:33:51 +01:00
jzmaddock
f02c9cba13 Calculate lgamma near 1 and 2 via series expansion in terms of zeta functions of integers.
Likewise for tgamma1pm1.
2016-05-31 13:33:08 +01:00
jzmaddock
609e8373b8 We can calculate the limit as an int, no need to invoke FP code. 2016-05-31 13:31:52 +01:00
jzmaddock
6961f14eb3 Don't initialize erf's cached constants for variable-precision types. 2016-05-31 13:30:54 +01:00
jzmaddock
bd39b86ca1 Warning suppression. 2016-05-31 10:12:20 +01:00
jzmaddock
fb8528e47b Allow our cached data to be recalculated if the precision changes in unchecked_factorial.hpp. 2016-05-31 10:11:35 +01:00
jzmaddock
8b59c26e73 Warning disable. 2016-05-31 10:10:51 +01:00
jzmaddock
a97fedee55 Don't cache values for variable-precision types in precision.hpp 2016-05-31 10:10:07 +01:00
jzmaddock
cde7271817 Update bernoulli/polygamma code to avoid caching values if the precision has changed. 2016-05-31 10:09:15 +01:00
jzmaddock
04378a1a87 Warning disable in error_handling.hpp 2016-05-31 10:07:24 +01:00
jzmaddock
dd4db9a28c Update constants to work with types whose precision varies. 2016-05-31 10:07:01 +01:00
Jeremy W. Murphy
d922f95fd5 Merge branch 'develop' into polynomial_ufd_gcd
# Conflicts:
#	include/boost/math/tools/polynomial.hpp
#	test/test_polynomial.cpp
2016-05-16 09:48:15 +10:00
Jeremy W. Murphy
94526e54c7 Merge branch 'develop' into polynomial_zero
# Conflicts:
#	test/test_polynomial.cpp
2016-05-15 21:03:12 +10:00
Jeremy W. Murphy
e608dc6657 Rename clear() to set_zero(). 2016-05-13 18:27:31 +10:00
Jeremy W. Murphy
18a49862a9 Use typedef hack to prevent accidental conversion to an arithmetic type. 2016-05-12 21:02:34 +10:00
Kolya Matteo
51575f6474 Don't try pow to negative powers even for constants
This failed when pow(T,int) cannot be found. It was failing for
boost::multiprecision types.
2016-05-11 15:02:38 -04:00
Kolya Matteo
4c1a2eacef Use default policy for error handling 2016-05-11 13:50:49 -04:00
Kolya Matteo
15e163b2a5 Throw an exception, instead of asserting 2016-05-11 13:50:49 -04:00
Kolya Matteo
f5fc788b4f Fix merge 2016-05-11 13:50:49 -04:00
Kolya Matteo
141ef67b6a Add pow() function for polynomials and integer powers. 2016-05-11 13:50:49 -04:00
Jeremy W. Murphy
a737a3f5c2 operator bool() and clear(): test for zero and set to zero respectively.
Checking for zero or non-zero and setting to zero are common operations,
so fast implementations
2016-05-11 14:02:16 +10:00
jzmaddock
bea587f3fd Merge branch 'gcd_n' of https://github.com/jeremy-murphy/math into develop
# Resolved Conflicts:
#	include/boost/math/common_factor_rt.hpp
#	test/test_gcd.cpp
2016-05-09 18:59:17 +01:00
jzmaddock
c9bf1df944 Merge branch 'polynomial_shift' of https://github.com/jeremy-murphy/math into develop
# Resolved Conflicts:
#	test/test_polynomial.cpp
2016-05-09 18:29:22 +01:00
jzmaddock
cace9b59de Merge branch 'gcd' into develop
# Resolved Conflicts:
#	test/test_polynomial.cpp
2016-05-09 18:15:54 +01:00
jzmaddock
993cdcb42e Reduce dependencies by removing all use of Boost.Format.
We made only cursory use of the lib, so it's just as easy to do with it.
Also fixed a number of missing #includes which were hidden by including format.hpp.
2016-05-09 11:38:13 +01:00
Jeremy W. Murphy
a56745b479 Merge branch 'develop' into polynomial_ufd_gcd
# Conflicts:
#	test/test_polynomial.cpp
2016-05-07 18:32:42 +10:00
Jeremy W. Murphy
a822400320 Merge branch 'develop' into polynomial_shift
# Conflicts:
#	test/test_polynomial.cpp
2016-05-07 18:27:46 +10:00
Jeremy W. Murphy
e3101bc0eb Return pair of <T, I> that includes the termination position. 2016-05-07 14:33:35 +10:00
Jeremy W. Murphy
df8c6584dc Rename gcd_n to gcd_range. 2016-05-07 10:58:43 +10:00
Kolya Matteo
8336375c78 Fix corner cases for raise_error
This enables raise_error to work when no %1% appears in the `function` or
`message` parameters and for types without numeric_limits specializations.
Also removes misformat when BOOST_NO_RTTI is defined.
2016-05-05 18:10:43 -04:00
Kolya Matteo
430239841d Add missing normalization in polynomial initializer_list assignment 2016-05-02 14:08:25 -04:00
Kolya Matteo
589a18f63f Don't assume default-constructibility 2016-05-02 09:52:41 -04:00
Kolya Matteo
627a4cedfd Multiply into a new vector and swap 2016-05-01 23:55:28 -04:00
Kolya Matteo
9c8e3f2d4b Fix self-multiply-assign by backing down 2016-05-01 23:18:50 -04:00
Kolya Matteo
ca07aa8a0a Fix indefinite hang with p *= p 2016-05-01 20:47:54 -04:00
Jeremy W. Murphy
2168585e98 Compute delta as late as possible. 2016-04-27 12:13:49 +10:00
Jeremy W. Murphy
8e25e0a487 Improve comments, remove superfluous using directive. 2016-04-27 12:12:20 +10:00
Jeremy W. Murphy
60d6a05d2c Prefer immediate return to goto. 2016-04-22 13:32:34 +10:00
Jeremy W. Murphy
d484fa657c Remove inferior generalized gcd; include integral size promotion. 2016-04-20 22:53:56 +10:00
Jeremy W. Murphy
dc81bc8e6e Add 4.6.1E, generalized gcd.
Should be useful for cross-validating 4.6.1C.
2016-04-20 01:38:05 +10:00
jzmaddock
1ef4bb6490 Add mixed binary algorithm plus gcd_traits class with bitscan support. 2016-04-18 13:50:01 +01:00
Jeremy W. Murphy
aa19132d74 4.6.1C: Greatest common divisor over a unique factorization domain. 2016-04-17 14:21:01 +10:00
Jeremy W. Murphy
5bfe2a7b15 Efficient conversion to bool.
This will save a lot of (x == zero_element<...>(...)) syntax that is not
only unwieldy but inefficient.
2016-04-17 13:42:50 +10:00
Jeremy W. Murphy
d6dd40def6 Contextual comment and zero case for pp(). 2016-04-15 14:17:42 +10:00
Jeremy W. Murphy
573b9fc399 content and primitive_part of a polynomial over a ufd. 2016-04-15 13:14:18 +10:00
Jeremy W. Murphy
b3d398636c gcd_n: Further comments. 2016-04-15 07:29:38 +10:00
Jeremy W. Murphy
af28716e31 Algorithm description. 2016-04-14 22:58:46 +10:00
Jeremy W. Murphy
5b8c448ce0 gcd of n values. 2016-04-14 14:22:12 +10:00
jzmaddock
e9bafa3236 We need some using std::swap declarations. 2016-04-12 18:35:01 +01:00
Jeremy W. Murphy
e963c67af2 Normalize after left-shift assignment to prevent denormalized zeroes. 2016-04-10 01:27:36 +10:00
jzmaddock
07f5e1666b Get the tests passing with Jeremy's new gcd. 2016-04-06 19:16:47 +01:00
jzmaddock
9f5d39c5e1 Merge branch 'gcd_revamp' of https://github.com/jeremy-murphy/math into gcd
# Fixed Conflicts:
#	reporting/performance/test_gcd.cpp
#	test/test_gcd.cpp
2016-04-06 18:09:45 +01:00
jzmaddock
11500b787b Merge branch 'polynomial_shift' of https://github.com/jeremy-murphy/math into gcd
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2016-04-06 17:58:21 +01:00
Jeremy W. Murphy
473cc9f209 Use std::numeric_limits rather than Boost's built-in type_traits.
The Boost type traits are too strict about what qualifies as a signed
number.
2016-04-05 09:48:15 +10:00
Jeremy W. Murphy
fd11b9a4da Use <<= rather than <<. 2016-04-05 09:44:28 +10:00
Jeremy W. Murphy
232a64424f Use unqualified swap to allow ADL. 2016-04-05 09:41:59 +10:00
Jeremy W. Murphy
11e502b4ac New gcd implementation. 2016-04-04 18:36:53 +10:00
Jeremy W. Murphy
cff8705458 Consistent white space. 2016-03-28 16:08:04 +11:00
Jeremy W. Murphy
238cd6078b polynomial: odd/even predicates.
We use the definition of odd and even consistent with considering x as the
smallest prime factor. That is, an even polynomial has a constant of zero.
2016-03-28 16:04:27 +11:00
Jeremy W. Murphy
e9da8a10bf polynomial: Left and right shift operators.
Shifting adds or removes a factor of x in the same way that shifting adds
or removes a factor of 2 to integers.
2016-03-27 22:03:33 +11:00
Jeremy W. Murphy
521ee8a0af Use the template parameter N and container's size_type. 2016-03-08 19:24:45 +11:00
jzmaddock
65f7440c2f Minor fixes for polynomial division:
* Use Boost.Config macros not direct checks on C++ version.
* Use dedicated integer power function - fixes VC10 build failure, also prevents loss of digits when integer type is wider than double.
2016-03-02 19:37:46 +00:00
jzmaddock
2ed1361e73 Merge branch 'polynomial_initializer_list' of https://github.com/jeremy-murphy/math into develop 2016-03-02 18:47:11 +00:00
jzmaddock
7cecd8ddf4 Fix up mpfr support 2016-02-05 13:59:45 +00:00
Jeremy W. Murphy
7969de6fae Add C++11 initializer_list constructor and assignment to polynomial class. 2016-01-31 19:04:37 +11:00
Jeremy W. Murphy
0fae5d590a Explicitly specify the return type for Boost lambda on * and /.
Appears that return type deduction failed for multiprecision types.
2016-01-16 14:51:35 +11:00
jzmaddock
8e7660e909 Merge branch 'develop' of https://github.com/boostorg/math into develop 2016-01-10 11:51:38 +00:00
jzmaddock
1adea9929f Add missing inline declarations.
See https://svn.boost.org/trac/boost/ticket/11892.
2016-01-10 11:51:24 +00:00
Kohei Takahashi
fbd1393858 Qualify std:: for isnan in some situation.
Because isnan is implemented as a macro and libstdc++ undef it within
<cmath> (at least FreeBSD 10).
2016-01-06 19:39:55 +09:00
jzmaddock
74ff2db959 Change <quadmath.h> config to not use it at all if we don't have __has_include as GCC may be configured with --disable-libquadmath but still signal that it supports __float128 2016-01-01 16:49:48 +00:00
jzmaddock
587eb660aa Merge branch 'develop' of https://github.com/boostorg/math into develop 2015-12-14 18:03:22 +00:00
jzmaddock
b04e78b79e Fix msvc warnings. 2015-12-14 18:03:05 +00:00
pabristow
7a7d3321fe Moved polystuff to tools, added JWM as author and numerous minor edits 2015-12-14 16:13:05 +00:00
jzmaddock
c36506f852 Merge pull request #17 from jeremy-murphy/polynomial_division
Polynomial division
2015-12-13 12:06:00 +00:00
Jeremy W. Murphy
25ed0ffbca Negation depends only on negation, not on multiplication. 2015-12-13 12:15:09 +11:00
jzmaddock
56f74cbfe9 Fix msvc warning. 2015-11-27 18:52:54 +00:00
Jeremy W. Murphy
09dd190e5a Move identity transformation into detail namespace. 2015-11-21 14:28:39 +11:00
Jeremy W. Murphy
6773baf318 Move arithmetic implementation into private functions.
Primarily so that they can be used inside loops where normalization is not
required or is even erroneous.
2015-11-21 14:26:00 +11:00
Jeremy W. Murphy
f8d6220e4e More documentation updates and parameter name consistency. 2015-11-20 12:06:13 +11:00
Jeremy W. Murphy
292bfc6752 Denormalize zero in multiplication to fit algorithmic requirements.
Fixes bug introduced by normalizing zero to the empty set.
2015-11-20 11:33:00 +11:00
Jeremy W. Murphy
e6e1e9440b Make the single-argument constructor explicit.
Prevent unexpected conversion to polynomial!
2015-11-18 12:15:35 +11:00
Jeremy W. Murphy
37e8063420 Add missing heterogeneous division operators. 2015-11-18 12:14:45 +11:00
jzmaddock
477ab19672 Restrict use of __float128 to cases where quadmath.h is available 2015-11-16 18:35:16 +00:00
Jeremy W. Murphy
87268a735a Division of polynomials over integers.
Test int and double throughout most of test suite.
2015-11-16 00:41:37 +11:00
Jeremy W. Murphy
b981995cc0 Replace synthetic division with algorithm D from Knuth.
Simpler, specific to division of polynomials over a field.
2015-11-15 14:08:40 +11:00
jzmaddock
e8c74af768 Fix error in cyl_neumann(2, x) introduced by previous reorganisation. 2015-11-11 19:19:11 +00:00
jzmaddock
3f342bfa60 More MacOS fixes: apply fixes from main template to <double> specialization. 2015-11-11 17:49:50 +00:00
jzmaddock
7a84f91de1 Merge branch 'develop' of https://github.com/boostorg/math into develop 2015-11-10 12:47:26 +00:00
jzmaddock
824c28f09f Another try at getting MacOS tests passing. 2015-11-10 12:47:06 +00:00
Jeremy W. Murphy
94e961ec7c Division and modulus by a number.
Test that multiplication by 0.5 is equal to division by 2.
2015-11-09 00:43:29 +11:00
Jeremy W. Murphy
3c147eb77a Revert "is_field_like checks that type T is not integral, nor complex, and has /=."
This reverts commit 9c6d10644b.
2015-11-09 00:15:48 +11:00
Jeremy W. Murphy
9c6d10644b is_field_like checks that type T is not integral, nor complex, and has /=. 2015-11-07 22:36:38 +11:00
Jeremy W. Murphy
115585481c Merge remote-tracking branch 'refs/remotes/jeremy/polynomial_division' into polynomial_division 2015-11-05 00:02:31 +11:00
Jeremy W. Murphy
ec913ea3df Multiplicative identity element. 2015-11-05 00:02:24 +11:00
Jeremy Murphy
4510ecaa8a Disable division and remainder for integer types.
Use std::numeric_limits<T>::is_integer.
Also removed the "unchecked_" prefix from synthetic_division.
2015-11-04 20:17:06 +11:00
Jeremy W. Murphy
cb36a289e3 Simplify addition: there is actually no need to check for zero.
The likely frequency of zero makes it silly to check for it.
2015-11-04 12:24:31 +11:00
Jeremy W. Murphy
72f35334d3 Unary minus (negate) operator. 2015-11-03 23:57:11 +11:00
Jeremy W. Murphy
babd53e857 Multiplication bugfixes for zero. 2015-11-03 23:56:53 +11:00
Jeremy W. Murphy
cba0dc6e7e Throw logic_error for degree() if size() == 0.
Use size() in place of degree() internally.
2015-11-03 23:55:37 +11:00
Jeremy W. Murphy
066885dc5a Whoops, need sign function for addition of constant values too. 2015-11-03 14:43:03 +11:00
Jeremy W. Murphy
b39391cb02 Change exception to assertion (according to my design philosophy). 2015-11-02 23:42:13 +11:00
Jeremy W. Murphy
fed9a626be Rename linear_translation to addition. 2015-11-02 23:24:06 +11:00
Jeremy W. Murphy
964c49c70e Generalize addition and subtraction of constant values.
Simplify the implementation by not checking for infrequent cases.
2015-11-02 23:23:47 +11:00
Jeremy W. Murphy
38edca726d Rename remove_high_degree_zeroes to normalize. 2015-11-02 23:04:32 +11:00
Jeremy W. Murphy
eaa54b1bab remove_high_degree_zeroes(): trim zeroes from the right of m_data. 2015-11-01 16:01:26 +11:00
Jeremy W. Murphy
2479c2ae90 Fixed some installation problems, now lambda works. 2015-11-01 13:25:46 +11:00
Jeremy W. Murphy
f6d014d15e Tidying up and trying out algorithmic forms of loops. 2015-11-01 12:49:24 +11:00
Jeremy W. Murphy
739c056f2b Enforce representation of zero polynomial as {}, not {0}.
Simplify addition and subtraction into one function.
Add short-circuit logic for zero to arithmetic.
2015-11-01 03:38:13 +11:00
Jeremy W. Murphy
6080afee77 Fix quotient_remainder to use the correct ordering of coefficients.
Add equality operator and zero_element() for multiplication.
2015-11-01 03:28:59 +11:00
pabristow
57a71ba5f8 #11768: Skewness formula for triangular distribution corrected, tests added and docs updated. 2015-10-29 18:19:46 +00:00
Jeremy W. Murphy
86a92e2602 Use Boost.Operators for dividable and modable. 2015-10-27 08:53:51 +11:00
jzmaddock
d6e6ec366e Move some code around and simplify things a bit to improve performance. 2015-10-26 18:16:14 +00:00
jzmaddock
3eed7acedf Fix argument names. 2015-10-26 18:14:59 +00:00
Jeremy W. Murphy
1fd285721c Add some post-condition assertions. 2015-10-25 14:55:39 +11:00
Jeremy W. Murphy
240e4e6e0f Separate out into unchecked_synthetic_division(). 2015-10-25 12:05:32 +11:00
Jeremy W. Murphy
35041b318c Add / and %. 2015-10-25 10:49:47 +11:00
Jeremy W. Murphy
cf840c4ce2 First draft of working quotient_remainder. 2015-10-25 01:46:20 +11:00
jzmaddock
a7a0117859 Tentative VC7.1 fix. 2015-10-22 10:51:04 +01:00
jzmaddock
5d42feb5c1 Reduce conceptual requirements on log_min_value/log_max_value. 2015-10-22 10:12:55 +01:00
jzmaddock
1690851386 Fix for __float128 support in fpclassify. 2015-09-24 10:18:29 +01:00
jzmaddock
2f31042470 Merge branch 'develop' of https://github.com/boostorg/math into develop 2015-09-11 12:02:29 +01:00
jzmaddock
3287c922ea Fix some corner cases in the beta functions.
Add better tests for the incomplete beta derivative.
Update docs to match.
2015-09-11 12:02:04 +01:00
Adam Wulkiewicz
00714c1a6d Fix type passed into BOOST_MATH_NOEXCEPT() in specialization of epsilon(). 2015-09-09 15:06:29 +02:00
jzmaddock
d719e4b567 Remove no longer needed special_functions sub-directory.
Also fix lots of inspect-report failures.
2015-09-07 19:35:29 +01:00
jzmaddock
c6593b149b Fix GCC test failures when building with -fno-exceptions. 2015-09-06 19:21:17 +01:00
jzmaddock
ba365b5aaa Enable running of tests with exception handling off.
And fix a few bugs that showed up in the process.
Currently msvc-only (not GCC as Boost.Test doesn't build).
2015-09-05 19:08:28 +01:00
jzmaddock
a0f0b96921 Fix case where non-centrality parameter for chi-squared is zero.
See https://svn.boost.org/trac/boost/ticket/11557.
2015-09-04 09:40:08 +01:00
jzmaddock
9d3d2e96a0 Fix code to match documentation in hypergeometric distro. 2015-09-03 19:23:10 +01:00
jzmaddock
789131a224 Add some needed typecasts to args of std::max. 2015-09-03 18:43:36 +01:00
jzmaddock
c2b706da15 Add __float128 support. 2015-09-03 18:43:05 +01:00
jzmaddock
e4ec61699a Fix tests for FLT_EVAL_TYPE.
See https://svn.boost.org/trac/boost/ticket/11429.
2015-09-03 18:13:20 +01:00
jzmaddock
1d1d400762 Add some needed typecasts. 2015-09-03 10:29:28 +01:00
jzmaddock
429825535b Fix type of boolean values. 2015-09-03 09:34:42 +01:00
jzmaddock
7dcabda78b Merge branch 'accuracy' into develop
Conflicts:
	test/float128/test_polygamma.cpp
	test/powm1_sqrtp1m1_test.hpp
2015-09-03 09:12:11 +01:00
jzmaddock
673c229a6c More constexpr and noexcept specifiers. 2015-09-01 17:34:50 +01:00
jzmaddock
146f0471ec Fix previous commit! 2015-08-29 11:21:55 +01:00
jzmaddock
3d8d58262d Add workaround for early/broken constexpr implementations. 2015-08-29 09:20:28 +01:00
jzmaddock
57219acee9 Make more functions constexpr and noexcept. 2015-08-28 12:27:41 +01:00
jzmaddock
06cff2b46f Merge branch 'accuracy' of https://github.com/boostorg/math into accuracy 2015-08-27 10:43:25 +01:00
jzmaddock
4c278283a7 More noexcept specs. 2015-08-27 10:42:45 +01:00
jzmaddock
dac39d03e1 Change noexcept to be less greedy in instantiating numeric_limits: fixes some multiprecision failures 2015-08-25 09:04:29 +01:00
jzmaddock
bf29ef6628 Begin marking up functions as constexpr and noexcept where possible. 2015-08-23 17:50:56 +01:00
jzmaddock
8f252f78a0 Building with hidden scope doesn't work on Oracle.
Also added needed typecast for Oracle 64-bit build.
2015-08-20 08:53:00 +01:00
jzmaddock
ba98215010 Oracle compiler needs GNU align syntax. 2015-08-17 19:07:37 +01:00
jzmaddock
277dbd4f5c Add compiler comparison option. 2015-08-17 13:05:50 +01:00
jzmaddock
8a29241cc3 Fix bug in root bracketing code 2015-08-11 18:17:56 +01:00
jzmaddock
3e67c80eeb Improve quantile calculation so as to avoid underflow causing lots of PDF calls and poor performance. 2015-08-09 17:29:34 +01:00
jzmaddock
c3793dbff2 One more try to get powm1 accuracy down. 2015-08-02 18:26:47 +01:00
jzmaddock
801a739595 Fix GCC warnings. 2015-08-01 19:13:22 +01:00
jzmaddock
258a2aeb4c Big warning suppression fix for VC14. 2015-08-01 18:00:41 +01:00
jzmaddock
a18661ad40 Tweak powm1 one more time near the boundary conditions. 2015-07-31 19:19:47 +01:00
jzmaddock
da958ee36a Some more tweaks to powm1.
Plus some more tests.
2015-07-31 09:25:31 +01:00
jzmaddock
ce953afcda Yet another "better powm1". 2015-07-28 19:23:53 +01:00
jzmaddock
1177477903 Remove deprecated type_traits usage. 2015-07-25 11:45:49 +01:00
jzmaddock
e973194d55 Fix some corner cases in the non-central distros. 2015-07-18 16:41:28 +01:00
jzmaddock
541f0d2839 Fix method selection condition in powm1. 2015-07-13 10:39:35 +01:00
jzmaddock
74b8427084 Fix domain_error for k==1. 2015-07-11 09:49:17 +01:00
jzmaddock
869bf00304 Improve powm1 accuracy slightly. 2015-07-11 09:16:55 +01:00
jzmaddock
bab82f2eb1 Correct overflow handling in bessel derivatives. 2015-07-10 19:50:05 +01:00
jzmaddock
43de5afcf2 Oops correct previous commit. 2015-07-07 18:45:45 +01:00
jzmaddock
faacf0520d Fix function template specialization definition. 2015-07-07 18:42:01 +01:00
jzmaddock
d9dc112aee Fix bug in ellint_2 for very small angles.
With thanks to Rocco Romeo.
2015-07-05 19:42:31 +01:00
jzmaddock
32b31bbb72 Add explicit overloads for std::pair to handle C++03 compilers. 2015-06-19 10:05:12 +01:00
jzmaddock
aedcfb355b Fix template name used only on Darwin. 2015-06-18 18:35:15 +01:00
jzmaddock
2a94e603e5 Add relative_difference tests.
And fix resulting issues.
2015-05-26 17:17:47 +01:00
jzmaddock
afc1237939 Stop using modfl on Mingw - it crashes! 2015-05-25 19:20:09 +01:00
jzmaddock
69b2524d13 Document ulp function.
Improve tests, and fix issues that show up.
2015-05-25 08:47:34 +01:00
jzmaddock
94b8195aad Add ulp function.
Update tests for relative_difference etc.
Add new functions to math_fwd.hpp.
Add new functions to concept tests.
2015-05-24 12:01:06 +01:00
jzmaddock
73c27a1a6d Rewrite float-comparison docs to use new public interfaces. 2015-05-23 12:06:36 +01:00
jzmaddock
e7b5c6a0be Add relative_difference.hpp 2015-05-18 18:24:26 +01:00
jzmaddock
74a42f98ea Fix various typos.
Change Schroeder to Schroder.
2015-05-18 18:23:47 +01:00
jzmaddock
8aaf48ecaa Add test case for root-finding.
Also fix missing using declaration in roots.hpp.
2015-05-14 19:02:40 +01:00
jzmaddock
66296fc6bd Fix bug in newton_raphson_iterate.
Which may cause switching to bisection too early.
2015-05-12 19:32:59 +01:00
jzmaddock
0b166f37ab Merge branch 'develop' into rooting 2015-05-11 19:08:00 +01:00
jzmaddock
764738d596 Change root finding code to be better boiler-plated.
Re-run tests accordingly.
2015-05-10 10:06:08 +01:00
jzmaddock
308f39c78a Fix iteration count housekeeping so we don't accidentally miss one if we get an exact result because f(x) is zero. 2015-05-05 13:15:23 +01:00
jzmaddock
c8eb3c9cf4 Add default constructor for eps_tolerance. 2015-04-29 18:47:09 +01:00
jzmaddock
da33ba4425 Fix heuristic in schroeder_iterate.
Brings schroeder_iterate more into line with halley_iterate.
2015-04-28 19:16:33 +01:00
Jessica Hamilton
d4240296b5 Haiku: disable float128 and long double support 2015-04-09 09:38:27 +12:00
jzmaddock
2f09aca3cd Merge branch 'develop' of https://github.com/boostorg/math into develop 2015-04-07 18:01:54 +01:00
jzmaddock
0cbed0315d Fix digit count for 128-bit quad-floart types.
As per discussion here: http://www.exploringbinary.com/7-bits-are-not-enough-for-2-digit-accuracy/comment-page-1/#comment-9358
2015-04-07 17:57:07 +01:00
Lauri Nurmi
0c273d09a9 Fix spelling of "occurr*". 2015-03-28 22:11:16 +02:00
pabristow
1f0552daea merged develop into rooting and rebuilt html 2015-03-12 12:31:01 +00:00
jzmaddock
c6e152efd4 Disable __float128 on Solaris - it segfaults when used at program startup (tested solaris 11). 2015-03-08 18:58:15 +00:00
jzmaddock
b423b350a8 Add needed member. 2015-02-28 19:42:39 +00:00
jzmaddock
97cd1ea0ea Change not to use cstdfloat as that header may not actually define any types! 2015-02-28 19:31:05 +00:00
jzmaddock
5e92ce7ae6 Solaris doesn't have fpclassify 2015-02-26 11:55:23 +00:00
jzmaddock
58edb99ca8 Workaround for bug in Solaris compiler. 2015-02-23 17:15:23 +00:00
jzmaddock
1ef4e9c1c2 Tentative fix for solaris/oracle compiler issue https://svn.boost.org/trac/boost/ticket/10925 2015-02-22 18:48:09 +00:00
jzmaddock
ec7a31e982 Merge branch 'carlson' into develop 2015-02-20 13:30:24 +00:00
jzmaddock
7fa11a133f Add Heuman Lambda Function. 2015-02-19 19:33:56 +00:00
jzmaddock
072d6ef395 Add Jacobi Zeta Function. 2015-02-19 16:49:03 +00:00
jzmaddock
026d5d2ee2 Hook up a full set of tests for ellint_d. 2015-02-18 18:04:02 +00:00
jzmaddock
c1200bf7cd Add initial version of Elliptic Integral D. 2015-02-17 19:03:50 +00:00
jzmaddock
bf3f5528eb Merge branch 'carlson' into develop 2015-02-17 13:08:21 +00:00
jzmaddock
4705e25f70 Fix some compiler warnings 2015-02-17 12:43:54 +00:00
jzmaddock
61cc79bebd Fix test failures. 2015-02-17 12:43:40 +00:00
jzmaddock
5eb3bbbfcc Apply Carlson's latest relations for the Legendre Elliptic integrals. 2015-02-16 17:49:56 +00:00
jzmaddock
f7c55524be Add missing #include. 2015-02-15 18:57:14 +00:00
jzmaddock
110a5327b2 Apply more special cases to RD and RG plus tests. 2015-02-15 18:48:33 +00:00
jzmaddock
cbb1d9cb5f Add RF(x, y, 0) as a special case. 2015-02-15 11:34:44 +00:00
jzmaddock
545961746c Fix for issue https://svn.boost.org/trac/boost/ticket/10938 2015-02-05 19:02:52 +00:00
jzmaddock
20965d162e Tidy up dead code, make comment a little clearer. See https://svn.boost.org/trac/boost/ticket/10985 2015-02-05 18:34:49 +00:00
jzmaddock
529190e194 Merge branch 'master' of https://github.com/alexhenrie/math into develop 2015-02-05 18:10:30 +00:00
Alex Henrie
a4664e00d5 Correct spelling of "suppress" 2015-01-30 15:28:30 -07:00
jzmaddock
63525295e4 [Carlson RG] Fix test failures and concept-checking failures. 2015-01-21 17:46:14 +00:00
jzmaddock
b358c793d5 [Carlson Elliptic Integrals] Add doc for RG. 2015-01-08 18:15:18 +00:00
jzmaddock
11d4d7eb11 [Carlson elliptic Integrals] Add ellint_rg plus tests. 2015-01-08 13:43:37 +00:00
jzmaddock
2ba0b25c16 [Carlson Elliptic Integrals] Fix #includes and conceptual errors. Tweak RD convergence and error rates. 2015-01-08 09:47:20 +00:00
jzmaddock
64bf08fce4 [Carlson Elliptic Integrals] Add special cases for RF. 2015-01-07 19:00:25 +00:00
jzmaddock
ef2312dfd5 [Carlson elliptic integrals] Fix missing return statement. 2015-01-07 18:38:11 +00:00
jzmaddock
89fcff4266 [Carlson Elliptic Integrals] Update RD to use Carlson's latest methods. Add more RD test cases. Update copyright info. 2015-01-07 18:24:08 +00:00
jzmaddock
9561623736 [Beta/Gamma]Fix concept failures caused by previous commit. 2015-01-06 18:06:10 +00:00
jzmaddock
08a365a1f5 [legendre polys] Disable policy based overloads when the final argument is not in fact a policy. See https://svn.boost.org/trac/boost/ticket/10902 2015-01-05 19:08:56 +00:00
jzmaddock
b6e56ccd22 [constants] Fix namespace scope constants so they are constexpr, see https://svn.boost.org/trac/boost/ticket/10901 2015-01-05 18:32:30 +00:00
jzmaddock
5bd2b77ec4 [gamma_p_derivative] Fix spurious underflow spotted by Rocco Romeo. 2015-01-05 18:16:51 +00:00
jzmaddock
bc3d8ed2e3 [Incomplete Beta] Fix some more spurious underflows spotted by Rocco Romeo. 2015-01-05 17:39:13 +00:00
jzmaddock
b3d11e9545 [Ellint Carlson] Update RJ to carlson's latest algorithm. Add missing include to ellint_rc.hpp. Add more test cases for RJ special cases. 2015-01-05 11:46:34 +00:00
jzmaddock
fe6d89db43 [tgamma] Apply fix from https://svn.boost.org/trac/boost/ticket/10905. 2014-12-31 18:18:37 +00:00
jzmaddock
669214556a [ellint RC] rewrite to use elementary functions only. 2014-12-30 13:24:41 +00:00
jzmaddock
04abb9d194 [ellint RF] rewrite to use carlson's latest methods. 2014-12-30 13:24:08 +00:00
jzmaddock
1def3942bf [ellint 3] Move k==0 case to earlier in the logic 2014-12-30 13:23:11 +00:00
jzmaddock
4c9624786c [Ellint Pi] Change v < 0 case to use Rocco Romeo's simplified expressions. 2014-12-27 18:57:32 +00:00
jzmaddock
e6b86ba93d [Ellint Pi] Fix spurious underflow in sqrt(-v*N). 2014-12-27 13:30:51 +00:00
jzmaddock
47c2f9254c [Ellint Pi] Add some more special case handling, plus tests. 2014-12-26 17:21:10 +00:00
jzmaddock
18dd27295d [Ellint Pi] Reorganize which reduction occurs in which order, and fix numerical stability issues identified by Rocco Romeo. 2014-12-25 16:52:37 +00:00
jzmaddock
83155a7a67 [Elliptic Pi] Change expression to not suffer spurious under/over flow, add test case. 2014-12-22 16:55:06 +00:00
jzmaddock
2ab808f547 [Ellint Pi] Try and actually use the correct equation for negative v in Pi[v, k] ! 2014-12-21 19:08:18 +00:00
jzmaddock
b885aa757a [bernoulli] suppress some compiler warnings. 2014-12-21 13:10:16 +00:00
jzmaddock
57b38b0dfc Add binomial_coefficient to math_fwd.hpp and test. 2014-12-21 13:09:40 +00:00
jzmaddock
5af7e8fdb8 [incomplete gamma] Fix corner cases identified by Rocco Romeo. 2014-12-20 19:18:25 +00:00
jzmaddock
0c1a603e17 [incomplete beta] Fix corner cases identified by Rocco Romeo. 2014-12-20 18:18:16 +00:00
jzmaddock
160beaa477 [Ellint Pi] Fix corner cases identified by Rocco Romeo and add tests for them. 2014-12-20 09:47:06 +00:00
jzmaddock
50bffe8005 Update conceptual requirements for root finding algorithms, and add concept test for them. 2014-12-14 09:44:03 +00:00
pabristow
ee8d6338fc Merge branch 'develop' into arcsine_dist
Conflicts:
	doc/html/backgrounders.html
	doc/html/constants.html
	doc/html/cstdfloat.html
	doc/html/dist.html
	doc/html/extern_c.html
	doc/html/gcd_lcm.html
	doc/html/index.html
	doc/html/indexes.html
	doc/html/indexes/s01.html
	doc/html/indexes/s02.html
	doc/html/indexes/s03.html
	doc/html/indexes/s04.html
	doc/html/indexes/s05.html
	doc/html/inverse_complex.html
	doc/html/math_toolkit/acknowledgement.html
	doc/html/math_toolkit/acknowledgements.html
	doc/html/math_toolkit/acos.html
	doc/html/math_toolkit/acosh.html
	doc/html/math_toolkit/airy.html
	doc/html/math_toolkit/airy/ai.html
	doc/html/math_toolkit/airy/aip.html
	doc/html/math_toolkit/airy/bi.html
	doc/html/math_toolkit/airy/bip.html
	doc/html/math_toolkit/archetypes.html
	doc/html/math_toolkit/asin.html
	doc/html/math_toolkit/asinh.html
	doc/html/math_toolkit/atan.html
	doc/html/math_toolkit/atanh.html
	doc/html/math_toolkit/bessel.html
	doc/html/math_toolkit/bessel/bessel_derivatives.html
	doc/html/math_toolkit/bessel/bessel_first.html
	doc/html/math_toolkit/bessel/bessel_over.html
	doc/html/math_toolkit/bessel/bessel_root.html
	doc/html/math_toolkit/bessel/mbessel.html
	doc/html/math_toolkit/bessel/sph_bessel.html
	doc/html/math_toolkit/building.html
	doc/html/math_toolkit/c99.html
	doc/html/math_toolkit/comp_compilers.html
	doc/html/math_toolkit/comparisons.html
	doc/html/math_toolkit/compile_time.html
	doc/html/math_toolkit/compilers_overview.html
	doc/html/math_toolkit/complex_history.html
	doc/html/math_toolkit/complex_implementation.html
	doc/html/math_toolkit/concepts.html
	doc/html/math_toolkit/config_macros.html
	doc/html/math_toolkit/constants.html
	doc/html/math_toolkit/constants_faq.html
	doc/html/math_toolkit/constants_intro.html
	doc/html/math_toolkit/contact.html
	doc/html/math_toolkit/conventions.html
	doc/html/math_toolkit/create.html
	doc/html/math_toolkit/credits.html
	doc/html/math_toolkit/demo.html
	doc/html/math_toolkit/directories.html
	doc/html/math_toolkit/dist_concept.html
	doc/html/math_toolkit/dist_ref.html
	doc/html/math_toolkit/dist_ref/dist_algorithms.html
	doc/html/math_toolkit/dist_ref/dists.html
	doc/html/math_toolkit/dist_ref/dists/bernoulli_dist.html
	doc/html/math_toolkit/dist_ref/dists/beta_dist.html
	doc/html/math_toolkit/dist_ref/dists/binomial_dist.html
	doc/html/math_toolkit/dist_ref/dists/cauchy_dist.html
	doc/html/math_toolkit/dist_ref/dists/chi_squared_dist.html
	doc/html/math_toolkit/dist_ref/dists/exp_dist.html
	doc/html/math_toolkit/dist_ref/dists/extreme_dist.html
	doc/html/math_toolkit/dist_ref/dists/f_dist.html
	doc/html/math_toolkit/dist_ref/dists/gamma_dist.html
	doc/html/math_toolkit/dist_ref/dists/geometric_dist.html
	doc/html/math_toolkit/dist_ref/dists/hyperexponential_dist.html
	doc/html/math_toolkit/dist_ref/dists/hypergeometric_dist.html
	doc/html/math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html
	doc/html/math_toolkit/dist_ref/dists/inverse_gamma_dist.html
	doc/html/math_toolkit/dist_ref/dists/inverse_gaussian_dist.html
	doc/html/math_toolkit/dist_ref/dists/laplace_dist.html
	doc/html/math_toolkit/dist_ref/dists/logistic_dist.html
	doc/html/math_toolkit/dist_ref/dists/lognormal_dist.html
	doc/html/math_toolkit/dist_ref/dists/nc_beta_dist.html
	doc/html/math_toolkit/dist_ref/dists/nc_chi_squared_dist.html
	doc/html/math_toolkit/dist_ref/dists/nc_f_dist.html
	doc/html/math_toolkit/dist_ref/dists/nc_t_dist.html
	doc/html/math_toolkit/dist_ref/dists/negative_binomial_dist.html
	doc/html/math_toolkit/dist_ref/dists/normal_dist.html
	doc/html/math_toolkit/dist_ref/dists/pareto.html
	doc/html/math_toolkit/dist_ref/dists/poisson_dist.html
	doc/html/math_toolkit/dist_ref/dists/rayleigh.html
	doc/html/math_toolkit/dist_ref/dists/skew_normal_dist.html
	doc/html/math_toolkit/dist_ref/dists/students_t_dist.html
	doc/html/math_toolkit/dist_ref/dists/triangular_dist.html
	doc/html/math_toolkit/dist_ref/dists/uniform_dist.html
	doc/html/math_toolkit/dist_ref/dists/weibull_dist.html
	doc/html/math_toolkit/dist_ref/nmp.html
	doc/html/math_toolkit/ellint.html
	doc/html/math_toolkit/ellint/ellint_1.html
	doc/html/math_toolkit/ellint/ellint_2.html
	doc/html/math_toolkit/ellint/ellint_3.html
	doc/html/math_toolkit/ellint/ellint_carlson.html
	doc/html/math_toolkit/ellint/ellint_intro.html
	doc/html/math_toolkit/error_handling.html
	doc/html/math_toolkit/exact_typdefs.html
	doc/html/math_toolkit/examples.html
	doc/html/math_toolkit/exp.html
	doc/html/math_toolkit/expint.html
	doc/html/math_toolkit/expint/expint_i.html
	doc/html/math_toolkit/expint/expint_n.html
	doc/html/math_toolkit/factorials.html
	doc/html/math_toolkit/factorials/sf_binomial.html
	doc/html/math_toolkit/factorials/sf_double_factorial.html
	doc/html/math_toolkit/factorials/sf_factorial.html
	doc/html/math_toolkit/factorials/sf_falling_factorial.html
	doc/html/math_toolkit/factorials/sf_rising_factorial.html
	doc/html/math_toolkit/fastest_typdefs.html
	doc/html/math_toolkit/float128.html
	doc/html/math_toolkit/float128/exp_function.html
	doc/html/math_toolkit/float128/overloading_template_functions_w.html
	doc/html/math_toolkit/float128/typeinfo.html
	doc/html/math_toolkit/fp_facets.html
	doc/html/math_toolkit/fp_facets/examples.html
	doc/html/math_toolkit/fp_facets/facets_intro.html
	doc/html/math_toolkit/fp_facets/portability.html
	doc/html/math_toolkit/fp_facets/rationale.html
	doc/html/math_toolkit/fp_facets/reference.html
	doc/html/math_toolkit/fpclass.html
	doc/html/math_toolkit/future.html
	doc/html/math_toolkit/gcd_credits.html
	doc/html/math_toolkit/gcd_function_object.html
	doc/html/math_toolkit/gcd_header.html
	doc/html/math_toolkit/gcd_history.html
	doc/html/math_toolkit/getting_best.html
	doc/html/math_toolkit/greatest_typdefs.html
	doc/html/math_toolkit/hankel.html
	doc/html/math_toolkit/hankel/cyl_hankel.html
	doc/html/math_toolkit/hankel/sph_hankel.html
	doc/html/math_toolkit/high_precision.html
	doc/html/math_toolkit/high_precision/e_float.html
	doc/html/math_toolkit/high_precision/float128.html
	doc/html/math_toolkit/high_precision/use_mpfr.html
	doc/html/math_toolkit/high_precision/use_multiprecision.html
	doc/html/math_toolkit/high_precision/use_ntl.html
	doc/html/math_toolkit/high_precision/using_test.html
	doc/html/math_toolkit/high_precision/why_high_precision.html
	doc/html/math_toolkit/hints.html
	doc/html/math_toolkit/history1.html
	doc/html/math_toolkit/history2.html
	doc/html/math_toolkit/internals1.html
	doc/html/math_toolkit/internals1/cf.html
	doc/html/math_toolkit/internals1/minima.html
	doc/html/math_toolkit/internals1/rational.html
	doc/html/math_toolkit/internals1/roots.html
	doc/html/math_toolkit/internals1/roots2.html
	doc/html/math_toolkit/internals1/series_evaluation.html
	doc/html/math_toolkit/internals1/tuples.html
	doc/html/math_toolkit/internals2.html
	doc/html/math_toolkit/internals2/error_test.html
	doc/html/math_toolkit/internals2/minimax.html
	doc/html/math_toolkit/internals2/polynomials.html
	doc/html/math_toolkit/internals2/test_data.html
	doc/html/math_toolkit/internals_overview.html
	doc/html/math_toolkit/interp.html
	doc/html/math_toolkit/intro_pol_overview.html
	doc/html/math_toolkit/introduction.html
	doc/html/math_toolkit/inv_hyper.html
	doc/html/math_toolkit/inv_hyper/acosh.html
	doc/html/math_toolkit/inv_hyper/asinh.html
	doc/html/math_toolkit/inv_hyper/atanh.html
	doc/html/math_toolkit/inv_hyper/inv_hyper_over.html
	doc/html/math_toolkit/issues.html
	doc/html/math_toolkit/jacobi.html
	doc/html/math_toolkit/jacobi/jac_over.html
	doc/html/math_toolkit/jacobi/jacobi_cd.html
	doc/html/math_toolkit/jacobi/jacobi_cn.html
	doc/html/math_toolkit/jacobi/jacobi_cs.html
	doc/html/math_toolkit/jacobi/jacobi_dc.html
	doc/html/math_toolkit/jacobi/jacobi_dn.html
	doc/html/math_toolkit/jacobi/jacobi_ds.html
	doc/html/math_toolkit/jacobi/jacobi_elliptic.html
	doc/html/math_toolkit/jacobi/jacobi_nc.html
	doc/html/math_toolkit/jacobi/jacobi_nd.html
	doc/html/math_toolkit/jacobi/jacobi_ns.html
	doc/html/math_toolkit/jacobi/jacobi_sc.html
	doc/html/math_toolkit/jacobi/jacobi_sd.html
	doc/html/math_toolkit/jacobi/jacobi_sn.html
	doc/html/math_toolkit/lanczos.html
	doc/html/math_toolkit/lcm_function_object.html
	doc/html/math_toolkit/macros.html
	doc/html/math_toolkit/main_faq.html
	doc/html/math_toolkit/main_intro.html
	doc/html/math_toolkit/main_tr1.html
	doc/html/math_toolkit/mem_typedef.html
	doc/html/math_toolkit/minimum_typdefs.html
	doc/html/math_toolkit/namespaces.html
	doc/html/math_toolkit/navigation.html
	doc/html/math_toolkit/new_const.html
	doc/html/math_toolkit/next_float.html
	doc/html/math_toolkit/next_float/float_advance.html
	doc/html/math_toolkit/next_float/float_distance.html
	doc/html/math_toolkit/next_float/float_next.html
	doc/html/math_toolkit/next_float/float_prior.html
	doc/html/math_toolkit/next_float/nextafter.html
	doc/html/math_toolkit/number_series.html
	doc/html/math_toolkit/number_series/bernoulli_numbers.html
	doc/html/math_toolkit/number_series/primes.html
	doc/html/math_toolkit/number_series/tangent_numbers.html
	doc/html/math_toolkit/oct_create.html
	doc/html/math_toolkit/oct_header.html
	doc/html/math_toolkit/oct_history.html
	doc/html/math_toolkit/oct_mem_fun.html
	doc/html/math_toolkit/oct_non_mem.html
	doc/html/math_toolkit/oct_overview.html
	doc/html/math_toolkit/oct_specialization.html
	doc/html/math_toolkit/oct_synopsis.html
	doc/html/math_toolkit/oct_tests.html
	doc/html/math_toolkit/oct_todo.html
	doc/html/math_toolkit/oct_trans.html
	doc/html/math_toolkit/oct_typedefs.html
	doc/html/math_toolkit/oct_value_ops.html
	doc/html/math_toolkit/octonion.html
	doc/html/math_toolkit/overview.html
	doc/html/math_toolkit/overview_tr1.html
	doc/html/math_toolkit/owens_t.html
	doc/html/math_toolkit/perf_over1.html
	doc/html/math_toolkit/perf_over2.html
	doc/html/math_toolkit/perf_test_app.html
	doc/html/math_toolkit/pol_overview.html
	doc/html/math_toolkit/pol_ref.html
	doc/html/math_toolkit/pol_ref/assert_undefined.html
	doc/html/math_toolkit/pol_ref/discrete_quant_ref.html
	doc/html/math_toolkit/pol_ref/error_handling_policies.html
	doc/html/math_toolkit/pol_ref/internal_promotion.html
	doc/html/math_toolkit/pol_ref/iteration_pol.html
	doc/html/math_toolkit/pol_ref/namespace_pol.html
	doc/html/math_toolkit/pol_ref/pol_ref_ref.html
	doc/html/math_toolkit/pol_ref/policy_defaults.html
	doc/html/math_toolkit/pol_ref/precision_pol.html
	doc/html/math_toolkit/pol_tutorial.html
	doc/html/math_toolkit/pol_tutorial/ad_hoc_dist_policies.html
	doc/html/math_toolkit/pol_tutorial/ad_hoc_sf_policies.html
	doc/html/math_toolkit/pol_tutorial/changing_policy_defaults.html
	doc/html/math_toolkit/pol_tutorial/namespace_policies.html
	doc/html/math_toolkit/pol_tutorial/policy_tut_defaults.html
	doc/html/math_toolkit/pol_tutorial/policy_usage.html
	doc/html/math_toolkit/pol_tutorial/understand_dis_quant.html
	doc/html/math_toolkit/pol_tutorial/user_def_err_pol.html
	doc/html/math_toolkit/pol_tutorial/what_is_a_policy.html
	doc/html/math_toolkit/powers.html
	doc/html/math_toolkit/powers/cbrt.html
	doc/html/math_toolkit/powers/cos_pi.html
	doc/html/math_toolkit/powers/ct_pow.html
	doc/html/math_toolkit/powers/expm1.html
	doc/html/math_toolkit/powers/hypot.html
	doc/html/math_toolkit/powers/log1p.html
	doc/html/math_toolkit/powers/powm1.html
	doc/html/math_toolkit/powers/sin_pi.html
	doc/html/math_toolkit/powers/sqrt1pm1.html
	doc/html/math_toolkit/quat.html
	doc/html/math_toolkit/quat_header.html
	doc/html/math_toolkit/quat_history.html
	doc/html/math_toolkit/quat_mem_fun.html
	doc/html/math_toolkit/quat_non_mem.html
	doc/html/math_toolkit/quat_overview.html
	doc/html/math_toolkit/quat_synopsis.html
	doc/html/math_toolkit/quat_tests.html
	doc/html/math_toolkit/quat_todo.html
	doc/html/math_toolkit/rationale.html
	doc/html/math_toolkit/rationale0.html
	doc/html/math_toolkit/refs.html
	doc/html/math_toolkit/relative_error.html
	doc/html/math_toolkit/remez.html
	doc/html/math_toolkit/result_type.html
	doc/html/math_toolkit/rounding.html
	doc/html/math_toolkit/rounding/modf.html
	doc/html/math_toolkit/rounding/round.html
	doc/html/math_toolkit/rounding/trunc.html
	doc/html/math_toolkit/run_time.html
	doc/html/math_toolkit/sf_beta.html
	doc/html/math_toolkit/sf_beta/beta_derivative.html
	doc/html/math_toolkit/sf_beta/beta_function.html
	doc/html/math_toolkit/sf_beta/ibeta_function.html
	doc/html/math_toolkit/sf_beta/ibeta_inv_function.html
	doc/html/math_toolkit/sf_erf.html
	doc/html/math_toolkit/sf_erf/error_function.html
	doc/html/math_toolkit/sf_erf/error_inv.html
	doc/html/math_toolkit/sf_gamma.html
	doc/html/math_toolkit/sf_gamma/digamma.html
	doc/html/math_toolkit/sf_gamma/gamma_derivatives.html
	doc/html/math_toolkit/sf_gamma/gamma_ratios.html
	doc/html/math_toolkit/sf_gamma/igamma.html
	doc/html/math_toolkit/sf_gamma/igamma_inv.html
	doc/html/math_toolkit/sf_gamma/lgamma.html
	doc/html/math_toolkit/sf_gamma/tgamma.html
	doc/html/math_toolkit/sf_implementation.html
	doc/html/math_toolkit/sf_poly.html
	doc/html/math_toolkit/sf_poly/hermite.html
	doc/html/math_toolkit/sf_poly/laguerre.html
	doc/html/math_toolkit/sf_poly/legendre.html
	doc/html/math_toolkit/sf_poly/sph_harm.html
	doc/html/math_toolkit/sign_functions.html
	doc/html/math_toolkit/sinc.html
	doc/html/math_toolkit/sinc/sinc_overview.html
	doc/html/math_toolkit/sinc/sinc_pi.html
	doc/html/math_toolkit/sinc/sinhc_pi.html
	doc/html/math_toolkit/spec.html
	doc/html/math_toolkit/special_tut.html
	doc/html/math_toolkit/special_tut/special_tut_impl.html
	doc/html/math_toolkit/special_tut/special_tut_test.html
	doc/html/math_toolkit/stat_tut.html
	doc/html/math_toolkit/stat_tut/dist_params.html
	doc/html/math_toolkit/stat_tut/overview.html
	doc/html/math_toolkit/stat_tut/overview/complements.html
	doc/html/math_toolkit/stat_tut/overview/generic.html
	doc/html/math_toolkit/stat_tut/overview/headers.html
	doc/html/math_toolkit/stat_tut/overview/objects.html
	doc/html/math_toolkit/stat_tut/overview/parameters.html
	doc/html/math_toolkit/stat_tut/overview/summary.html
	doc/html/math_toolkit/stat_tut/variates.html
	doc/html/math_toolkit/stat_tut/weg.html
	doc/html/math_toolkit/stat_tut/weg/binom_eg.html
	doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_conf.html
	doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_size_eg.html
	doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_coinflip_example.html
	doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_quiz_example.html
	doc/html/math_toolkit/stat_tut/weg/c_sharp.html
	doc/html/math_toolkit/stat_tut/weg/cs_eg.html
	doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_intervals.html
	doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_size.html
	doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_test.html
	doc/html/math_toolkit/stat_tut/weg/dist_construct_eg.html
	doc/html/math_toolkit/stat_tut/weg/error_eg.html
	doc/html/math_toolkit/stat_tut/weg/f_eg.html
	doc/html/math_toolkit/stat_tut/weg/find_eg.html
	doc/html/math_toolkit/stat_tut/weg/find_eg/find_location_eg.html
	doc/html/math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html
	doc/html/math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html
	doc/html/math_toolkit/stat_tut/weg/geometric_eg.html
	doc/html/math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html
	doc/html/math_toolkit/stat_tut/weg/nag_library.html
	doc/html/math_toolkit/stat_tut/weg/nccs_eg.html
	doc/html/math_toolkit/stat_tut/weg/nccs_eg/nccs_power_eg.html
	doc/html/math_toolkit/stat_tut/weg/neg_binom_eg.html
	doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_conf.html
	doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html
	doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html
	doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html
	doc/html/math_toolkit/stat_tut/weg/normal_example.html
	doc/html/math_toolkit/stat_tut/weg/normal_example/normal_misc.html
	doc/html/math_toolkit/stat_tut/weg/st_eg.html
	doc/html/math_toolkit/stat_tut/weg/st_eg/paired_st.html
	doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html
	doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_size.html
	doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_test.html
	doc/html/math_toolkit/stat_tut/weg/st_eg/two_sample_students_t.html
	doc/html/math_toolkit/synopsis.html
	doc/html/math_toolkit/threads.html
	doc/html/math_toolkit/tr1_ref.html
	doc/html/math_toolkit/trans.html
	doc/html/math_toolkit/tuning.html
	doc/html/math_toolkit/tutorial.html
	doc/html/math_toolkit/tutorial/non_templ.html
	doc/html/math_toolkit/tutorial/templ.html
	doc/html/math_toolkit/tutorial/user_def.html
	doc/html/math_toolkit/value_op.html
	doc/html/math_toolkit/zetas.html
	doc/html/math_toolkit/zetas/zeta.html
	doc/html/octonions.html
	doc/html/overview.html
	doc/html/perf.html
	doc/html/policy.html
	doc/html/quaternions.html
	doc/html/special.html
	doc/html/status.html
	doc/html/toolkit.html
	doc/html/using_udt.html
	doc/html/utils.html
2014-12-08 12:45:58 +00:00
jzmaddock
5b9d72131f [polygamma] Fix integer arithmetic bug. 2014-12-01 13:16:41 +00:00
pabristow
f9b2addcdc Improved docs and tests and graphs. 2014-11-27 16:44:42 +00:00
jzmaddock
f064f2e36b [signbit] Fix call to work when signbit is a macro. 2014-11-26 19:15:24 +00:00
jzmaddock
b4111f8312 [polygamma] Fix signed/unsigned comparison warning 2014-11-26 19:06:10 +00:00
jzmaddock
85b59d348b [Polygamma] Fix a few corner cases, and bail out early in reflection formula if n is too large. 2014-11-26 18:22:30 +00:00
jzmaddock
e21bca611f [polygamma] Remove series acceleration from polygamma_nearzero as it appears to make no real difference to the number of terms required. 2014-11-26 17:42:30 +00:00
jzmaddock
4194fea6d0 [polygamma] Fix integer overflow in branch check case, and bail out of transition code is the number of series evaluations is too high. 2014-11-24 18:08:31 +00:00
jzmaddock
a663232f38 [polygamma] Add two special cases for x = 1 and x = 0.5. 2014-11-22 18:37:31 +00:00
jzmaddock
e2cd2e72dc [polygamma] Document new method for negative x in code comments, simply some code, change table to coefficients to store only non-zero values. 2014-11-20 09:56:21 +00:00
jzmaddock
075f9f893b [polygamma] Change low order negative-x cases to use new polynomial method. Change expected error rates to match. 2014-11-18 18:27:21 +00:00
jzmaddock
495d4655b4 [polygamma] remove dead code. 2014-11-17 18:23:30 +00:00
jzmaddock
f4b86c2996 [polygamma] Switch to new better method for handling negative arguments. 2014-11-17 18:12:25 +00:00
jzmaddock
26f063eca4 Fix accuracy issue in cos_pi.
Add tests for cos_pi and sin_pi.
Doc regen.
2014-11-16 17:18:17 +00:00
jzmaddock
9d6df5d835 [polygamma] Remove some dead code and tidy up initialization and policy usage. 2014-11-14 17:05:41 +00:00
jzmaddock
2bcdfed1a4 [Polygamma] Remove dead code. 2014-11-08 11:03:45 +00:00
jzmaddock
dd92123098 [digamma] fix reference. 2014-11-07 16:57:18 +00:00
jzmaddock
50778a40c4 [digamma]Oops fix missing return statement on half integer special case. 2014-11-07 16:56:15 +00:00
jzmaddock
0e98fd90c2 [Polygamma] Add optimized trigamma version that uses rational approximations. 2014-11-07 16:32:41 +00:00
jzmaddock
8477de53b4 [polygamma]Fix spurious overflow for very large x. 2014-11-04 18:27:48 +00:00
jzmaddock
3478ee9c46 [polygamma] Fix GCC failures, a few bugs and forward policy arguments. Fix test data to be 128-bit safe. 2014-11-03 17:55:21 +00:00
pabristow
04c43aba75 Cosmetic tidy. 2014-11-03 12:11:50 +00:00
jzmaddock
d50cf889f6 Add basic thread safety and initialization code. 2014-11-03 12:01:11 +00:00
jzmaddock
eccec791c7 [polygamma] Fix spurious overflow in transition zone, update cot derivative to work to arbitrary level. 2014-11-03 11:50:10 +00:00
jzmaddock
e70f53e670 [Polygamma] Fix issues with small negative arguments for x.
Tidy up a couple of cosmetic coding issues.
2014-10-31 18:51:14 +00:00
jzmaddock
8438b8a84b [Polygamma] Extend derivatives-of-cot method to larger orders.
Extend test cases for negative x.
Fix missing return statement on error condition.
2014-10-31 18:07:01 +00:00
jzmaddock
31c345108c [polygamma] Fix gcc-11 test failures. 2014-10-30 17:13:39 +00:00
pabristow
397a3cf4ff Merge branch 'arcsine_dist' of https://github.com/boostorg/math into arcsine_dist 2014-10-30 12:15:13 +00:00
pabristow
2de39afe7e Fixed silly mistake causing real_concept tests to fail 2014-10-30 12:14:33 +00:00
jzmaddock
6bf9d2bffc [arcsine]Fix concept failures 2014-10-30 11:46:05 +00:00
jzmaddock
812122d56f Fix include order to be alphabetical, update copyright. 2014-10-30 11:13:31 +00:00
jzmaddock
3f58ab9009 Fix copyright info. 2014-10-30 11:11:50 +00:00
jzmaddock
081abc704a [zeta/polygamma]Add cache of odd-integer zeta values.
Fix even integer case to call fast closed-form code more often.
Fix initialization code to initializes new cache of even-integer values.
2014-10-30 11:08:36 +00:00
jzmaddock
8a36ba07d1 {Polygamma]Fix polygamma_nearzero to call correct zeta function overload. 2014-10-30 11:06:28 +00:00
jzmaddock
232e7af69b [polygamma] short circuit series evaluation when it can make no difference to the result. 2014-10-29 17:38:38 +00:00
jzmaddock
8362ab2a08 [polygamma]
Replace small-x expansion with one that's accelerated and avoids spurious overflow.
Also tweak selection logic, and reuse variables better.
2014-10-28 19:39:35 +00:00
pabristow
477e194490 Corrected previous failures using real_concept. tested locally OK on MSVC and gcc 4.8 2014-10-28 16:37:43 +00:00
pabristow
0a932fa52b Expanded tests from double, but errors - see email 27 Oct14 2014-10-27 15:51:54 +00:00
jzmaddock
a3bed60089 More test failure fixes. 2014-10-26 16:25:19 +00:00
jzmaddock
22bc7212e7 [Polygamma]
Hook up concept checks.
Move test instantiations into instances lib.
Fix a few test failures.
Add Nikhar's trigamma tests.
2014-10-26 09:42:11 +00:00
jzmaddock
dffdb444ee Expand test cases for negative x.
Add comment on the calculation of derivatives of cot(x).
2014-10-25 17:28:09 +01:00
jzmaddock
bda3331ed3 [Polygamma]
Fix digits_base10 to actually return the correct value!
Add support for negative x.
Add missing using declaration to digamma.
Update tests with negative x tests.
2014-10-24 18:50:37 +01:00
jzmaddock
f2ae6940ca [Polygamma]
Optimize zeta function for integer arguments.
2014-10-23 17:08:19 +01:00
jzmaddock
29e86c8fcb [Polygamma]
Extend existing digamma implementation to true multiprecision.
Add integer and half-integer test cases for digamma.
Change polygamma to call digamma when order is zero.
2014-10-23 11:42:57 +01:00
jzmaddock
d9ea302cff Hook up basic multiprecision digamma. 2014-10-23 09:59:08 +01:00
jzmaddock
4bc3b6076c [Polygamma]
Fix real_concept compilation and runtime.
Add digits_base10 support function to policies.
2014-10-21 19:03:26 +01:00
jzmaddock
5f89e70efd [Polygamma]
Add test cases.
Rewrite polygamma_atinfinityplus to avoid spurious underflow/overflow.
Rewrite polygamma_attransitionplus to call polygamma_atinfinityplus rather than have it's own routine.
Change condition which selects when polygamma_atinfinityplus can be called.
2014-10-21 13:12:26 +01:00
pabristow
716e7eff75 First draft of working docs. Need more tests. 2014-10-20 14:36:03 +01:00
jzmaddock
eb2525b516 Merge branch 'develop' into bernoulli-tgamma
Conflicts:
	doc/equations/bernoulli_numbers2.mml
	doc/equations/bernoulli_numbers2.png
	doc/equations/bernoulli_numbers2.svg
	doc/equations/generate.sh
	doc/equations/tangent_numbers.png
	doc/equations/tangent_numbers.svg
	doc/math.qbk
	include/boost/cstdfloat.hpp
	include/boost/math/policies/error_handling.hpp
	include/boost/math/special_functions/detail/bernoulli_details.hpp
2014-10-18 17:49:49 +01:00
pabristow
7d303aaab0 Initial rough drafts of arcsine (only committed so can pick up better diagnostics in error_handling from inf_dist branch) 2014-10-03 10:12:05 +01:00
jzmaddock
bd807c74e1 Fix more spurious overflows detected by Rocco Romeo. 2014-09-24 18:02:00 +01:00
jzmaddock
b471723bd1 Fix bug cases reported by Rocco Romeo:
* Add another approximation for x very small.
* Add code to handle cases where tgamma(a) would overflow.
* Add tests for the above.
2014-09-14 17:05:15 +01:00
jzmaddock
d1d6d5b063 Fix derivative of incomplete beta in special cases where a = b = 0.5 and b = 1.
Add additional tests to non-central F and T distributions to verify above fix.
Fixes https://svn.boost.org/trac/boost/ticket/10480.
2014-09-12 16:29:29 +01:00
jzmaddock
321d8f2eda Merge branch 'hyper_exponential' into develop 2014-09-08 18:12:52 +01:00
jzmaddock
17e4f40fce Revert "[distributions] Hyper-Exponential: changed return type of 'probabilities' and 'rates' from 'vector<...>' to 'vector<...> const\&' to allow users to do things like this: 'std::copy(he.probabilities().begin(), he.probabilities().end(), std::ostream_iterator<double>(std::cout, " "));'."
This reverts commit a8efc9a637.
2014-09-08 18:10:53 +01:00
jzmaddock
5d37faf873 Merge branch 'feature/hyperexponential_dist' of https://github.com/sguazt/math into hyper_exponential 2014-09-08 17:14:23 +01:00
sguazt
a8efc9a637 [distributions] Hyper-Exponential: changed return type of 'probabilities' and 'rates' from 'vector<...>' to 'vector<...> const\&' to allow users to do things like this: 'std::copy(he.probabilities().begin(), he.probabilities().end(), std::ostream_iterator<double>(std::cout, " "));'. 2014-09-07 10:29:09 +02:00
jzmaddock
f73ecae7f5 Add some tests for the error handlers. 2014-09-05 18:56:49 +01:00
jzmaddock
bc77596f23 Improve calculation of phase probabilities when normalizing so they really should add up to 1.
Allow slight tolerance in checking for sum of phase probabilities.
Add missing call to normalize in iterator constructor.
Remove asserts that duplicated the error handling code - better to provide consistent behavior via the error handlers.
Add comment to examples about other containers working equally well.
2014-09-03 19:25:20 +01:00
sguazt
43de825473 [distributions] Hyper-Exponential: BOOST_MSVC -> _MSC_VER (as _MSC_VER is always defined for MS VS, whereas BOOST_MSVC isn’t defined until *after* the first call to boost/config.hpp). Also, added MSVC pragma 4389. 2014-09-01 21:25:11 +02:00
jzmaddock
4a6cbc1135 Initializer-list constructors don't need to be templates - indeed it is better if they're not. 2014-09-01 18:14:35 +01:00
sguazt
f5cec49a60 [distributions] Hyper-Exponential: added include of 'iterator' for 'std::distance' and aesthetic changes. 2014-09-01 09:50:16 +02:00
sguazt
34e42a36c5 [distributions] Hyper-Exponential: added include file for macro BOOST_NO_CXX11_HDR_INITIALIZER_LIST and removed 'const\&' from 'std::initializer_list' (as from (Stroustrup,TCPL4e). 2014-08-31 23:22:15 +02:00
jzmaddock
60a6730fe2 Modify Marco's 1 and 2 arg constructors to use SFINAE to differentiate between iterators and ranges.
Add a 1 arg initializer list constructor.
Update tests accordingly.
2014-08-30 17:03:26 +01:00
sguazt
62ee849eab [distributions] Hyper-Exponential: added more constructors and class construction test case. 2014-08-28 10:12:41 +02:00
jzmaddock
08308ab945 Merge branch 'feature/hyperexponential_dist' of https://github.com/sguazt/math into hyper_exponential 2014-08-26 18:57:25 +01:00
sguazt
fa198a0b04 [distributions] Hyper-Exponential: clean-up. 2014-08-26 17:08:05 +02:00
jzmaddock
2e7eede435 Add comment linking to discussion. 2014-08-25 17:04:52 +01:00
jzmaddock
d8c97bec27 Add initializer_list support and tests. 2014-08-25 13:11:51 +01:00
sguazt
c693510588 [distributions] Hyper-Exponential: use exponential's PDF in hyperexponential PDF. 2014-08-25 10:45:08 +02:00
jzmaddock
d424e2ef23 Fix some more warnings and enable tests for all the test types. 2014-08-24 18:40:21 +01:00
jzmaddock
b925b0c0e8 Add hyperexponential_distribution to concept checks, fix for warnings/bugs. 2014-08-24 15:21:36 +01:00
jzmaddock
ffc483f907 Up precision of tests.
Fix some conceptual compiler errors in hyperexponential_distribution.
2014-08-24 09:29:11 +01:00
Robin Eckert
fb835eb029 fix rounding errors
- the direct predecessor/successor for 0.5/-0.5 was formerly wrongly
   rounded to 1.0/-1.0 rather than 0.0

 - integral numbers of the format 1xxxxxx1 filling mantissa completely
   were formerly rounded to the next integral away from zero
2014-08-23 19:42:02 +02:00
sguazt
0735d8177e [distributions] Hyper-exponential: range arguments to contructor should be passed by const-ref. 2014-08-22 18:32:22 +02:00
sguazt
3621b083e2 [distributions] Hyper-Exponential: registered tests and fixed some test-related issue. 2014-08-22 16:37:35 +02:00
sguazt
144db22c2f [distributions] Hyper-Exponential: solved 'unused parameter' warning in 'mode' function. 2014-08-22 15:06:12 +02:00
sguazt
412bba6a24 [distributions] Added Hyper-Exponential distribution. 2014-08-22 15:01:23 +02:00
Kohei Takahashi
3c07a49aac Don't check long double capability for BOOST_CSTDFLOAT_xx.
For example IA-32, those macros suggest long double as 80-bit floating
  point type, however some math runtime implementations are broken for
  long doublle even if supported by compiler (e.g. FreeBSD 9, ...).

Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-08-18 05:13:00 +09:00
jzmaddock
97cdf3ca3a Disable some msvc warnings, see: d02ae84866 (commitcomment-7257997) 2014-08-04 19:11:53 +01:00
jzmaddock
6e8145a076 Add code to profile changes to toms748_solve.hpp to see if their effect is beneficial.
Change the heuristics used when the initial guess is really bad.
Change example to return a fail-code when an error occurs.
2014-07-31 12:48:23 +01:00
Marcel Raad
7621f1e931 Remove redundant variable declarations
... to silence compiler warnings about variable shadowing.
2014-07-12 12:44:45 +02:00
Rogier van Dalen
d9ba6ae8b0 Fix missing include 2014-07-10 15:45:49 +01:00
jzmaddock
866492cb02 remove dependency to tr1 - we don't really need it anymore. 2014-06-13 13:32:08 +01:00
jzmaddock
2f65e6cb65 Fix typos. 2014-06-13 08:20:14 +01:00
jzmaddock
ee8edd4c33 Fix up functions that were returning tools::max_value to call overflow_error instead.
See https://svn.boost.org/trac/boost/ticket/10111.
2014-06-12 13:50:30 +01:00
jzmaddock
e20b44e8a9 Move headers that are mostly used for internal maintenance and testing into an "include_private" directory - this is to reduce dependencies on other Boost modules when using this library. 2014-06-09 16:08:35 +01:00
jzmaddock
09fceb2142 Merge branch 'develop' of https://github.com/boostorg/math into develop 2014-05-28 13:25:10 +01:00
jzmaddock
7cb3316d06 Fix for 106-bit "double double" types. 2014-05-28 13:24:40 +01:00
Kohei Takahashi
c50b5a8bcc Fix missing header
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-05-27 11:07:23 +09:00
jzmaddock
a29a74bdaf Add needed include to config.hpp, fix runtime checks under valgrind in erf_inv initialization, see https://svn.boost.org/trac/boost/ticket/10005 2014-05-26 19:14:49 +01:00
jzmaddock
ab6cc524dd Fix Halley iteration to work when derivative is zero, even though the second derivative is not, see https://svn.boost.org/trac/boost/ticket/10046. 2014-05-25 15:35:08 +01:00
jzmaddock
e6996e1188 Fix round and trunc functions to work with integer arguments, see https://svn.boost.org/trac/boost/ticket/10066. 2014-05-24 09:47:21 +01:00
jzmaddock
5a9688e4ef Apply fix from https://svn.boost.org/trac/boost/ticket/9884 2014-04-14 15:49:43 +01:00
jzmaddock
0c01f682eb Fix some corner cases in negative_binomial_distribution, see https://svn.boost.org/trac/boost/ticket/9834 2014-04-06 11:59:10 +01:00
jzmaddock
88b1695b58 More tentative apple fixes. 2014-04-04 17:20:09 +01:00
jzmaddock
1c1ae42e6e Tentative fix for more clang/apple failures. 2014-04-04 17:15:19 +01:00
jzmaddock
9199b09304 Fix missing policy parameter in some SF forwarding calls. See https://svn.boost.org/trac/boost/ticket/9833. 2014-04-04 15:08:27 +01:00
jzmaddock
2d0d36d865 Provide a further customization point for constants initialization (to allow for explicit construction). 2014-04-02 16:47:36 +01:00
jzmaddock
41fb7e1c91 Tentative fix for clang/libc++ on Apple issue. 2014-03-31 18:47:13 +01:00
jzmaddock
a0ad3d8764 Add some static casts to avoid C++11 errors in initializer lists. 2014-03-28 18:15:59 +00:00
jzmaddock
fa1896fbc4 Make sure the forward declarations get included before the real definitions in all headers. 2014-03-27 09:17:33 +00:00
jzmaddock
ef123b3504 Fix GCC release mode failures in test_next.cpp by explicitly testing SSE2 settings in next.hpp. 2014-03-22 19:16:36 +00:00
jzmaddock
4087c44efd Fix random number usage in the post-TR1 world. 2014-03-21 12:11:49 +00:00
jzmaddock
200f384c14 Tentative fix for gcc-4.7 and earlier failures. 2014-03-21 11:36:57 +00:00
jzmaddock
6bddb5be85 Merge branch 'cstdfloat' into develop
Conflicts:
	doc/overview/roadmap.qbk
	example/cstdfloat_example.cpp
	include/boost/cstdfloat.hpp
	test/test_gamma.cpp
	test/test_gamma.hpp
2014-03-19 13:38:42 +00:00
jzmaddock
296173dbe2 Some mostly cosmetic changes to the cstdfloat docs. 2014-03-17 16:58:58 +00:00
jzmaddock
cae085c873 More fixes for factorials and gamma function ratios from Rocco Romeo. 2014-03-16 09:59:11 +00:00
jzmaddock
3e338ec355 Fix some corner cases in tgamma_delta_ratio, with thanks to Rocco Romeo. 2014-03-14 18:18:22 +00:00
jzmaddock
c3e530716a Merge branch 'cstdfloat' of https://github.com/boostorg/math into cstdfloat 2014-03-13 18:43:28 +00:00
jzmaddock
80894e9025 Fix errors in corner cases of rising/falling factorials and gamma ratios raised by Rocco Romeo. 2014-03-13 16:30:10 +00:00
ckormanyos
849853f337 In <cstdfloat>, correct (again) the handling of cancellation errors in 128-bit sinh(x). 2014-03-12 21:56:08 +01:00
ckormanyos
aae19f5f08 In <cstdfloat>, correct the handling of cancellation errors in 128-bit sinh(x). 2014-03-12 21:23:44 +01:00
ckormanyos
9876cecd8f In <cstdfloat>, properly handle cancellation errors in 128-bit sinh(x). 2014-03-12 20:26:13 +01:00
jzmaddock
c9d65cfa1f Add basic tests for __float128 functions.
Fix one complex function.
Add factorials test.
2014-03-10 18:25:08 +00:00
jzmaddock
9f8ffee4b7 Disable some native operators when --fast-math or the Intel compiler is in use as they simply don't work in that environment, see https://svn.boost.org/trac/boost/ticket/9748#comment:3 2014-03-10 09:40:51 +00:00
jzmaddock
b4e1fe2375 Fix some compile errors in instrumentation code and extend a little into the Bessel functions. 2014-03-10 09:39:38 +00:00
jzmaddock
52a2b9edc3 Make sure all the error handlers return a result and don't just rely on an exception being thrown. 2014-03-05 09:13:26 +00:00
ckormanyos
8fd67e5edf In <boost/cstdfloat.hpp>, improve clarity of a compiler switch and make better comments. 2014-03-01 23:45:15 +01:00
jzmaddock
4fef819a00 Fix debug build. 2014-02-28 19:07:51 +00:00
jzmaddock
d3780ea58a Change to use C++11 <random> when available. 2014-02-28 13:40:10 +00:00
ckormanyos
3eca6efc55 In <boost/cstdfloat.hpp> and its quadmath part, do style modifications and add some informative comments. Undefine the internal BOOST_NO_FLOAT128_T from public availability. 2014-02-27 21:03:44 +01:00
jzmaddock
049f707a67 Fix Linux GCC failures 2014-02-27 17:07:25 +00:00
jzmaddock
b4759e553b Enable broken <cmath> function overloads only when needed. 2014-02-26 19:15:23 +00:00
jzmaddock
8459a54c90 Add missing return statements. 2014-02-26 19:09:29 +00:00
ckormanyos
c26b5ed14a In <boost/cstdfloat.hpp>, correct the complex pown() helper function. 2014-02-25 22:04:46 +01:00
ckormanyos
c5dd006e01 In <boost/cstdfloat.hpp>, correct 128-bit tgamma() function for negative argument. 2014-02-24 23:39:15 +01:00
ckormanyos
d5b51e0972 In <boost/cstdfloat.hpp>, for 128-bit float, include support for -x in tgamma() patch. 2014-02-24 22:28:46 +01:00
ckormanyos
05134be404 In <boost/cstdfloat.hpp>, fixed the 128-bit float helper function pown(). Do some additional cleanup. 2014-02-24 21:38:00 +01:00
ckormanyos
88dddb0710 Merge branch 'cstdfloat' of https://github.com/boostorg/math into cstdfloat 2014-02-24 20:35:47 +01:00
ckormanyos
cf88eeaaf4 In <boost/cstdfloat.hpp>, fix 128-bit exp() function for negative argument. 2014-02-24 20:35:07 +01:00
jzmaddock
108785d553 Add missing pow overload to cstdfloat.hpp.
Fix Intel-Windows compilation of the tests.
Make the float128 tests an explicit test case in the Jamfile.
2014-02-24 18:53:50 +00:00
ckormanyos
aa31a5b5d6 In <boost/cstdfloat.hpp>, patch quadmath functions asinh, acosh, atanh (missing functions), and tgamma (crashes on many GCCs like MinGW 4.7, 4.8). 2014-02-23 22:22:43 +01:00
ckormanyos
12720c6231 In <boost/cstdfloat.hpp>, remove the dependency on Boost.Math.Constants for 128-bit <cmath> support. 2014-02-23 20:01:02 +01:00
ckormanyos
a0454df5e4 Move cstdfloat details to <boost/math/cstdfloat/*.hpp>. 2014-02-23 18:46:46 +01:00
jzmaddock
b9cd3c4417 Fix from Rocco Romeo to correct sign of infinite result in tgamma. 2014-02-20 10:46:54 +00:00
jzmaddock
d9f626a942 Fix from Rocco Romeo to correct sign of infinite result in tgamma. 2014-02-20 10:44:40 +00:00
jzmaddock
287d66d124 Merge branch 'develop' of https://github.com/boostorg/math into develop 2014-02-18 18:30:53 +00:00
jzmaddock
d8c74aa1e3 Fix some (possibly hypothetical) error handling issues. 2014-02-18 18:30:24 +00:00
jzmaddock
c00cc0b889 Fix some (possibly hypothetical) error handling issues. 2014-02-18 18:29:42 +00:00
PABristow
55bc21684b Merge branch 'develop' of https://github.com/boostorg/math into develop 2014-02-18 17:29:16 +00:00
PABristow
bf40c60296 Random variate can be infinite. 2014-02-18 17:21:11 +00:00
jzmaddock
0028c59d7c Fix for tgamma(x) where x < 0 and denorm. 2014-02-16 16:24:59 +00:00
ckormanyos
3391f44fab In <boost/cstdfloat.hpp>, implement granular files. 2014-02-16 13:41:00 +01:00
jzmaddock
7a823466ca More fixes from Rocco Romeo: do the correct thing near a small negative integer, and handle denormalized inputs correctly. 2014-02-15 19:19:44 +00:00
jzmaddock
118a93e3a6 Add tests for cstdfloat.hpp defined types.
Fix Math code to not use lexical_cast for constants for boost::floatmax_t when that type is __float128.
Fix constant usage so it doesn't break when the suffix is "Q".
2014-02-15 11:14:00 +00:00
jzmaddock
2c0eee7cd0 Quash some VC12 warnings. 2014-02-13 16:57:45 +00:00
jzmaddock
43f0f18591 Fix spurious overflows in tgamma/lgamma. Update tests to verify.
Thanks to Rocco Romeo for these.
2014-02-13 09:42:46 +00:00
jzmaddock
f9178d6f48 Fix some signed/unsigned inconsistencies (and warnings).
See https://svn.boost.org/trac/boost/ticket/9646.
2014-02-11 13:20:25 +00:00
jzmaddock
91ea175da2 Remove register keyword: it's deprecated in C++11.
Fixes https://svn.boost.org/trac/boost/ticket/9639.
2014-02-11 13:09:58 +00:00
jzmaddock
b0c9af5e61 Another attempt to accurately detect when we're in FTZ mode.
Fixes test failures for Win32 executables run on Win64.
2014-02-10 16:51:24 +00:00
Nikhar Agrawal
d168fba2df Merge branch 'bernoulli-tgamma' of https://github.com/boostorg/math into bernoulli-tgamma 2014-02-07 03:06:42 +05:30
Nikhar Agrawal
0209dced1d Removed unnecessary upfront bernoulli number calculation now that they can be cached 2014-02-07 03:04:55 +05:30
jzmaddock
fe6f54ac57 Fixes for VC11/12 x64 test failures: exp(-INF) returns -INF on type float! 2014-02-06 18:35:59 +00:00
Christopher Kormanyos
ca054f9e78 In Bessel / Airy zeros, reliance on numeric_limits for non-specialized types corrected. 2014-01-29 22:38:13 +01:00
Christopher Kormanyos
eee4394266 In Bessel / Airy zeros, remove use of numeric_limits<> in root calculations. 2014-01-29 22:02:29 +01:00
Christopher Kormanyos
4ea3d12425 Removed the use of std::numeric_limits<> in Bessel / Airy zero calculations in favor of tools is boost::math::tools. 2014-01-29 21:54:50 +01:00
jzmaddock
1b84923f70 Make sure internal calls to expm1/log1p are properly qualified and pass a policy. 2014-01-24 11:59:59 +00:00
jzmaddock
9baf90f56a Merge branch 'bessel-derivatives' into develop 2014-01-23 16:55:55 +00:00
jzmaddock
7613d0dd45 Rename Bessel derivatives to primes. 2014-01-21 19:08:14 +00:00
Christopher Kormanyos
82824159ed Clean up cbrt_epsilon and <cstdfloat.hpp>. 2014-01-19 21:24:55 +01:00
Christopher Kormanyos
f9d81b179c Correct a bug that I caused in cbrt_epsilon(). But I don't know why cbrt did not work? 2014-01-19 21:21:12 +01:00
jzmaddock
21d8d99e6f Add concept checks for Bessel derivatives and fix up resulting errors. 2014-01-19 17:42:24 +00:00
jzmaddock
29a6f932f1 Add forward declarations for Bessel derivatives. 2014-01-19 16:45:28 +00:00
jzmaddock
d5099fc86a Suppress some msvc warnings. 2014-01-19 16:44:49 +00:00
jzmaddock
7c82510c66 Merge https://github.com/AntonBikineev/bessel-derivatives into branch bessel-derivatives preserving history as best we can. 2014-01-19 13:14:12 +00:00
jzmaddock
431284519f Move directory structure around to match what we need for the merge. 2014-01-19 13:06:47 +00:00
Christopher Kormanyos
c63676b055 Improve small argument handling in the generic tgamma(). Thereby add new function cbrt_epsilon() in tools/precision.hpp. 2014-01-19 13:10:31 +01:00
Christopher Kormanyos
572562d271 Merge branch 'bernoulli-tgamma' of https://github.com/boostorg/math into bernoulli-tgamma 2014-01-19 11:24:20 +01:00
Christopher Kormanyos
5fc976c306 Move header <cstdfloat.hpp> to mainstream Boost. 2014-01-19 11:22:40 +01:00
Nikhar Agrawal
036945c71f Added work done on polygamma function during GSoC 2014-01-19 15:21:34 +05:30
Christopher Kormanyos
0557af86a3 In <cstdfloat.hpp>, add support for the BOOST_NO_FLOAT128_T preprocessor definition. 2014-01-18 21:42:23 +01:00
Christopher Kormanyos
9c62c70dff Remove float24_t from <cstdfloat.hpp>. Imrove the preliminary docs. 2014-01-18 15:18:55 +01:00
Christopher Kormanyos
3d61999cea A few tweaks in <cstdfloat.hpp> and preliminary text-based docs. 2014-01-18 15:05:16 +01:00
Christopher Kormanyos
deb2daac04 In <cstdfloat.hpp> corrected the number of digits in float24_t. 2014-01-15 11:38:10 +01:00
Christopher Kormanyos
45a097e93b To <cstdfloat.hpp>, add support for tiny floats float16_t and float24_t. 2014-01-14 22:40:24 +01:00
Christopher Kormanyos
93f0d2271c Improve the comments in <ctsdfloat.hpp>. 2014-01-13 22:42:44 +01:00
Christopher Kormanyos
a8eff735fd Re-correct the logic of un-defines in <cstdfloat.hpp>. 2014-01-13 20:21:33 +01:00
Christopher Kormanyos
cd6f694730 Improve clarity of <cstdfloat.hpp>. 2014-01-13 20:00:56 +01:00
Christopher Kormanyos
6855c35598 In <cstdfloat.hpp>, add support for __float128 from GCC's libquadmath. 2014-01-12 19:35:38 +01:00
Christopher Kormanyos
83ca3c282b <cstdfloat> now stops at the least of float, double, or long double when querying <float.h>. 2014-01-12 15:52:51 +01:00
Christopher Kormanyos
d6bbde4a84 Clean up comments, etc. in preliminary <cstdfloat.hpp>. 2014-01-11 12:22:12 +01:00
Christopher Kormanyos
af02c1634e Correct errors found via GCC for AVR tiny 8-bit microcontroller. 2014-01-10 23:20:00 +01:00
Christopher Kormanyos
cdc7b3b8cc Improved floating-point type detection for a wider range of compilers. 2014-01-10 22:49:32 +01:00
Christopher Kormanyos
caf895fd23 Manual merge from bernoulli-numbers branch to bernoulli-tgamma branch. 2014-01-10 20:25:15 +01:00
Christopher Kormanyos
16efa7b842 Correct the min/max values in the macros. 2014-01-10 20:15:09 +01:00
Christopher Kormanyos
e373870c01 Preliminary concept implemntation of <cstdfloat>. 2014-01-10 19:37:33 +01:00
Christopher Kormanyos
c363d125f4 Initial commit of a very rudimentary sketch of <cstdfloat>. 2014-01-10 08:36:28 +01:00
Christopher Kormanyos
cd74da0ed1 Add tiny argument treatment to multiprecision tgamma(). Add tools cbrt_epsilon(). 2014-01-10 08:35:43 +01:00
jzmaddock
1706a3c2b6 Improve error messages from overflow. 2014-01-09 10:17:01 +00:00
Christopher Kormanyos
9c6f195e4d Implement cubed root of epsilon and preliminary multiprecision tgamma() and lgamma() for very small argument. 2014-01-08 22:58:11 +01:00
jzmaddock
c102fb62e9 Merge branch 'bernoulli-tgamma' into bernoulli-numbers 2014-01-07 13:06:14 +00:00
jzmaddock
49b30df548 Fix the order in which recursion occurs so that a) we don't end up dividing by zero if |z| < epsilon, and b) don't lose precision when z is close to epsilon. 2014-01-06 17:24:20 +00:00
Christopher Kormanyos
34ddaf71b5 In multiprecision lgamma() as well as tgamma() now use factorial for small unsigned integer arguments. 2014-01-05 21:23:33 +01:00
jzmaddock
5a4d1a85af Forward to tabulated factorials when possible: fixes absurdities like lgamma(1) != 0 which occur otherwise. 2014-01-05 17:49:12 +00:00
Christopher Kormanyos
8aa1b7068e Support multiprecision tgamma() and lgamma() for types without a specialization of numeric_limits. 2014-01-05 15:33:20 +01:00
Christopher Kormanyos
1b1b6b423d Corrected error in sign of lgamma() for multiprecision. But still more test errors. 2014-01-05 14:48:43 +01:00
Christopher Kormanyos
d488669955 Improve some comments for multiprecision tgamma() and lgamma(). 2014-01-04 21:47:11 +01:00
Christopher Kormanyos
06a2fcf887 Add a convergence condition to Stirling's approximation in multiprecision tgamma() and lgamma(). 2014-01-04 20:12:51 +01:00
Christopher Kormanyos
67fb4fd303 Rework some comments. 2014-01-03 22:19:34 +01:00
Christopher Kormanyos
6d376cbc23 Finish implementing John's suggestions for multiprecision tgamma() and lgamma(). 2014-01-03 22:08:06 +01:00
Christopher Kormanyos
02c4e88d5e Start implementing John's suggestions for multiprecision tgamma() and lgamma(). 2014-01-03 21:13:48 +01:00
Christopher Kormanyos
a94b332009 Preliminary multiprecision tgamma() and lgamma() implementations. 2014-01-03 15:46:14 +01:00
Christopher Kormanyos
0b77170d50 Rework the error handling for multiprecision tgamma() and lgama(). 2014-01-03 11:36:23 +01:00
Christopher Kormanyos
7e1f271357 Remove some compiler warnings VC x64 size_t versus int / unsigned. 2014-01-02 20:36:58 +01:00
Christopher Kormanyos
b43386f869 Merge Bernoulli from branch bernoulli-numbers to branch bernoulli-tgamma. 2014-01-02 20:35:07 +01:00
Christopher Kormanyos
38d9e32786 Preliminary multiprecision tgamma() and lgamma(), phase of lgamma() needs work. 2014-01-02 20:25:17 +01:00
jzmaddock
f0c58c7e7f Fix some MSVC warnings. 2014-01-02 17:37:19 +00:00
Christopher Kormanyos
68113ef5d6 Remove some compiler warnings for VC and x64 code. 2014-01-02 18:11:27 +01:00
Christopher Kormanyos
61f36e60fc Continue work on multiprecision tgamma() and lgamma(). 2014-01-02 18:11:03 +01:00
jzmaddock
2268c52d7a Add Chris's optimized expression for the asymptotic formula.
Fix some bugs in use of asymptotic formula (2N vs N mixup).
2014-01-02 16:59:26 +00:00
Christopher Kormanyos
f206e220a1 Manual merge from branch bernoulli-numbers to branch bernoulli-tgamma. 2014-01-02 16:09:38 +01:00
Christopher Kormanyos
7dff191552 Repaired some typos in the multiprecision code in gamma_imp_bernoulli(). 2014-01-02 14:29:48 +01:00
Christopher Kormanyos
6db6405d54 Refactor the multiprecision code of gamma_imp_bernoulli(). 2014-01-02 14:22:05 +01:00
jzmaddock
7b2356e796 Add some needed typecasts for x64 platform 2014-01-02 12:54:46 +00:00
jzmaddock
af95975e2e Add include test.
Improve error handling and overflow-estimation in bernoulli_details.hpp.
2014-01-02 11:54:44 +00:00
jzmaddock
49af977a28 Merge branch 'bernoulli-numbers' of https://github.com/boostorg/math into bernoulli-numbers 2014-01-02 09:32:09 +00:00
jzmaddock
7484e888a4 Fix error message strings. 2014-01-02 09:31:48 +00:00
Christopher Kormanyos
03e4dbc8c6 Continued work on tgamma() for multiprecision. 2014-01-02 00:08:21 +01:00
Christopher Kormanyos
825c2b97fd Work on tgamma() multiprecision code. 2014-01-01 22:39:00 +01:00
Christopher Kormanyos
d0da0e6020 Simplify the overflow index calculation (now based on root-finding). 2014-01-01 20:28:00 +01:00
Christopher Kormanyos
d44e95c59a Use ACM TOMS 748 bracketed root finding to estimate the index of the B2n that might overflow. 2014-01-01 18:20:12 +01:00
Christopher Kormanyos
49759f10b9 Correct Bernoulli-log estimation formula. Remove some, but not all, warnings for x64 size_t versus int, unsigned. 2014-01-01 15:56:18 +01:00
Christopher Kormanyos
b849611732 Corrected the Luschny approximation of log(b2n). 2013-12-31 18:03:11 +01:00
Christopher Kormanyos
bc105590a2 Preliminary tests of tgamma(). The undefined_lanczos is hard-coded. 2013-12-31 18:02:37 +01:00
Christopher Kormanyos
e02a7a5695 Merge branch 'bernoulli-numbers' of https://github.com/boostorg/math into bernoulli-tgamma 2013-12-31 17:28:29 +01:00
Nikhar Agrawal
58206f08b7 changed tgamma using bernoulli to mimic previous lanczos implementation for z<=-20 2013-12-31 18:51:31 +05:30
Nikhar Agrawal
6072e5f1a2 Added gamma file that uses Bernoulli implementation from gsoc work. The bernoulli using gamma function is currently called using gamma_imp_bernoulli(). Changes need to be further made. 2013-12-31 18:09:17 +05:30
jzmaddock
72934d6b24 Make parameters const consistent.
Add support for UDT's not convertible from long long.
2013-12-31 09:48:24 +00:00
jzmaddock
5b5550222a Fix issues raised from the regression tests: some using declaration in the Bessel code, and some changed assumptions in the airy-zeros. 2013-12-30 09:44:11 +00:00
jzmaddock
3bc0ec66c3 Hook up the concept checks. 2013-12-29 18:46:39 +00:00
jzmaddock
36d5698421 Fix buggy overflow check.
Add B2n overflow test.
2013-12-29 18:00:21 +00:00
jzmaddock
2642c41b22 Fix GCC test failure. 2013-12-29 17:14:32 +00:00
jzmaddock
c5dde54a13 Fix gcc compiler failures 2013-12-29 10:49:27 +00:00
jzmaddock
05b8bd016c Merge branch 'bernoulli-numbers' of https://github.com/boostorg/math into bernoulli-numbers
Conflicts:
	include/boost/math/special_functions/detail/bernoulli_details.hpp
2013-12-29 09:46:40 +00:00
jzmaddock
5c628a3700 Enable tangent numbers.
Fix several error handling issues.
2013-12-29 09:40:15 +00:00
Christopher Kormanyos
3fc1266dba Merge branch 'bernoulli-numbers' of https://github.com/boostorg/math into bernoulli-numbers
Conflicts:
	include/boost/math/special_functions/bernoulli.hpp
2013-12-28 19:40:14 +01:00
Christopher Kormanyos
5330a48cc4 Include header bernoulli.h. 2013-12-28 19:25:09 +01:00
Christopher Kormanyos
bdd113c2c5 Use atomic enumeration member from std, not boost. 2013-12-28 19:24:48 +01:00
Christopher Kormanyos
ce39ae3802 Consist input parameters for Bessel/Airy zeros. 2013-12-28 19:23:37 +01:00
jzmaddock
5991ef3e9c Move unchecked_bernoulli_b2n over to new header and add to tests. 2013-12-28 18:18:19 +00:00
jzmaddock
5dba5e7785 Commit test case.
Refactor into class-based details, and split big tables off into new header.
2013-12-28 18:12:33 +00:00
jzmaddock
01e943386a Fix namespace used for atomic operations. 2013-12-28 16:46:42 +00:00
jzmaddock
e8a72fe32d Move Nikhar Agrawal's Bernoulli code into mainstream Boost. 2013-12-28 16:28:15 +00:00
jzmaddock
1bdcacf7bb Clean up negative argument usage in Bessel I0 and I1: negative arguments are handled at a higher level, so strip out support for them here and add an assert. See https://svn.boost.org/trac/boost/ticket/9512. 2013-12-23 09:49:28 +00:00
jzmaddock
5492dce1ed Add and document options to enable/disable __float128 usage explicitly, see: https://svn.boost.org/trac/boost/ticket/9240 2013-12-22 18:01:11 +00:00
John Maddock
7884aa6666 Add comments and fixes to FPU flags manipulation.
[SVN r86711]
2013-11-15 18:24:31 +00:00
John Maddock
0a5a045fee Fixes for digamma and zeta based on bug reports by Rocco Romeo.
[SVN r86550]
2013-11-03 17:55:22 +00:00
John Maddock
bcf4ac887e Allow Boost.Math to be used without RTTI.
Fixes #9317.

[SVN r86517]
2013-10-29 17:16:09 +00:00
John Maddock
6d7249a357 Prevent spurious underflow in Bessel K.
[SVN r86472]
2013-10-27 09:23:16 +00:00
John Maddock
964435a350 Previous commit failed for types with an extended exponent range - use logarithms rather than assuming the result is zero.
[SVN r86346]
2013-10-18 08:56:42 +00:00
John Maddock
57b40ac443 Fix for sph_bessel when v is large and x is small.
[SVN r86343]
2013-10-17 18:21:56 +00:00
Stephen Kelly
7660f2dd3c Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
Process #ifndef...#else...#endif blocks.

[SVN r86245]
2013-10-11 23:17:48 +00:00
John Maddock
341c70ccee Improve quantiles of discrete distributions to round trip integers more often.
Fixes #9183.

[SVN r86205]
2013-10-08 17:17:27 +00:00
Stephen Kelly
805e8b67d7 Math: Remove obsolete GCC version checks.
[SVN r86071]
2013-09-30 15:59:51 +00:00
Stephen Kelly
6a7ed7a92c Math: Remove use of obsolete macro
BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS was defined for old
DMC, which is no longer supported.

 https://svn.boost.org/trac/boost/changeset/85272

[SVN r86042]
2013-09-30 00:35:59 +00:00
John Maddock
c11e570ec0 Fix use of student's t approximation to inverse so we don't get 1 and 0 as the result.
[SVN r85966]
2013-09-26 18:32:55 +00:00
Stephen Kelly
9f5b46760a Math: Remove obsolete MSVC version check.
[SVN r85930]
2013-09-26 09:40:30 +00:00
Stephen Kelly
c118e1fdf5 Remove use of obsolete BOOST_EXPLICIT_TEMPLATE_TYPE{,_SPEC} macros.
[SVN r85894]
2013-09-25 10:28:56 +00:00
Stephen Kelly
8e8f2d37df Remove use of BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
[SVN r85893]
2013-09-25 10:28:28 +00:00
Paul A. Bristow
394b90801a Order of test for Trac #9126 in logistic and comments.
[SVN r85790]
2013-09-19 16:16:20 +00:00
John Maddock
f885891714 Suppress warning in fraction.hpp.
Fix internal consistency of argument reduction in elliptic integrals when the argument is very close to a multiple of PI/2.
Fixes #9107.
Fixes #9104.

[SVN r85678]
2013-09-15 16:56:43 +00:00
John Maddock
f50e0f1f9b Fix GCC -Wshadow warnings.
[SVN r85667]
2013-09-14 16:07:45 +00:00
John Maddock
eea2f238ed Fix order of error checks.
Fixes #9042.

[SVN r85601]
2013-09-08 08:46:18 +00:00
John Maddock
a3e3e86eaf Fix bug in incomplete beta inverse estimation routine (when estimating from student's t).
Add special cases to incomplete beta and inverse for a=b=0.5 and b=1.
Added tool for generating high precision gamma function test values.

[SVN r85572]
2013-09-05 15:56:17 +00:00
Paul A. Bristow
041dffcf2e Added missing version of overflow error handling to include a val parameter.
[SVN r85414]
2013-08-21 10:49:40 +00:00
John Maddock
f571156b54 Made a few core functions usable with long double even when there is no std lib long double support.
Fixes #8940.

[SVN r85188]
2013-08-02 08:30:04 +00:00
John Maddock
7858278bec Fix gcc-4.8.x warnings.
Fix some Mingw failures.
Fixes #8855.

[SVN r85131]
2013-07-23 11:09:47 +00:00
John Maddock
30193aee08 Fix Thomas Luu's approximation.
[SVN r85103]
2013-07-22 11:50:26 +00:00
John Maddock
fc451ee936 Don't throw exceptions from itrunc/iround if all we're doing is checking to see if the argument is an integer.
Don't propagate no-throw policies inside MPFR's itrunc/iround.
Use normal approximation to student's t quantile when the degrees of freedom is big enough.
Fixes #8837.

[SVN r85075]
2013-07-18 17:31:42 +00:00
John Maddock
858aa989c9 Patch from Thomas Luu for the case where Pearson's approximation goes negative.
[SVN r85074]
2013-07-18 17:09:02 +00:00
John Maddock
e915b95e05 Fix formula used in non central chi squared quantile, and document code better.
[SVN r85034]
2013-07-14 16:00:11 +00:00
John Maddock
4afe08b440 Fix overflow/underflow errors when x is very close to 2.
[SVN r84951]
2013-07-04 15:31:32 +00:00
John Maddock
a4fbc8bdae Fix for evaluation at float precision.
[SVN r84944]
2013-07-03 15:51:50 +00:00
John Maddock
dca59f0d25 Add test for things that are macros in C99 to ensure we call these correctly.
Refs #8732.
Fixes #8733.

[SVN r84917]
2013-06-30 11:05:21 +00:00
John Maddock
8243a35a5e Don't mix literal and non-literal initializers in one table - it causes the PGI compiler to generate incorrect code.
Refs #8621.

[SVN r84789]
2013-06-15 08:04:54 +00:00
John Maddock
fd33bddb6c Don't mix literal and non-literal initializers in one table - it causes the PGI compiler to generate incorrect code.
Refs #8621.

[SVN r84714]
2013-06-09 14:14:11 +00:00
John Maddock
c08785d7dd Minor fix for multiprecision types.
[SVN r84547]
2013-05-29 11:12:06 +00:00
John Maddock
1f0d223ba6 Try and suppress msvc warning.
Refs #8584.

[SVN r84355]
2013-05-18 17:54:46 +00:00
John Maddock
7f885fda28 Fix buggy last commit.
[SVN r83808]
2013-04-08 12:04:26 +00:00
John Maddock
c07c35a34e Refactored build process to improve compile times.
Fixed expression-template incompatibility in spherical_harmonic.hpp.
Fixed expression template issues in log1p_expm1_test.hpp and test_cbrt.hpp.

[SVN r83775]
2013-04-06 08:54:04 +00:00
John Maddock
6f086d3729 Remove outdated workarounds and simply code.
Fixes #8333.

[SVN r83748]
2013-04-03 17:45:33 +00:00
John Maddock
1fc563b576 disable __float128 constants in __STRICT_ANSI__ mode as GCC doesn't support them. Fix a bunch of warnings emitted by gcc-4.8.
[SVN r83632]
2013-03-29 19:01:05 +00:00
John Maddock
5197064879 Make use of lexical_cast (and hence multiprecision support) dependent on there being an iostreams lib. Should allow use on embedded platforms, especially WinCE.
Fixes #8327.

[SVN r83537]
2013-03-24 12:01:58 +00:00
John Maddock
31efbe8924 Reorganise header inclusion to minimise dependencies on <iostream> and <boost/lexical_cast.hpp>.
Refs #8327.

[SVN r83532]
2013-03-23 17:05:15 +00:00
John Maddock
6e626c1830 Fix edge case in Halley iteration where the derivative is flatlining.
Fix edge cases in poisson distribution quantile.
Fixes #8314.
Fixes #8308.
Update and regenerate docs.

[SVN r83512]
2013-03-21 13:01:50 +00:00
Paul A. Bristow
69f49b2b96 Made order of parameters match specification for ai and bi.
airy_bi_zero<T>(start_index, number_of_zeros, out_it, policies::policy<>());

[SVN r83415]
2013-03-13 15:04:22 +00:00
John Maddock
0716a1aad4 Restrict __float128 support to GCC only for now.
Fixes #8265.

[SVN r83369]
2013-03-09 11:32:51 +00:00
John Maddock
307d5ae933 Adjust tgamma_ratio failure rates, fix some clang warnings, plus a bug in error_handling.hpp that causes unitialized variable use in some situations.
[SVN r83360]
2013-03-08 12:16:13 +00:00
John Maddock
343d9ba8e6 Remove dependency on quadmath.h.
Fixes #8265.

[SVN r83356]
2013-03-08 11:33:04 +00:00
John Maddock
42b3d6bb0f Fix a couple of expression template support issues in bessel.hpp.
Add minimal support for __float128 - particularly numeric constant support.
Improve constant test cases.
Fix bug in zeta function tests.

[SVN r83342]
2013-03-07 09:17:09 +00:00
John Maddock
6c6e542ed4 Tighten up error handling is tgamma_ratio.
[SVN r83316]
2013-03-05 18:33:58 +00:00
John Maddock
cbaf7486e5 Fixes #8116.
[SVN r83283]
2013-03-03 16:32:30 +00:00
John Maddock
51dd944d85 Improve accuracy of tgamma_ratio when one argument is very small, thanks to ideas from Rocco Romeo.
[SVN r83250]
2013-03-02 18:59:50 +00:00
John Maddock
cd55f94984 Fix bug in zeta that results in an incorrect domain_error for -eps < s < 0.
Add new constant needed by fix.

[SVN r83228]
2013-03-01 13:18:07 +00:00
Paul A. Bristow
c3b76f5745 Added missing function definition for error message.
[SVN r83186]
2013-02-27 12:50:26 +00:00
Christopher Kormanyos
fd836efe63 Added exception handling to airy_ai_zero() and airy_bi_zero().
[SVN r83168]
2013-02-26 20:34:23 +00:00
Christopher Kormanyos
99f141004b Corrected edge cases for cyl_neumann_zero() with negative order.
[SVN r83167]
2013-02-26 20:33:20 +00:00
Christopher Kormanyos
f2be55beef Corrected cyl_neumann_zero() for negative order.
Improved the clarity of source level comments in the Bessel zero codes.

[SVN r83109]
2013-02-23 20:54:18 +00:00
Christopher Kormanyos
b2067a5baf Added support for negative order to cyl_neumann_zero().
[SVN r83095]
2013-02-23 12:50:45 +00:00
Christopher Kormanyos
3f67bdb96c Added support for the zeros of Jv with negative order v.
Added additional checks for the zero'th zero of Jv.

[SVN r83051]
2013-02-20 20:40:18 +00:00
John Maddock
c81974e215 Add missing link dependency to Paul Bristow's new example.
Fix tgamma bug reported by Rocco Romeo.
Update history.

[SVN r83011]
2013-02-19 17:02:50 +00:00
John Maddock
080adc5bbf Fix reflection formula for integer v.
[SVN r82948]
2013-02-17 13:26:12 +00:00
Christopher Kormanyos
8fa0f73e6b Add support for the first zero of Y0(x).
Add support for the zero'th zero of Jv(x), with v != 0.

[SVN r82934]
2013-02-16 20:22:28 +00:00
John Maddock
e0a7e6afdb Fix cyclic dependency.
Fixes #7999.

[SVN r82921]
2013-02-16 12:47:18 +00:00
John Maddock
60198aafca Fix raise_rounding_error to return the correct result (and type) when an error occurs.
Fixes #7905.

[SVN r82885]
2013-02-14 18:20:03 +00:00
Paul A. Bristow
72b3b1e735 unsigned m changed to int
[SVN r82874]
2013-02-14 14:34:01 +00:00
John Maddock
76cc581bce Refactor Bessel function code:
* Remove unused dead code.
* Improve and centralise asymptotic selection.
* Reorder algorithm selection in bessel_jy.
* Allow use of integer algorithms for arbitrary order - they're no slower than Steeds method which is also O(n).

[SVN r82816]
2013-02-11 12:12:50 +00:00
Paul A. Bristow
68d6cbc328 Comment out unused parameters /* pol */.
[SVN r82793]
2013-02-09 12:29:24 +00:00
John Maddock
0e2463bfd7 Tidy up policy usage and error handling in Bessel functions.
Change zero-finder functors to call top level Bessel functions.

[SVN r82792]
2013-02-09 11:56:52 +00:00
John Maddock
4d1e810132 Enable better error handling in bessel-zero code.
[SVN r82787]
2013-02-08 17:28:49 +00:00
Paul A. Bristow
419bb3aebb Added order change to parameters at calls.
[SVN r82772]
2013-02-07 14:23:13 +00:00
John Maddock
2be883f332 Reordered parameters to Bessel and Airy root finders.
Update to docs with references.

[SVN r82764]
2013-02-06 18:53:06 +00:00
John Maddock
b86772e095 Tweak airy zero interfaces.
Change output_iterator template param to OutputIterator.
Change iterator based functions to return iterator result.

[SVN r82689]
2013-02-02 17:32:50 +00:00
Christopher Kormanyos
3fce7d9639 Changed the order of the input parameters for Bessel zeros.
Improved the algorithms for Bessel zeros.
Added and improved the Airy zeros.


[SVN r82682]
2013-02-01 19:39:36 +00:00
John Maddock
ec31c53007 Fix forward declarations to match functions.
[SVN r82660]
2013-01-28 17:37:28 +00:00
John Maddock
8fc29b32b0 Fix misc. warning in bessel zero code.
[SVN r82657]
2013-01-28 11:50:45 +00:00
John Maddock
3c1dd01d04 Add Boost.Multiprecision integration concept checks.
Fix errors that result.

[SVN r82656]
2013-01-28 09:32:31 +00:00
John Maddock
e2ce70b935 Fix output iterator usage to meet conceptual requirements.
Remove use of long long constants and change to double as mpfr_class has no conversion from long long :(
Fix typos in math_fwd.hpp.
Add new functions to concept tests.

[SVN r82623]
2013-01-26 12:58:55 +00:00
Christopher Kormanyos
343f41df69 Re-corrected the behavior of Bessel zeros when used with multiprecision and et_on.
[SVN r82616]
2013-01-25 22:05:49 +00:00
Christopher Kormanyos
68e04a0bed Corrected Bessel zeros when used with a multiprecision type having et_on.
[SVN r82615]
2013-01-25 21:51:40 +00:00
John Maddock
4a64953dc7 Fix for SSE2 systems on Linux
[SVN r82608]
2013-01-25 16:53:36 +00:00
Christopher Kormanyos
d41e3642ed Added support for the zeros of cylindrical Bessel functions.
[SVN r82599]
2013-01-24 18:59:14 +00:00
John Maddock
ac8018ab48 Split test_instances lib up into even smaller blocks.
Fix a few gcc-mingw test failures.
Fix typo in spherical harmonic docs.

[SVN r82598]
2013-01-24 17:49:57 +00:00
John Maddock
fd8770b9b5 Modify constants code to return a constant reference when returning a cached value, while still maintaining value semantics and constexpr support for built in types.
[SVN r82585]
2013-01-22 12:16:51 +00:00
John Maddock
5ba6a44ad9 Fix comments in code.
[SVN r82567]
2013-01-20 17:10:18 +00:00
John Maddock
a412b58561 More Bessel function improvements from Rocco Romeo.
Update and regenerate docs.

[SVN r82565]
2013-01-20 17:04:01 +00:00
John Maddock
e8540ba62a Fix needed for TR1 lib.
[SVN r82558]
2013-01-20 09:59:07 +00:00
John Maddock
c5b06d47b2 More simplifications from Rocco Romeo.
[SVN r82557]
2013-01-20 09:57:42 +00:00
John Maddock
77c48bc4b2 Fix some warnings.
Fix edge case in hypergeometric distribution.
Fixes #7429.
Fixes #7891.

[SVN r82520]
2013-01-17 13:27:48 +00:00