Nick Thompson
1791a4b597
Make casing of pFq, 0F1, 1F1, etc, uniform. Make filename casing uniform to prevent compiler warnings/errors on non-portable include paths.
2018-10-22 14:13:29 -06:00
jzmaddock
a7c68f1c87
hypergeometrics: Update Jamfile so it can build the tests.
...
Fix missing includes in hypergeometric_0f1_bessel.hpp.
Remove unneeded includes from test files.
2018-10-22 18:46:15 +01:00
jzmaddock
833b4c9b5f
hypergeometric_1F1: begin to fix up remaining difficult cases.
...
Adds a checked series for those we can't fix.
[CI SKIP]
2018-10-20 09:58:11 +01:00
jzmaddock
52079d2d23
Merge branch 'develop' into hypergeometric_soc_2014
...
Fixed Conflicts:
doc/equations/generate.sh
2018-10-18 11:11:13 +01:00
jzmaddock
4576399030
exp_sinh_quadrature_test.cpp: fix breakage in last commit.
2018-10-12 18:16:43 +01:00
jzmaddock
ad26e3fa9a
Merge branch 'develop' of https://github.com/boostorg/math into develop
2018-10-12 13:24:13 +01:00
jzmaddock
4810facc7d
exp_sinh_quadrature_test.cpp: don't carry out test if we're not going to check the result.
...
Add /bigobj to more msvc tests.
2018-10-12 13:23:57 +01:00
jzmaddock
049c670409
Add another test case for tanh_sinh complex support, and update docs with examples.
2018-10-11 08:49:05 +01:00
jzmaddock
5eca86157b
Modify tanh_sinh to work with complex integrals.
2018-10-08 20:45:15 +01:00
jzmaddock
7abfa952cd
Switch a couple of tests to release mode to reduce object file sizes.
2018-10-02 18:45:07 +01:00
jzmaddock
628ffd1c80
Merge branch 'develop' into rational_derivatives
2018-09-02 12:58:59 +01:00
jzmaddock
3b7cbe6be6
CI fixes: adjust lambertW expected error rates.
2018-09-01 18:46:33 +01:00
jzmaddock
79871fe747
LambertW: CI fixes.
...
Fix definition of lambert_w0_small_z_series_term.
Move rational approximations into smaller functions to try and keep msvc happy.
2018-08-31 19:53:34 +01:00
jzmaddock
02c7df005d
LambertW: Fix more CI failures:
...
Add fallback for 128-bit lambertW implementation.
Disable real_concept tests for msvc-12 and earlier as the compiler can't cope.
2018-08-31 09:56:03 +01:00
Nick Thompson
8004239d23
[CI SKIP] Fix build error by explicitly changing float128 to boost::multiprecision::float128
2018-08-31 09:37:00 +08:00
jzmaddock
982d82b2b5
LambertW: Hook up real_concept tests and fix resulting errors.
2018-08-30 19:48:27 +01:00
jzmaddock
424eeffdd3
LambertW: Add max_digits10 to numeric_limits specialization in std_real_concept_check.cpp.
2018-08-30 19:16:14 +01:00
jzmaddock
3104f3ad79
LambertW: Fix for types with no numeric_limits.
...
Configuration fix for __float128 support.
2018-08-30 18:47:40 +01:00
jzmaddock
bed980e202
Merge branch 'develop' into lambertw
2018-08-30 10:17:19 +01:00
jzmaddock
3abd04ce50
LambertW: Hook up concept checks, and fix failures.
2018-08-30 08:57:35 +01:00
jzmaddock
45b86cf115
LambertW: Fix up GCC support.
...
Split tests into smaller units so as not to generate over-large object files.
2018-08-29 19:34:30 +01:00
jzmaddock
50c014abdc
LambertW: further improvements to code coverage.
2018-08-28 17:23:02 +01:00
jzmaddock
460e50a1fc
LambertW: Add test data for very large values.
2018-08-27 19:48:59 +01:00
jzmaddock
10e6f0d68f
Lambert W: Add tests near the singularity.
...
Fix a couple of minor issues in the implementation to improve error rates.
NB: errors very near the singularity are still very high - this is an intrinsic property of the function - we are solving z = w exp(w) for w, but there are actually a wide range of w values which satisfy the equation once we get very close to the singularity.
2018-08-26 19:51:15 +01:00
jzmaddock
a1d658aed1
LambertW: start to split tests into smaller chunks.
2018-08-23 10:26:17 +01:00
jzmaddock
c04b83bf15
LambertW: Moved some files around, deleted dead ones.
2018-08-22 19:33:49 +01:00
jzmaddock
5edc682dac
test_lambert_w.cpp: tidy up macro usage.
2018-08-22 19:32:00 +01:00
jzmaddock
91c193d2d2
Improve heuristics used in newton_raphson_iterate.
...
Copies heuristics already in place for halley_iterate for the case where convergence fails.
Fixes: https://github.com/boostorg/math/issues/145
2018-08-19 16:27:45 +01:00
pabristow
c9f272ec1c
Lambert W much modified to remove control of precision with policy and docs to match
2018-08-01 16:55:27 +01:00
jzmaddock
6389878e77
naive_monte_carlo_test.cpp: correct #if block and fix Jamfile.v2 mistake (missing whitespace).
2018-07-30 09:09:19 +01:00
jzmaddock
60f1dae81e
Update test Jamfile.v2 with more targets using /bigobj under msvc
2018-07-29 19:11:50 +01:00
jzmaddock
8e9c35a26d
Fix test_classify.cpp to not negate INT_MIN: See https://github.com/boostorg/math/issues/135
2018-07-29 18:29:38 +01:00
jzmaddock
797ee52fcd
Correct test_round.cpp so it doesn't invoke undefined behavior: see https://github.com/boostorg/math/issues/135
2018-07-29 18:23:22 +01:00
jzmaddock
177c642cbc
Big GCC warning fix - see https://github.com/boostorg/math/issues/136
2018-07-28 11:33:41 +01:00
pabristow
dcc8544578
Major edit done and graphs now show legend lines.
2018-07-24 11:24:20 +01:00
pabristow
aaa38c3fee
first draft of no-precision policy version.
2018-07-17 17:39:27 +01:00
pabristow
cf52501842
Tests pass for VS, GCC8.1, integrals and derivatives, Clang 600 without integrals and without derivatives.
2018-07-11 18:26:25 +01:00
pabristow
691f2a5852
Integration tests improved with simpler lambert W
2018-07-11 15:42:19 +01:00
jzmaddock
a2f228ca88
CI: Move some tests from misc to special_functions test group to try and avoid timeouts.
2018-07-02 13:37:49 +01:00
jzmaddock
b7074917a2
Fix gcc-8 failures in test case:
...
calls to bessel functions need to be disambiguated.
2018-07-02 13:36:59 +01:00
Brian Kuhl
bb6bdc4c61
Use <boost::math::policies::real> instead of <real>
...
Dinkum STL declares and inline real() function in the global namespace that clang can not distinguish from policies::real otherwise
2018-06-24 22:41:39 -04:00
jzmaddock
838dd94193
sinc_pi: simplify and correct taylor series usage, improve tests.
...
See https://svn.boost.org/trac10/ticket/13606 .
2018-06-19 18:26:43 +01:00
jzmaddock
47b022cb3a
exp_sinh_quadrature_test.cpp: adjust expected error rates for real_concept.
2018-06-18 08:59:41 +01:00
jzmaddock
ed83cdda6f
Merge branch 'develop' of https://github.com/boostorg/math into develop
2018-06-17 19:16:57 +01:00
jzmaddock
658945d508
Improve sinc approximations and add better tests.
...
Fixes: https://svn.boost.org/trac10/ticket/13606 and https://svn.boost.org/trac10/ticket/13603 .
2018-06-17 19:10:46 +01:00
jzmaddock
7532ed9891
Merge pull request #128 from boostorg/complex_sinh_sinh
...
Support for complex-valued integrands in sinh-sinh quadrature.
2018-06-12 18:00:14 +01:00
Nick Thompson
cb954798d7
Support for complex-valued integrands in sinh-sinh quadrature.
2018-06-12 13:11:52 +08:00
jzmaddock
52c1f1c932
Fix 2 minor CI failures.
2018-06-02 13:35:26 +01:00
jzmaddock
ed79dd53f0
Try not to break std lib code when concept testing are own.
...
See: https://github.com/boostorg/math/issues/126 .
2018-06-01 09:18:07 +01:00
jzmaddock
c43027e86f
tanh_sinh_quadrature_test.cpp: Up expected error rate on one failing test.
2018-05-25 11:13:36 +01:00
jzmaddock
5839b19968
Update exp_sinh_quadrature_test.cpp to fix msvc test failure.
2018-05-21 18:28:40 +01:00
pabristow
23ecd1a1c0
All changes before getting develop up-to-date.
2018-05-15 14:00:34 +01:00
Nick Thompson
8e8d02f3cb
Loosen up exp-sinh quadrature error to green build.
2018-05-06 10:25:39 +08:00
Nick Thompson
e0ffb3878d
Loosen up error bound to green up build.
2018-05-05 14:40:20 +08:00
Nick Thompson
9d22c55d4a
Merge branch 'develop' into rational_derivatives
2018-05-05 10:02:02 +08:00
Nick Thompson
0d67b045ae
[CI SKIP] Merge branch 'develop' into complex_exp_sinh
2018-05-05 10:00:42 +08:00
jzmaddock
f73932460a
Merge branch 'develop' into warning_removal_2
...
Restrict warning suppression to gcc > 4.8.
2018-05-04 19:27:47 +01:00
Nick Thompson
728b6949ed
Complex valued integrand support for exp-sinh quadrature
2018-05-03 12:19:04 +08:00
Nick Thompson
157e33a516
[CI SKIP] Merge develop
2018-05-03 09:22:53 +08:00
Nick Thompson
60aa168556
Fix cpp_dec_float.
2018-05-02 09:31:09 +08:00
jzmaddock
219fa40821
Gauss - update tests to use static integrate member.
2018-05-01 19:04:37 +01:00
Nick Thompson
ea6acb3855
[CI SKIP] Real->{Real, Complex} integrand support for Gauss-Kronrod quadrature.
2018-05-01 15:50:55 +08:00
jzmaddock
e1a09b1f8e
Gauss-complex - functions can still be static, simply error return.
2018-04-30 19:54:08 +01:00
jzmaddock
60640d3497
Merge branch 'develop' into gauss_complex
...
Simplify error handler return.
2018-04-30 17:59:58 +01:00
jzmaddock
5720a040ee
Update test_trapezoidal.cpp error rates and fix float128 build settings.
2018-04-30 08:45:21 +01:00
Nick Thompson
27015f14bb
[CI SKIP] Failing unit test for complex_128
2018-04-25 09:48:22 +08:00
Nick Thompson
e56e343435
Fix build errors.
2018-04-14 09:38:02 +08:00
Nick Thompson
f97ac993bd
Try to fix build error.
2018-04-13 23:32:02 +08:00
Nick Thompson
84d36d785c
Add derivative of barycentric rational interpolation.
2018-04-13 20:19:46 +08:00
Nick
aa3c3fdc01
Forgot to comment mpc.hpp before build
2018-04-06 20:42:58 -05:00
Nick Thompson
13b2070fef
[CI SKIP] Update quadrature.
2018-04-05 20:14:16 +08:00
Nick Thompson
969a29a7a4
Merge branch 'contour_integration' into gauss_complex
2018-04-05 13:34:32 +08:00
Nick Thompson
175d1e7e2c
Increase error bound in bump function due to floating point reordering due to refactoring to support R->C functions.
2018-04-05 08:34:08 +08:00
Nick Thompson
90273e12a7
Fix C++11/C++17 incompatibility by typdefs. Increase default max refinements.
2018-04-03 11:07:03 +08:00
Nick Thompson
37ec3fcaed
[CI SKIP] Increase max refinements so that a larger number of digits can be recovered.
2018-04-01 16:43:04 +08:00
Nick Thompson
9bfcbf4a24
Merge branch 'develop' into contour_integration
2018-03-31 14:55:17 +08:00
Nick Thompson
c830e50506
Add erfc computed via trapezoidal quadrature.
2018-03-31 14:25:11 +08:00
Nick Thompson
6c427b81a4
[CI SKIP] Constructor disallowed by mpc.hpp
2018-03-31 13:00:56 +08:00
Nick Thompson
cf0201fa3d
[CI SKIP] Gaussian quadrature now works with MPC
2018-03-22 10:47:29 +08:00
Nick Thompson
41a3a15a4d
Add compiler requirements of uniform initialization syntax and (ham-handed) variadic template support to approximate std::result_of_t.
2018-03-21 13:20:02 +08:00
Nick Thompson
7a3803de05
[CI SKIP] Small diffs to make compilation more smooth.
2018-03-21 11:15:36 +08:00
Nick Thompson
3fb1409f49
Compile and include test also need to have C++11 support now.
2018-03-20 19:16:25 +08:00
Nick Thompson
3c90b8a856
Incredibly stupid bug which makes the previous build worthless.
2018-03-20 14:35:03 +08:00
Nick Thompson
03fb931f5e
[CI SKIP] Workaround for now.
2018-03-20 14:26:28 +08:00
Nick Thompson
4c2088a789
Test Modified Bessel function.
2018-03-20 10:52:56 +08:00
Nick Thompson
1f5cea80ff
[CI SKIP] Gaussian quadrature to support Real->Complex.
2018-03-18 20:55:11 +08:00
jzmaddock
64e29bd874
naive_monte_carlo: Set a maximum number of retries and add some diagnostic info for when things go wrong.
2018-03-17 19:05:52 +00:00
Nick Thompson
190fb1710d
[CI SKIP] The trapezoidal quadrature now works with contour integrals.
2018-03-17 23:35:44 +08:00
Nick Thompson
babead7504
Remove pile of warnings so that the build log is easier to search through.
2018-03-17 16:39:17 +08:00
Nick Thompson
d30b7d62ef
Update trapezoidal quadrature so that it can handle contour integrals.
2018-03-16 15:33:25 +08:00
jzmaddock
789f1ce240
Merge branch 'develop' of https://github.com/boostorg/math into develop
2018-03-15 13:27:34 +00:00
jzmaddock
ae01c2bb4e
naive_monte_carlo_test.cpp: move some tests around to avoid over-large object files.
2018-03-15 13:27:18 +00:00
Jie
f36121d554
[ci skip] Warning removal.
2018-03-15 12:19:24 +08:00
jzmaddock
96b4041ad2
naive_monte_carlo_test.cpp: split into yet smaller portions, and get rid of /bigobj.
2018-03-14 18:31:58 +00:00
jzmaddock
8263efaef3
Merge branch 'develop' of https://github.com/boostorg/math into develop
2018-03-13 18:57:22 +00:00
jzmaddock
78ac09cf3d
naive_monte_carlo_test.cpp: split into smaller units so we get fewer "object size too large" errors, and hopefully zero in on persistent but non-reproducable test failures.
2018-03-13 18:57:01 +00:00
Nick Thompson
529a76b72c
Use uint64_t rather than size_t to get some reproducibility on 32 bit platforms. Make sure that the final variance is within the error bounds.
2018-03-13 13:17:22 +08:00
Nick Thompson
c2f68a4c1d
Attempt to diagnose test failure for alternative RNGs in Monte-Carlo integration by adding more unit tests.
2018-03-13 08:11:08 +08:00
John Maddock
4dcdbc2a2a
Update error rates in docs [CI SKIP]
2018-03-08 16:42:47 +00:00
jzmaddock
510d24ba5c
Jamfile: turn off pch for __temporary_test.cpp as it pulls in too much stuff.
2018-03-03 08:20:23 +00:00
pabristow
3f1e3602ba
Quadrature error diagnosis improved
2018-02-27 13:20:37 +00:00
jzmaddock
4060ec671d
temp test: still trying to diagnose test matrix failures.
...
Switched to use test_instances lib.
[CI SKIP]
2018-02-26 18:30:59 +00:00
jzmaddock
6118910da3
Temporary test: Try again to diagnose test runner errors.
...
[CI SKIP]
2018-02-25 13:35:51 +00:00
jzmaddock
b5c4200ea5
Update std_real_concept_tests: we were missing a couple of test cases.
2018-02-24 18:39:14 +00:00
jzmaddock
36182f5fcb
Add temporary test file to probe test matrix failures.
...
[CI SKIP]
2018-02-24 17:18:27 +00:00
jzmaddock
ddbc23042f
Remove obsolete temporary tests.
...
[CI SKIP]
2018-02-24 17:17:46 +00:00
jzmaddock
0e9a9d340a
Merge branch 'develop' of https://github.com/boostorg/math into develop
...
# 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.
2018-02-24 16:58:13 +00:00
jzmaddock
324a047f1e
Uncomment #define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS which appears to have been accidentally disabled.
...
Disable some long double tests when BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS is set.
2018-02-22 18:25:02 +00:00
pabristow
05474951a3
demo of a diagnosing integrating bad functions and tests of primes
2018-02-22 18:16:52 +00:00
Nick Thompson
f7f4a8999b
[ci skip] Add more informative error message to the test so that failures can understood more thoroughly.
2018-02-22 11:07:23 -06:00
jzmaddock
0225f62108
legendre_stieltjes_test.cpp: update expected error rates.
...
[CI SKIP]
2018-02-21 19:40:56 +00:00
jzmaddock
f33bcd5488
Chebyshev expected error rates are too strict - relax them a little.
...
[CI SKIP]
2018-02-21 19:33:01 +00:00
pabristow
1e1059f37f
tested OK using test_integrals
2018-02-20 17:04:28 +00:00
jzmaddock
e627adfef2
Merge pull request #94 from boostorg/naive_monte_carlo
...
Naive monte carlo integration
2018-02-20 08:11:00 +00:00
jzmaddock
ce7a8bc918
monte carlo integration: Change to use unique_ptr rather than map internally.
...
Fix msvc object size issues.
2018-02-19 19:39:00 +00:00
pabristow
2a34f3c340
Restore current files after merge went wrong.
2018-02-19 17:30:57 +00:00
pabristow
a24c2c174d
add test_value.hpp
2018-02-19 17:14:02 +00:00
pabristow
de4d578fc5
deconflict lambert_w.hpp
2018-02-19 16:54:52 +00:00
Nick Thompson
33ce9eb94e
Swap out boost::atomic with std::atomic to determine how widespread compiler support is via the CI system. Replace RNG with RandomNumberGenerator to protect against weird macros.
2018-02-18 17:19:42 -06:00
Nick Thompson
cfd81335e9
[ci skip] Fix merge conflict from develop
2018-02-17 18:05:02 -06:00
Nick Thompson
ca66072ac9
[ci skip] Fix infinite limit transforms. Add user option to provide alternative random number generator. Allow deterministic seed for testing, though this is still not fully deterministic. Reduce time between observations.
2018-02-17 17:41:06 -06:00
jzmaddock
71b9239bfc
monte carlo integration: split test into small chunks so we don't get over-large object sizes with msvc 64-bit. Add Boost.Atomic as a dependency.
2018-02-17 09:17:20 +00:00
Nick Thompson
73a18c91c5
[ci skip] Fix up polynomial_gcd unit test. Also fix broken chebyshev transform test.
2018-02-16 15:51:04 -06:00
Nick Thompson
d30f2d5927
[ci skip] Remove gcd tests from boost.math
2018-02-16 12:43:15 -06:00
jzmaddock
073e7a7196
Merge branch 'develop' into naive_monte_carlo
2018-02-16 17:59:00 +00:00
jzmaddock
9d5ac9143b
naive_monte_carlo: suppress known test failures, and fix lots of warnings.
2018-02-15 20:11:23 +00:00
jzmaddock
c6b734a791
Merge pull request #110 from boostorg/pr64
...
Integration test PR64
2018-02-13 19:47:54 +00:00
Nick Thompson
a069b60588
[ci skip] Perturb boundaries rather than range of random number generator to ensure that singularities aren't hit in the integrand. Note that this breaks the double infinite limits; I need to let that one stew a bit before figuring out how to deal with it. Let the user specify if the integrand is singular, since peeling a high-dimensional orange leaves almost nothing.
2018-02-12 15:57:25 -06:00
jzmaddock
7403cbbd43
Make table driven functions constexpr:
...
unchecked_factorial, unchecked_bernoulli_b2n and prime.
2018-02-11 19:59:26 +00:00
jzmaddock
d32258fcea
Numeric differentiation: make some trivial changes so we don't need C++17.
...
Update Jamfile to exclude testing compilers which can't handle the tests.
2018-02-11 17:52:22 +00:00
jzmaddock
f4dfb9088f
Merge branch 'numerical_differentiation_2' of https://github.com/NAThompson/math into pr64
...
Fixed Conflicts:
include/boost/math/concepts/std_real_concept.hpp
test/Jamfile.v2
Changes:
Minor changes to get things compiling with msvc.
2018-02-11 16:33:41 +00:00
Nick Thompson
353c2e0fd4
[ci skip] Remove hyperbolic language related to complex step derivative. Ensure macro substitution of 'max' doesn't break routines. Add copyright notices.
2018-02-10 16:24:16 -06:00
Nick Thompson
4b55b42268
[ci skip] Use C++17 'if constexp' to avoid branch. Modularize stepsize logic into single call. Do not assume 3ULP evaluation in error, assume 1ULP. Add reference to great numerical analysis text which also promotes these methods and clean up documentation.
2018-02-09 11:53:44 -06:00
Nick Thompson
2718dded89
[ci skip] Ooura's method for computing Fourier sin and Fourier cosine transforms.
2018-02-06 13:15:56 -06:00
Nick Thompson
5e78b298da
[ci skip] Use Unix-style paths. Add tests for lambert-W testing integrals of the Lambert-W function.
2018-02-02 21:33:54 -06:00
pabristow
b4ffbedf1e
Change to use JM W0 version.
2018-01-30 12:11:03 +00:00
Nick Thompson
cea481a3d0
[ci skip] Use deterministic seed for random unit test.
2018-01-27 14:57:08 -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
pabristow
6d73d8f517
commit so can switch to develop (problem in one polynomial nearest singularity
2018-01-23 14:38:56 +00:00
jzmaddock
da9d77ef2e
Hypergeometric: Begin fixing errors from large params in 1F1
2018-01-20 17:48:51 +00:00
jzmaddock
5a1f4d90ba
Hypergeometric: start testing larger arguments to 1F1 and begin to fix the errors.
2018-01-20 17:46:57 +00:00
Nick Thompson
c55dc86c0c
Test Radovic function.
2018-01-16 10:59:30 -06:00
Nick Thompson
a13c7e9ab0
Double infinite limits.
2018-01-11 12:08:53 -06:00
Nick Thompson
d5eb6e3995
Support infinite lower and upper bounds.
2018-01-11 11:39:21 -06:00
Nick Thompson
08550d4064
3 template arguments -> 1 template argument.
2018-01-10 14:08:23 -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
2f37a3643b
Add unit tests and clean up docs for naive_monte_carlo integration.
2018-01-09 12:27:38 -06:00
Nick Thompson
577ee425a4
Add test showing that helices are interpolated correctly by the Catmull-Rom class.
2017-12-24 13:22:30 -07:00
Nick Thompson
50af4ad3e7
Test that circles are correctly interpolated by the Catmull-Rom class.
2017-12-24 11:49:04 -07: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
1a29ce99c6
Demonstrate affine invariance of Catmull-Rom splines.
2017-12-22 21:52:52 -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 Thompson
387e0db3e1
Link pthreads on linux.
2017-12-20 12:35:19 -07:00
pabristow
eff8ec3c74
Tidy before getting uptodate with develop branch
2017-12-07 16:44:33 +00:00
jzmaddock
15a1156b4c
Math.Hypergeometric_1F1: Update tests for small random values, fix resulting errors.
2017-12-02 19:10:50 +00:00
Nick Thompson
d53284370a
Use ADL to green some more builds. Add requirements to build on Chebyshev transform.
2017-11-29 15:09:20 -07:00
Nick Thompson
401e353385
Hopefully get a few more builds green; eliminate compiler warnings.
2017-11-28 08:41:23 -06:00
Nick Thompson
e83284d482
Add more feature flags. Think I still need to link pthread.
2017-11-27 22:40:28 -06:00
Nick Thompson
870b003fd3
Add requires cxx11_* to unit tests.
2017-11-27 15:52:50 -06:00
Nick Thompson
736cc6e7a3
Fix typo and hopefully build.
2017-11-27 14:33:37 -06:00
pabristow
66067c3b6b
Added include to test_value to ensure that when used standalone with GCC that supports suffix Q, multiprecision float128 is included.
2017-11-24 16:53:18 +00:00
Nick Thompson
57ba888a50
Unit test variance.
2017-11-23 14:18:05 -07:00
Nick Thompson
773076475c
Fix exception safety in threads.
2017-11-23 10:53:35 -07:00
Nick Thompson
a0e9b34d06
Atomic long doubles don't link with gcc 7.1
2017-11-22 11:08:17 -07:00
Nick Thompson
67578ce12b
Naive Monte-Carlo integration. Still needs to handle exceptions in threads.
2017-11-21 18:49:14 -07:00
pabristow
9b9414c256
numerous minor fixes for JM 1st comments on docs 19Nov17
2017-11-20 17:03:29 +00:00
jzmaddock
be326922dc
Math: add start of 1F1 implementation.
2017-11-19 11:58:26 +00:00
pabristow
80b4bf3bef
Change to jamfile
2017-11-18 12:02:51 +00:00
pabristow
21ccf8b183
More testing near zero and some typos fixed.
2017-11-17 17:57:45 +00:00
pabristow
6aa9f286ff
Tests OK, including multiprecision.
2017-11-16 17:58:59 +00:00
jzmaddock
587f2d8918
Math.Hypergeometric: Add 2F0 function and tests.
...
Also fix a couple of warnings in test_data.hpp, and improve the continued fraction form in 0F1.
2017-11-15 18:27:35 +00:00
jzmaddock
1783c3a74c
Math: Fix inspection report errors.
2017-11-09 19:39:32 +00:00
pabristow
89ae728836
added graphs and updated docs to use them.
2017-11-06 17:18:33 +00:00
pabristow
3c3c91709f
w-1 branch improvements and tests OK
2017-11-02 18:47:30 +00:00
jzmaddock
772efdb32b
Math.Quaternion: Add workarounds for older msvc versions.
2017-11-02 11:02:37 +00:00
jzmaddock
7c9f95fdac
Math.Quaternion: We need libquadmath when available on the link line.
2017-11-02 10:14:40 +00:00
jzmaddock
47fa45bee4
Import SOC headers, Test and fix up 1F0 and 0F1.
2017-10-29 19:33:39 +00:00
pabristow
04121d2872
Lambert w for huge z added, and test and more docs
2017-10-28 19:13:58 +01:00
pabristow
f51d987acd
added much on W-1 branch (handling tiny z), and more docs.
2017-10-27 18:18:06 +01:00
pabristow
d01d0c4eb8
Working version with C array of precomputed lookup tables, but still inline inside
2017-10-13 09:43:39 +01:00
pabristow
dd06d2beae
100 decimal digit precision values and tests OK.
2017-10-10 15:13:49 +01:00
jzmaddock
cba26dfeca
Math.Quaternion: add missing test file.
2017-10-07 08:06:17 +01:00
jzmaddock
97f61f0020
Math.Quaternion: Add workarounds for older compilers and fix up constexpr support.
2017-10-06 19:22:45 +01:00
jzmaddock
94e92dc5f4
Math.Quaternion: add swap method.
2017-10-05 18:12:24 +01:00
jzmaddock
601ee6e00f
Math.Quaternion: Rewrite test program, mostly remove valarray usage from header.
2017-10-05 12:50:24 +01:00
John Maddock
2eabd87de1
Math.Chebyshev: Fix up chebeshev_transform for more types.
2017-09-21 19:13:36 +01:00
jzmaddock
9ee7a93678
Math.Chebyshev: Modify chebyshev_transform to dispatch to correct fftw3 functions.
...
Begin to hook up fftw3 tests.
2017-09-21 13:40:23 +01:00
jzmaddock
a1c18789a0
Math.chebyshev: Hook up conceptual tests and fix resulting errors.
2017-09-21 11:52:59 +01:00
jzmaddock
c7f243239e
Math.chebyshev: Backport to C++03.
2017-09-20 19:07:17 +01:00
jzmaddock
a2da7915ae
Math.Chebyshev: include PCH header, and correct linker options in Jamfile.v2
...
Also fix some warnings from the test cases and increase the error tolerances for type float.
2017-09-20 18:25:07 +01:00
jzmaddock
82392e3e0c
Merge branch 'develop' into chebyshev
2017-09-20 17:59:38 +01:00
Nick Thompson
956864cbd5
Recurse when grid isn't sufficiently refined. Optimization potential exists by reusing function evaluations.
2017-09-17 21:16:48 -06:00
Nick Thompson
2cb935ec17
Use std::enable_if to obviate the need for C++17 if constexpr.
2017-09-17 16:23:50 -06:00
Nick Thompson
0acb51b78d
Linear time and numerically stable evaluation of derivative of Chebyshev series by a modified Clenshaw recurrence.
2017-09-17 14:02:43 -06:00
Nick Thompson
fe5d59d0f1
Split tests into FFTW-dependent and FFTW-independent. Improve documentation to the extent feasible.
2017-09-16 19:58:59 -06:00
Nick Thompson
cb470280ba
Chebyshev transform
2017-09-13 17:51:50 -06:00
jzmaddock
5755e1d37e
Merge pull request #87 from boostorg/gauss
...
Merge Gauss Kronrod code into develop.
2017-09-13 16:57:06 +01:00
jzmaddock
c5decc566e
quadrature: split up some more tests they the object files aren't too large on win x64.
2017-09-11 13:05:49 +01:00
jzmaddock
9c6b144082
Quadrature: Disable gauss concept checks in C++03
2017-09-11 12:06:50 +01:00
jzmaddock
646c67d0d9
Remove C++14'isms that crept into tests.
2017-09-07 19:05:36 +01:00
jzmaddock
4c0bec596c
Remove dead files.
2017-09-06 19:56:15 +01:00
jzmaddock
d9893f5e01
Quadrature: update conceptual tests for Gauss (Kronrod) quadrature.
2017-09-06 19:53:10 +01:00
jzmaddock
e09ad4c3aa
Quadrature: finish off Gauss and Gauss-Kronrod integration code and tests.
2017-09-06 18:03:15 +01:00
jzmaddock
7d2002db80
Quadrature: add gauss and gauss-kronrod quadrature.
2017-08-31 19:42:26 +01:00
pabristow
c1b8ffec7c
Needed to merge?
2017-08-31 12:50:11 +01:00
pabristow
c408d7ec1c
Restored test_out_of_range to original location as is used by other tests
2017-08-29 17:03:06 +01:00
pabristow
34fd59c372
students t allowing df and x infinite
2017-08-29 15:24:45 +01:00
jzmaddock
e7e915816f
Merge branch 'gauss_konrod' of https://github.com/NAThompson/math into gauss
...
# 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-08-24 11:47:26 +01:00
jzmaddock
f301e2a197
Merge pull request #72 from boostorg/pr66
...
PR66: Moved to here for integration testing.
2017-08-23 18:47:46 +01:00
jzmaddock
532f873cbc
Add missing polynomial_concept_check.cpp.
2017-08-22 08:04:53 +01:00
jzmaddock
be90278cb8
Quadrature: address more vc12 x64 failures.
2017-08-21 13:36:08 +01:00
jzmaddock
f6495af64c
Polynomial: more simplifications and modernizations.
...
Also update msvc performance results.
2017-08-21 13:15:39 +01:00
jzmaddock
58247a32d7
quadrature: deal with another vc12 x64 failure.
2017-08-20 08:30:35 +01:00
jzmaddock
9aa555a189
Quadrature: More fixes for VC12 test failures.
...
Comment: std::exp(x) returns NaN or similar for x large and negative on this platform instead of the expected 0.
2017-08-19 18:41:09 +01:00
jzmaddock
8aaf2d5e43
Quadrature: Fix error in test case.
2017-08-19 12:47:34 +01:00
jzmaddock
b15addd7b7
Quadrature: more tentative fixes for CI failures.
2017-08-18 18:25:21 +01:00
jzmaddock
307fd76013
quadrature: address msvc CI failures.
2017-08-17 20:18:08 +01:00
jzmaddock
98fe2e4581
Quadrature: add alternate forms of some of the problematic CRC test integrals.
2017-08-14 19:39:11 +01:00
pabristow
26aea4e7df
Big refactor JM small_z and tag_type select code
2017-08-10 17:49:17 +01:00
jzmaddock
68c80b5fc8
Merge branch 'pr66' of https://github.com/NAThompson/math into pr66_78
...
# 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-08-09 18:02:36 +01:00
jzmaddock
3770719aff
Quadrature: Remove the minimum levels requirement on tanh_sinh.
2017-08-07 19:04:42 +01:00
jzmaddock
1225612a28
quadrature: Remove unneeded test case, adjust one error rate, and finally silence some warnings.
2017-08-06 12:50:53 +01:00
jzmaddock
2fb22a46ad
Tentative fix for CI failures:
...
std lib installed does not support C++14 and clang, so try C++11.
Suppress internal compiler error with gcc (can not reproduce locally).
2017-08-04 16:48:44 +01:00
jzmaddock
8799d16502
quadrature: Fix some test failures, by breaking up the tests more and fixing the test requirements.
2017-07-25 19:33:49 +01:00
jzmaddock
c3eb9e73d9
quadrature: move the tolerance into the integrate method from the constructor.
...
Since nothing in the constructor depends on the tolerance, and we may wish to use different integration tolerances with the same integrator object.
Update the tests to match the new interface. Also add "direct" integration methods which do not adapt the range at all, but assume that we are using the integrators native range.
2017-07-25 18:26:21 +01:00
jzmaddock
5186181a96
exp_sinh: Fix failing gcc test.
2017-07-23 19:26:23 +01:00
jzmaddock
84ddab0e11
sinh_sinh: archive coefficient generation code.
2017-07-23 18:54:10 +01:00
jzmaddock
03b494abca
exp_sinh: Archive coefficient generation code.
2017-07-23 17:06:14 +01:00
jzmaddock
397d8ce9c9
exp_sinh: add support for pre-computed constants.
2017-07-20 19:55:44 +01:00
jzmaddock
a9b8ac9dad
tanh_sinh: Archive constant generating code.
2017-07-20 19:55:18 +01:00
jzmaddock
eb18bcd5aa
tanh_sinh: add some missing using declarations.
2017-07-18 18:34:51 +01:00
jzmaddock
d01778ed00
tanh_sinh: Fix a couple of test failures.
2017-07-17 19:41:15 +01:00
jzmaddock
6259b8c795
tanh_sinh: add support for 2 arg user functions.
...
Update tests accordingly and get everything passing locally.
2017-07-16 19:18:20 +01:00
jzmaddock
4984809487
tanh_sinh: Add support for a minimum complement value,
...
so we can prune the table size when going to extreme ends of the range isn't required.
2017-07-15 16:47:55 +01:00
jzmaddock
21b00bba62
Merge branch 'develop' into pr66
...
Fixed Conflicts:
test/Jamfile.v2
2017-07-15 16:06:27 +01:00
jzmaddock
80125ffb2c
tanh_sinh: Hook up infinite limits code to use the available complements of abscissa values where appropriate.
2017-07-12 19:17:29 +01:00
jzmaddock
1f45483ec1
Fix lambda expressions to be expression-template safe.
2017-07-11 18:45:59 +01:00
jzmaddock
4a5871ac71
tanh_sinh: Rework base class to cache refinements on demand.
2017-07-10 17:07:23 +01:00
jzmaddock
18938213e7
tanh_sinh: begin transforming code to calculate and store complements of abscissa values,
...
and use these in the range transformations so that there is no cancellation error when transforming to an abscissa value very close to zero.
2017-07-09 18:22:21 +01:00
jzmaddock
e9356e3c7b
Add dummy test case to test_polynomial.cpp...
...
so that Boost.Test also has something to test even when everything is #ifdef'ed out.
2017-06-30 19:25:16 +01:00
jzmaddock
9651db9ea7
Rework Jamfiles to make them easier to maintain,
...
also added examples to CI testing.
2017-06-29 18:27:26 +01:00
jzmaddock
6928324e4f
Fix Jamfile aliases.
2017-06-29 11:18:26 +01:00
jzmaddock
03d3adb050
Split test_polynomial.cpp up to make testing easier and object files smaller.
2017-06-28 18:36:31 +01:00
jzmaddock
2e6c9ca2b0
test_zeta.cpp: Need to set overflow policy even when pch is off.
2017-06-27 17:51:02 +01:00
jzmaddock
f1a324d7ff
Quadrature: add cpp_dec_float exp_sinh test to Jamfile.v2
2017-06-26 09:03:41 +01:00
jzmaddock
8b40c2cbb1
quadrature: Fix cpp_dec_float tests.
2017-06-26 09:02:09 +01:00
jzmaddock
6f96c8b229
quadrature: Get tests clean with older compilers.
...
Also make tanh_sinh constants static members since they're constants.
2017-06-25 11:44:08 +01:00
jzmaddock
040feb0240
Get the tests hooked up and working with a variety of compilers.
2017-06-24 09:48:32 +01:00
pabristow
555e0f416b
commit merge from develop
2017-06-22 17:05:02 +01:00
jzmaddock
b55167446f
Quadrature: Policify the code,
...
Make tanh_sinh quadrature arbitrary precision.
Rework tests so the object files are not so large.
Added some more example integrals to the tanh_sinh tests.
2017-06-21 18:29:46 +01:00
jzmaddock
5e3fd1574e
Merge branch 'double_exponential' of https://github.com/NAThompson/math into pr66
2017-06-17 18:10:25 +01:00
jzmaddock
9a8324c989
Merge pull request #71 from boostorg/pr65
...
PR based on #65 prepared for CI testing
2017-06-17 09:02:56 +01:00
jzmaddock
fdd959a32f
Merge branch 'cleanup' of https://github.com/NAThompson/math into pr65.
...
Also made a couple of minor modifications.
2017-06-16 19:35:13 +01:00
jzmaddock
34d413e830
trapezoidal: More fixes prior to merging:
...
Add new documentation section for integrators.
Remove isfinite from std_real_concept.hpp - it's not part of our conceptual requirements.
Add workarounds for older compilers that can't handle the default arguments to the function.
Restrict testing test_trapezoidal.cpp to compilers that handle lambdas.
Make the concept checks C++03.
Make test_trapezoidal.cpp compile with VC11's broken lambda support.
2017-06-16 18:13:42 +01:00
jzmaddock
f435cd3451
Bring trapezoidal.hpp more into line with the rest of Boost.Math:
...
Add policy support for error handling and epsilon.
Fix some warnings in the test case (msvc).
2017-06-15 19:14:31 +01:00
jzmaddock
a8bb78d25b
Merge branch 'romberg' of https://github.com/NAThompson/math into pr59
...
# Resolved Conflicts:
# test/Jamfile.v2
2017-06-15 18:26:48 +01:00
jzmaddock
b974a17ea8
add missing test file.
2017-06-10 11:43:57 +01:00
jzmaddock
9b2f878103
Update next.hpp and ulp.hpp to work with decimal types.
2017-06-10 11:11:58 +01:00
jzmaddock
a2cef181a8
test_barycentric_rational.cpp: switch to deterministic testing.
...
Previous code used random_device which would occasionally generate test sets with higher than expected error rates, this way we have something consistent to CI test against.
2017-06-08 08:48:57 +01:00
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
Nick Thompson
23403b61a1
Add concept test and include test.
2017-05-18 19:02:29 -06:00
Nick Thompson
a980bd8af3
Add concept and include test.
2017-05-18 18:23:01 -06:00
Nick
1753d6e9e4
Merge branch 'develop' into romberg
2017-05-18 17:34:52 -06:00
Nick Thompson
7660162d41
Add concept and include test.
2017-05-18 17:33:45 -06:00
John Maddock
0812745b14
Add -lquadmath to barycentric rational tests
2017-05-12 10:21:39 +01:00
Nick Thompson
78409954f2
Use quadrature namespace. Add example.
2017-05-11 21:51:35 -06:00
Nick Thompson
4801e2d8bf
Add namespace boost::math::quadrature. Remove throw when condition number of summation exceeds precision of type; how to properly mollify the condition number is not clear and should be done consistently rather than ad-hoc.
2017-05-11 21:03:00 -06:00
Nick Thompson
3bfeee838d
Double exponential quadrature.
2017-05-10 22:03:21 -06:00
pabristow
369ce4312b
Halley/Luu version working for 50 decimal digits 'reference' test values.
2017-05-10 18:21:35 +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
Nick Thompson
bcff4eae78
Remove unused variables, variables set but unused, set floating point number that would flush to zero to identically zero.
2017-05-03 15:30:24 -06:00
Nick Thompson
cf35d745d1
Remove unused typedef. Fix dangling reference to policy in airy. Pipe unused variables in compile test to /dev/null to suppress compiler warnings. Remove comment within comment.
2017-05-03 10:13:18 -06: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
Nick Thompson
45226c7ef1
Numerical differentiation by finite differences and the complex step derivative.
2017-05-02 18:29:03 -06: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
Nick Thompson
48a0cf714b
Put license information in each file. Do not throw when condition number is approaching an undefined value; use mollification. Improve documentation.
2017-05-02 12:02:02 -06: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
fff12aa16b
Improve documentation for trapezoidal quadrature, explaining the role of the L1 norm calculation. Throw correct error type.
2017-03-28 13:56:18 -05:00
Nick Thompson
9f58f0d337
Add facility to check L1 norm and hence condition number of the quadrature sum. Throw when condition number exceeds the number of significant digits of the type.
2017-03-26 13:45:50 -05:00
pabristow
c5ee664a51
Refactored with policies and passes tests and timing.
2017-03-23 14:15:37 +00:00
pabristow
bdee37743d
Bug in values near to -exp(-1) corrected.
2017-03-13 10:03:33 +00:00
pabristow
0048d41dd6
Added new constants expminusone and sixth
2017-03-10 13:06:44 +00:00
pabristow
cea2465e3e
Need expminusone constant
2017-03-06 18:23:54 +00:00
pabristow
94d3cf4043
refactored to use local test_value.hpp
2017-03-06 18:10:52 +00: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
136e7411f5
Adaptive Trapezoidal Quadrature
...
This routine estimates the definite integral of a function f.
Assuming that f is periodic, it can be shown that this routine converges exponentially fast.
In fact, the test cases given exhibit exponential convergence with decreasing stepsize.
A potential improvement is using the Bulirsch sequence rather than the Romberg sequence to schedule the refinements.
However, the convergence is so rapid for functions of the class specified above that there seems to be no need at present.
This code is cppcheck clean, and runs successfully under AddressSanitizer and UndefinedBehaviorSanitizer.
2017-03-05 19:05:41 -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
8507da5a59
Fix construct from floating point create_test_value overload.
2017-01-03 18:56:42 +00:00
pabristow
eb2707e8b0
Failed attempts to get create_test_value to work.
2017-01-02 18:31:16 +00:00
pabristow
ffb025ca2c
First very rough prototype of Lambert W function, example of calculating diode current versus voltage, and some tests, including multiprecision and fixed_point types. Not yet using policies and trouble near the singularity at z=-exp(-1) and large z.
2016-12-22 18:30:27 +00: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
jzmaddock
4787d870c6
Suppress some msvc warnings.
2016-10-19 19:22:37 +01:00
jzmaddock
f888dcb129
Including polynomial.hpp should get the gcd overloads as well.
2016-08-26 18:32:27 +01:00
Jeremy W. Murphy
64c887a3c9
Add overload of gcd() for polynomials with multi-precision integral coeffs.
...
And add a unit test to show that it works.
2016-08-25 23:02:03 +10:00
Jeremy W. Murphy
783dc6af46
Merge branch 'develop' into polynomial_ufd_gcd
2016-08-25 22:08:48 +10:00
inkstink
dd6ac8f9da
typos
2016-08-19 20:47:49 -04: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
jzmaddock
5d48124b80
Adjust Intel C++ error rates.
2016-08-10 18:52:26 +01:00
jzmaddock
a74dca9089
Merge branch 'develop' of https://github.com/boostorg/math into develop
2016-07-22 09:28:45 +01:00
jzmaddock
d3a570e91a
Fix Intel C++ test failures
2016-07-22 09:27:15 +01:00
John Maddock
48a2c84843
Fix expected error rates for Oracle C++ on Solaris
2016-07-19 17:54:30 +00:00
Jeremy W. Murphy
f04643225a
Define large integral test types for subresultant_gcd unit test.
2016-07-15 23:08:44 +10:00
Jeremy W. Murphy
2e024bd02d
Merge branch 'polynomial_ufd_gcd' into polynomial_ufd_gcd_2
...
# Conflicts:
# test/test_polynomial.cpp
2016-07-15 18:46:35 +10:00
Jeremy W. Murphy
579d6681bc
Merge branch 'develop' into HEAD
...
# Conflicts:
# test/test_polynomial.cpp
2016-07-15 18:42:53 +10:00
Jeremy W. Murphy
ce1d534414
Add case for zero to leading_coefficient and unit test.
2016-07-15 18:12:51 +10:00
Jeremy W. Murphy
208bd598e3
Tweak comment about normalization of result.
2016-07-15 18:05:31 +10:00
Jeremy W. Murphy
5ffcca3998
Remove Euclidean_gcd test; it's not relevant to this PR.
2016-07-15 18:05:14 +10:00
Jeremy W. Murphy
a27c8d5ad2
Consolidate merge further; test subresultant instead of Stein algorithm.
2016-07-15 18:00:06 +10:00
jzmaddock
94d81d96ce
Stop testing details that have been removed
2016-07-15 02:14:38 +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
Jeremy W. Murphy
6cf88b589e
Grab test fixtures from another branch.
2016-07-14 18:38:38 +10:00
jzmaddock
2934670e51
Disable some tests for older msvc compilers.
2016-07-11 18:31:51 +01:00
Jeremy W. Murphy
6f5537d273
[polynomial] Move gcd code into a new file.
2016-06-20 09:58:39 +10:00
Jeremy W. Murphy
95d4976b86
[polynomial] Rename gcd_ufd to subresultant_gcd.
2016-06-19 15:37:42 +10:00
Jeremy W. Murphy
412f881740
[polynomial] Add more unit tests for gcd_ufd.
...
Also, remove short from the list of integral types tested because the
particular values tested in gcd_ufd require larger intermediate values.
2016-06-18 21:46:47 +10:00
Jeremy W. Murphy
7c705d6f10
[polynomial] Remove superfluous typedefs in unit test.
2016-06-17 23:14:22 +10:00
Jeremy W. Murphy
48e856cf34
Merge branch 'develop' into polynomial_ufd_gcd
2016-06-16 23:21:48 +10:00
jzmaddock
e4cd194686
Fix misc clang issues
2016-06-04 19:26:59 +01:00
jzmaddock
1cb146a001
Merge branch 'develop' of https://github.com/boostorg/math into develop
2016-05-31 13:36:01 +01:00
jzmaddock
8cb9be7699
Change test data so it always uses the SC_ macro:
...
it helps multiprecision tests, and in particular allows us to test types whose precision varies at runtime.
2016-05-31 13:35:37 +01:00
Jeremy W. Murphy
d922f95fd5
Merge branch 'develop' into polynomial_ufd_gcd
...
# Conflicts:
# include/boost/math/tools/polynomial.hpp
# test/test_polynomial.cpp
2016-05-16 09:48:15 +10:00
Jeremy W. Murphy
94526e54c7
Merge branch 'develop' into polynomial_zero
...
# Conflicts:
# test/test_polynomial.cpp
2016-05-15 21:03:12 +10:00
Kolya Matteo
42249f03e7
Simplify one and zero polynomial declarations
2016-05-13 09:06:36 -04:00
Jeremy W. Murphy
e608dc6657
Rename clear() to set_zero().
2016-05-13 18:27:31 +10:00
Kolya Matteo
c7d7a0ce6e
Add unit tests for polynomial pow
2016-05-11 15:05:13 -04:00
Jeremy W. Murphy
a737a3f5c2
operator bool() and clear(): test for zero and set to zero respectively.
...
Checking for zero or non-zero and setting to zero are common operations,
so fast implementations
2016-05-11 14:02:16 +10:00
jzmaddock
bea587f3fd
Merge branch 'gcd_n' of https://github.com/jeremy-murphy/math into develop
...
# Resolved Conflicts:
# include/boost/math/common_factor_rt.hpp
# test/test_gcd.cpp
2016-05-09 18:59:17 +01:00
jzmaddock
c9bf1df944
Merge branch 'polynomial_shift' of https://github.com/jeremy-murphy/math into develop
...
# Resolved Conflicts:
# test/test_polynomial.cpp
2016-05-09 18:29:22 +01:00
jzmaddock
cace9b59de
Merge branch 'gcd' into develop
...
# Resolved Conflicts:
# test/test_polynomial.cpp
2016-05-09 18:15:54 +01:00
jzmaddock
c5084fc77e
Add complex and polynomial test cases.
2016-05-08 16:54:24 +01:00
jzmaddock
b953a8cad6
Add better error handling tests.
2016-05-07 18:45:51 +01:00
Jeremy W. Murphy
a56745b479
Merge branch 'develop' into polynomial_ufd_gcd
...
# Conflicts:
# test/test_polynomial.cpp
2016-05-07 18:32:42 +10:00
Jeremy W. Murphy
a822400320
Merge branch 'develop' into polynomial_shift
...
# Conflicts:
# test/test_polynomial.cpp
2016-05-07 18:27:46 +10:00
Jeremy W. Murphy
e3101bc0eb
Return pair of <T, I> that includes the termination position.
2016-05-07 14:33:35 +10:00
Jeremy W. Murphy
ffd40ccb5f
Actually test n = 1 for gcd_range.
2016-05-07 11:01:57 +10:00
Jeremy W. Murphy
df8c6584dc
Rename gcd_n to gcd_range.
2016-05-07 10:58:43 +10:00
Kolya Matteo
3d3a1f8d2a
Add tests for polynomial normalization with initializer lists (so the highest-degree term is nonzero)
2016-05-02 14:06:18 -04:00
Kolya Matteo
ece2283833
Add polynomial self-multiply-assign test case
2016-05-02 13:46:06 -04:00
Jeremy W. Murphy
d484fa657c
Remove inferior generalized gcd; include integral size promotion.
2016-04-20 22:53:56 +10:00
Jeremy W. Murphy
dc81bc8e6e
Add 4.6.1E, generalized gcd.
...
Should be useful for cross-validating 4.6.1C.
2016-04-20 01:38:05 +10:00
Jeremy W. Murphy
4dc7c31f48
Extra test for gcd of polynomial over ufd. But is it correct?
2016-04-18 01:46:43 +10:00
Jeremy W. Murphy
aa19132d74
4.6.1C: Greatest common divisor over a unique factorization domain.
2016-04-17 14:21:01 +10:00
Jeremy W. Murphy
573b9fc399
content and primitive_part of a polynomial over a ufd.
2016-04-15 13:14:18 +10:00
Jeremy W. Murphy
03e71021ac
Unit test.
...
# Conflicts:
# include/boost/math/common_factor_rt.hpp
2016-04-15 07:20:15 +10:00
Jeremy W. Murphy
5b8c448ce0
gcd of n values.
2016-04-14 14:22:12 +10:00
Jeremy W. Murphy
e963c67af2
Normalize after left-shift assignment to prevent denormalized zeroes.
2016-04-10 01:27:36 +10:00
jzmaddock
e1dd0645a7
Improve gcd tests.
2016-04-06 18:02:39 +01:00
jzmaddock
11500b787b
Merge branch 'polynomial_shift' of https://github.com/jeremy-murphy/math into gcd
...
# 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.
2016-04-06 17:58:21 +01:00
jzmaddock
0940e7d1e6
Revert "Don't use a library when an object file will do."
...
This reverts commit 86f3ae5463
.
2016-04-04 12:55:17 +01:00
jzmaddock
86f3ae5463
Don't use a library when an object file will do.
2016-03-28 13:11:54 +01:00
Jeremy W. Murphy
238cd6078b
polynomial: odd/even predicates.
...
We use the definition of odd and even consistent with considering x as the
smallest prime factor. That is, an even polynomial has a constant of zero.
2016-03-28 16:04:27 +11:00
Jeremy W. Murphy
e9da8a10bf
polynomial: Left and right shift operators.
...
Shifting adds or removes a factor of x in the same way that shifting adds
or removes a factor of 2 to integers.
2016-03-27 22:03:33 +11:00
jzmaddock
8a32bac2c8
Merge pull request #25 from jeremy-murphy/gcd_unit_tests
...
Gcd unit tests
2016-03-09 18:51:25 +00:00
jzmaddock
65f7440c2f
Minor fixes for polynomial division:
...
* Use Boost.Config macros not direct checks on C++ version.
* Use dedicated integer power function - fixes VC10 build failure, also prevents loss of digits when integer type is wider than double.
2016-03-02 19:37:46 +00:00