jzmaddock
d2f6525530
Increase tolerance in test_barycentric_rational.cpp
...
Test occasionally fails with msvc.
2017-06-07 17:41:15 +01:00
jzmaddock
540c93c542
CI: Fix more testing configuration issues.
...
* Disable testing the old mingw32 - it's too broken.
* Add feature dependency checks for new C++11 tests.
* Disable some tests that generate too large object files.
2017-06-05 09:32:00 +01:00
jzmaddock
1cf0598c54
Fix missing ) in pp-logic.
2017-06-04 19:33:59 +01:00
jzmaddock
5aa0fc1ec4
CI: Address CI failures and miss-configurations.
...
* Disable one concept check for gcc 6.2 which generates an internal compiler error.
* Increase expected error rate on one barycentric test - it was too tight to test on some platforms.
* Fix some __float128 miss-configurations.
2017-06-04 17:29:44 +01:00
jzmaddock
5c3624c0b8
Address CI failures:
...
* Fix bjam command line in appveyor file.
* Fix assertions triggered in bessel_i0.hpp.
* Remove common factor testing - it's moved to integer.
* Add lots of additional {} in initializers to silence clang warnings.
2017-06-04 13:12:33 +01:00
jzmaddock
1e03ffc53b
Split tests up for easier CI testing.
2017-06-03 13:14:25 +01:00
jzmaddock
0242c64eec
float_distance: Fix cases that span several orders of magnitude.
...
Add more tests.
See https://github.com/boostorg/multiprecision/issues/22 .
2017-06-02 19:40:52 +01:00
John Maddock
0812745b14
Add -lquadmath to barycentric rational tests
2017-05-12 10:21:39 +01:00
jzmaddock
47a126c938
Legendre-Stieltjes: Disable tests in C++03 mode which would fail.
2017-05-10 18:11:37 +01:00
jzmaddock
5db9e8870b
Legendre_stieltjes: hook up tests.
...
Add concept checks.
Fix some warnings, and reduce dependencies.
2017-05-09 19:13:44 +01:00
jzmaddock
83891e2b79
Merge branch 'legendre_stieltjes' of https://github.com/NAThompson/math into stieltjes
2017-05-09 18:36:53 +01:00
jzmaddock
0e4c9ce418
Merge branch 'legendre_prime' into develop
2017-05-09 12:37:52 +01:00
jzmaddock
27ded3276d
Remove C++11 isms from, legendre_prime header and tests - we don't want to break existing C++03 code using that header.
2017-05-09 12:18:43 +01:00
jzmaddock
97a4184df9
Hook up concept checks for legendre_p_prime.
...
Fix errors from above, add domain-error handling to the function.
2017-05-08 19:47:02 +01:00
jzmaddock
150a0b5afa
Merge branch 'legendre_derivatives' of https://github.com/NAThompson/math into legrende_prime
...
# 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-08 19:14:16 +01:00
John Maddock
72a757d770
Fix non C++11 compiler failures, plus some other build/test related issues on interpolator code
2017-05-07 08:52:04 +01:00
jzmaddock
87ab68456d
Improve interpolator documentation and examples.
2017-05-06 12:26:37 +01:00
jzmaddock
6e8687812f
Add concept checks for barycentric_rational.
2017-05-05 13:12:25 +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
9c5604eec5
Add interpolation examples and tests to Jamfiles.
2017-05-04 13:19:09 +01:00
jzmaddock
adc2234d95
Merge branch 'barycentric' of https://github.com/NAThompson/math into interpolate_rat
...
# 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-04 13:18:05 +01:00
John Maddock
6afcd60c81
Bring gcd/lcm tests into line with the inteter versions.
2017-05-04 11:22:18 +01:00
John Maddock
4a569bf1c4
Fix header order include so that ADL works
2017-05-04 11:17:11 +01:00
John Maddock
7fab3cbb0e
change namespace for gcd/lcm test
2017-05-04 11:11:12 +01:00
jzmaddock
b9362cb000
Add concept checks for cubic-spline code, and fix resulting errors.
2017-05-03 13:32:53 +01:00
jzmaddock
127178518d
Add iterator based construction to cubic B spline.
2017-05-03 13:07:54 +01:00
jzmaddock
9dd532e01a
Merge branch 'develop' of https://github.com/NAThompson/math into interpolate
2017-05-02 19:30:31 +01:00
jzmaddock
6407bedb75
Bring polynomial gcd into line with new Boost.Integer code, and improve tests.
2017-05-02 19:12:18 +01:00
jzmaddock
8b55166363
Bring tests into line with new Boost.Integer gcd/lcm.
2017-05-02 18:50:00 +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
2bbadc69fb
Place copyright notices in file.
2017-05-01 18:36:26 -06:00
Nick Thompson
4b4c4e9364
Legendre-Stieltjes polynomials.
2017-04-30 15:58:10 -06:00
jzmaddock
ceae76a526
Switch to using Boost.Integer gcd/lcm.
2017-04-24 19:26:23 +01:00
Nick Thompson
a918d0f331
Return all zeros of the Legendre polynomial at once; there seems to be no benefit to having the user calculate them one at a time.
2017-04-22 15:47:22 -05:00
jzmaddock
fafda3176c
Fix gcd tests and code for clang on Linux
2017-04-20 14:43:28 +01:00
jzmaddock
82e3949024
GCD: Don't enable variadics unless the compiler supports them.
...
Update docs.
Escape from variadic GCD early when the result hits unity.
2017-04-15 18:31:01 +01:00
jzmaddock
c1ab95b6cc
Add rational and multiprecision types to common_factor_test.cpp.
...
Disable rational overloads if there is no numeric_limits support as boost::rational won't compile in that case anyway.
2017-04-15 18:13:30 +01:00
Nick Thompson
4110a69416
Zeros of Legendre polynomials. This uses a root bracketing given by Szego with an asymptotic by Tricomi to get a domain and an initial guess for the root, then refines it via Newton's method.
2017-04-14 15:51:39 -05:00
Nick Thompson
21bcf34a51
Derivative of Legendre polynomials of the first kind. Used to generate the weights of Gaussian quadratures.
2017-04-12 14:16:26 -05:00
jzmaddock
f74da283aa
Add variadic gcd and lcm variations, update tests to match.
2017-04-08 19:42:33 +01:00
jzmaddock
141fcf0b15
Disable test case which invokes undefined behaviour
2017-04-06 11:34:08 +01:00
jzmaddock
7795ad3fd1
Merge branch 'gcd_polynomial' into gcd_cpp14
2017-04-06 11:28:32 +01:00
jzmaddock
9d0dac1df9
gcd: add the function objects back.
...
Improve the gcd/lcm tests.
2017-04-04 18:29:45 +01:00
jzmaddock
e4c0fdb0f2
Make gcd/lcm independent of type_traits and mpl.
...
Later we'll try and reconcile this version with that in Boost.Integer.
2017-04-02 20:10:46 +01:00
Nick Thompson
4efe710855
Add tests detailing the use cases which make it difficult to use std::unique_ptr for pimpl idiom. Also, test that evaluating the spline outside the interpolation region succeeds as best it can.
2017-03-06 11:12:51 -06:00
Nick Thompson
2506d7ed1f
Use PIMPL so that the interpolant can be passed as a functor.
2017-03-02 17:16:21 -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
jzmaddock
383c024400
Fix missing arguments.
2016-10-29 17:58:22 +01:00
jzmaddock
3370ea2f79
Add missing #include.
...
Fixes https://svn.boost.org/trac/boost/ticket/12537 .
2016-10-19 19:27:37 +01:00