-
Notifications
You must be signed in to change notification settings - Fork 5
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
Non-breaking internal restructuring #79
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #79 +/- ##
==========================================
- Coverage 90.93% 90.35% -0.59%
==========================================
Files 7 16 +9
Lines 353 311 -42
==========================================
- Hits 321 281 -40
+ Misses 32 30 -2 ☔ View full report in Codecov by Sentry. |
@JoshuaLampert Just a heads-up: I was planning for this branch/PR to become a major version bump, but the first (non-breaking) half of the job wound up being so extensive that I think I'm going to split those plans into two PR's. This reorganization is mostly moving methods into different files, combining some redundant wrapper methods, and implementing a generalized Gauss-Legendre method. I'll need to look over everything again, but it should probably be ready for review in the next day or two. |
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.
Nice! I like having more structure in the code. I didn't check everything in detail (especially I assume the copy/paste is fine). I just left some minor comments and questions below.
Completed
IntegrationAlgorithm
s fromintegrals.jl
to a new file_integral
workers intointegrals.jl
integral_*.jl
files into geometry-specific files under the new/src/specializations/
directory_integral
the first-line worker for all integrals; the only remaining_integral_Nd
methods are subordinate to_integral(f, ::GaussKronrod)
methodsGaussLegendre
integrals to a single n-dimensional methoddifferential
andjacobian
to accept argumentts
as aTuple
rtol=1e-6
) to mitigate occasional test failuresv0.13.4
tov0.13.5
and remove sole author creditNote on test coverage: the
Ring
,Rope
, andBezierCurve
methods identified as lacking coverage already existed and were only moved to new files in this branch. Ordinarily I would use this opportunity to define tests for them, but the affected methods are going to be obsoleted in an upcoming PR that convertsFP
to a keyword argument.Future Work
FP
to a keyword argument.lineintegral
->integral
->_integral
?IntegrationAlgorithm
toIntegrationRule
, change references from "algorithm", "settings", etc to "rule"