2
0
mirror of https://github.com/boostorg/math.git synced 2026-01-28 07:22:12 +00:00
Commit Graph

1477 Commits

Author SHA1 Message Date
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
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
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
jzmaddock
d3a570e91a Fix Intel C++ test failures 2016-07-22 09:27:15 +01:00
jzmaddock
2165b95f52 Two more GCC 4.4 workarounds 2016-07-15 02:15:30 +01:00
jzmaddock
9127a2f707 Merge branch 'develop' of https://github.com/boostorg/math into develop 2016-07-15 01:31:17 +01:00
jzmaddock
12feba86fa Remove references to removed gcd/lcd code. 2016-07-15 18:36:55 +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
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
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