-
Notifications
You must be signed in to change notification settings - Fork 0
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
Aeon 1.0 #94
Merged
Aeon 1.0 #94
Changes from all commits
Commits
Show all changes
30 commits
Select commit
Hold shift + click to select a range
8754bff
Start migrating from `pyeda` to `aeon-py`.
daemontus 74642a1
Fix minor test issues and update to latest alpha.
daemontus a2ac6f1
Clean up some additional details and tests.
daemontus 66fa99b
Merge branch 'main' into aeon-1.0
daemontus 8782913
Update aeon in `pyproject.toml`.
daemontus 8674680
Update benchmark scripts to use `balm`.
daemontus 616bdb3
Optimized DNF generator.
daemontus b76d5d7
Faster percolation.
daemontus ead2378
Add benchmark script for PN translation.
daemontus 485f66c
Add logging to PN translation.
daemontus 06b2ed7
Improve percolation performance.
daemontus 42dea15
Add BN input sampling generator.
daemontus e371f9c
Merge branch 'main' into aeon-1.0
daemontus b99f561
Make LDOI input generic.
daemontus 2c60545
Make inputs to `control` generic and update documentation.
daemontus 964d1a8
Merge space and state utils.
daemontus 2ba2e2a
Additional cleanup in tests.
daemontus 3eb5f4a
Model `146` is now fast enough.
daemontus f36cad4
Model `75` is not fast enough.
daemontus 4c650cb
Tests are now generally fast enough to lift the node limit in attract…
daemontus 7fc8afb
Move the `cleanup_network` to a more logical place.
daemontus 02a5c35
Simplify types in `interaction_graph_utils`.
daemontus daa366e
Remove an unnecessary function.
daemontus 11c6798
Minor docs update.
daemontus ab949a8
Fix ignored error.
daemontus bc3f5ea
Remove regulations correctly in the input sampling script.
daemontus 4fb28fe
ran file through black formatter and ignored a type error
jcrozum 7a24c14
Apply review.
daemontus 1d5507c
Add comment about the `IndexError`.
daemontus fec611a
Add a very basic benchmark for control, just for sanity checks.
daemontus 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -153,4 +153,7 @@ dmypy.json | |
mole-* | ||
|
||
# Ignore benchmark runs. | ||
_run_* | ||
_run_* | ||
|
||
# Some weird temporary Z3 files. | ||
.z3-trace |
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
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
Oops, something went wrong.
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.
Don't we actually expect this to be an
AssertionError
?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.
Well... what we are actually intending to catch here is an error that is raised by
space_unique_key
if you feed it something that cannot be converted to a validkey
. The assertion in this function is actually a "true" assertion: if it fails, something is wrong and we should terminate. But I agree that this is a bit confusing :/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, that makes sense. Maybe just add a comment here?
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.
It's there, underneath :) It's just not visible in the diff, because it was already there before. I changed the error to something that seemed more appropriate (after all,
RuntimeError
could be literally anything).But I guess it is kind of vague, I'll make it more explicit.
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.
Yeah, I saw that comment; I'll paste it here so we can see it:
I meant we should add a comment to
key = space_unique_key(node_space, self.network)
if that's where the exception can be thrown. An even better solution would be to havespace_unique_key
handle bad inputs more gracefully, e.g., returningNone
in those cases. Then we can just writeThere 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.
That being said, I think we can merge this and worry about it later since it's correct.
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 gave it a bit more thought and I think the assertion is actually unsatisfiable (at least at this point, maybe it made sense in the past). For every
key
innode_indices
, we should have that ifkey = space_unique_key(space)
, thennode_space(node_indices(k)) == space
, because the keys are unique hashes: every space has its own key, so there can be no collision. I guess my initial confusion was that if thekey
were to be computed for a different network with compatible variable names, this sort of collision could happen. But that is not what is happening in this method.