src/sage/symbolic/integration: make libgiac integration optional#38756
Merged
vbraun merged 1 commit intosagemath:developfrom Oct 12, 2024
Merged
src/sage/symbolic/integration: make libgiac integration optional#38756vbraun merged 1 commit intosagemath:developfrom
vbraun merged 1 commit intosagemath:developfrom
Conversation
We turn the libgiac integrator into a no-op if libgiac isn't available. That way, in the default integration routines, it is essentially skipped. If it were tried last, we could literally skip it; but currently it lives between maxima and sympy and cannot be rearanged without messing up some doctests.
|
Documentation preview for this PR (built with commit 7b31e64; changes) is ready! 🎉 |
Member
|
Shouldn't the test for giac presence go via src/sage/features/giac ? |
Contributor
Author
|
It's not using the "giac" executable, only the libgiac interface. I guess we could use the |
vbraun
pushed a commit
to vbraun/sage
that referenced
this pull request
Oct 5, 2024
sagemathgh-38756: src/sage/symbolic/integration: make libgiac integration optional We turn the libgiac integrator into a no-op if libgiac isn't available. That way, in the default integration routines, it is essentially skipped. If it were tried last, we could literally skip it; but currently it lives between maxima and sympy and cannot be rearanged without messing up some doctests. URL: sagemath#38756 Reported by: Michael Orlitzky Reviewer(s): Dima Pasechnik
vbraun
pushed a commit
to vbraun/sage
that referenced
this pull request
Oct 9, 2024
sagemathgh-38756: src/sage/symbolic/integration: make libgiac integration optional We turn the libgiac integrator into a no-op if libgiac isn't available. That way, in the default integration routines, it is essentially skipped. If it were tried last, we could literally skip it; but currently it lives between maxima and sympy and cannot be rearanged without messing up some doctests. URL: sagemath#38756 Reported by: Michael Orlitzky Reviewer(s): Dima Pasechnik
vbraun
pushed a commit
to vbraun/sage
that referenced
this pull request
Oct 23, 2024
sagemathgh-38770: Add "needs" tags for giac and libgiac Part of sagemath#38668. If it's going to be possible to disable giac, we need to guard all of the tests that use it with either `# needs giac` or `# needs sage.libs.giac`. I think I've gotten them all. A crude way to test: 1. `git rm -r src/sage/libs/giac` and rebuild to disable sage.libs.giac 2. build sage, and then delete the giac executable to disable the pexpect interface If you do these one at a time, it should ensure that the correct tags are used. (Typically, if giac is missing, neither sage.libs.giac nor the giac executable will be present, making it very easy to mix up the tags.) For bonus points you can undelete `src/sage/libs/giac` after building but before testing to make sure the "needs" tags in those files are accurate. ### Dependencies: * sagemath#38756 * sagemath#38686 (not strictly required, but it adds a few "needs sage.libs.giac" tags of its own) URL: sagemath#38770 Reported by: Michael Orlitzky Reviewer(s): Tobias Diez
vbraun
pushed a commit
to vbraun/sage
that referenced
this pull request
Oct 26, 2024
sagemathgh-38770: Add "needs" tags for giac and libgiac Part of sagemath#38668. If it's going to be possible to disable giac, we need to guard all of the tests that use it with either `# needs giac` or `# needs sage.libs.giac`. I think I've gotten them all. A crude way to test: 1. `git rm -r src/sage/libs/giac` and rebuild to disable sage.libs.giac 2. build sage, and then delete the giac executable to disable the pexpect interface If you do these one at a time, it should ensure that the correct tags are used. (Typically, if giac is missing, neither sage.libs.giac nor the giac executable will be present, making it very easy to mix up the tags.) For bonus points you can undelete `src/sage/libs/giac` after building but before testing to make sure the "needs" tags in those files are accurate. ### Dependencies: * sagemath#38756 * sagemath#38686 (not strictly required, but it adds a few "needs sage.libs.giac" tags of its own) URL: sagemath#38770 Reported by: Michael Orlitzky Reviewer(s): Tobias Diez
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
We turn the libgiac integrator into a no-op if libgiac isn't available. That way, in the default integration routines, it is essentially skipped. If it were tried last, we could literally skip it; but currently it lives between maxima and sympy and cannot be rearanged without messing up some doctests.