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