2
0
mirror of https://github.com/boostorg/math.git synced 2026-01-27 07:02:08 +00:00
Commit Graph

3203 Commits

Author SHA1 Message Date
jzmaddock
b8ea32436a Correct concept failures. 2024-02-08 19:56:27 +00:00
jzmaddock
d6ec06df3a Improve Bessel K and Y prime coverage.
Improve overflow handling in the implementations themselves.
2024-02-08 19:25:56 +00:00
jzmaddock
2adbc21370 Correct assertion usage. 2024-02-06 18:31:28 +00:00
jzmaddock
60134c06e9 Improve Bessel Y derivative coverage.
Also fixes a bug in bessel_y_derivative_small_z_series corner case.
2024-02-06 18:26:35 +00:00
John Maddock
e1033c9558 Merge branch 'develop' into improve_coverage 2024-02-06 15:01:40 +00:00
jzmaddock
a57fb0a894 Reinstate root finding protection against huge jumps.
Apply error handling more rigorously to any root finding client.
Mark evaluation_error's as not reachable for code coverage.
Fixes https://github.com/boostorg/math/issues/184.
2024-02-05 19:16:33 +00:00
Andrew Johnson
12e33a5db4 Avoid unused variable warning 2024-02-04 13:54:00 +02:00
jzmaddock
d0bade9858 Improve Bessel Y coverage. 2024-02-01 16:56:39 +00:00
jzmaddock
b30b637f35 Remove some impossible to reach bessel_jn code.
Add some more tests for the code that can be reached.
2024-01-29 18:05:37 +00:00
jzmaddock
14eee3781e Correct assert usage. 2024-01-26 19:43:14 +00:00
jzmaddock
797714419b Continue improving Bessel coverage and removing dead code. 2024-01-26 19:31:34 +00:00
Nick
fccad84bf5 Random search (#1071) 2024-01-24 17:26:24 -08:00
jzmaddock
317b7a64e4 More Bessel function coverage.
Remove I0 initializers and rely on C++11 thread safe static const initialization.
2024-01-23 17:18:25 +00:00
jzmaddock
36496d4fb7 Correct sign of cyl_neumann(0,0) result in multiprecision case. 2024-01-23 12:18:10 +00:00
Nick
a1f7a305ee Algorithm jSO (#1065)
Follows: Brest, Janez, Mirjam Sepesy Maucec, and Borko Boskovic. "Single objective real-parameter optimization: Algorithm jSO." 2017 IEEE congress on evolutionary computation (CEC). IEEE, 2017.
2024-01-22 14:06:52 -08:00
jzmaddock
27b3f9ea09 Begin improving ibeta coverage. 2024-01-22 19:28:16 +00:00
jzmaddock
7431f8141c Improve bernoulli and bessel coverage. 2024-01-22 13:23:33 +00:00
jzmaddock
9e18943090 Improve test coverage.
Try and get all the special_functions/a*.hpp files up to 100%.
2024-01-21 16:58:08 +00:00
jzmaddock
9f5e81d4ea Fix missing newline. 2024-01-21 10:26:53 +00:00
jzmaddock
469541984d Improve cstdfloat iostream code.
Copies input stream parsing from multiprecision.
Fixes https://github.com/boostorg/math/issues/1064
This is still not "proper" iostream code, but it's much better than it was.
2024-01-20 19:04:59 +00:00
Nick
de9a1a0ee5 Fix race conditions in differential evolution (#1063)
Through a combination of silly mistakes, I missed a pile of race conditions in the OpenMP threading.

Switch to C++ threading. Note that this change requires serial generation of trial vectors.

Hopefully I can figure out to parallelize the generation of trial vectors to reduce the serial section a la Ahmdahl's law,
while simultaneously keeping thread sanitizer happy.
2024-01-17 10:20:41 -08:00
Nick
4ee83916c5 Differential evolution (#1062)
* Differential evolution

---------

Co-authored-by: Matt Borland <matt@mattborland.com>
2024-01-01 17:09:16 -08:00
Matt Borland
8332808ebc Address review comments [CI SKIP] 2023-12-22 07:13:10 -05:00
Matt Borland
c4e15ddda0 Fix index for MSVC 14.0 2023-12-22 06:06:57 -05:00
Matt Borland
8d575067e9 Rename bessel components 2023-12-22 05:17:55 -05:00
Matt Borland
a8ee8eb5d8 Protect dependencies with macros 2023-12-22 05:15:38 -05:00
Matt Borland
de67ad3207 Rename our components 2023-12-22 05:09:32 -05:00
Matt Borland
bd49c8311a Improve logic and shield other boost libraries in non-standalone mode 2023-12-21 08:33:23 -05:00
Matt Borland
e24e884562 Undef I after pushing onto the stack 2023-12-21 07:48:13 -05:00
Matt Borland
23d54b385b Fix for msvc defining _Complex_I in complex.h 2023-12-21 07:20:24 -05:00
Matt Borland
b3a21bcbcb Fix cstdfloat numeric limits detection macro for libstdc++14 2023-12-13 08:43:43 +01:00
Nick
e0c17f6856 Improve accuracy of quartic_roots (#1056) 2023-11-27 17:52:56 +01:00
Matt Borland
2dd018b8c7 Revert "Update version history."
This reverts commit d938d3e836.
2023-11-18 08:30:17 +01:00
jzmaddock
d938d3e836 Update version history.
[CI SKIP]
2023-11-17 18:25:02 +00:00
Matt Borland
0c5b957300 Merge pull request #1051 from boostorg/1048
Fix for issue 1048
2023-11-17 10:59:10 +01:00
Matt Borland
fe377373e4 Use identity function in floor if val >= 1/epsilon 2023-11-16 11:26:41 +01:00
Matt Borland
d18964d5aa Check update of xterm for denom of 0 2023-11-16 09:38:11 +01:00
jzmaddock
90c509398b Improve error detection further. 2023-11-06 09:40:26 +00:00
jzmaddock
d7048ecfa7 Improve ccmath support detection.
See discussion in https://github.com/boostorg/math/pull/1045.
2023-11-05 19:32:33 +00:00
jzmaddock
21230d698e Correct header include order for standalone mode. 2023-11-03 18:46:23 +00:00
jzmaddock
6d6b0a8c82 Correct new headers include guards. 2023-11-03 18:37:33 +00:00
jzmaddock
7f39320b8d Update/improve ccmath configuration. 2023-11-03 18:32:21 +00:00
Matt Borland
d298a15b1d Reorder macro and add missing include 2023-11-03 08:27:30 +01:00
jzmaddock
ae6571af58 Qualify log1p calls.
This fixes ambiguous overloads in the multiprecision case between boost::multiprecision and boost::math versions of log1p.
See https://github.com/boostorg/multiprecision/pull/568#issuecomment-1790195318
2023-11-02 12:14:06 +00:00
ryanelandt
2c74b149b0 has_denorm_now (#1029)
* initial commit

* remove == std::denorm_present

* remove extra ) in ccmath/next
2023-10-30 09:37:29 +01:00
jzmaddock
c6f4a88809 Incorporate cast simplifications from https://github.com/boostorg/math/pull/880
Add tests and make sure everything is covered, and fix resulting errors.
2023-10-17 17:09:44 +01:00
Rose
0e3b29f389 ten should be a constexpr as a float
Its int counterpart is a constexpr, and the ten variable never changes, so for consistency, we should make float_type ten constexpr as welll.
2023-10-15 18:54:03 -04:00
jzmaddock
eaf876c81e Correct non-central-t series convergence bug.
Fixes https://github.com/boostorg/math/issues/1035.
See also https://github.com/scipy/scipy/issues/19348.
Accuracy in left tail is still poor, and the reflection formula appears to be to blame as it's use causes the series to cancel out the first term, but it appears we have no real choice in the matter here.  At least we do now get a few digits correct.
2023-10-13 18:45:03 +01:00
jzmaddock
57b09f4919 More test cases and corrections. 2023-10-12 17:06:37 +01:00
jzmaddock
2dbd7698cc Adjust recursion when using the Bessel function approximation with large z.
Avoids hitting tgamma on a negative integer, also improves accuracy when b-a-0.5 is close to a negative integer.
Fixes https://github.com/boostorg/math/issues/1034.
2023-10-11 11:45:33 +01:00