Topology utils - #275
Topology utils#275
Conversation
d1303ed to
1da2b4c
Compare
|
@thisac Is this ready to be merged? |
randomir
left a comment
There was a problem hiding this comment.
Did a quick review, it looks good, but I would like to do an in-depth review before me merge this.
The suggestions below are mostly minor, except the use of function objects as default argument values.
4c018d7 to
b7c7fb4
Compare
|
Is this ready to be merged? |
3fa9a4f to
38ea8aa
Compare
8a16320 to
78aec58
Compare
|
Is this ready to be merged? |
Co-authored-by: Theodor Isacsson <tisacsson@dwavesys.com>
randomir
left a comment
There was a problem hiding this comment.
Another automated review round (findings verified by execution against the PR head). 10 findings below: 7 correctness, 1 doc/contract, 1 efficiency, 1 reuse. Also validated as negatives: coordinate conversions round-trip correctly across several (m, t) shapes, Zephyr node/edge sets match zephyr_graph exactly, the common.py move preserves existing imports, and the added test suite passes.
thisac
left a comment
There was a problem hiding this comment.
A few last comments. As soon as @randomir has approved it should be good to go. Thanks for all the work on this one @mahdiehmalekian !
randomir
left a comment
There was a problem hiding this comment.
The code looks very well written and polished.
I only have a few API-level suggestions.
a7c9c07 to
66d37e9
Compare
|
Thank you for great suggestions @randomir. |
randomir
left a comment
There was a problem hiding this comment.
LGTM.
Thanks, @mahdiehmalekian!
The added files in
dwave/graphs/topologies/commonprovide blueprint classes for working with different aspects of any D-Wave topology.coord.py: Coordinate systems used for node labels.node_edge.py: Nodes and edges.planeshift.py: Displacement of nodes in the Cartesian plane.shape.py: Shape of a graph.topology.py: Constructing a topology graph whose nodes and edges are equipped with all the specific-topology-relevant functionalities.The added files in
dwave/graphs/topologies/zephyr, i.e.zcoord.py,znode_edge.py,zplaneshift.pyandzshape.py, contain the implementation of the corresponding objects for Zephyr topology. Inzephyr.pythe classZephyrhas been added that is built onTopologyblueprint indwave/graphs/topologies/common/topology.pyThe test suite for these modules is added in
tests.Note: This is an evolution of previous
zephyr_utilsPR tominorminer.