-
-
Notifications
You must be signed in to change notification settings - Fork 491
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
Hashing affine group elements #38508
Conversation
Documentation preview for this PR (built with commit b10beae; changes) is ready! 🎉 |
@@ -45,6 +45,7 @@ | |||
from sage.structure.element import MultiplicativeGroupElement | |||
from sage.structure.richcmp import richcmp, richcmp_not_equal | |||
|
|||
from copy import copy |
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.
imports from stdlib go to the top of the file, before from sage...
imports
sage: hash(g) == hash(copy(g)) | ||
True | ||
sage: f = g * h | ||
sage: hash(f) == hash((f.A(), f.b())) |
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.
I don't think it's a good idea to pin this implementation detail in a doctest
bcb7cd4
to
f3ec5b3
Compare
I've addressed the reviewer comments (although I disagree with the detail in the doctest; someone who is changing the hash will clearly see the doctest needs to be updated, doctests are not, and should not be, fixed forever). @fchapoton Could you do the final review here? Should be quick. |
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.
ok, good to go
Thank you. |
<!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> Fixes sagemath#38381 and makes sure the defining parts of the group element are immutable. ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [x] The title is concise and informative. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [x] I have created tests covering the changes. - [x] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#38508 Reported by: Travis Scrimshaw Reviewer(s): Frédéric Chapoton, Matthias Köppe, Travis Scrimshaw
<!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> Fixes sagemath#38381 and makes sure the defining parts of the group element are immutable. ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [x] The title is concise and informative. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [x] I have created tests covering the changes. - [x] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#38508 Reported by: Travis Scrimshaw Reviewer(s): Frédéric Chapoton, Matthias Köppe, Travis Scrimshaw
Fixes #38381 and makes sure the defining parts of the group element are immutable.
📝 Checklist
⌛ Dependencies