Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge for 1.84 #1042

Merged
merged 50 commits into from
Nov 5, 2023
Merged

Merge for 1.84 #1042

merged 50 commits into from
Nov 5, 2023

Conversation

mborland
Copy link
Member

@mborland mborland commented Nov 2, 2023

No description provided.

ryanelandt and others added 30 commits July 25, 2023 09:55
If `guess` passed to `inverse_discrete_quantile` cannot be represented
as floating point number, it is possible that `guess + 1` or `guess - 1`
does not change the value at all and we are stuck in infinite loop
inside `round_to_floor` or `round_to_ceil`.  Fix this by
increase/decrease more than 1 in these cases.

Example code to reproduce this:
```c++
boost::math::binomial_distribution<> dist(9079765771874083840, 0.561815);
boost::math::quantile(dist, 0.0365346);
```
Fix #1016 MSVC 14_0 stdandards and has-include
Fix #1018 via eliminate unused parameter
If `guess` passed to `inverse_discrete_quantile` cannot be represented
as floating point number, it is possible that `guess + 1` or `guess - 1`
does not change the value at all and we are stuck in infinite loop
inside `round_to_floor` or `round_to_ceil`.  Fix this by
increase/decrease more than 1 in these cases.

Example code to reproduce this:
```c++
boost::math::binomial_distribution<> dist(9079765771874083840, 0.561815);
boost::math::quantile(dist, 0.0365346);
```
…the non Lanczos case).

Completes work started here: #1007
Fixes Conflicts:
	test/test_binomial.cpp
Improve ibeta power term calculation in the Sterling case
Add tests extracted from SciPy bug report.
Fixes #1006.
See also #1009.
Avoid spurious overflow and divide by zero in ibeta.
…rge z.

Avoids hitting tgamma on a negative integer, also improves accuracy when b-a-0.5 is close to a negative integer.
Fixes #1034.
jzmaddock and others added 15 commits October 12, 2023 17:06
Adjust recursion when using the Bessel function approximation with la…
Fixes #1035.
See also scipy/scipy#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.
Correct non-central-t series convergence bug.
Its int counterpart is a constexpr, and the ten variable never changes, so for consistency, we should make float_type ten constexpr as welll.
ten should be a constexpr as a float
Add tests and make sure everything is covered, and fix resulting errors.
Incorporate cast simplifications from PR880
* initial commit

* remove == std::denorm_present

* remove extra ) in ccmath/next
This fixes ambiguous overloads in the multiprecision case between boost::multiprecision and boost::math versions of log1p.
See boostorg/multiprecision#568 (comment)
@mborland
Copy link
Member Author

mborland commented Nov 3, 2023

I believe this has to wait for: boostorg/multiprecision#570 since there were cross library fixes.

Update/improve ccmath configuration.
@jzmaddock
Copy link
Collaborator

One failure is a clone/network error, merging.

@jzmaddock jzmaddock merged commit f4c3757 into master Nov 5, 2023
115 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants