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

sage.sets.family: Cythonize; change MIPVariable to a subclass of FiniteFamily #35121

Conversation

mkoeppe
Copy link
Contributor

@mkoeppe mkoeppe commented Feb 13, 2023

📚 Description

Fixes #31750

📝 Checklist

  • I have made sure that the title is self-explanatory and the description concisely explains the PR.
  • I have linked an issue or discussion.
  • I have created tests covering the changes.
  • I have updated the documentation accordingly.

⌛ Dependencies

@codecov-commenter
Copy link

codecov-commenter commented Feb 14, 2023

Codecov Report

Base: 88.60% // Head: 88.58% // Decreases project coverage by -0.03% ⚠️

Coverage data is based on head (0858a2d) compared to base (8f5bbd2).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop   #35121      +/-   ##
===========================================
- Coverage    88.60%   88.58%   -0.03%     
===========================================
  Files         2140     2139       -1     
  Lines       397273   397017     -256     
===========================================
- Hits        352004   351678     -326     
- Misses       45269    45339      +70     
Impacted Files Coverage Δ
src/sage/combinat/root_system/type_relabel.py 99.11% <100.00%> (ø)
...e/combinat/cluster_algebra_quiver/mutation_type.py 50.23% <0.00%> (-2.74%) ⬇️
src/sage/interfaces/qsieve.py 71.30% <0.00%> (-2.61%) ⬇️
src/sage/modular/local_comp/liftings.py 98.33% <0.00%> (-1.67%) ⬇️
src/sage/cpython/_py2_random.py 75.20% <0.00%> (-1.24%) ⬇️
src/sage/combinat/posets/poset_examples.py 87.53% <0.00%> (-1.15%) ⬇️
src/sage/schemes/elliptic_curves/hom_velusqrt.py 94.48% <0.00%> (-0.79%) ⬇️
src/sage/quadratic_forms/binary_qf.py 92.03% <0.00%> (-0.75%) ⬇️
src/sage/coding/channel.py 97.10% <0.00%> (-0.73%) ⬇️
src/sage/modular/modform/numerical.py 94.19% <0.00%> (-0.65%) ⬇️
... and 22 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

@mkoeppe mkoeppe self-assigned this Feb 18, 2023
@github-actions
Copy link

Documentation preview for this PR is ready! 🎉
Built with commit: 0858a2d

@mkoeppe mkoeppe modified the milestones: sage-10.0, sage-10.1 Apr 30, 2023
@mkoeppe mkoeppe removed this from the sage-10.1 milestone Aug 7, 2023
@mkoeppe mkoeppe force-pushed the t/31750/mipvariable__change_to_a_subclass_of_finitefamily branch from 0858a2d to 9e21551 Compare December 12, 2023 02:36
@mkoeppe mkoeppe changed the title MIPVariable: Change to a subclass of FiniteFamily sage.sets.family: Cythonize; change MIPVariable to a subclass of FiniteFamily Dec 12, 2023
@tscrim
Copy link
Collaborator

tscrim commented Dec 13, 2023

LGTM overall except one of the tests is failing. My guess is that this is due to a circular import that was somehow being resolved beforehand. My guess for a simple fix would be to bring the Family import in sage.rings.semirings.non_negative_integer_semiring to the one method where it is called. I doubt this is being used in any tight loops that the extra import check will have an impact.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Dec 13, 2023

Do you mean the failing "Build documentation" job?

@tscrim
Copy link
Collaborator

tscrim commented Dec 13, 2023

Yes. I don't know exactly why that isn't failing in the usual tests, but it seems like an import issue.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Dec 13, 2023

It's just a funny malfunction that happens only here on this PR. The docbuild tries to import sage_docbuild after the Python file family.py has been removed but before family.pyx has been compiled.

Copy link
Collaborator

@tscrim tscrim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, then let it be so.

Families are used so often in lower-level things they probably should have been cythonized awhile ago.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Dec 13, 2023

Thanks!

@vbraun vbraun merged commit 2017233 into sagemath:develop Dec 19, 2023
21 of 22 checks passed
@mkoeppe mkoeppe added this to the sage-10.3 milestone Dec 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

MIPVariable: Change to a subclass of FiniteFamily
4 participants