-
-
Notifications
You must be signed in to change notification settings - Fork 75
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
Add hash function for AffineScalarFunc class #189
Closed
Closed
Changes from all commits
Commits
Show all changes
20 commits
Select commit
Hold shift + click to select a range
d90c541
Update core.py
MichaelTiemannOSC 5d429fe
Implement hash invariant
MichaelTiemannOSC 40154ce
Fix pickling (broken by last commit)
MichaelTiemannOSC 634db47
Improve efficiency of AffineScalarFunc hash
MichaelTiemannOSC 7cca18c
Update appveyor.yml
MichaelTiemannOSC af3447c
Revert "Update appveyor.yml"
MichaelTiemannOSC f3cb615
Replace nose with pytest
MichaelTiemannOSC 5e40c49
Revert "Replace nose with pytest"
MichaelTiemannOSC cd3b7e0
Update appveyor.yml
MichaelTiemannOSC a2d4bb1
Update appveyor.yml
MichaelTiemannOSC d74a9d1
feat: Added hash function for AffineScalarFunc class
NelDav 9a9d6d5
Merge remote-tracking branch 'hash/hash_for_pandas' into implement-ha…
NelDav 3e0b064
fix: Merged hash method from "MichaelTiemannOSC". And created a corre…
NelDav 1e57a2f
refactor: Nose does not like return types. Removed them.
NelDav e4ef9e1
Merge branch 'master' into implement-hash-for-AffineScalarFunc
NelDav 4d8d268
fix: hash calculation works now. However, hash equality between Varia…
NelDav 605b5cd
fix: Variabel hash is equal for objects which __eq__ returns True.
NelDav 82285df
fix: Pickle is able to serialize/deserialize Variables again
NelDav 3c64ae3
fix: pickling works now
NelDav 185aa0d
fix: derivatives with value 0 are filtered out for hash calculation.
NelDav File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
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.
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.
This one is simple enough that it works out okay, but if the calculation got more complicated than
(2. + 1.) / 3 == 1.
the equality check could fail due to floating point rounding error. Luckily though the equality check would fail along with the hash, so it would not be a violation of the model.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.
Yes, I think you are right.
I already wondered, why the equality check is implemented in such a strange way.
But I did not step into details. Probably there is a good reason for that.