-
-
Notifications
You must be signed in to change notification settings - Fork 190
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
Update hypergeometric_pFq to delegate to specialisations where relevant #3167
base: develop
Are you sure you want to change the base?
Conversation
stan/math/prim/fun.hpp
Outdated
@@ -126,6 +126,7 @@ | |||
#include <stan/math/prim/fun/hypergeometric_2F2.hpp> | |||
#include <stan/math/prim/fun/hypergeometric_3F2.hpp> | |||
#include <stan/math/prim/fun/hypergeometric_pFq.hpp> | |||
#include <stan/math/prim/fun/hypergeometric_pFq_helper.hpp> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we actually want to include this in prim/fun.hpp? Not fully sure what the implications of leaving it out would be
Jenkins Console Log Machine informationNo LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS Release: 20.04 Codename: focalCPU: G++: Clang: |
Jenkins Console Log Machine informationNo LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS Release: 20.04 Codename: focalCPU: G++: Clang: |
Summary
This PR updates
hypergeometric_pFq
to delegate the existing specialisations (e.g.,hypergeometric_2F1
) to take advantage of their optimisations/reparameterisations.For this I had to extract the actual call to Boost's
hypergeometric_pFq
into a standalone file to avoid recursive includesTests
N/A - tests should still pass
Side Effects
N/A
Release notes
Update hypergeometric_pFq to delegate to specialisations where relevant
Checklist
Copyright holder: Andrew Johnson
The copyright holder is typically you or your assignee, such as a university or company. By submitting this pull request, the copyright holder is agreeing to the license the submitted work under the following licenses:
- Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
- Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
the basic tests are passing
./runTests.py test/unit
)make test-headers
)make test-math-dependencies
)make doxygen
)make cpplint
)the code is written in idiomatic C++ and changes are documented in the doxygen
the new changes are tested