-
Notifications
You must be signed in to change notification settings - Fork 1
Refactor Logical moves on Gemini stdlib. #85
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
base: main
Are you sure you want to change the base?
Conversation
|
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
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.
Pull Request Overview
This PR refactors the logical moves in the Gemini stdlib by implementing a more restrictive move set. The changes replace the previous atomic operation manipulation (AOM) move functionality with three distinct movement types: vertical moves, horizontal moves, and block swapping moves that allow atoms to move between gate pair sides.
Key changes include:
- Replaced AOM-based movement with three specialized movement functions (swap_block_impl, vertical_move_impl, horizontal_move_impl)
- Updated the entangle function to use the new movement primitives
- Added comprehensive test coverage for all three movement types
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
File | Description |
---|---|
src/bloqade/shuttle/stdlib/layouts/gemini/logical.py | Implements new movement functions and refactors entangle logic to use restrictive move set |
test/stdlib/gemini/test_logical.py | Adds comprehensive test cases for the three new movement types and removes old AOM tests |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
☂️ Python Coverage
Overall Coverage
New FilesNo new covered files... Modified Files
|
This PR implement a more restrictive move set for the Gemini stdlib. It consists of vertical and horizontal moves along with a move that swaps between the sides of the gate pairs. Only parallel moves within the left or right static traps are possible.