2
0
mirror of https://github.com/boostorg/math.git synced 2026-01-26 18:52:10 +00:00

2250 Commits

Author SHA1 Message Date
John Maddock
7a0ea9b43f Merge branch 'concepts' of https://github.com/mborland/math into concepts 2022-11-04 18:45:48 +01:00
Matt Borland
53534c5505 Fix for scipy issue 17146 (#847)
See: https://github.com/scipy/scipy/issues/17146
2022-10-17 17:54:46 -07:00
Matt Borland
dfdb50caca Fix for issue 845 (#846)
* Fix for issue 845

Avoid division by zero in special cases
2022-10-17 13:52:56 -07:00
Matt Borland
a72ab6c187 Define C++20 concepts 2022-10-16 15:03:24 -07:00
Nicholas McKibben
7ad016f34b short-circuit overflow protection for M1 Mac clang (#827)
xref scipy/scipy#14901

Splits single if statement into two to avoid apparent clang short-circuit bug on M1 Mac platforms.

Co-authored-by: Matt Borland <matt@mattborland.com>
2022-10-12 15:03:13 -07:00
Nick
aac1131351 Specify seed in random tests. (#839) 2022-10-09 12:42:41 -07:00
Nick
ea9c3a27e9 Fix quartic roots when depressed cubic only has single real root (#838) 2022-10-08 21:39:08 -07:00
jzmaddock
9346271a45 Fix Issue 833 (#835)
* Correct 1F1[-n, -n, x]
To match what Mathematica does.
Fixes: https://github.com/boostorg/math/issues/829

* Pass policy in forwarding call to gamma_q.

* Fix bug in 1F1 recurrence relations when one term goes to zero.
Fixes issue with 1F1[-n, n, n].
Also reduce cancellation error in a = -1 special case.
Fixes https://github.com/boostorg/math/issues/833.
2022-10-07 09:35:26 +01:00
jzmaddock
92775b53fc Correct 1F1[-n, -n, x] (#832)
* Correct 1F1[-n, -n, x]
To match what Mathematica does.
Fixes: https://github.com/boostorg/math/issues/829
2022-10-06 11:10:56 +01:00
Antony Polukhin
a3c2c0d0b2 Modernize exception specification (#822)
Replace `throw()` with `BOOST_NOEXCEPT_OR_NOTHROW`
2022-09-27 11:07:58 -07:00
Matt Borland
48edf590f4 Fix include logic for <bit> and assert 0 and NAN when no bit_cast 2022-08-26 09:27:23 -07:00
Matt Borland
3a69eaf7da Add NAN and Zero support for long doubles 2022-08-26 09:27:23 -07:00
Matt Borland
a0d3b809b0 Add NAN and Zero support for doubles 2022-08-26 09:27:23 -07:00
Matt Borland
d62f0d9ba0 Add NAN and Zero support for float 2022-08-26 09:27:23 -07:00
Matt Borland
53e6658208 Fix for issue #800 2022-08-04 20:17:15 -07:00
jzmaddock
45e479deb0 Add #include tests for hypergeometric functions.
Fix the one error detected.
2022-08-04 13:37:20 +01:00
Matt Borland
fae5c5cd12 Add missing headers and test for git issue 2022-08-03 19:28:35 -07:00
Samuel Rowlinson
9adf7ea4bc Added test for circ conic section cubic b spline
This tests the fix for the right endpoint derivative bug in `cardinal_cubic_b_spline`.
2022-07-10 15:59:26 +01:00
Matt Borland
0569685944 Remove unused paratemers in test_nc_t 2022-07-02 19:47:26 -07:00
Matt Borland
3373357752 Remove unused parameter from catmull_rom 2022-07-02 19:39:45 -07:00
Matt Borland
d2c3694ebc Suppress quaternion constexpr test unused variable 2022-07-02 19:28:05 -07:00
Matt Borland
0b57cd2cd7 Suppress TR1 unused variable warnings 2022-07-02 19:23:55 -07:00
Matt Borland
c94cf596eb Suppress unused variable warning 2022-07-02 19:16:25 -07:00
Matt Borland
f000fd5c5c Move conditionally used local typedef in test_2F0 2022-07-02 18:54:18 -07:00
Matt Borland
1cbf7e2c3d constexpr signbit (#793)
Implements constexpr signbit with annotated caveats during compile time.
2022-07-02 11:47:03 -07:00
Matt Borland
ae0fe3d751 Constexpr next (#789)
Implements constexpr: nextafter, nextafterf, nextafterl, nexttoward, nexttowardf, and nexttowardl as described in P0533R9
2022-06-29 08:44:54 -07:00
jzmaddock
d4c71ea9db Fix up multiprc_concept_check_2.cpp for standalone tests. 2022-06-06 12:04:40 +01:00
jzmaddock
ce370f8627 Fix up test_polynomial.cpp for standalone test. 2022-06-06 09:07:36 +01:00
jzmaddock
c5c01b675c Try and consolidate more Github tests.
In the hopes of speeding up CI build times.
2022-06-05 19:43:43 +01:00
jzmaddock
65aaf02760 Merge pull request #786 from boostorg/no_exceptions_or_rtti_error_handling
Set BOOST_NO_EXCEPTIONS and BOOST_NO_RTTI for GCC and math in standal…
2022-05-31 08:43:26 +01:00
Matt Borland
3107abaa8a Constexpr fma (#734)
* constexpr fma

* Improve use of intrinsics for calculation

* Changes to intrinsics and address sonarlint comments
2022-05-30 13:35:54 -07:00
jzmaddock
14d6cfdea2 Tweak CI runs:
Increase tolerance in chatterjee_correlation test.
Remove a few tests from Github CI.
Remove autodiff from the sanitizer tests as they time out.
2022-05-30 18:37:05 +01:00
John Maddock
b50452bf81 Merge branch 'develop' into no_exceptions_or_rtti_error_handling 2022-05-30 18:27:31 +01:00
jzmaddock
8f808da3a7 Disable test_2F0 MP tests for all gcc-12.
They run the machine out of memory.
2022-05-27 15:25:44 +01:00
jzmaddock
378b6a2273 Disable gcc-12 C++20 testing as it runs the machine out of memory compiling test_2F0.cpp. 2022-05-26 13:02:35 +01:00
Matt Borland
e5eae18f14 Chatterjee Correlation Coefficient (#770)
* Implement rank vector

[ci skip]

* Add documentation. Admittedly terrible.

* Add unit tests.

* Cleanup method of detecting if execution policies are valid or not

[ci skip]

* Implement and test chatterjee correlation

[ci skip]

* Add spot checks and special handling for constant Y

[ci skip]

* Add performance file

[ci skip]

* Add execution policy support to rank

[ci skip]

* Remove duplicates from v when generating the order vector

[ci skip]

* Fix macro error for use of <execution>

[ci skip]

* Use explicit types instead of auto to avoid warnings 

[ci skip]

* Add execution policy testing to rank

[ci skip]

* Add threaded implementation

[ci skip]

* Added threaded testing

* Fix formatting and ASCII issues in test

* Fix more ASCII issues

* refactoring

* Fix threaded impl

* Remove non-ASCII apostrophe

[ci skip]

* Doc fixes and add test comparing generally to paper values

* Significantly tighten tolerance around expected values from paper

* Change tolerance for sin comparison

Co-authored-by: Nick Thompson <nathompson7@protonmail.com>
2022-05-25 08:13:24 -07:00
jzmaddock
81269470d5 Split up 1F0 and 2F0 tests.
Reduces compiler memory footprint of those test cases.
2022-05-24 12:21:16 +01:00
jzmaddock
990704e8a9 Correct #include logic in test_hyperexponential_dist.cpp.
[CI SKIP]
2022-05-23 12:14:09 +01:00
jzmaddock
6869066581 Disable chebeshev_transform testing in no-eh mode.
Doesn't easily support exception handling free compilation.
2022-05-16 18:24:06 +01:00
jzmaddock
7c5228a07b Add no-exception handling tests.
Add Ubuntu-22 plus gcc-12 and clang-14 CI tests.
Fix a couple headers which still had noeh-unfriendly code.
2022-05-15 17:35:11 +01:00
Matt Borland
eb422bcead Merge pull request #762 from mborland/logpdf
Logpdf support
2022-04-18 18:45:50 -07:00
Matt Borland
73708be874 Add logpdf to compile tests 2022-04-16 17:34:25 -07:00
jzmaddock
2519641098 Two minor 1F1 bugfixes:
Prevent recurrence coefficients falling to zero.
Allow checked series to progress if the sum temporarily drops to near zero.
Add test cases.
2022-03-10 18:17:43 +00:00
jzmaddock
d799692323 Merge pull request #771 from boostorg/revert_msvc_fix
Revert "Fix for issue #764 (#765)".
2022-03-08 11:13:17 +00:00
jzmaddock
9c2dce5233 Revert "Fix for issue #764 (#765)".
Reverts 1153427c3a.
This is now dealt with upstream in Boost.Config.
See https://github.com/boostorg/math/pull/765
2022-03-06 15:24:02 +00:00
Matt Borland
722bddbd68 Add include guard to fftw3 in library and compile tests (#768) 2022-02-28 09:58:09 -08:00
Matt Borland
e8c40e309c Implement logaddexp (#763)
* Implement logaddexp

* Disable test for ASAN

* Implement logsumexp

* Add performance file and include results in the docs

* Address review comments

* Simplify overflow test and comply with min/max guidelines

* Minor cleanup

* FIxes to comments and docs [ci skip]

* Return status code.

Co-authored-by: Nick Thompson <nathompson7@protonmail.com>
2022-02-24 07:55:25 -08:00
Matt Borland
2a3cb313ec Add logpdf to weibull distribution 2022-02-24 15:59:11 +01:00
Matt Borland
7681a4eded Add logpdf to rayleigh distribution
[ci skip]
2022-02-24 15:31:06 +01:00
Matt Borland
cd4f2b7cbe Add logpdf to laplace distribution
[ci skip]
2022-02-24 14:11:39 +01:00