-
Notifications
You must be signed in to change notification settings - Fork 47
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
Release/1.0.0 #287
Release/1.0.0 #287
Conversation
…e and AASRouting (#194) * add bugfix * Update tket/src/Predicates/include/Predicates/PassGenerators.hpp Co-authored-by: Alexander Cowtan <[email protected]> * remove bool add break Co-authored-by: Alexander Cowtan <[email protected]>
…nsform` handle them. (#186)
* Add ``delay_measures`` option to ``DefaultMappingPass`` * Update changelog * Fix test errors * Make delay_measures default to true in gen_default_mapping_pass * Improve tests
conceptually matches the other parametrised gate circuit definitions
Merge `main` into `develop`
…ndings on Windows (#233)
* 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 9d67720. * 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 66ce863. * 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 86fb61e. * 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 d7bbd01. * 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 9d67720. * 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 66ce863. * 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 86fb61e. * 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 d7bbd01. * 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]>
* add rv3 to chagnelog * remove doc check * remove correct docs check * Update pytket/docs/changelog.rst Co-authored-by: Alec Edgington <[email protected]> * Update pytket/docs/changelog.rst Co-authored-by: Alec Edgington <[email protected]> * Update pytket/docs/changelog.rst Co-authored-by: Alec Edgington <[email protected]> * remove notebook from the chagnelog Co-authored-by: Alec Edgington <[email protected]>
* Add MultiGateReorderRoutingMethod to binder * Add BoxDecompositionRoutingMethod to binder * Improve json test * Improve docstrings * Update changelog
* copy files * changes for v2 * add create PR on merge to develop * Update .github/workflows/docs_v2.yml Co-authored-by: Alec Edgington <[email protected]> * commit chagnes from PR * rename branch * add merge from develop, cancel jobs * merge * add valgrind for develop2 * revert mistake * executable * add nightly check for valgrind * add nightly for build * update branch selection for nightly * change names of the workflows * remove develop2 from valgrind check Co-authored-by: Alec Edgington <[email protected]>
* add documentation of single qubit problem * change docs * Update pytket/binders/mapping.cpp Co-authored-by: Alec Edgington <[email protected]> Co-authored-by: Alec Edgington <[email protected]>
* add sympy 1.10 * fix imaginary comparison * solve mypy problems with sympy * try to fix mypy * mypy fix * remove sympy from mypy.ini
Extend CircuitStatus to support a few new fields, such as timestamps for changes in status, queue position and detailed error information.
* add labelling for qubits with only single qubit gates * update documentation * c++ format * rename label_isolated_qubits, remove comment
* 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]>
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.
Last 3 commits look fine. One question about outdated workflows.
@@ -0,0 +1,436 @@ | |||
name: Build and test v2 |
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.
Do we want to preserve these (I assume now redundant) workflows, or can we remove them?
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.
We want to keep these, but they are disabled for now until we start active development on the develop2
branch.
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.
I misunderstood their use! Got it now, thanks.
No description provided.