[WIP] FrozenSetDict; FrozenSetCounter #42
Draft
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.
To handle contact pairs, we frequently use dictionaries/counters where the keys are a
frozenset
of the indices. This gets very annoying to deal with, especially when writing unit tests (so many things need to be wrapped infrozenset
).This PR creates a couple simple classes,
FrozenSetDict
andFrozenSetCounter
, that use thefrozenset
s internally, but allow the user to access them with tuples or lists (of either indices or the actual objects).FrozenSetDict
FrozenSetDict
FrozenSetCounter
FrozenSetCounter
FrozenSetDict
/FrozenSetCounter
in main code wherever usefulfrozenset
wrappers)