-
Notifications
You must be signed in to change notification settings - Fork 3k
Add infrastructure for gates, instruction, and operations in Rust #12459
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
Merged
Merged
Changes from 40 commits
Commits
Show all changes
68 commits
Select commit
Hold shift + click to select a range
fb70814
Add infrastructure for gates, instruction, and operations in Rust
mtreinish ad3e3c5
Merge branch 'main' into gates-in-rust
mtreinish 37c0780
Fix Python->Rust Param conversion
mtreinish a6e69ba
Fix qasm3 exporter for std gates without stdgates.inc
mtreinish 4e34642
Fix base scheduler analysis pass duration setting
mtreinish 0edcfb0
Fix python lint
mtreinish f896512
Fix last failing qasm3 test for std gates without stdgates.inc
mtreinish 046737f
Remove superfluous comment
mtreinish 5c5b90f
Cache imported classes with GILOnceCell
mtreinish 7329399
Remove unused python variables
mtreinish ae64fd7
Add missing file
mtreinish 76599b2
Update QuantumCircuit gate methods to bypass Python object
mtreinish 14b7133
Deduplicate gate matrix definitions
mtreinish 0863830
Fix lint
mtreinish c4cda8d
Attempt to fix qasm3 test failure
mtreinish ffe04e5
Merge branch 'main' into gates-in-rust
mtreinish e9bb053
Add compile time option to cache py gate returns for rust std gates
mtreinish dfb02de
Merge branch 'main' into gates-in-rust
mtreinish 0980d8d
Add num_nonlocal_gates implementation in rust
mtreinish dc9e8f0
Merge remote-tracking branch 'origin/main' into gates-in-rust
mtreinish b35bdbd
Performance tuning circuit construction
mtreinish 3ea95de
Add back validation of parameters on gate methods
mtreinish 2f81bde
Skip validation on gate creation from rust
mtreinish 725f226
Offload operation copying to rust
mtreinish 3ec3d3e
Merge remote-tracking branch 'origin/main' into gates-in-rust
mtreinish ed42276
Fix lint
mtreinish 8017ca6
Perform deepcopy in rust
mtreinish 9e21116
Fix QuantumCircuit.compose() performance regression
mtreinish 29f278f
Fix map_ops test case with no caching case
mtreinish a7061d5
Fix typos in docs
mtreinish 42d5a48
Shrink memory usage for extra mutable instruction state
mtreinish 1ac5d4a
Remove Option<> from params field in CircuitInstruction
mtreinish 951dec2
Merge branch 'main' into gates-in-rust
mtreinish 0398e6a
Eagerly construct rust python wrappers in .append()
mtreinish 8065184
Simplify code around handling python errors in rust
mtreinish 39be17b
Revert "Skip validation on gate creation from rust"
mtreinish 142d71b
Temporarily use git for qasm3 import
mtreinish 39f1358
Fix lint
mtreinish 5139411
Fix lint for real (we really need to use a py312 compatible version o…
mtreinish 0d59bd4
Fix test failure caused by incorrect lint fix
mtreinish cfcc3d6
Relax trait-method typing requirements
jakelishman 8cfa4d0
Encapsulate `GILOnceCell` initialisers to local logic
jakelishman 1e3c064
Simplify Interface for building circuit of standard gates in rust
mtreinish faac655
Simplify complex64 creation in gate_matrix.rs
mtreinish c9ac618
Simplify initialization of array of elements that are not Copy (#28)
jlapeyre 5ce3c87
Merge remote-tracking branch 'ibm/main' into gates-in-rust
jakelishman 7715744
Fix doc typos
mtreinish 4a93c83
Add conversion trait for OperationType -> OperationInput and simplify…
mtreinish 1809a22
Use destructuring for operation_type_to_py extra attr handling
mtreinish f858158
Simplify trait bounds for map_indices()
mtreinish 26bc1ae
Make Qubit and Clbit newtype member public
mtreinish 649509f
Use snakecase for gate matrix names
mtreinish 067c5b4
Remove pointless underscore prefix
mtreinish 1231cb3
Use downcast instead of bound
mtreinish 0281b6c
Rwork _append reference cycle handling
mtreinish c78c44a
Make CircuitData.global_phase_param_index a class attr
mtreinish c61d1ad
Use &[Param] instead of &SmallVec<..> for operation_type_and_data_to_py
mtreinish 252a089
Have get_params_unsorted return a set
mtreinish 402bc29
Use lookup table for static property methods of StandardGate
mtreinish 978d90f
Use PyTuple::empty_bound()
mtreinish a116719
Fix lint
mtreinish de4b91e
Add missing test method docstring
mtreinish ef31751
Reuse allocations in parameter table update
mtreinish 6c68e60
Remove unnecessary global phase zeroing
mtreinish 1723267
Move manually set params to a separate function
mtreinish b438748
Fix release note typo
mtreinish 56969cb
Use constant for global-phase index
jakelishman adbe9e7
Switch requirement to release version
jakelishman 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 hidden or 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 hidden or 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
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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.
Uh oh!
There was an error while loading. Please reload this page.