Releases: CQCL/tket
Releases · CQCL/tket
pytket v1.1.0 release candidate 0
v1.1.0rc0 [feature] Decompose CRx/y/z using 1xCX if possible (#321)
pytket v1.0.1 release
Merge pull request #292 from CQCL/release/1.0.1 Release/1.0.1
pytket v1.0.0 release
Merge pull request #287 from CQCL/release/1.0.0 Release/1.0.0
pytket v1.0.0 release candidate 18
Not all qubits are in the initial map (#270) * Add test case * add second testcase * Add debug info * Fix maps update * Add checks for mapping correctness * Add back tests * add tests * clen up * Update handling of the qubit maps * Correct empty map checking criteria * Remove ancilla_map_ * Remove size checking for maps * Update tests * Update maps when place isolate qubits Co-authored-by: cqc-melf <[email protected]> Co-authored-by: melf <[email protected]>
pytket v1.0.0 release candidate 17
Bugfix/singlequbitlabelling (#285) * add labelling for qubits with only single qubit gates * update documentation * c++ format * rename label_isolated_qubits, remove comment
pytket v1.0.0 release candidate 16
v1.0.0rc16 [infra] Cancel in-progress jobs in the same workflow. (#269)
pytket v1.0.0 release candidate 15
Feature/add routing methods to binder (#267) * Add MultiGateReorderRoutingMethod to binder * Add BoxDecompositionRoutingMethod to binder * Improve json test * Improve docstrings * Update changelog
pytket v1.0.0 release candidate 14
v1.0.0rc14 Update method names. (#261)
pytket v1.0.0 release candidate 13
[TKET-1567] Add aas in rv3.1 (#254) * Update build_and_test.yml * Feature/TokenSwapping (#94) * Copy TokenSwapping CodeBase, update CMakeLists.txt * Add TokenSwapping tests * Update GraphTests to use TokenSwapping RNG * Remove "class RNG;" * Add cpp files to compilation * Add "MappingManager" class and port older routing solution (#95) * Copy code from private repository * Add binders for mapping module * Adding mapping module to setup.py * Add shared_ptr to Architecture subclasses in binder file * Port python test for mapping module * Add token swapping stage to routing v3 (#96) * Assert candidate swaps size (#108) * Add assertion that there are at least some swaps to trial * Pseudo code for Yao * Fix routing with measurements issue * Add classically controlled gates to lexiroute test Co-authored-by: sjdilkes <[email protected]> * Update Architecture method names * get_all_nodes -> nodes * Update Compilation Passes to use RoutingV3 (#115) * Add token swapping stage, add test * Update compilation passes to use new routing * Add json serialization * Continue adding JSON serialisation for routing_config * Improve Json definitions * Update JSON Serialization and use of Barrier * Change from reference_wrapper to shared_ptr * Add JSON_DECL for std::vector<RoutingMethodPtr> * format routing_test * Fix up tests and binders for python * Uncoment measurement tests * rename method to merge_ancilla * debug proptest * Make add_qubit add qubit to unit_bimaps_ if not nullptr * Architectures -> Architecture * Install boost on MacOS. * comments to debug * update proptest to support ancillas properly * remove couts * format * Make Unitary dimensions match * add tket assert for comparison * Update test to check value * add_qubit -> add_ancilla * Remove kwargs formatting from argument * Rename Architecture Methods * rename architecture methods * Allow architecture mapping to take original edges, to calculate Node to size_t mapping * add get_square_grid_edges, to allow fixed tests independent of SquareGrid * use ArchitectureMapping and edges in most tests, instead of Architecture * trivial typos, comments, cmake update * add copyright notices, pragma once, remove semicolon typos * update binders for inheritance and docs * format * Remove NodeGraph * update formatting * Update CMakeLists and Setup.py * Use explicit shared_ptr * Refactor Routing module binder Make "FullMappingPass" use a kwargs based argument to get round faulty docs type definitions. * remove trailing whitespace * update clang formatting * reformat file * update orientation of BRIDGE gates * Update conf docs mapping, remove kwargs full mapping pass Co-authored-by: Alec Edgington <[email protected]> Co-authored-by: Zen Harper <[email protected]> * Remove outdated Routing code from repository (#165) * Add token swapping stage, add test * Update compilation passes to use new routing * Add json serialization * Continue adding JSON serialisation for routing_config * Improve Json definitions * Update JSON Serialization and use of Barrier * Change from reference_wrapper to shared_ptr * Add JSON_DECL for std::vector<RoutingMethodPtr> * format routing_test * Fix up tests and binders for python * Uncoment measurement tests * rename method to merge_ancilla * debug proptest * Make add_qubit add qubit to unit_bimaps_ if not nullptr * Architectures -> Architecture * Install boost on MacOS. * comments to debug * update proptest to support ancillas properly * remove couts * format * Make Unitary dimensions match * add tket assert for comparison * Update test to check value * add_qubit -> add_ancilla * Remove kwargs formatting from argument * Rename Architecture Methods * rename architecture methods * Allow architecture mapping to take original edges, to calculate Node to size_t mapping * add get_square_grid_edges, to allow fixed tests independent of SquareGrid * use ArchitectureMapping and edges in most tests, instead of Architecture * trivial typos, comments, cmake update * add copyright notices, pragma once, remove semicolon typos * update binders for inheritance and docs * format * Remove NodeGraph * update formatting * Update CMakeLists and Setup.py * Use explicit shared_ptr * Refactor Routing module binder Make "FullMappingPass" use a kwargs based argument to get round faulty docs type definitions. * remove trailing whitespace * update clang formatting * reformat file * update orientation of BRIDGE gates * Remove src/Routing Move Placement files into new src/Placement subdirectory, update tests as necessary, move connectivty constraint verification to utils * update tket/pytket to not install or use old pytket.routing * clang formatting * Update mitigation test to use explicit placement * remove binder file * Update conf docs mapping, remove kwargs full mapping pass * update docs for new python modules * Move Verification files to src/Mapping subdirectory * Delete test_Routing.cpp * Update imports for Verification.hpp * Add default argument to LexiRouteRoutingMethod binder Update python tests to use default * upadte Verification.cpp compilation pass * Formatting Co-authored-by: Alec Edgington <[email protected]> Co-authored-by: Zen Harper <[email protected]> * Improve LexiRoute.cpp coverage * Improve MappingFrontier.cpp test coverage * Rmoeve decmopose_module method * readd missing test * Update LexiRoute test coverage * Remove redundant comments * Feature/reorder multi qubit gates (#157) * Add token swapping stage, add test * Update compilation passes to use new routing * Add json serialization * Continue adding JSON serialisation for routing_config * Improve Json definitions * Update JSON Serialization and use of Barrier * Change from reference_wrapper to shared_ptr * Add JSON_DECL for std::vector<RoutingMethodPtr> * format routing_test * Fix up tests and binders for python * Uncoment measurement tests * rename method to merge_ancilla * debug proptest * Make add_qubit add qubit to unit_bimaps_ if not nullptr * Architectures -> Architecture * Install boost on MacOS. * comments to debug * update proptest to support ancillas properly * remove couts * format * Make Unitary dimensions match * add tket assert for comparison * Update test to check value * add_qubit -> add_ancilla * Remove kwargs formatting from argument * Rename Architecture Methods * rename architecture methods * Allow architecture mapping to take original edges, to calculate Node to size_t mapping * add get_square_grid_edges, to allow fixed tests independent of SquareGrid * use ArchitectureMapping and edges in most tests, instead of Architecture * trivial typos, comments, cmake update * add copyright notices, pragma once, remove semicolon typos * update binders for inheritance and docs * format * Remove NodeGraph * update formatting * Reorder CZ circuits * Revert "Reorder CZ circuits" This reverts commit 9d67720f2047fb6875c6c520f37fb28967b3752e. * Make two methods in MappingFrontier public * Add MultiGateReorderRoutingMethod * Remove unnecessary frontier advancement * Avoid copying the whole MappingFrontier * Remove the edge_in_frontier method * Add comment for vertex rewiring * Allow users to set search limits * Change default max depth/size limits to 10 * Fix using incorrect port colours * Obtain unitid by traversing to frontier instead of inputs * Add test for MultiGateReorderRoutingMethod * Refactor condition checks and rewire * Implement check_method * Add test for routing with LexiRoute Co-authored-by: sjdilkes <[email protected]> Co-authored-by: Alec Edgington <[email protected]> Co-authored-by: Zen Harper <[email protected]> * modify TKET_ASSERT: allow extra messages, catch exceptions in evaluation * replace some exceptions with tket asserts; should be ignored by test coverage * Start moving files for modularisation * compilation refactor commit * Reorder base cmake * add assertmessage.cpp to compiilation * Rework TokenSwapping includes * clang format * update linking for pytket * reformat with black * Revert "reformat with black" This reverts commit 66ce863e16ab6e7ba50c739eb7c696c9afbf7ffc. * reformat setup.py * update proptests cmakelists * Feature/add serialisation for multi qubit reorder (#184) * Add JSON serialisation for MultiGateReorderRoutingMethod and getters * Add tests for JSON serialisation for MultiGateReorderRoutingMethod * Update test coverage for RoutingMethod serialization * make mapping_frontier from mapping_frontier * routing -> mapping * use TKET_ASSERT_WITH_THROW instead of TKET_ASSERT * Replace TKET_ASSERT with throw and use GCOVR_EXCL_START,STOP where appropriate * replace throws with TKET_ASSERT_WITH_THROW where appropriate * Add the TKET_ASSERT_WITH_THROW macro * add simple swap functions tests * add TKET_ASSERT_WITH_THROW tests, for detailed error messages * clang format * try to fix code coverage branching problems in TKET_ASSERT_WITH_THROW by hiding throws * correct "does not return a value" error * Infra/use bimap for quantum boundary (#185) * Add sequenced_bimap_t * Use sequenced_bimap_t for unit_vertport_frontier_t * Update MultiGateReorder * remove try/catch from tket assert with throw, to cut down branching * remove TKET_ASSERT_WITH_THROW, replace with TKET_ASSERT * Remove AssertMessage(), add TKET_ASSERT_WITH_MESSAGE * manually add coverage exclusion tags for now, until the branching problem is fixed * rename method, remove predicate from routing * Add copyright information * [RV3] [refactor] Clean up of the dependencies of the modules (#199) * remove cycle from cmake lists * clean up * add comment * fix binder include * try to fix pytket build * try to fix problems * fix windows build * try to fix windows * add bimaps attribute to MappingFrontier * update_quantum_boundary_uids remaps bimaps entries * [1777] Split `LexiRouteRoutingMethod` into two methods (#209) * LexiLabellingRoutingMethod class * Add labelling method using lexiroute methods * First LexiLabelling implementation, with testing * update defaults * confirm correct imports and routing method config * Expose LabellingRoutingMethod to pytket * Update json serilaization * reformat utils test * Address PR Comments * [1795] RoutingMethod for Box Decompositoin (#212) * Reject boxes in Architecture::valid_operation * Add `next_q_cut` method to a quantum cut Only consider quantum edges * Use `next_q_cut` in `advance_frontier_boundary` * Add BoxDecompositionRoutingMethod * Add tests * Reformat * Reject boxes in LexiRouteMethod::check_method * Update tests * Add JSON serialisation * Handle unused arguments * Refactor Circuit::decompose_boxes * fix naming * update checking method for LexiRoute * Update lexilabelling check_method Co-authored-by: Yao Tang <[email protected]> * update ci check (#210) * update ci check * Update build_and_test.yml * Update build_and_test.yml * Update build_and_test.yml * Update changelog.rst * Update copyright dates 2021 -> 2022 * Update pytket/binders/mapping.cpp Co-authored-by: Alec Edgington <[email protected]> * Update pytket/binders/mapping.cpp Co-authored-by: Alec Edgington <[email protected]> * Update pytket/binders/mapping.cpp Co-authored-by: Alec Edgington <[email protected]> * Corrections for PR * Remove tokenswapping from dependneices * Feature/decompose boxes in routing (#197) * Reject boxes in Architecture::valid_operation * Add `next_q_cut` method to a quantum cut Only consider quantum edges * Use `next_q_cut` in `advance_frontier_boundary` * Add BoxDecompositionRoutingMethod * Add tests * Reformat * Reject boxes in LexiRouteMethod::check_method * Update tests * Add JSON serialisation * Handle unused arguments * Refactor Circuit::decompose_boxes * fix naming Co-authored-by: sjdilkes <[email protected]> * update compilation for tokenswapping * Revert "Feature/decompose boxes in routing (#197)" This reverts commit 86fb61e6f2922050a1ac438d1a8103ea6942a239. * Address PR Requested changes * dummy pythonfile * change copyright to 2022 * remove unused code, including PathFinderInterface * rename HybridTsa00 -> HybridTsa; move files out of include directory * move DebugFunctions into tests * move get_swaps_lower_bound out of tket into tests * simple typos; unused code; extra comments, asserts * rename main_entry_functions -> SwapsFromQubitMapping; remove unused function * move RNG from token swapping to Utils; erase tests/Graphs/RNG * move get_random_set out of token swapping into test utils * move some stuff out of namespace tsa_internal into namespace tket * more cleanup * clang format * added OpType dependency to token swapping * clang format * replace throws with TKET_ASSERT_WITH_MESSAGE * move BruteForceColouring.hpp, ColouringPriority.hpp out of include directory * add TokenSwappingWithArch project; move files out of TokenSwapping * remove architecture from TokenSwapping * move DistancesInterface, NeighboursInterface out of namespace tsa_internal * update TokenSwapping tests to use TokenSwappingWithArch * bool type for delay_measures * Create architecture_test.py * Reduce test times: add TSGlobalTestParameters with run_long_tests option * add test_DebugFunctions.cpp and remove test coverage exclusion * Remove unreachable code. * update architecture binder * Revert "update architecture binder" This reverts commit d7bbd01adf9759adae0aabf1afd88a8678117f06. * formatting, remove nodegraph test * update architecture and mapping tests * add architecture_aware_synthesis_test.py * Create placement_test.py * Update range of python mapping tests * update routing test coverage * add ci run on push on - feature/RV3.1 * fix compilation issues * remove token_swapping_method * Update test_lexiroute * add predicate back * update setup.py * Add LexiLabellingMethod * Cover Alec's comments * format transform_test * change length of line * remove trailing white space * name -> name_of_ethod * name -> name_of_method RoutingMethod * tokenswappingwitharch * add type ignores * "name_of_method" -> "name' * Update valid_operation description * reformat transform_test and remove "had" * remove second auto_rebase_pass * Add missing import. * Add option to tket-tests conan build determining whether full tests are run. If tket-tests:full=True, the compiler flag TKET_TESTS_FULL is defined. * remove TokenSwappingWithArch project; move files into Architecture * Set "full tests" option on scheduled CI runs only. * change TKET_ASSERT_WITH_MESSAGE to have parentheses around message * Add note to README. * rename HybridTSA_00 to HybridTsa * Replace TSGlobalTestParameters with #ifdef TKET_TESTS_FULL * commit other forgotten files * Remove GetTketAssertMessage and TKET_ASSERT_WITH_MESSAGE, go back to AssertMessage(). * clang format * Move test_Utils.cpp to test/Utils directory, rename to test_HelperFunctions.cpp * fix "function does not return a value" error * fix "non-void function does not return a value" error, attempt 2! * Forgot to remove final TokenSwappingWithArch bits * Fix build failure. Puzzling. * Fix for mypy, * [fix] Feature/rv3.1 (#223) * try to fix problems * solve problem CMake * fix delay measure * format * format * format * add archtecture pointer * fix format * black format * fix mypy * fix doxygen * fix typo * fix mypy * fix black format * fix merge * fix merge * mypy fix * mypy * mypy * name_of_method -> name * add ass to rv3.1 * format * black format * add override * remove todo * Merge develop into feature/RV3.1 (#255) * Merge `RoutingMethod::check_method` and `RoutingMethod::routing_method` (#244) * Update build_and_test.yml * Feature/TokenSwapping (#94) * Copy TokenSwapping CodeBase, update CMakeLists.txt * Add TokenSwapping tests * Update GraphTests to use TokenSwapping RNG * Remove "class RNG;" * Add cpp files to compilation * Add "MappingManager" class and port older routing solution (#95) * Copy code from private repository * Add binders for mapping module * Adding mapping module to setup.py * Add shared_ptr to Architecture subclasses in binder file * Port python test for mapping module * Add token swapping stage to routing v3 (#96) * Assert candidate swaps size (#108) * Add assertion that there are at least some swaps to trial * Pseudo code for Yao * Fix routing with measurements issue * Add classically controlled gates to lexiroute test Co-authored-by: sjdilkes <[email protected]> * Update Architecture method names * get_all_nodes -> nodes * Update Compilation Passes to use RoutingV3 (#115) * Add token swapping stage, add test * Update compilation passes to use new routing * Add json serialization * Continue adding JSON serialisation for routing_config * Improve Json definitions * Update JSON Serialization and use of Barrier * Change from reference_wrapper to shared_ptr * Add JSON_DECL for std::vector<RoutingMethodPtr> * format routing_test * Fix up tests and binders for python * Uncoment measurement tests * rename method to merge_ancilla * debug proptest * Make add_qubit add qubit to unit_bimaps_ if not nullptr * Architectures -> Architecture * Install boost on MacOS. * comments to debug * update proptest to support ancillas properly * remove couts * format * Make Unitary dimensions match * add tket assert for comparison * Update test to check value * add_qubit -> add_ancilla * Remove kwargs formatting from argument * Rename Architecture Methods * rename architecture methods * Allow architecture mapping to take original edges, to calculate Node to size_t mapping * add get_square_grid_edges, to allow fixed tests independent of SquareGrid * use ArchitectureMapping and edges in most tests, instead of Architecture * trivial typos, comments, cmake update * add copyright notices, pragma once, remove semicolon typos * update binders for inheritance and docs * format * Remove NodeGraph * update formatting * Update CMakeLists and Setup.py * Use explicit shared_ptr * Refactor Routing module binder Make "FullMappingPass" use a kwargs based argument to get round faulty docs type definitions. * remove trailing whitespace * update clang formatting * reformat file * update orientation of BRIDGE gates * Update conf docs mapping, remove kwargs full mapping pass Co-authored-by: Alec Edgington <[email protected]> Co-authored-by: Zen Harper <[email protected]> * Remove outdated Routing code from repository (#165) * Add token swapping stage, add test * Update compilation passes to use new routing * Add json serialization * Continue adding JSON serialisation for routing_config * Improve Json definitions * Update JSON Serialization and use of Barrier * Change from reference_wrapper to shared_ptr * Add JSON_DECL for std::vector<RoutingMethodPtr> * format routing_test * Fix up tests and binders for python * Uncoment measurement tests * rename method to merge_ancilla * debug proptest * Make add_qubit add qubit to unit_bimaps_ if not nullptr * Architectures -> Architecture * Install boost on MacOS. * comments to debug * update proptest to support ancillas properly * remove couts * format * Make Unitary dimensions match * add tket assert for comparison * Update test to check value * add_qubit -> add_ancilla * Remove kwargs formatting from argument * Rename Architecture Methods * rename architecture methods * Allow architecture mapping to take original edges, to calculate Node to size_t mapping * add get_square_grid_edges, to allow fixed tests independent of SquareGrid * use ArchitectureMapping and edges in most tests, instead of Architecture * trivial typos, comments, cmake update * add copyright notices, pragma once, remove semicolon typos * update binders for inheritance and docs * format * Remove NodeGraph * update formatting * Update CMakeLists and Setup.py * Use explicit shared_ptr * Refactor Routing module binder Make "FullMappingPass" use a kwargs based argument to get round faulty docs type definitions. * remove trailing whitespace * update clang formatting * reformat file * update orientation of BRIDGE gates * Remove src/Routing Move Placement files into new src/Placement subdirectory, update tests as necessary, move connectivty constraint verification to utils * update tket/pytket to not install or use old pytket.routing * clang formatting * Update mitigation test to use explicit placement * remove binder file * Update conf docs mapping, remove kwargs full mapping pass * update docs for new python modules * Move Verification files to src/Mapping subdirectory * Delete test_Routing.cpp * Update imports for Verification.hpp * Add default argument to LexiRouteRoutingMethod binder Update python tests to use default * upadte Verification.cpp compilation pass * Formatting Co-authored-by: Alec Edgington <[email protected]> Co-authored-by: Zen Harper <[email protected]> * Improve LexiRoute.cpp coverage * Improve MappingFrontier.cpp test coverage * Rmoeve decmopose_module method * readd missing test * Update LexiRoute test coverage * Remove redundant comments * Feature/reorder multi qubit gates (#157) * Add token swapping stage, add test * Update compilation passes to use new routing * Add json serialization * Continue adding JSON serialisation for routing_config * Improve Json definitions * Update JSON Serialization and use of Barrier * Change from reference_wrapper to shared_ptr * Add JSON_DECL for std::vector<RoutingMethodPtr> * format routing_test * Fix up tests and binders for python * Uncoment measurement tests * rename method to merge_ancilla * debug proptest * Make add_qubit add qubit to unit_bimaps_ if not nullptr * Architectures -> Architecture * Install boost on MacOS. * comments to debug * update proptest to support ancillas properly * remove couts * format * Make Unitary dimensions match * add tket assert for comparison * Update test to check value * add_qubit -> add_ancilla * Remove kwargs formatting from argument * Rename Architecture Methods * rename architecture methods * Allow architecture mapping to take original edges, to calculate Node to size_t mapping * add get_square_grid_edges, to allow fixed tests independent of SquareGrid * use ArchitectureMapping and edges in most tests, instead of Architecture * trivial typos, comments, cmake update * add copyright notices, pragma once, remove semicolon typos * update binders for inheritance and docs * format * Remove NodeGraph * update formatting * Reorder CZ circuits * Revert "Reorder CZ circuits" This reverts commit 9d67720f2047fb6875c6c520f37fb28967b3752e. * Make two methods in MappingFrontier public * Add MultiGateReorderRoutingMethod * Remove unnecessary frontier advancement * Avoid copying the whole MappingFrontier * Remove the edge_in_frontier method * Add comment for vertex rewiring * Allow users to set search limits * Change default max depth/size limits to 10 * Fix using incorrect port colours * Obtain unitid by traversing to frontier instead of inputs * Add test for MultiGateReorderRoutingMethod * Refactor condition checks and rewire * Implement check_method * Add test for routing with LexiRoute Co-authored-by: sjdilkes <[email protected]> Co-authored-by: Alec Edgington <[email protected]> Co-authored-by: Zen Harper <[email protected]> * modify TKET_ASSERT: allow extra messages, catch exceptions in evaluation * replace some exceptions with tket asserts; should be ignored by test coverage * Start moving files for modularisation * compilation refactor commit * Reorder base cmake * add assertmessage.cpp to compiilation * Rework TokenSwapping includes * clang format * update linking for pytket * reformat with black * Revert "reformat with black" This reverts commit 66ce863e16ab6e7ba50c739eb7c696c9afbf7ffc. * reformat setup.py * update proptests cmakelists * Feature/add serialisation for multi qubit reorder (#184) * Add JSON serialisation for MultiGateReorderRoutingMethod and getters * Add tests for JSON serialisation for MultiGateReorderRoutingMethod * Update test coverage for RoutingMethod serialization * make mapping_frontier from mapping_frontier * routing -> mapping * use TKET_ASSERT_WITH_THROW instead of TKET_ASSERT * Replace TKET_ASSERT with throw and use GCOVR_EXCL_START,STOP where appropriate * replace throws with TKET_ASSERT_WITH_THROW where appropriate * Add the TKET_ASSERT_WITH_THROW macro * add simple swap functions tests * add TKET_ASSERT_WITH_THROW tests, for detailed error messages * clang format * try to fix code coverage branching problems in TKET_ASSERT_WITH_THROW by hiding throws * correct "does not return a value" error * Infra/use bimap for quantum boundary (#185) * Add sequenced_bimap_t * Use sequenced_bimap_t for unit_vertport_frontier_t * Update MultiGateReorder * remove try/catch from tket assert with throw, to cut down branching * remove TKET_ASSERT_WITH_THROW, replace with TKET_ASSERT * Remove AssertMessage(), add TKET_ASSERT_WITH_MESSAGE * manually add coverage exclusion tags for now, until the branching problem is fixed * Add copyright information * [RV3] [refactor] Clean up of the dependencies of the modules (#199) * remove cycle from cmake lists * clean up * add comment * fix binder include * try to fix pytket build * try to fix problems * fix windows build * try to fix windows * add bimaps attribute to MappingFrontier * update_quantum_boundary_uids remaps bimaps entries * Update build_and_test.yml * Update changelog.rst * Update copyright dates 2021 -> 2022 * Update pytket/binders/mapping.cpp Co-authored-by: Alec Edgington <[email protected]> * Update pytket/binders/mapping.cpp Co-authored-by: Alec Edgington <[email protected]> * Update pytket/binders/mapping.cpp Co-authored-by: Alec Edgington <[email protected]> * Corrections for PR * Remove tokenswapping from dependneices * Feature/decompose boxes in routing (#197) * Reject boxes in Architecture::valid_operation * Add `next_q_cut` method to a quantum cut Only consider quantum edges * Use `next_q_cut` in `advance_frontier_boundary` * Add BoxDecompositionRoutingMethod * Add tests * Reformat * Reject boxes in LexiRouteMethod::check_method * Update tests * Add JSON serialisation * Handle unused arguments * Refactor Circuit::decompose_boxes * fix naming Co-authored-by: sjdilkes <[email protected]> * update compilation for tokenswapping * Revert "Feature/decompose boxes in routing (#197)" This reverts commit 86fb61e6f2922050a1ac438d1a8103ea6942a239. * Address PR Requested changes * change copyright to 2022 * remove unused code, including PathFinderInterface * rename HybridTsa00 -> HybridTsa; move files out of include directory * move DebugFunctions into tests * move get_swaps_lower_bound out of tket into tests * simple typos; unused code; extra comments, asserts * rename main_entry_functions -> SwapsFromQubitMapping; remove unused function * move RNG from token swapping to Utils; erase tests/Graphs/RNG * move get_random_set out of token swapping into test utils * move some stuff out of namespace tsa_internal into namespace tket * more cleanup * clang format * added OpType dependency to token swapping * clang format * replace throws with TKET_ASSERT_WITH_MESSAGE * move BruteForceColouring.hpp, ColouringPriority.hpp out of include directory * add TokenSwappingWithArch project; move files out of TokenSwapping * remove architecture from TokenSwapping * move DistancesInterface, NeighboursInterface out of namespace tsa_internal * update TokenSwapping tests to use TokenSwappingWithArch * bool type for delay_measures * Create architecture_test.py * Reduce test times: add TSGlobalTestParameters with run_long_tests option * add test_DebugFunctions.cpp and remove test coverage exclusion * Remove unreachable code. * update architecture binder * Revert "update architecture binder" This reverts commit d7bbd01adf9759adae0aabf1afd88a8678117f06. * formatting, remove nodegraph test * update architecture and mapping tests * add architecture_aware_synthesis_test.py * Create placement_test.py * Update range of python mapping tests * update routing test coverage * Cover Alec's comments * format transform_test * change length of line * remove trailing white space * name -> name_of_ethod * name -> name_of_method RoutingMethod * tokenswappingwitharch * add type ignores * Comment out check_method, rewrite types and methods * Update tests to not use check_method * update test_routingmethod * "name_of_method" -> "name' * Update valid_operation description * reformat transform_test and remove "had" * remove second auto_rebase_pass * Add missing import. * Add option to tket-tests conan build determining whether full tests are run. If tket-tests:full=True, the compiler flag TKET_TESTS_FULL is defined. * remove TokenSwappingWithArch project; move files into Architecture * Set "full tests" option on scheduled CI runs only. * change TKET_ASSERT_WITH_MESSAGE to have parentheses around message * Add note to README. * rename HybridTSA_00 to HybridTsa * Replace TSGlobalTestParameters with #ifdef TKET_TESTS_FULL * commit other forgotten files * Remove GetTketAssertMessage and TKET_ASSERT_WITH_MESSAGE, go back to AssertMessage(). * clang format * Move test_Utils.cpp to test/Utils directory, rename to test_HelperFunctions.cpp * fix "function does not return a value" error * fix "non-void function does not return a value" error, attempt 2! * Forgot to remove final TokenSwappingWithArch bits * update test_json * update python binders and tests remove struct, use 4 element tuple * remove commented out code, format * change type return of method for mypy * address PR Comments * use std::get Co-authored-by: yao-cqc <[email protected]> Co-authored-by: Alec Edgington <[email protected]> Co-authored-by: Zen Harper <[email protected]> Co-authored-by: cqc-melf <[email protected]> Co-authored-by: Alec Edgington <[email protected]> Co-authored-by: melf <[email protected]> * [bugfix] [infra] Fix issues revealed by valgrind; add valgrind check on CI. (#242) * Add StandardPass for basic qubit relabelling (#247) * add NaivePlacement Class and naive_placement_mapping_pass * clang format * PR Requested Changes * Add register accessors to Circuit (#246) * Add register accessors to Circuit * Add c_registers and q_registers methods * [TKET-597] MBQC primitives and Flow Analysis (#218) * Add MBQC generators for ZX * Causal and Pauli flow, verification, identification, focus * Focussed set identification * Fix fall through annotation * Add checks for is_graphlike in graphlike rewrites * Move header to include folder * Add files back into CMakeLists * Update binders with new generator hierarchy * Compiler warnings from uninitialised variables * Improve docstrings and test coverage * Fix compiler error on Windows CI * Add method to get all opgroup names (#249) * Add method to get all group names * Improve test * [infra] Don't invoke `setup.py` directly (#250) * [infra] separated test utils from tests (#251) * [feature] [rv3] Generate random nearby placements (#232) * Add new LexirRouteROutingMethod header and cpp files * add bool option to LexiRoute::set_interating_uids * update methods to merge check and route * Remove redundant line in Rebase.cpp (#253) * address pr comments (and failing test) * black formatting * update build_and_test .yml Co-authored-by: yao-cqc <[email protected]> Co-authored-by: Alec Edgington <[email protected]> Co-authored-by: Zen Harper <[email protected]> Co-authored-by: cqc-melf <[email protected]> Co-authored-by: Alec Edgington <[email protected]> Co-authored-by: melf <[email protected]> Co-authored-by: Will Simmons <[email protected]> Co-authored-by: Luca Mondada <[email protected]> * [TKET-1778] add architecture operation valid changes (#248) * compiler pytket * add tests and checks in python * black format python * update format c++ * c++ format * get optype only once * remove optype from valid_operation * remove optype deps * remove 3 node case * Update build_and_test.yml * try to debug * add merge changes to aas * add run on PR * clean up * address PR comments * Update pytket/docs/changelog.rst Co-authored-by: Alec Edgington <[email protected]> * Update pytket/binders/architecture.cpp Co-authored-by: Alec Edgington <[email protected]> * Update pytket/docs/changelog.rst Co-authored-by: Alec Edgington <[email protected]> * fix bug in lexi (#260) * merge * format * remove run on rv3.1 branch * fix merge from develop * adress pr comments Co-authored-by: Silas Dilkes <[email protected]> Co-authored-by: yao-cqc <[email protected]> Co-authored-by: sjdilkes <[email protected]> Co-authored-by: Alec Edgington <[email protected]> Co-authored-by: Zen Harper <[email protected]> Co-authored-by: Yao Tang <[email protected]> Co-authored-by: Alec Edgington <[email protected]> Co-authored-by: Will Simmons <[email protected]> Co-authored-by: Luca Mondada <[email protected]>
pytket v1.0.0 release candidate 12
Add StandardPass for basic qubit relabelling (#247) * add NaivePlacement Class and naive_placement_mapping_pass * clang format * PR Requested Changes