jzmaddock
91c193d2d2
Improve heuristics used in newton_raphson_iterate.
...
Copies heuristics already in place for halley_iterate for the case where convergence fails.
Fixes: https://github.com/boostorg/math/issues/145
2018-08-19 16:27:45 +01:00
jzmaddock
26e2e61de9
Fix erf(NaN).
...
Fixes https://github.com/boostorg/math/issues/141
2018-08-19 09:28:37 +01:00
jzmaddock
9e3bf4e3e1
Fix for platforms where we have no atomic types: fixes https://github.com/boostorg/math/issues/134 .
2018-07-30 18:15:31 +01:00
jzmaddock
bdb3f0e903
Fix for integer overflow in exponent calculation on decimal types in next.hpp: See https://github.com/boostorg/math/issues/135
2018-07-29 18:12:35 +01:00
Lakshay Garg
c275bf655e
Refactor the polynomial addition function
...
* Remove in-loop calls to push_back thus eliminating the
possibility of multiple reallocations of memory to the
underlying vector.
* Remove redundant `sign` parameter from the addition method
* Delete the unused `detail::identity` struct
2018-06-25 02:46:25 -07:00
jzmaddock
838dd94193
sinc_pi: simplify and correct taylor series usage, improve tests.
...
See https://svn.boost.org/trac10/ticket/13606 .
2018-06-19 18:26:43 +01:00
jzmaddock
ed83cdda6f
Merge branch 'develop' of https://github.com/boostorg/math into develop
2018-06-17 19:16:57 +01:00
jzmaddock
658945d508
Improve sinc approximations and add better tests.
...
Fixes: https://svn.boost.org/trac10/ticket/13606 and https://svn.boost.org/trac10/ticket/13603 .
2018-06-17 19:10:46 +01:00
Nick Thompson
cb954798d7
Support for complex-valued integrands in sinh-sinh quadrature.
2018-06-12 13:11:52 +08:00
jzmaddock
2267c6af67
exp_sinh: Regenerate quad precision abscissa and weights.
2018-05-22 19:58:35 +01:00
Nick Thompson
0d67b045ae
[CI SKIP] Merge branch 'develop' into complex_exp_sinh
2018-05-05 10:00:42 +08:00
Nick Thompson
728b6949ed
Complex valued integrand support for exp-sinh quadrature
2018-05-03 12:19:04 +08:00
Nick Thompson
157e33a516
[CI SKIP] Merge develop
2018-05-03 09:22:53 +08:00
Nick Thompson
cc9d1cc7f9
Fix build by replacing fabs->abs.
2018-05-02 12:24:30 +08:00
Nick Thompson
60aa168556
Fix cpp_dec_float.
2018-05-02 09:31:09 +08:00
Nick Thompson
ea6acb3855
[CI SKIP] Real->{Real, Complex} integrand support for Gauss-Kronrod quadrature.
2018-05-01 15:50:55 +08:00
Nick Thompson
df0f02e412
[CI SKIP] Remove 'Control reaches end of non-void function warning.'
2018-05-01 10:45:11 +08:00
jzmaddock
e1a09b1f8e
Gauss-complex - functions can still be static, simply error return.
2018-04-30 19:54:08 +01:00
jzmaddock
60640d3497
Merge branch 'develop' into gauss_complex
...
Simplify error handler return.
2018-04-30 17:59:58 +01:00
jzmaddock
2261ed0a63
Merge branch 'develop' into contour_integration
2018-04-29 09:48:36 +01:00
jzmaddock
72c56026f9
tanh_sinh: improve asserts on internal logic
...
and document why they might fail.
2018-04-23 18:21:57 +01:00
jzmaddock
b4ec109b83
tanh_sinh: change calculation method used for scaling ranges:
...
"naive" method is prone to generating a point at the endpoint if the endpoint is large, subtract scaled complement from the endpoint instead.
Open questions:
1) Can this still fail if the endpoint is a very large value? For example if we have endpoints of [+large, +larger] where the difference between them is small?
2) Do we still need the asserts, or should they be replaced by some other check?
3) If the endpoints are replaced by some other check we could either massage the position to be one representable value below the endpoint, or else simply return 0. The former risks evaluating at the same point over and over as we go down levels, the latter would seem to be incorrect for functions which do not go to zero at the endpoint.
2018-04-22 19:46:34 +01:00
Nick Thompson
1a75908850
std::result_of->typedef decltype(f(a)).
2018-04-06 10:51:17 +08:00
Nick Thompson
240ed8f770
Merge branch 'contour_integration' into gauss_complex
2018-04-06 09:49:41 +08:00
Nick Thompson
f099ceec9e
[CI SKIP] Remove now-unused type_traits header
2018-04-06 09:48:03 +08:00
Nick Thompson
08bfb88181
Get rid of std::result_of/std::invoke_result in favor of typedef decltype(f(a)).
2018-04-05 20:23:54 +08:00
Nick Thompson
13b2070fef
[CI SKIP] Update quadrature.
2018-04-05 20:14:16 +08:00
Nick Thompson
969a29a7a4
Merge branch 'contour_integration' into gauss_complex
2018-04-05 13:34:32 +08:00
Nick Thompson
d5aac62f64
auto return requires trailing return type in C++11 mode.
2018-04-03 12:24:24 +08:00
Nick Thompson
90273e12a7
Fix C++11/C++17 incompatibility by typdefs. Increase default max refinements.
2018-04-03 11:07:03 +08:00
Nick Thompson
9bfcbf4a24
Merge branch 'develop' into contour_integration
2018-03-31 14:55:17 +08:00
Nick Thompson
8448d9be98
Make sure that a minimum number of function calls have been achieve before exit in Monte-Carlo integration.
2018-03-22 11:02:16 +08:00
Nick Thompson
cf0201fa3d
[CI SKIP] Gaussian quadrature now works with MPC
2018-03-22 10:47:29 +08:00
Nick Thompson
7a3803de05
[CI SKIP] Small diffs to make compilation more smooth.
2018-03-21 11:15:36 +08:00
Nick Thompson
3fb1409f49
Compile and include test also need to have C++11 support now.
2018-03-20 19:16:25 +08:00
Nick Thompson
1f5cea80ff
[CI SKIP] Gaussian quadrature to support Real->Complex.
2018-03-18 20:55:11 +08:00
Nick Thompson
3da4c17f1c
[CI SKIP] Remove auto.
2018-03-18 14:25:36 +08:00
jzmaddock
64e29bd874
naive_monte_carlo: Set a maximum number of retries and add some diagnostic info for when things go wrong.
2018-03-17 19:05:52 +00:00
jzmaddock
581d203254
naive_monte_carlo: Need to make sure the seed changes between outer loops in m_integrate.
...
Otherwise we go round and round and never complete if the first inner loop fails.
2018-03-16 11:47:38 +00:00
Nick Thompson
d30b7d62ef
Update trapezoidal quadrature so that it can handle contour integrals.
2018-03-16 15:33:25 +08:00
jzmaddock
1ae4e63551
naive_monte_carlo: change tail recursion to do-while loop.
2018-03-15 19:29:38 +00:00
Nick Thompson
529a76b72c
Use uint64_t rather than size_t to get some reproducibility on 32 bit platforms. Make sure that the final variance is within the error bounds.
2018-03-13 13:17:22 +08:00
Casey Carter
4921880587
Use constexpr when compiling with clang
...
Clang compilers do not define `__clang`, they define `__clang__`. (https://godbolt.org/g/R7gX4h )
2018-03-06 17:39:15 -08:00
jzmaddock
e348578b0f
erfc: improve accuracy in exp calculation, add error plot generator program.
2018-03-02 19:23:41 +00:00
jzmaddock
b5c4200ea5
Update std_real_concept_tests: we were missing a couple of test cases.
2018-02-24 18:39:14 +00:00
jzmaddock
0e9a9d340a
Merge branch 'develop' of https://github.com/boostorg/math into develop
...
# 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.
2018-02-24 16:58:13 +00:00
jzmaddock
7017d658f7
next.hpp: fix forward declaration of real_concept.
...
[CI SKIP]
2018-02-24 13:13:08 +00:00
jzmaddock
73f85b699a
ellint_d: Add some diagnostic code to try and track down some long double errors.
...
[CI SKIP]
2018-02-24 13:12:25 +00:00
jzmaddock
324a047f1e
Uncomment #define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS which appears to have been accidentally disabled.
...
Disable some long double tests when BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS is set.
2018-02-22 18:25:02 +00:00
jzmaddock
3fa8aadde2
monte carlo integration: document and/or make explicit the semantics of all atomic operations.
2018-02-21 18:11:28 +00:00