Coverage report: 89%

Files Functions Classes

coverage.py v7.12.0, created at 2025-11-24 15:39 +0000

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
 / home / runner / work / tket / tket / pytket / pytket / __init__.py (no function)   87% 15 2 0   50% 2 1   82%
 / home / runner / work / tket / tket / pytket / pytket / _tket / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / _version.py (no function)   100% 13 0 5   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / architecture / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / __init__.py (no function)   100% 5 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.__init__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.empty_result   100% 5 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.required_predicates   100% 0 0 1   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.valid_circuit   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend._uses_lightsabre   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend._check_all_circuits   78% 9 2 0   62% 8 3   71%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.rebase_pass   100% 0 0 1   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.default_compilation_pass   100% 0 0 1   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.get_compiled_circuit   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.get_compiled_circuits   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend._result_id_type   100% 0 0 1   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend._check_handle_type   100% 2 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.process_circuit   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.process_circuits   100% 0 0 1   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.circuit_status   100% 0 0 1   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.empty_cache   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.pop_result   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.get_result   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.get_results   75% 8 2 0   100% 0 0   75%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.run_circuit   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.run_circuits   100% 5 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.cancel   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.backend_info   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.available_devices   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.persistent_handles   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.supports_shots   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.supports_counts   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.supports_state   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.supports_unitary   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.supports_density_matrix   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.supports_expectation   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.expectation_allows_nonhermitian   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.supports_contextual_optimisation   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend._get_extension_module   0% 4 4 0   0% 2 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.__extension_name__   0% 4 4 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.__extension_version__   0% 4 4 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend._get_n_shots_as_list   100% 0 0 1   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend._get_n_shots_as_list   100% 0 0 1   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend._get_n_shots_as_list   100% 0 0 1   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend._get_n_shots_as_list   95% 19 1 0   92% 12 1   94%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend._get_n_shots_as_list.validate_n_shots   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.get_pauli_expectation_value   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py Backend.get_operator_expectation_value   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend.py (no function)   100% 92 0 29   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend_exceptions.py CircuitNotValidError.__init__   0% 3 3 0   0% 2 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend_exceptions.py CircuitNotRunError.__init__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend_exceptions.py InvalidResultType.__init__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backend_exceptions.py (no function)   100% 7 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py _serialize_all_node_gate_errors   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py _deserialize_all_node_gate_errors   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py _serialize_all_edge_gate_errors   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py _deserialize_all_edge_gate_errors   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py _serialize_all_readout_errors   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py _deserialize_all_readout_errors   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py _serialize_averaged_node_gate_errors   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py _deserialize_averaged_node_gate_errors   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py _serialize_averaged_edge_gate_errors   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py _deserialize_averaged_edge_gate_errors   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py _serialize_averaged_readout_errors   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py _deserialize_averaged_readout_errors   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py BackendInfo.nodes   67% 3 1 0   50% 2 1   60%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py BackendInfo.n_nodes   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py BackendInfo.add_misc   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py BackendInfo.get_misc   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py BackendInfo.to_dict   100% 11 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py BackendInfo.from_dict   100% 14 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py fully_connected_backendinfo   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendinfo.py (no function)   100% 46 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.__init__   100% 34 0 0   95% 20 1   98%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.__init__._process_unitids   100% 5 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.__repr__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.contains_measured_results   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.contains_state_results   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.__eq__   67% 3 1 0   50% 2 1   60%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.get_bitlist   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.get_qbitlist   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult._get_measured_res   92% 39 3 0   95% 22 1   93%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult._permute_statearray_qb_labels   100% 9 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult._get_state_res   100% 13 0 0   100% 10 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.get_result   91% 11 1 0   90% 10 1   90%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.get_shots   83% 6 1 0   75% 4 1   80%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.get_counts   88% 8 1 0   83% 6 1   86%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.get_state   100% 9 0 0   100% 6 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.get_unitary   0% 6 6 0   0% 4 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.get_density_matrix   0% 6 6 0   0% 4 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.get_distribution   100% 8 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.get_empirical_distribution   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.get_probability_distribution   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.get_debug_info   80% 20 4 0   70% 10 1   77%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.to_dict   100% 14 0 0   100% 10 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py BackendResult.from_dict   100% 16 0 0   86% 14 2   93%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py _sort_keys_by_val   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py _check_permuted_sequence   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py _complex_ar_to_dict   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py _complex_ar_from_dict   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / backendresult.py (no function)   100% 50 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / resulthandle.py ResultHandle.__init__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / resulthandle.py ResultHandle.from_str   100% 7 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / resulthandle.py ResultHandle.__hash__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / resulthandle.py ResultHandle.__eq__   67% 3 1 0   50% 2 1   60%
 / home / runner / work / tket / tket / pytket / pytket / backends / resulthandle.py ResultHandle.__str__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / resulthandle.py ResultHandle.__repr__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / resulthandle.py ResultHandle.__iter__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / resulthandle.py ResultHandle.__len__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / resulthandle.py ResultHandle.__getitem__   100% 0 0 1   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / resulthandle.py ResultHandle.__getitem__   100% 0 0 1   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / resulthandle.py ResultHandle.__getitem__   0% 3 3 0   0% 2 0   0%
 / home / runner / work / tket / tket / pytket / pytket / backends / resulthandle.py (no function)   100% 16 0 4   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / status.py CircuitStatus.to_dict   100% 18 0 0   100% 16 0   100%
 / home / runner / work / tket / tket / pytket / pytket / backends / status.py CircuitStatus.from_dict   94% 17 1 0   50% 2 1   89%
 / home / runner / work / tket / tket / pytket / pytket / backends / status.py (no function)   100% 27 0 2   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / __init__.py add_wasm   100% 13 0 0   93% 14 1   96%
 / home / runner / work / tket / tket / pytket / pytket / circuit / __init__.py add_wasm_to_reg   93% 14 1 0   81% 16 3   87%
 / home / runner / work / tket / tket / pytket / pytket / circuit / __init__.py set_rng_seed   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / __init__.py set_rng_bound   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / __init__.py set_rng_index   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / __init__.py get_rng_num   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / __init__.py get_job_shot_num   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / __init__.py add_clexpr_from_logicexp   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / __init__.py (no function)   100% 26 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / add_condition.py _add_condition   96% 50 2 0   88% 26 3   93%
 / home / runner / work / tket / tket / pytket / pytket / circuit / add_condition.py (no function)   100% 6 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / clexpr.py has_reg_output   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / clexpr.py _clop_from_ops   75% 53 13 0   73% 52 10   74%
 / home / runner / work / tket / tket / pytket / pytket / circuit / clexpr.py _ExpressionConverter.convert   100% 12 0 0   100% 8 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / clexpr.py wired_clexpr_from_logic_exp   100% 9 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / clexpr.py check_register_alignments   90% 10 1 0   83% 6 1   88%
 / home / runner / work / tket / tket / pytket / pytket / circuit / clexpr.py (no function)   100% 13 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py VarHeap.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py VarHeap.pop   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py VarHeap.push   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py VarHeap.is_heap_var   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py VarHeap.fresh_var   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py BitHeap.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py BitHeap.next_index   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py BitHeap.fresh_var   100% 5 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py RegHeap.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py RegHeap.next_index   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py RegHeap.fresh_var   100% 5 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py temp_reg_in_args   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py _int_to_bools   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py _get_bit_width   0% 6 6 0   0% 2 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py _ClExprDecomposer.__init__   100% 9 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py _ClExprDecomposer.add_var   100% 5 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py _ClExprDecomposer.set_bits   100% 7 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py _ClExprDecomposer.decompose_expr   81% 53 10 0   84% 38 6   82%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py _decompose_expressions   79% 71 15 0   74% 38 6   77%
 / home / runner / work / tket / tket / pytket / pytket / circuit / decompose_classical.py (no function)   100% 34 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / display / __init__.py IncludeRawExtension.parse   100% 4 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / display / __init__.py IncludeRawExtension._render   67% 3 1 0   50% 2 1   60%
 / home / runner / work / tket / tket / pytket / pytket / circuit / display / __init__.py RenderOptions.__post_init__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / display / __init__.py RenderOptions.get_render_options   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / display / __init__.py CircuitDisplayConfig.from_extension_dict   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / display / __init__.py CircuitRenderer.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / display / __init__.py CircuitRenderer.set_render_options   80% 5 1 0   67% 6 2   73%
 / home / runner / work / tket / tket / pytket / pytket / circuit / display / __init__.py CircuitRenderer.get_render_options   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / display / __init__.py CircuitRenderer.save_render_options   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / display / __init__.py CircuitRenderer.render_circuit_as_html   73% 11 3 0   75% 4 1   73%
 / home / runner / work / tket / tket / pytket / pytket / circuit / display / __init__.py CircuitRenderer.render_circuit_jupyter   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / display / __init__.py CircuitRenderer.view_browser   0% 7 7 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / display / __init__.py get_circuit_renderer   100% 3 0 0   50% 2 1   80%
 / home / runner / work / tket / tket / pytket / pytket / circuit / display / __init__.py (no function)   100% 61 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py filter_by_type   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py LogicExp.factory   96% 51 2 0   96% 50 2   96%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py LogicExp.set_value   83% 6 1 0   88% 8 1   86%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py LogicExp._const_eval   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py LogicExp.eval_vals   86% 7 1 0   50% 4 2   73%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py LogicExp.all_inputs   100% 11 0 0   100% 10 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py LogicExp.all_inputs_ordered   100% 11 0 0   100% 10 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py LogicExp.__eq__   67% 3 1 0   50% 2 1   60%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py LogicExp.__hash__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py LogicExp.to_dict   100% 13 0 0   90% 10 1   96%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py LogicExp.from_dict   100% 14 0 0   90% 10 1   96%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py LogicExp._rename_args_recursive   0% 12 12 0   0% 12 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py LogicExp.rename_args   0% 4 4 0   0% 2 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py BitLogicExp.__and__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py BitLogicExp.__rand__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py BitLogicExp.__or__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py BitLogicExp.__ror__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py BitLogicExp.__xor__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py BitLogicExp.__rxor__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegLogicExp.__and__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegLogicExp.__rand__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegLogicExp.__or__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegLogicExp.__ror__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegLogicExp.__xor__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegLogicExp.__rxor__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegLogicExp.__add__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegLogicExp.__sub__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegLogicExp.__mul__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegLogicExp.__floordiv__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegLogicExp.__pow__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegLogicExp.__lshift__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegLogicExp.__rshift__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py BinaryOp.__str__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py UnaryOp.__str__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py NullaryOp.__str__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py And._const_eval   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py And.eval_vals   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py Or._const_eval   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py Xor._const_eval   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py BitAnd.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py BitOr.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py BitOr.eval_vals   75% 4 1 0   50% 2 1   67%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py BitXor.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py BitNot.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py BitNot._const_eval   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py BitZero.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py BitZero._const_eval   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py BitOne.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py BitOne._const_eval   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegAnd.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegOr.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegXor.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegAdd.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegSub.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegMul.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegDiv.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegPow.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegLsh.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegNeg.__init__   0% 2 2 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegNot.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegRsh.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py Eq._const_eval   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py Neq._const_eval   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py BitEq.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py BitNeq.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegEq.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegNeq.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegLt.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegLt._const_eval   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegGt.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegGt._const_eval   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegLeq.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegLeq._const_eval   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegGeq.__init__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py RegGeq._const_eval   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py reg_eq   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py reg_neq   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py reg_lt   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py reg_gt   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py reg_leq   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py reg_geq   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py if_bit   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py if_not_bit   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py create_bit_logic_exp   100% 25 0 0   94% 16 1   98%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py create_reg_logic_exp   91% 57 5 0   88% 40 3   90%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py create_logic_exp   100% 13 0 0   100% 6 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py create_predicate_exp   98% 41 1 0   94% 16 1   96%
 / home / runner / work / tket / tket / pytket / pytket / circuit / logic_exp.py (no function)   100% 185 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit / named_types.py (no function)   100% 20 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / circuit_library / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / config / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / config / pytket_config.py get_config_file_path   80% 5 1 0   50% 2 1   71%
 / home / runner / work / tket / tket / pytket / pytket / config / pytket_config.py PytketConfig.__init__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / config / pytket_config.py PytketConfig.default   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / config / pytket_config.py PytketConfig.read_file   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / config / pytket_config.py PytketConfig.write_file   100% 4 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / config / pytket_config.py load_config_file   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / config / pytket_config.py write_config_file   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / config / pytket_config.py PytketExtConfig.from_extension_dict   100% 0 0 1   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / config / pytket_config.py PytketExtConfig.to_dict   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / config / pytket_config.py PytketExtConfig.from_pytketconfig   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / config / pytket_config.py PytketExtConfig.from_default_config_file   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / config / pytket_config.py PytketExtConfig.update_pytket_config   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / config / pytket_config.py PytketExtConfig.update_default_config_file   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / config / pytket_config.py (no function)   100% 31 0 1   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / logging / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / mapping / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / partition / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / __init__.py (no function)   100% 4 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / passselector.py PassSelector.__init__   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / passselector.py PassSelector.apply   100% 12 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / passselector.py PassSelector.get_scores   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / passselector.py (no function)   100% 7 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / resizeregpass.py _is_scratch   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / resizeregpass.py _gen_scratch_transformation   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / resizeregpass.py _gen_scratch_transformation.t   100% 7 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / resizeregpass.py scratch_reg_resize_pass   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / resizeregpass.py (no function)   100% 8 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.start   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.comp_pass   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.basic_pass   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.seq_pass   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.pass_list   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.repeat_pass   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.clifford_simp   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.clifford_simp_no_swaps   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.commute_through_multis   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.context_simp   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.context_simp_no_classical   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.decompose_arbitrarily_controlled_gates   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.decompose_boxes   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.decompose_classical_exp   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.decompose_multi_qubits_cx   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.decompose_single_qubits_tk1   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.delay_measures   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.delay_measures_try   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.euler_angle_reduction   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.flatten_registers   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.full_peephole_optimise   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.full_peephole_optimise_no_swaps   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.guided_pauli_simp   0% 3 3 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.guided_pauli_simp_default   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.kak_decomposition   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.optimise_phase_gadgets   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.optimise_phase_gadgets_default   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.pauli_exponentials   0% 3 3 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.pauli_exponentials_default   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.pauli_simp   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.pauli_simp_default   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.pauli_squash   0% 3 3 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.pauli_squash_default   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.peephole_optimise_2q   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.rebase_tket   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.remove_barriers   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.remove_discarded   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.remove_phase_ops   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.remove_redundancies   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.simplify_initial   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.simplify_initial_no_classical   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.simplify_measured   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.synthesise_tket   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.three_qubit_squash   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.cx_config_type   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.cx_config_type_snake   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.cx_config_type_star   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.cx_config_type_tree   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.cx_config_type_multi_q_gate   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.op_type   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.op_type_rx   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.op_type_ry   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.op_type_rz   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.pauli_synth_strat   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.pauli_synth_strat_individual   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.pauli_synth_strat_pairwise   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py _PassTransformer.pauli_synth_strat_sets   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py compilation_pass_from_script   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py compilation_pass_grammar   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / passes / script.py (no function)   100% 68 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / pauli / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / placement / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / predicates / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / __init__.py (no function)   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / grammar.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / includes / _hqslib1_decls.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / includes / _hqslib1_defs.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / includes / _hqslib1_dev_decls.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / includes / _hqslib1_dev_defs.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / includes / _qelib1_decls.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / includes / _qelib1_defs.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / includes / load_includes.py _get_files   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / includes / load_includes.py _get_defpath   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / includes / load_includes.py _get_declpath   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / includes / load_includes.py _load_gdict   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / includes / load_includes.py _write_defs   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / includes / load_includes.py _write_decls   100% 5 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / includes / load_includes.py (no function)   67% 18 6 0   25% 4 1   59%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py QASMParseError.__init__   100% 6 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _extract_reg   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _load_include_module   100% 7 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _bin_par_exp   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _bin_par_exp.f   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _un_par_exp   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _un_par_exp.f   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _un_call_exp   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _un_call_exp.f   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _hashable_uid   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _can_treat_as_bit   100% 7 0 0   100% 6 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _ParsMap.__iter__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.__init__   100% 8 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer._fresh_temp_bit   100% 5 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer._reset_context   100% 6 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer._get_reg   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer._get_uid   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer._get_arg   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.unroll_all_args   100% 5 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.margs   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.iargs   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.args   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.creg   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.qreg   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.meas   100% 2 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.barr   89% 9 1 0   83% 6 1   87%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.reset   0% 2 2 0   0% 2 0   0%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.pars   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.mixedcall   100% 41 0 0   100% 14 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.gatecall   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.exp_args   75% 4 1 0   75% 4 1   75%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer._logic_exp   92% 12 1 0   88% 8 1   90%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer._get_logic_args   88% 16 2 0   83% 12 2   86%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.neg   0% 3 3 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.cond   100% 6 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.ifc   100% 34 0 0   100% 16 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.cop   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer._calc_exp_io   0% 18 18 0   0% 10 0   0%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer._clexpr_dict   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.assign   96% 46 2 0   88% 24 3   93%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.extern   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.ccall   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.cce_call   100% 8 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.transform   0% 2 2 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.gdef   100% 31 0 0   100% 12 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.oqasm   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.incl   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _CircuitTransformer.prog   100% 9 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _parser   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _set_parser   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py circuit_from_qasm   89% 9 1 0   50% 2 1   82%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py circuit_from_qasm_str   100% 7 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py circuit_from_qasm_io   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py circuit_from_qasm_wasm   100% 5 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py circuit_from_qasm_str_wasm   100% 5 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py circuit_from_qasm_str_wasmmh   100% 4 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py circuit_to_qasm   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _filtered_qasm_str   100% 15 0 0   100% 12 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _is_empty_customgate   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _check_can_convert_circuit   93% 14 1 0   93% 14 1   93%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py circuit_to_qasm_str   100% 8 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _retrieve_registers   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _parse_range   73% 15 4 0   67% 12 4   70%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _negate_comparator   67% 12 4 0   70% 10 3   68%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _get_optype_and_params   88% 8 1 0   75% 4 1   83%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _get_gate_circuit   100% 11 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _hqs_header   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _LabelledStringList.__init__   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _LabelledStringList.add_string   100% 4 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _LabelledStringList.get_string   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _LabelledStringList.del_string   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _LabelledStringList.get_full_string   100% 7 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _make_params_str   100% 20 0 0   90% 10 1   97%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _make_args_str   100% 7 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _vars_overlap   100% 5 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _var_appears   67% 6 2 0   50% 4 2   60%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.__init__   96% 28 1 0   90% 10 1   95%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.fresh_scratch_bit   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.remove_last_scratch_bit   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.write_params   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.write_args   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.make_gate_definition   100% 17 0 0   100% 6 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.mark_as_written   67% 3 1 0   50% 2 1   60%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.check_range_predicate   75% 8 2 0   67% 6 2   71%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_range_predicate   100% 7 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.replace_condition   100% 30 0 0   100% 16 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.remove_unused_predicate   100% 11 0 0   100% 6 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_conditional   100% 44 0 0   100% 20 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_set_bits   100% 9 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_copy_bits   100% 10 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_multi_bit   100% 11 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_explicit_op   80% 5 1 0   50% 2 1   71%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_wired_clexpr   91% 34 3 0   75% 16 4   86%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_wasm   93% 15 1 0   90% 10 1   92%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_rng_seed   100% 5 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_rng_bound   100% 5 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_rng_index   100% 5 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_rng_num   100% 6 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_job_shot_num   100% 5 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_measure   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_zzphase   100% 7 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_cnx   71% 17 5 0   60% 10 4   67%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_data   100% 4 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_gate_noparams   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_gate_params   100% 4 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_extra_noparams   100% 8 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_extra_params   100% 9 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.add_op   98% 59 1 0   98% 44 1   98%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py _QasmWriter.finalize   100% 12 0 0   100% 8 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py circuit_to_qasm_io   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / qasm / qasm.py (no function)   100% 199 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / quipper / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.int   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.float   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.string   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.wire   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.wire_string_list   0% 3 3 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.pos_control_wire   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.neg_control_wire   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.type_assignment   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.arity   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.qgate   97% 30 1 0   96% 26 1   96%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.qrot1   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.qrot2   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.qinit   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.cinit   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.qterm   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.cterm   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.qmeas   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.qdiscard   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.cdiscard   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.subroutine_call   100% 5 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.comment   0% 2 2 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.control_app   100% 7 0 0   100% 6 0   100%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.circuit   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.subroutine   83% 6 1 0   75% 4 1   80%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _QuipperTransformer.start   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _allowed   100% 5 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _CircuitMaker.__init__   67% 3 1 0   50% 2 1   60%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py _CircuitMaker.make_circuit   73% 195 53 0   70% 150 23   72%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py circuit_from_quipper   100% 5 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / quipper / quipper.py (no function)   100% 113 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / tableau / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / tailoring / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / transform / __init__.py (no function)   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / unit_id / __init__.py _bitregister_next   100% 5 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / unit_id / __init__.py _qubitregister_next   100% 5 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / unit_id / __init__.py _gen_binary_method_bit   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / unit_id / __init__.py _gen_binary_method_bit.logic_operation   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / unit_id / __init__.py _gen_binary_method_reg   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / unit_id / __init__.py _gen_binary_method_reg.logic_operation   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / unit_id / __init__.py (no function)   100% 34 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / __init__.py (no function)   100% 11 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py EmpiricalDistribution.__init__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py EmpiricalDistribution.as_counter   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py EmpiricalDistribution.total   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py EmpiricalDistribution.support   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py EmpiricalDistribution.__eq__   67% 3 1 0   50% 2 1   60%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py EmpiricalDistribution.__hash__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py EmpiricalDistribution.__repr__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py EmpiricalDistribution.__getitem__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py EmpiricalDistribution.__add__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py EmpiricalDistribution.condition   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py EmpiricalDistribution.map   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py EmpiricalDistribution.sample_mean   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py EmpiricalDistribution.sample_variance   86% 7 1 0   50% 2 1   78%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py ProbabilityDistribution.__init__   90% 10 1 0   83% 6 1   88%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py ProbabilityDistribution.as_dict   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py ProbabilityDistribution.as_rv_discrete   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py ProbabilityDistribution.support   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py ProbabilityDistribution.__eq__   71% 7 2 0   50% 4 2   64%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py ProbabilityDistribution.__repr__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py ProbabilityDistribution.__getitem__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py ProbabilityDistribution.from_empirical_distribution   100% 5 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py ProbabilityDistribution.condition   80% 5 1 0   50% 2 1   71%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py ProbabilityDistribution.map   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py ProbabilityDistribution.expectation   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py ProbabilityDistribution.variance   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py convex_combination   82% 11 2 0   75% 8 2   79%
 / home / runner / work / tket / tket / pytket / pytket / utils / distribution.py (no function)   100% 41 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / expectations.py expectation_from_shots   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / expectations.py expectation_from_counts   100% 6 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / expectations.py _default_index   0% 3 3 0   0% 2 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / expectations.py get_pauli_expectation_value   65% 17 6 0   50% 10 3   59%
 / home / runner / work / tket / tket / pytket / pytket / utils / expectations.py get_operator_expectation_value   91% 68 6 0   89% 36 4   90%
 / home / runner / work / tket / tket / pytket / pytket / utils / expectations.py (no function)   100% 13 0 2   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / graph.py Graph.__init__   100% 20 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / graph.py Graph.as_nx   100% 28 0 0   100% 20 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / graph.py Graph.get_DAG   94% 77 5 0   82% 28 5   90%
 / home / runner / work / tket / tket / pytket / pytket / utils / graph.py Graph.save_DAG   0% 2 2 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / graph.py Graph.view_DAG   0% 4 4 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / graph.py Graph.get_qubit_graph   93% 15 1 0   88% 8 1   91%
 / home / runner / work / tket / tket / pytket / pytket / utils / graph.py Graph.view_qubit_graph   0% 4 4 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / graph.py Graph.save_qubit_graph   0% 2 2 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / graph.py (no function)   100% 15 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / measurements.py append_pauli_measurement   100% 13 0 0   100% 10 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / measurements.py _all_pauli_measurements   100% 6 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / measurements.py (no function)   100% 6 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py _coeff_convert   89% 9 1 0   88% 8 1   88%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py _expr_to_str   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py _str_to_expr   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.__init__   100% 5 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.__repr__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.__getitem__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.get   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.__setitem__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.__getstate__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.__setstate__   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.__eq__   67% 3 1 0   50% 2 1   60%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.__hash__   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.__iadd__   83% 6 1 0   75% 4 1   80%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.__add__   0% 3 3 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.__imul__   88% 17 2 0   83% 12 2   86%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.__mul__   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.__rmul__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.all_qubits   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.subs   100% 2 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.get_dict   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.to_list   100% 9 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.from_list   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.from_list.get_qps   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.from_list.get_coeff   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.to_sparse_matrix   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.dot_state   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.state_expectation   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator.compress   100% 11 0 0   90% 10 1   95%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py QubitPauliOperator._collect_qubits   100% 4 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / operators.py (no function)   100% 39 0 2   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / outcomearray.py OutcomeArray.__new__   75% 8 2 0   50% 4 2   67%
 / home / runner / work / tket / tket / pytket / pytket / utils / outcomearray.py OutcomeArray.__array_finalize__   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / outcomearray.py OutcomeArray.width   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / outcomearray.py OutcomeArray.n_outcomes   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / outcomearray.py OutcomeArray.__hash__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / outcomearray.py OutcomeArray.__eq__   67% 3 1 0   50% 2 1   60%
 / home / runner / work / tket / tket / pytket / pytket / utils / outcomearray.py OutcomeArray.from_readouts   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / outcomearray.py OutcomeArray.to_readouts   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / outcomearray.py OutcomeArray.to_readout   67% 3 1 0   50% 2 1   60%
 / home / runner / work / tket / tket / pytket / pytket / utils / outcomearray.py OutcomeArray.to_intlist   100% 7 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / outcomearray.py OutcomeArray.from_ints   100% 5 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / outcomearray.py OutcomeArray.counts   100% 4 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / outcomearray.py OutcomeArray.choose_indices   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / outcomearray.py OutcomeArray.to_dict   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / outcomearray.py OutcomeArray.from_dict   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / outcomearray.py readout_counts   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / outcomearray.py (no function)   100% 29 0 3   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / prepare.py prepare_circuit   100% 5 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / prepare.py (no function)   100% 4 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / results.py BitPermuter.__init__   100% 5 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / results.py BitPermuter.permute   83% 12 2 0   75% 8 2   80%
 / home / runner / work / tket / tket / pytket / pytket / utils / results.py BitPermuter.permute_all   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / results.py counts_from_shot_table   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / results.py probs_from_counts   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / results.py _index_to_readout   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / results.py _reverse_bits_of_index   0% 2 2 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / results.py _compute_probs_from_state   100% 6 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / results.py probs_from_state   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / results.py int_dist_from_state   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / results.py get_n_qb_from_statevector   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / results.py _assert_compatible_state_permutation   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / results.py permute_qubits_in_statevector   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / results.py permute_basis_indexing   100% 4 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / results.py permute_rows_cols_in_unitary   0% 5 5 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / results.py compare_statevectors   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / results.py compare_unitaries   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / results.py (no function)   100% 22 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / serialization / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / serialization / migration.py _convert_op   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / serialization / migration.py _convert_regwise_terms   100% 9 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / serialization / migration.py _convert_bitwise_terms   90% 10 1 0   75% 4 1   86%
 / home / runner / work / tket / tket / pytket / pytket / utils / serialization / migration.py _find_regs_in_expr   100% 11 0 0   100% 6 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / serialization / migration.py _find_bits_in_expr   90% 10 1 0   67% 6 2   81%
 / home / runner / work / tket / tket / pytket / pytket / utils / serialization / migration.py _clexpr_from_regwise_classicalexpbox   100% 6 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / serialization / migration.py _clexpr_from_bitwise_classicalexpbox   100% 6 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / serialization / migration.py _clexpr_from_classicalexpbox   100% 5 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / serialization / migration.py _new_op   86% 21 3 0   90% 10 1   87%
 / home / runner / work / tket / tket / pytket / pytket / utils / serialization / migration.py _new_command   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / serialization / migration.py circuit_dict_from_pytket1_dict   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / serialization / migration.py (no function)   100% 14 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / spam.py compress_counts   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / spam.py binary_to_int   100% 5 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / spam.py int_to_binary   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / spam.py _unfold   100% 3 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / spam.py _refold   100% 4 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / spam.py _compute_dot   100% 5 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / spam.py _bayesian_iteration   71% 7 2 0   50% 4 2   64%
 / home / runner / work / tket / tket / pytket / pytket / utils / spam.py _bayesian_iterative_correct   89% 18 2 0   100% 6 0   92%
 / home / runner / work / tket / tket / pytket / pytket / utils / spam.py _reduce_matrix   100% 17 0 0   100% 10 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / spam.py _reduce_matrices   100% 5 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / spam.py SpamCorrecter.__init__   53% 17 8 0   25% 8 2   44%
 / home / runner / work / tket / tket / pytket / pytket / utils / spam.py SpamCorrecter.__init__.to_tuple   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / spam.py SpamCorrecter.calibration_circuits   100% 25 0 0   100% 10 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / spam.py SpamCorrecter.calculate_matrices   96% 23 1 0   92% 12 1   94%
 / home / runner / work / tket / tket / pytket / pytket / utils / spam.py SpamCorrecter.get_parallel_measure   100% 8 0 0   100% 6 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / spam.py SpamCorrecter.correct_counts   92% 36 3 0   93% 14 1   92%
 / home / runner / work / tket / tket / pytket / pytket / utils / spam.py SpamCorrecter.to_dict   100% 6 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / spam.py SpamCorrecter.from_dict   100% 4 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / spam.py (no function)   100% 33 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / stats.py gate_counts   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / stats.py (no function)   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_controlled   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_rz   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_rx   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_ry   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_u3   100% 4 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_u2   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_u1   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_tk1   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_tk2   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_iswap   100% 4 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_phasediswap   100% 5 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_xxphase   0% 4 4 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_yyphase   0% 4 4 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_zzphase   0% 3 3 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_xxphase3   0% 5 5 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_phasedx   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_eswap   100% 5 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_fsim   0% 5 5 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_gpi   0% 2 2 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_gpi2   0% 3 3 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _symb_aams   0% 8 8 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py SymGateRegister.register_func   0% 2 2 0   0% 2 0   0%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py SymGateRegister.get_func   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py SymGateRegister.is_registered   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py _op_to_sympy_gate   77% 13 3 0   83% 6 1   79%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py circuit_to_symbolic_gates   82% 17 3 0   83% 6 1   83%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py circuit_to_symbolic_unitary   100% 11 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py circuit_apply_symbolic_qubit   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py circuit_apply_symbolic_statevector   75% 4 1 0   50% 2 1   67%
 / home / runner / work / tket / tket / pytket / pytket / utils / symbolic.py (no function)   100% 49 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / term_sequence.py gen_term_sequence_circuit   100% 23 0 0   100% 8 0   100%
 / home / runner / work / tket / tket / pytket / pytket / utils / term_sequence.py (no function)   100% 6 0 2   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / wasm / __init__.py (no function)   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / wasm / wasm.py WasmModuleHandler.__init__   92% 12 1 0   83% 6 1   89%
 / home / runner / work / tket / tket / pytket / pytket / wasm / wasm.py WasmModuleHandler.check   91% 55 5 0   90% 48 5   90%
 / home / runner / work / tket / tket / pytket / pytket / wasm / wasm.py WasmModuleHandler._check_file   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / wasm / wasm.py WasmModuleHandler.__str__   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / wasm / wasm.py WasmModuleHandler.__repr__   100% 10 0 0   100% 6 0   100%
 / home / runner / work / tket / tket / pytket / pytket / wasm / wasm.py WasmModuleHandler.bytecode   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / wasm / wasm.py WasmModuleHandler.bytecode_base64   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / wasm / wasm.py WasmModuleHandler._wasm_file_encoded   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / wasm / wasm.py WasmModuleHandler.uid   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / wasm / wasm.py WasmModuleHandler._wasmfileuid   0% 1 1 0   100% 0 0   0%
 / home / runner / work / tket / tket / pytket / pytket / wasm / wasm.py WasmModuleHandler.check_function   67% 3 1 0   50% 2 1   60%
 / home / runner / work / tket / tket / pytket / pytket / wasm / wasm.py WasmModuleHandler.functions   67% 3 1 0   50% 2 1   60%
 / home / runner / work / tket / tket / pytket / pytket / wasm / wasm.py WasmModuleHandler.unsupported_functions   67% 3 1 0   50% 2 1   60%
 / home / runner / work / tket / tket / pytket / pytket / wasm / wasm.py WasmFileHandler.__init__   100% 5 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / wasm / wasm.py (no function)   100% 38 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / zx / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / zx / tensor_eval.py _gen_to_tensor   89% 9 1 0   88% 8 1   88%
 / home / runner / work / tket / tket / pytket / pytket / zx / tensor_eval.py _spider_to_tensor   98% 48 1 0   94% 16 1   97%
 / home / runner / work / tket / tket / pytket / pytket / zx / tensor_eval.py _clifford_to_tensor   93% 14 1 0   88% 8 1   91%
 / home / runner / work / tket / tket / pytket / pytket / zx / tensor_eval.py _dir_gen_to_tensor   80% 5 1 0   50% 2 1   71%
 / home / runner / work / tket / tket / pytket / pytket / zx / tensor_eval.py _tensor_from_basic_diagram   100% 41 0 0   100% 14 0   100%
 / home / runner / work / tket / tket / pytket / pytket / zx / tensor_eval.py tensor_from_quantum_diagram   100% 10 0 0   100% 8 0   100%
 / home / runner / work / tket / tket / pytket / pytket / zx / tensor_eval.py tensor_from_mixed_diagram   100% 3 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / zx / tensor_eval.py _format_tensor_as_unitary   100% 11 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / zx / tensor_eval.py unitary_from_quantum_diagram   100% 2 0 0   100% 0 0   100%
 / home / runner / work / tket / tket / pytket / pytket / zx / tensor_eval.py unitary_from_classical_diagram   100% 5 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / zx / tensor_eval.py density_matrix_from_cptp_diagram   100% 9 0 0   100% 4 0   100%
 / home / runner / work / tket / tket / pytket / pytket / zx / tensor_eval.py fix_boundaries_to_binary_states   100% 18 0 0   100% 6 0   100%
 / home / runner / work / tket / tket / pytket / pytket / zx / tensor_eval.py fix_inputs_to_binary_state   100% 5 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / zx / tensor_eval.py fix_outputs_to_binary_state   100% 5 0 0   100% 2 0   100%
 / home / runner / work / tket / tket / pytket / pytket / zx / tensor_eval.py (no function)   92% 26 2 0   100% 0 0   92%
Total     91% 5292 497 62   85% 1808 189   89%

No items found using the specified filter.