-
-
Notifications
You must be signed in to change notification settings - Fork 191
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
Fix issue 3146 for multiply_log #3147
base: develop
Are you sure you want to change the base?
Conversation
…most of the template function for offset_multiplier to simplify
Does this affect stan-dev/stan#3330 or is it unrelated? |
This is just #3146 I'm writing a separate PR for stan-dev/stan#3330 |
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
Fixes #3146 by making the deduction for branch logic be compile time using
if constexpr
. This also cleans up a lot of the code foroffset_multiply_constrain
. Instead of having all combinations of signatures for vector inputs we just use a littleif constexpr
to deduce which inputs need iterated over.Tests
There is 1 new test in
rev
for testing issue #3146 specifically. You can run all tests associated with this PR viaSide Effects
Nope
Release notes
Fix issue so that rep_matrix can be used inside of offset_multiplier constraints.
Checklist
Copyright holder: Simons Foundation
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