-
Notifications
You must be signed in to change notification settings - Fork 16
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 incorrect application of EPS (Papercut/ issue #1084) #3000
Conversation
|
9142752
to
4e63840
Compare
…fixed the bug that caused the Interpolator's geometry to be considered infeasible (accidentally set the threshold too tight when the atol=0 overrode the default tolerance.).
4e63840
to
20e475b
Compare
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## develop #3000 +/- ##
========================================
Coverage 79.79% 79.79%
========================================
Files 226 226
Lines 25120 25122 +2
========================================
+ Hits 20045 20047 +2
Misses 5075 5075 ☔ View full report in Codecov by Sentry. |
Quality Gate passedIssues Measures |
* Fixed all of the places where EPS may be incorrectly applied * Fixed all places where EPS is used in atol instead of rtol incorrectly. * Moved the EPS_FREECAD constant to geometry.constants; Identified and fixed the bug that caused the Interpolator's geometry to be considered infeasible (accidentally set the threshold too tight when the atol=0 overrode the default tolerance.). * Increased test coverage * Removed optimize.bisect and found an analytical solution using arctan instead. * ruff check * Corrected tolerance value to D_TOLERANCE, and added test coverage. * deleted debugging print statement * Minor edit to comments in geometry.constants * Finished papercut.
* Fixed all of the places where EPS may be incorrectly applied * Fixed all places where EPS is used in atol instead of rtol incorrectly. * Moved the EPS_FREECAD constant to geometry.constants; Identified and fixed the bug that caused the Interpolator's geometry to be considered infeasible (accidentally set the threshold too tight when the atol=0 overrode the default tolerance.). * Increased test coverage * Removed optimize.bisect and found an analytical solution using arctan instead. * ruff check * Corrected tolerance value to D_TOLERANCE, and added test coverage. * deleted debugging print statement * Minor edit to comments in geometry.constants * Finished papercut.
Linked Issues
Closes #1084
Description
Since floating point numbers isn't a dense representation of the real number line (it's sparse, but "denser" toward the center:
)
We have to consider that the "resolution" varies with the value of the float, i.e. the step size increases wrt. abs value of float.
Interface Changes
Added a variable called "EPS_FREECAD" which would be used in place of EPS whenever geometry is involved.
Checklist
I confirm that I have completed the following checks:
pytest tests --reactor
pre-commit run --from-ref develop --to-ref HEAD
sphinx-build -W documentation/source documentation/build