-
-
Notifications
You must be signed in to change notification settings - Fork 11
Add support for definite integration #59
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
base: main
Are you sure you want to change the base?
Conversation
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.
AI-Maintainer Review for PR - Add support for definite integration
Title and Description 👍
Details
The title of the pull request is clear and concise. It effectively communicates the purpose of the changes, which is to add support for definite integration. The description could benefit from a more detailed explanation of the changes being made and the motivation behind them.Scope of Changes 👍
Details
The changes are narrowly focused on adding support for definite integration. The diff only includes modifications to the `integral.jl` file, specifically within the `integrate` function. There are no indications that the author is trying to resolve multiple issues simultaneously.Documentation 👎
Details
The `integrate` function requires a docstring to describe its behavior, arguments, and return values. Please add a docstring to this function.Testing 👎
Details
The description of the pull request does not mention how the author tested the changes. It would be beneficial for the author to provide information on how they tested the changes to ensure their correctness and functionality.Suggested Changes
- Please add a docstring to the
integratefunction to describe its behavior, arguments, and return values. This will help other developers understand the purpose and usage of this function. - Please provide information on how you tested the changes. This could include unit tests, integration tests, or manual testing procedures. This will help ensure the changes are functioning as expected and have not introduced any new issues.
Reviewed with AI Maintainer
It would be good to test a few values and cases. |
Codecov Report
@@ Coverage Diff @@
## main #59 +/- ##
==========================================
- Coverage 64.96% 0.10% -64.87%
==========================================
Files 14 14
Lines 942 933 -9
==========================================
- Hits 612 1 -611
- Misses 330 932 +602
... and 10 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
| - `err`: the numerical error in reaching the solution | ||
| """ | ||
| function integrate(eq, x = nothing, domain::Vector{<:Number} = nothing; abstol = 1e-6, num_steps = 2, num_trials = 10, | ||
| function integrate(eq, x = nothing, domain::Vector{<:Number} = [NaN]; abstol = 1e-6, num_steps = 2, num_trials = 10, |
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.
for safety make it nothing by default.
|
I think this can be closed as superseded by #63 ? |
See this Discourse conversation: https://discourse.julialang.org/t/integrating-symbolic-functions/102545
Thought I'd start a basic MR with the most naive implementation, and let it evolve from here. I've only done the most basic manual testing (e.g. integrate$x$ over the domain [0,1]), but am open to suggestions for how to build out testing -- is it enough to rely on
Symbolics.substituteunit tests, and then just a few return-type / edge case tests?