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

Allow constraint tolerance to be adjusted with a compile-time define #2921

Merged
merged 1 commit into from
Jul 7, 2023

Conversation

WardBrian
Copy link
Member

Summary

Certain advanced usages of the Math library require the tolerance for constraints such a simplex unconstraining to be looser than we normally allow in Stan. This lets those users pass -DSTAN_MATH_CONSTRAINT_TOLERANCE=1e-4, for example, to set the value of the tolerance at compile time.

As an aside, this also allows these checks to essentially be disabled by setting it to some arbitrarily large value.

Tests

None

Side Effects

None for normal users.

Release notes

The constraint tolerance can now be adjusted by defining the STAN_MATH_CONSTRAINT_TOLERANCE macro before including Stan headers. The default value remains 1E-8.

Checklist

  • Math issue: Closes feature request: configurable constraint tolerance #2911

  • Copyright holder: (fill in copyright holder information)

    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

    • unit tests pass (to run, use: ./runTests.py test/unit)
    • header checks pass, (make test-headers)
    • dependencies checks pass, (make test-math-dependencies)
    • docs build, (make doxygen)
    • code passes the built in C++ standards checks (make cpplint)
  • the code is written in idiomatic C++ and changes are documented in the doxygen

  • the new changes are tested

@rok-cesnovar
Copy link
Member

Great idea!

@rok-cesnovar rok-cesnovar merged commit af551db into develop Jul 7, 2023
8 checks passed
@rok-cesnovar rok-cesnovar deleted the feature/2911-constraint-tolerance-define branch July 7, 2023 06:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feature request: configurable constraint tolerance
2 participants