The comment that the finite difference approximation to the derivative
was the only way to produce monotonicity was wrong.
In addition, the error message gave no hint as to its origin. Fix this.
* Fix fisher_f mode
The mode for F-distribution is defined when `df1 > 2` according to https://en.wikipedia.org/wiki/F-distribution. It is also reasonable since `df2 * (df1 - 2) / (df1 * (df2 + 2))` becomes zero or negative when `df1 <= 2`
Co-authored-by: Matt Borland <matt@mattborland.com>
* Fix ibeta_inv for very small p.
Change assert's in temme_method_1_ibeta_inverse to corrections when guess goes out of range.
Change handling of non-convergence in second_order_root_finder to use bracketing when the end points are many orders of magnitude apart.
Fixes: https://github.com/boostorg/math/issues/961.
* Add missing copyright.
[CI SKIP]
* Add Estrin's method for polynomial evaluation
N.B.: This is a slightly modified version of the code provided by Thomas Dybdahl Ahle in a github issue.
[CI SKIP] [ci skip]
* Add comparisons to Horner with std::array.
[CI SKIP]
* Add Estrin's method for polynomial evaluation
N.B.: This is a slightly modified version of the code provided by Thomas Dybdahl Ahle in a github issue.
[CI SKIP] [ci skip]
* Fix hang in n=0 case.
* Fix out of bounds access in test.
* Fix endsect for estrin.qbk.
* Apply clang-format to make the 'inspect' stage happy.
* Add type_traits header to includes.
* Add ulp plot.
* Document decreased accuracy of Estrin's method.
* Add assertion for size of scratch pad
* Remove std::size since it is C++17
* Add C++14 testing
* estrin -> evaluate_polynomial_estrin.
---------
Co-authored-by: jzmaddock <john@johnmaddock.co.uk>
Co-authored-by: Matt Borland <matt@mattborland.com>