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

27 Commits

Author SHA1 Message Date
Nick Thompson
c00623da74 Add move constructor for barycentric rational interpolation. 2019-01-27 16:28:31 -07:00
Nick Thompson
081842118b Give advice about first and last interpolator segments in the open-curve case. [CI SKIP] 2018-12-03 12:33:45 -07:00
Nick Thompson
baddf9509a The move constructor is 30% faster than the copy; hence remove the data copy and only allow move construction. [CI SKIP] 2018-12-02 13:34:51 -07:00
Nick Thompson
fd519a73d6 Implement suggestions from code review [CI SKIP] 2018-12-02 11:18:41 -07:00
Nick Thompson
9e61547f33 Fix syntax error in docs. [CI SKIP] 2018-10-29 17:14:46 -06:00
Nick Thompson
381f663517 Merge and run CI 2018-10-28 23:27:41 -06:00
pabristow
69908294cd edit and broken links in docs qbk only, locally builds and passed inspect program [CI SKIP] 2018-10-04 14:33:13 +01:00
Nick Thompson
84d36d785c Add derivative of barycentric rational interpolation. 2018-04-13 20:19:46 +08:00
Nick
74990aec5c Typo removal from cubic_b_spline.qbk 2018-03-02 23:15:54 -06:00
Nick
98412f9540 Typo removal from docs. 2018-03-02 23:10:59 -06:00
Nick Thompson
1781d47b78 [ci skip] Clarify conditions on the template point type. Add include and concept test. 2018-01-27 14:44:15 -06:00
Nick Thompson
e137fffa63 Loosen up tolerance in unit tests to prevent spurious failures. 2018-01-10 12:03:42 -06:00
Nick Thompson
0f007c23c6 Reuse temporaries to increase performance. 2017-12-23 17:06:20 -07:00
Nick Thompson
9dce6d8bb9 Catmull-Rom: Add example and test to build, update docs. 2017-12-22 23:30:31 -07:00
Nick Thompson
4cce07e15e Implement tangent vector computation. Fix index lookup. Close all Catmull-Rom curves and document. 2017-12-22 16:31:36 -07:00
Nick Thompson
cad34ff756 First pass at a Catmull-Rom curve interpolator. 2017-12-21 16:12:24 -07:00
Nick
8458d8fea0 Fix change in path for barycentric_rational. 2017-11-03 15:31:06 -06:00
jzmaddock
87ab68456d Improve interpolator documentation and examples. 2017-05-06 12:26:37 +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
127178518d Add iterator based construction to cubic B spline. 2017-05-03 13:07:54 +01:00
Nick Thompson
4632cb1169 Remove typos in documentation. Remove hacks for float128 in unit tests. 2017-05-02 10:33:36 -06:00
Nick Thompson
76a5423666 Finally learned how to use quickbook. The documentation for the cubic b spline looks good now. 2017-04-08 18:47:42 -05:00
Nick Thompson
6734b363dd Include spline documentation in math.qbk so it gets added to the build. 2017-03-11 15:56:34 -06:00
Nick
36159a4426 Discuss how the interpolant extrapolates. 2017-03-06 11:57:25 -06:00
Nick Thompson
c42e8feebe Remove all traces of the linguistically incorrect word 'routine'. 2017-03-02 12:30:12 -06:00
Nick Thompson
2b9d88d352 Fixes suggested by code review of PR #57. 2017-03-02 11:54:55 -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