GCC Code Coverage Report


Directory: ./
File: OpType/OpTypeInfo.cpp
Date: 2022-10-15 05:10:18
Exec Total Coverage
Lines: 12 108 11.1%
Functions: 1 1 100.0%
Branches: 408 814 50.1%
Decisions: 0 0 -%

Line Branch Decision Exec Source
1 // Copyright 2019-2022 Cambridge Quantum Computing
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14
15 #include "OpTypeInfo.hpp"
16
17 #include <memory>
18
19 #include "OpType.hpp"
20
21 namespace tket {
22 3251345 const std::map<OpType, OpTypeInfo>& optypeinfo() {
23
3/4
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 3251344 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
3251345 static const op_signature_t noargs;
24
4/8
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 3251344 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
3251345 static const op_signature_t singleq(1, EdgeType::Quantum);
25
4/8
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 3251344 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
3251345 static const op_signature_t doubleq(2, EdgeType::Quantum);
26
4/8
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 3251344 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
3251345 static const op_signature_t tripleq(3, EdgeType::Quantum);
27
28 // No memory leak since the objects are only constructed once and
29 // the memory is reclaimed on program termination.
30
31 // OpTypeInfo: name, latex_name, param_mod, signature
32 static const std::map<OpType, OpTypeInfo> typeinfo{
33 {OpType::Phase, {"Phase", "Phase", {2}, noargs}},
34 {OpType::Z, {"Z", "$Z$", {}, singleq}},
35 {OpType::X, {"X", "$X$", {}, singleq}},
36 {OpType::Y, {"Y", "$Y$", {}, singleq}},
37 {OpType::S, {"S", "$S$", {}, singleq}},
38 {OpType::Sdg, {"Sdg", "$S^\\dagger$", {}, singleq}},
39 {OpType::T, {"T", "$T$", {}, singleq}},
40 {OpType::Tdg, {"Tdg", "$T^\\dagger$", {}, singleq}},
41 {OpType::V, {"V", "$R_X{\\frac12}$", {}, singleq}},
42 {OpType::Vdg, {"Vdg", "$R_X(\\frac12)^\\dagger$", {}, singleq}},
43 {OpType::SX, {"SX", "$\\sqrt{X}$", {}, singleq}},
44 {OpType::SXdg, {"SXdg", "$\\sqrt{X}^\\dagger$", {}, singleq}},
45 {OpType::H, {"H", "$H$", {}, singleq}},
46 {OpType::Rx, {"Rx", "$R_X$", {4}, singleq}},
47 {OpType::Ry, {"Ry", "$R_Y$", {4}, singleq}},
48 {OpType::Rz, {"Rz", "$R_Z$", {4}, singleq}},
49 {OpType::U3, {"U3", "U3", {4, 2, 2}, singleq}},
50 {OpType::U2, {"U2", "U2", {2, 2}, singleq}},
51 {OpType::U1, {"U1", "U1", {2}, singleq}},
52 {OpType::CX, {"CX", "CX", {}, doubleq}},
53 {OpType::CY, {"CY", "CY", {}, doubleq}},
54 {OpType::CZ, {"CZ", "CZ", {}, doubleq}},
55 {OpType::CH, {"CH", "CH", {}, doubleq}},
56 {OpType::CV, {"CV", "CV", {}, doubleq}},
57 {OpType::CVdg, {"CVdg", "$CV^\\dagger$", {}, doubleq}},
58 {OpType::CSX, {"CSX", "CSX", {}, doubleq}},
59 {OpType::CSXdg, {"CSXdg", "$CSX^\\dagger$", {}, doubleq}},
60 {OpType::CRz, {"CRz", "CRz", {4}, doubleq}},
61 {OpType::CRx, {"CRx", "CRx", {4}, doubleq}},
62 {OpType::CRy, {"CRy", "CRy", {4}, doubleq}},
63 {OpType::CU1, {"CU1", "CU1", {2}, doubleq}},
64 {OpType::CU3, {"CU3", "CU3", {4, 2, 2}, doubleq}},
65 {OpType::PhaseGadget,
66 {"PhaseGadget", "$Z^{\\otimes n}$", {4}, std::nullopt}},
67 {OpType::CCX, {"CCX", "CCX", {}, tripleq}},
68 {OpType::SWAP, {"SWAP", "SWAP", {}, doubleq}},
69 {OpType::CSWAP, {"CSWAP", "CSWAP", {}, tripleq}},
70 {OpType::BRIDGE, {"BRIDGE", "BRIDGE", {}, tripleq}},
71 {OpType::Input, {"Input", "Q IN", {}, singleq}},
72 {OpType::Output, {"Output", "Q OUT", {}, singleq}},
73 {OpType::Create, {"Create", "Q CREATE", {}, singleq}},
74 {OpType::Discard, {"Discard", "Q DISCARD", {}, singleq}},
75 {OpType::ClInput,
76
1/2
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
2 {"ClInput", "C IN", {}, op_signature_t({EdgeType::Classical})}},
77 {OpType::ClOutput,
78
1/2
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
2 {"ClOutput", "C OUT", {}, op_signature_t({EdgeType::Classical})}},
79 {OpType::Label, {"Label", "Label", {}, noargs}},
80 {OpType::Branch,
81
1/2
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
2 {"Branch", "Branch", {}, op_signature_t({EdgeType::Boolean})}},
82 {OpType::Goto, {"Goto", "Goto", {}, noargs}},
83 {OpType::Stop, {"Stop", "Stop", {}, noargs}},
84 {OpType::noop, {"noop", "-", {}, singleq}},
85 {OpType::CircBox, {"CircBox", "CircBox", {}, std::nullopt}},
86 {OpType::Unitary1qBox, {"Unitary1qBox", "Unitary1qBox", {}, singleq}},
87 {OpType::Unitary2qBox, {"Unitary2qBox", "Unitary2qBox", {}, doubleq}},
88 {OpType::Unitary3qBox, {"Unitary3qBox", "Unitary3qBox", {}, tripleq}},
89 {OpType::ExpBox, {"ExpBox", "ExpBox", {}, doubleq}},
90 {OpType::PauliExpBox, {"PauliExpBox", "PauliExpBox", {}, std::nullopt}},
91 {OpType::CustomGate, {"CustomGate", "CustomGate", {}, std::nullopt}},
92 {OpType::Barrier, {"Barrier", "Barrier", {}, std::nullopt}},
93 {OpType::Measure,
94 {"Measure",
95 "Measure",
96 {},
97
1/2
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
2 op_signature_t({EdgeType::Quantum, EdgeType::Classical})}},
98 {OpType::Collapse, {"Collapse", "Collapse", {}, singleq}},
99 {OpType::Reset, {"Reset", "Reset", {}, singleq}},
100 {OpType::ECR, {"ECR", "ECR", {}, doubleq}},
101 {OpType::ISWAP, {"ISWAP", "ISWAP", {4}, doubleq}},
102 {OpType::PhasedX, {"PhasedX", "Ph$X$", {4, 2}, singleq}},
103 {OpType::NPhasedX, {"NPhasedX", "n-Ph$X$", {4, 2}, std::nullopt}},
104 {OpType::ZZMax, {"ZZMax", "$ZZ(\\frac{\\pi}{4})$", {}, doubleq}},
105 {OpType::XXPhase, {"XXPhase", "$R_{XX}$", {4}, doubleq}},
106 {OpType::YYPhase, {"YYPhase", "$R_{YY}$", {4}, doubleq}},
107 {OpType::ZZPhase, {"ZZPhase", "$R_{ZZ}$", {4}, doubleq}},
108 {OpType::XXPhase3,
109 {"XXPhase3", "$R_{X_0X_1}R_{X_0X_2}R_{X_1X_2}$", {4}, tripleq}},
110 {OpType::CnRy, {"CnRy", "CnRy", {4}, std::nullopt}},
111 {OpType::CnX, {"CnX", "CnX", {}, std::nullopt}},
112 {OpType::CnZ, {"CnZ", "CnZ", {}, std::nullopt}},
113 {OpType::CnY, {"CnY", "CnY", {}, std::nullopt}},
114 {OpType::TK1, {"TK1", "TK1", {4, 4, 4}, singleq}},
115 {OpType::TK2, {"TK2", "TK2", {4, 4, 4}, doubleq}},
116 {OpType::ESWAP, {"ESWAP", "$\\mathrm{eSWAP}$", {4}, doubleq}},
117 {OpType::FSim, {"FSim", "$\\mathrm{fSim}$", {2, 2}, doubleq}},
118 {OpType::Sycamore, {"Sycamore", "\\mathrm{Syc}", {}, doubleq}},
119 {OpType::ISWAPMax, {"ISWAPMax", "ISWAP", {}, doubleq}},
120 {OpType::PhasedISWAP, {"PhasedISWAP", "PhasedISWAP", {1, 4}, doubleq}},
121 {OpType::CliffBox, {"CliffBox", "Clifford", {}, std::nullopt}},
122 {OpType::PhasePolyBox,
123 {"PhasePolyBox", "PhasePolyBox", {}, std::nullopt}},
124 {OpType::QControlBox, {"QControlBox", "Ctrl", {}, std::nullopt}},
125 {OpType::Conditional, {"Conditional", "If", {}, std::nullopt}},
126 {OpType::ProjectorAssertionBox,
127 {"ProjectorAssertionBox", "ProjectorAssertionBox", {}, std::nullopt}},
128 {OpType::StabiliserAssertionBox,
129 {"StabiliserAssertionBox", "StabiliserAssertionBox", {}, std::nullopt}},
130 {OpType::ToffoliBox, {"ToffoliBox", "ToffoliBox", {}, std::nullopt}},
131 {OpType::ClassicalTransform,
132 {"ClassicalTransform", "ClassicalTransform", {}, std::nullopt}},
133 {OpType::WASM, {"WASM", "WASM", {}, std::nullopt}},
134 {OpType::SetBits, {"SetBits", "SetBits", {}, std::nullopt}},
135 {OpType::CopyBits, {"CopyBits", "CopyBits", {}, std::nullopt}},
136 {OpType::RangePredicate,
137 {"RangePredicate", "RangePredicate", {}, std::nullopt}},
138 {OpType::ExplicitPredicate,
139 {"ExplicitPredicate", "ExplicitPredicate", {}, std::nullopt}},
140 {OpType::ExplicitModifier,
141 {"ExplicitModifier", "ExplicitModifier", {}, std::nullopt}},
142 {OpType::ClassicalExpBox,
143 {"ClassicalExpBox", "ClassicalExpBox", {}, std::nullopt}},
144 {OpType::MultiBit, {"MultiBit", "MultiBit", {}, std::nullopt}},
145 {OpType::UnitaryTableauBox,
146
385/770
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 3251344 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 15 taken 1 times.
✗ Branch 16 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 21 taken 1 times.
✗ Branch 22 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 26 not taken.
✓ Branch 29 taken 1 times.
✗ Branch 30 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 41 not taken.
✓ Branch 44 taken 1 times.
✗ Branch 45 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 51 taken 1 times.
✗ Branch 52 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 59 taken 1 times.
✗ Branch 60 not taken.
✓ Branch 63 taken 1 times.
✗ Branch 64 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 74 taken 1 times.
✗ Branch 75 not taken.
✓ Branch 78 taken 1 times.
✗ Branch 79 not taken.
✓ Branch 81 taken 1 times.
✗ Branch 82 not taken.
✓ Branch 85 taken 1 times.
✗ Branch 86 not taken.
✓ Branch 89 taken 1 times.
✗ Branch 90 not taken.
✓ Branch 93 taken 1 times.
✗ Branch 94 not taken.
✓ Branch 96 taken 1 times.
✗ Branch 97 not taken.
✓ Branch 100 taken 1 times.
✗ Branch 101 not taken.
✓ Branch 104 taken 1 times.
✗ Branch 105 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 115 taken 1 times.
✗ Branch 116 not taken.
✓ Branch 119 taken 1 times.
✗ Branch 120 not taken.
✓ Branch 123 taken 1 times.
✗ Branch 124 not taken.
✓ Branch 126 taken 1 times.
✗ Branch 127 not taken.
✓ Branch 130 taken 1 times.
✗ Branch 131 not taken.
✓ Branch 134 taken 1 times.
✗ Branch 135 not taken.
✓ Branch 138 taken 1 times.
✗ Branch 139 not taken.
✓ Branch 141 taken 1 times.
✗ Branch 142 not taken.
✓ Branch 145 taken 1 times.
✗ Branch 146 not taken.
✓ Branch 149 taken 1 times.
✗ Branch 150 not taken.
✓ Branch 153 taken 1 times.
✗ Branch 154 not taken.
✓ Branch 156 taken 1 times.
✗ Branch 157 not taken.
✓ Branch 160 taken 1 times.
✗ Branch 161 not taken.
✓ Branch 164 taken 1 times.
✗ Branch 165 not taken.
✓ Branch 168 taken 1 times.
✗ Branch 169 not taken.
✓ Branch 171 taken 1 times.
✗ Branch 172 not taken.
✓ Branch 175 taken 1 times.
✗ Branch 176 not taken.
✓ Branch 179 taken 1 times.
✗ Branch 180 not taken.
✓ Branch 183 taken 1 times.
✗ Branch 184 not taken.
✓ Branch 186 taken 1 times.
✗ Branch 187 not taken.
✓ Branch 190 taken 1 times.
✗ Branch 191 not taken.
✓ Branch 194 taken 1 times.
✗ Branch 195 not taken.
✓ Branch 198 taken 1 times.
✗ Branch 199 not taken.
✓ Branch 201 taken 1 times.
✗ Branch 202 not taken.
✓ Branch 205 taken 1 times.
✗ Branch 206 not taken.
✓ Branch 209 taken 1 times.
✗ Branch 210 not taken.
✓ Branch 213 taken 1 times.
✗ Branch 214 not taken.
✓ Branch 216 taken 1 times.
✗ Branch 217 not taken.
✓ Branch 219 taken 1 times.
✗ Branch 220 not taken.
✓ Branch 223 taken 1 times.
✗ Branch 224 not taken.
✓ Branch 227 taken 1 times.
✗ Branch 228 not taken.
✓ Branch 231 taken 1 times.
✗ Branch 232 not taken.
✓ Branch 234 taken 1 times.
✗ Branch 235 not taken.
✓ Branch 237 taken 1 times.
✗ Branch 238 not taken.
✓ Branch 241 taken 1 times.
✗ Branch 242 not taken.
✓ Branch 245 taken 1 times.
✗ Branch 246 not taken.
✓ Branch 249 taken 1 times.
✗ Branch 250 not taken.
✓ Branch 252 taken 1 times.
✗ Branch 253 not taken.
✓ Branch 255 taken 1 times.
✗ Branch 256 not taken.
✓ Branch 259 taken 1 times.
✗ Branch 260 not taken.
✓ Branch 263 taken 1 times.
✗ Branch 264 not taken.
✓ Branch 267 taken 1 times.
✗ Branch 268 not taken.
✓ Branch 270 taken 1 times.
✗ Branch 271 not taken.
✓ Branch 273 taken 1 times.
✗ Branch 274 not taken.
✓ Branch 277 taken 1 times.
✗ Branch 278 not taken.
✓ Branch 281 taken 1 times.
✗ Branch 282 not taken.
✓ Branch 285 taken 1 times.
✗ Branch 286 not taken.
✓ Branch 288 taken 1 times.
✗ Branch 289 not taken.
✓ Branch 291 taken 1 times.
✗ Branch 292 not taken.
✓ Branch 295 taken 1 times.
✗ Branch 296 not taken.
✓ Branch 299 taken 1 times.
✗ Branch 300 not taken.
✓ Branch 303 taken 1 times.
✗ Branch 304 not taken.
✓ Branch 306 taken 1 times.
✗ Branch 307 not taken.
✓ Branch 309 taken 1 times.
✗ Branch 310 not taken.
✓ Branch 313 taken 1 times.
✗ Branch 314 not taken.
✓ Branch 317 taken 1 times.
✗ Branch 318 not taken.
✓ Branch 321 taken 1 times.
✗ Branch 322 not taken.
✓ Branch 324 taken 1 times.
✗ Branch 325 not taken.
✓ Branch 328 taken 1 times.
✗ Branch 329 not taken.
✓ Branch 332 taken 1 times.
✗ Branch 333 not taken.
✓ Branch 336 taken 1 times.
✗ Branch 337 not taken.
✓ Branch 339 taken 1 times.
✗ Branch 340 not taken.
✓ Branch 343 taken 1 times.
✗ Branch 344 not taken.
✓ Branch 347 taken 1 times.
✗ Branch 348 not taken.
✓ Branch 351 taken 1 times.
✗ Branch 352 not taken.
✓ Branch 354 taken 1 times.
✗ Branch 355 not taken.
✓ Branch 358 taken 1 times.
✗ Branch 359 not taken.
✓ Branch 362 taken 1 times.
✗ Branch 363 not taken.
✓ Branch 366 taken 1 times.
✗ Branch 367 not taken.
✓ Branch 369 taken 1 times.
✗ Branch 370 not taken.
✓ Branch 373 taken 1 times.
✗ Branch 374 not taken.
✓ Branch 377 taken 1 times.
✗ Branch 378 not taken.
✓ Branch 381 taken 1 times.
✗ Branch 382 not taken.
✓ Branch 384 taken 1 times.
✗ Branch 385 not taken.
✓ Branch 388 taken 1 times.
✗ Branch 389 not taken.
✓ Branch 392 taken 1 times.
✗ Branch 393 not taken.
✓ Branch 396 taken 1 times.
✗ Branch 397 not taken.
✓ Branch 399 taken 1 times.
✗ Branch 400 not taken.
✓ Branch 403 taken 1 times.
✗ Branch 404 not taken.
✓ Branch 407 taken 1 times.
✗ Branch 408 not taken.
✓ Branch 411 taken 1 times.
✗ Branch 412 not taken.
✓ Branch 414 taken 1 times.
✗ Branch 415 not taken.
✓ Branch 418 taken 1 times.
✗ Branch 419 not taken.
✓ Branch 422 taken 1 times.
✗ Branch 423 not taken.
✓ Branch 426 taken 1 times.
✗ Branch 427 not taken.
✓ Branch 429 taken 1 times.
✗ Branch 430 not taken.
✓ Branch 433 taken 1 times.
✗ Branch 434 not taken.
✓ Branch 437 taken 1 times.
✗ Branch 438 not taken.
✓ Branch 441 taken 1 times.
✗ Branch 442 not taken.
✓ Branch 444 taken 1 times.
✗ Branch 445 not taken.
✓ Branch 447 taken 1 times.
✗ Branch 448 not taken.
✓ Branch 451 taken 1 times.
✗ Branch 452 not taken.
✓ Branch 455 taken 1 times.
✗ Branch 456 not taken.
✓ Branch 459 taken 1 times.
✗ Branch 460 not taken.
✓ Branch 462 taken 1 times.
✗ Branch 463 not taken.
✓ Branch 465 taken 1 times.
✗ Branch 466 not taken.
✓ Branch 469 taken 1 times.
✗ Branch 470 not taken.
✓ Branch 473 taken 1 times.
✗ Branch 474 not taken.
✓ Branch 477 taken 1 times.
✗ Branch 478 not taken.
✓ Branch 480 taken 1 times.
✗ Branch 481 not taken.
✓ Branch 483 taken 1 times.
✗ Branch 484 not taken.
✓ Branch 487 taken 1 times.
✗ Branch 488 not taken.
✓ Branch 491 taken 1 times.
✗ Branch 492 not taken.
✓ Branch 495 taken 1 times.
✗ Branch 496 not taken.
✓ Branch 498 taken 1 times.
✗ Branch 499 not taken.
✓ Branch 501 taken 1 times.
✗ Branch 502 not taken.
✓ Branch 505 taken 1 times.
✗ Branch 506 not taken.
✓ Branch 509 taken 1 times.
✗ Branch 510 not taken.
✓ Branch 513 taken 1 times.
✗ Branch 514 not taken.
✓ Branch 516 taken 1 times.
✗ Branch 517 not taken.
✓ Branch 519 taken 1 times.
✗ Branch 520 not taken.
✓ Branch 523 taken 1 times.
✗ Branch 524 not taken.
✓ Branch 527 taken 1 times.
✗ Branch 528 not taken.
✓ Branch 531 taken 1 times.
✗ Branch 532 not taken.
✓ Branch 534 taken 1 times.
✗ Branch 535 not taken.
✓ Branch 538 taken 1 times.
✗ Branch 539 not taken.
✓ Branch 542 taken 1 times.
✗ Branch 543 not taken.
✓ Branch 546 taken 1 times.
✗ Branch 547 not taken.
✓ Branch 549 taken 1 times.
✗ Branch 550 not taken.
✓ Branch 553 taken 1 times.
✗ Branch 554 not taken.
✓ Branch 557 taken 1 times.
✗ Branch 558 not taken.
✓ Branch 561 taken 1 times.
✗ Branch 562 not taken.
✓ Branch 564 taken 1 times.
✗ Branch 565 not taken.
✓ Branch 568 taken 1 times.
✗ Branch 569 not taken.
✓ Branch 572 taken 1 times.
✗ Branch 573 not taken.
✓ Branch 576 taken 1 times.
✗ Branch 577 not taken.
✓ Branch 579 taken 1 times.
✗ Branch 580 not taken.
✓ Branch 583 taken 1 times.
✗ Branch 584 not taken.
✓ Branch 587 taken 1 times.
✗ Branch 588 not taken.
✓ Branch 591 taken 1 times.
✗ Branch 592 not taken.
✓ Branch 594 taken 1 times.
✗ Branch 595 not taken.
✓ Branch 598 taken 1 times.
✗ Branch 599 not taken.
✓ Branch 602 taken 1 times.
✗ Branch 603 not taken.
✓ Branch 606 taken 1 times.
✗ Branch 607 not taken.
✓ Branch 609 taken 1 times.
✗ Branch 610 not taken.
✓ Branch 613 taken 1 times.
✗ Branch 614 not taken.
✓ Branch 617 taken 1 times.
✗ Branch 618 not taken.
✓ Branch 621 taken 1 times.
✗ Branch 622 not taken.
✓ Branch 624 taken 1 times.
✗ Branch 625 not taken.
✓ Branch 628 taken 1 times.
✗ Branch 629 not taken.
✓ Branch 632 taken 1 times.
✗ Branch 633 not taken.
✓ Branch 636 taken 1 times.
✗ Branch 637 not taken.
✓ Branch 639 taken 1 times.
✗ Branch 640 not taken.
✓ Branch 643 taken 1 times.
✗ Branch 644 not taken.
✓ Branch 647 taken 1 times.
✗ Branch 648 not taken.
✓ Branch 651 taken 1 times.
✗ Branch 652 not taken.
✓ Branch 654 taken 1 times.
✗ Branch 655 not taken.
✓ Branch 658 taken 1 times.
✗ Branch 659 not taken.
✓ Branch 662 taken 1 times.
✗ Branch 663 not taken.
✓ Branch 667 taken 1 times.
✗ Branch 668 not taken.
✓ Branch 671 taken 1 times.
✗ Branch 672 not taken.
✓ Branch 675 taken 1 times.
✗ Branch 676 not taken.
✓ Branch 680 taken 1 times.
✗ Branch 681 not taken.
✓ Branch 684 taken 1 times.
✗ Branch 685 not taken.
✓ Branch 688 taken 1 times.
✗ Branch 689 not taken.
✓ Branch 692 taken 1 times.
✗ Branch 693 not taken.
✓ Branch 695 taken 1 times.
✗ Branch 696 not taken.
✓ Branch 699 taken 1 times.
✗ Branch 700 not taken.
✓ Branch 703 taken 1 times.
✗ Branch 704 not taken.
✓ Branch 708 taken 1 times.
✗ Branch 709 not taken.
✓ Branch 712 taken 1 times.
✗ Branch 713 not taken.
✓ Branch 716 taken 1 times.
✗ Branch 717 not taken.
✓ Branch 720 taken 1 times.
✗ Branch 721 not taken.
✓ Branch 723 taken 1 times.
✗ Branch 724 not taken.
✓ Branch 727 taken 1 times.
✗ Branch 728 not taken.
✓ Branch 731 taken 1 times.
✗ Branch 732 not taken.
✓ Branch 735 taken 1 times.
✗ Branch 736 not taken.
✓ Branch 738 taken 1 times.
✗ Branch 739 not taken.
✓ Branch 742 taken 1 times.
✗ Branch 743 not taken.
✓ Branch 746 taken 1 times.
✗ Branch 747 not taken.
✓ Branch 750 taken 1 times.
✗ Branch 751 not taken.
✓ Branch 753 taken 1 times.
✗ Branch 754 not taken.
✓ Branch 757 taken 1 times.
✗ Branch 758 not taken.
✓ Branch 761 taken 1 times.
✗ Branch 762 not taken.
✓ Branch 765 taken 1 times.
✗ Branch 766 not taken.
✓ Branch 769 taken 1 times.
✗ Branch 770 not taken.
✓ Branch 773 taken 1 times.
✗ Branch 774 not taken.
✓ Branch 777 taken 1 times.
✗ Branch 778 not taken.
✓ Branch 780 taken 1 times.
✗ Branch 781 not taken.
✓ Branch 784 taken 1 times.
✗ Branch 785 not taken.
✓ Branch 788 taken 1 times.
✗ Branch 789 not taken.
✓ Branch 792 taken 1 times.
✗ Branch 793 not taken.
✓ Branch 795 taken 1 times.
✗ Branch 796 not taken.
✓ Branch 799 taken 1 times.
✗ Branch 800 not taken.
✓ Branch 803 taken 1 times.
✗ Branch 804 not taken.
✓ Branch 807 taken 1 times.
✗ Branch 808 not taken.
✓ Branch 810 taken 1 times.
✗ Branch 811 not taken.
✓ Branch 814 taken 1 times.
✗ Branch 815 not taken.
✓ Branch 818 taken 1 times.
✗ Branch 819 not taken.
✓ Branch 822 taken 1 times.
✗ Branch 823 not taken.
✓ Branch 825 taken 1 times.
✗ Branch 826 not taken.
✓ Branch 829 taken 1 times.
✗ Branch 830 not taken.
✓ Branch 833 taken 1 times.
✗ Branch 834 not taken.
✓ Branch 837 taken 1 times.
✗ Branch 838 not taken.
✓ Branch 841 taken 1 times.
✗ Branch 842 not taken.
✓ Branch 845 taken 1 times.
✗ Branch 846 not taken.
✓ Branch 849 taken 1 times.
✗ Branch 850 not taken.
✓ Branch 853 taken 1 times.
✗ Branch 854 not taken.
✓ Branch 857 taken 1 times.
✗ Branch 858 not taken.
✓ Branch 861 taken 1 times.
✗ Branch 862 not taken.
✓ Branch 865 taken 1 times.
✗ Branch 866 not taken.
✓ Branch 869 taken 1 times.
✗ Branch 870 not taken.
✓ Branch 874 taken 1 times.
✗ Branch 875 not taken.
✓ Branch 878 taken 1 times.
✗ Branch 879 not taken.
✓ Branch 882 taken 1 times.
✗ Branch 883 not taken.
✓ Branch 886 taken 1 times.
✗ Branch 887 not taken.
✓ Branch 889 taken 1 times.
✗ Branch 890 not taken.
✓ Branch 893 taken 1 times.
✗ Branch 894 not taken.
✓ Branch 897 taken 1 times.
✗ Branch 898 not taken.
✓ Branch 901 taken 1 times.
✗ Branch 902 not taken.
✓ Branch 904 taken 1 times.
✗ Branch 905 not taken.
✓ Branch 908 taken 1 times.
✗ Branch 909 not taken.
✓ Branch 912 taken 1 times.
✗ Branch 913 not taken.
✓ Branch 916 taken 1 times.
✗ Branch 917 not taken.
✓ Branch 919 taken 1 times.
✗ Branch 920 not taken.
✓ Branch 923 taken 1 times.
✗ Branch 924 not taken.
✓ Branch 927 taken 1 times.
✗ Branch 928 not taken.
✓ Branch 931 taken 1 times.
✗ Branch 932 not taken.
✓ Branch 934 taken 1 times.
✗ Branch 935 not taken.
✓ Branch 937 taken 1 times.
✗ Branch 938 not taken.
✓ Branch 941 taken 1 times.
✗ Branch 942 not taken.
✓ Branch 945 taken 1 times.
✗ Branch 946 not taken.
✓ Branch 949 taken 1 times.
✗ Branch 950 not taken.
✓ Branch 952 taken 1 times.
✗ Branch 953 not taken.
✓ Branch 955 taken 1 times.
✗ Branch 956 not taken.
✓ Branch 959 taken 1 times.
✗ Branch 960 not taken.
✓ Branch 963 taken 1 times.
✗ Branch 964 not taken.
✓ Branch 967 taken 1 times.
✗ Branch 968 not taken.
✓ Branch 970 taken 1 times.
✗ Branch 971 not taken.
✓ Branch 974 taken 1 times.
✗ Branch 975 not taken.
✓ Branch 978 taken 1 times.
✗ Branch 979 not taken.
✓ Branch 982 taken 1 times.
✗ Branch 983 not taken.
✓ Branch 985 taken 1 times.
✗ Branch 986 not taken.
✓ Branch 989 taken 1 times.
✗ Branch 990 not taken.
✓ Branch 993 taken 1 times.
✗ Branch 994 not taken.
✓ Branch 997 taken 1 times.
✗ Branch 998 not taken.
✓ Branch 1000 taken 1 times.
✗ Branch 1001 not taken.
✓ Branch 1003 taken 1 times.
✗ Branch 1004 not taken.
✓ Branch 1007 taken 1 times.
✗ Branch 1008 not taken.
✓ Branch 1011 taken 1 times.
✗ Branch 1012 not taken.
✓ Branch 1015 taken 1 times.
✗ Branch 1016 not taken.
✓ Branch 1018 taken 1 times.
✗ Branch 1019 not taken.
✓ Branch 1021 taken 1 times.
✗ Branch 1022 not taken.
✓ Branch 1025 taken 1 times.
✗ Branch 1026 not taken.
✓ Branch 1029 taken 1 times.
✗ Branch 1030 not taken.
✓ Branch 1033 taken 1 times.
✗ Branch 1034 not taken.
✓ Branch 1036 taken 1 times.
✗ Branch 1037 not taken.
✓ Branch 1039 taken 1 times.
✗ Branch 1040 not taken.
✓ Branch 1043 taken 1 times.
✗ Branch 1044 not taken.
✓ Branch 1047 taken 1 times.
✗ Branch 1048 not taken.
✓ Branch 1051 taken 1 times.
✗ Branch 1052 not taken.
✓ Branch 1054 taken 1 times.
✗ Branch 1055 not taken.
✓ Branch 1057 taken 1 times.
✗ Branch 1058 not taken.
✓ Branch 1061 taken 1 times.
✗ Branch 1062 not taken.
✓ Branch 1065 taken 1 times.
✗ Branch 1066 not taken.
✓ Branch 1069 taken 1 times.
✗ Branch 1070 not taken.
✓ Branch 1072 taken 1 times.
✗ Branch 1073 not taken.
✓ Branch 1076 taken 1 times.
✗ Branch 1077 not taken.
✓ Branch 1080 taken 1 times.
✗ Branch 1081 not taken.
✓ Branch 1084 taken 1 times.
✗ Branch 1085 not taken.
✓ Branch 1088 taken 1 times.
✗ Branch 1089 not taken.
✓ Branch 1092 taken 1 times.
✗ Branch 1093 not taken.
✓ Branch 1096 taken 1 times.
✗ Branch 1097 not taken.
✓ Branch 1100 taken 1 times.
✗ Branch 1101 not taken.
✓ Branch 1104 taken 1 times.
✗ Branch 1105 not taken.
✓ Branch 1108 taken 1 times.
✗ Branch 1109 not taken.
✓ Branch 1112 taken 1 times.
✗ Branch 1113 not taken.
✓ Branch 1116 taken 1 times.
✗ Branch 1117 not taken.
✓ Branch 1120 taken 1 times.
✗ Branch 1121 not taken.
✓ Branch 1123 taken 1 times.
✗ Branch 1124 not taken.
✓ Branch 1126 taken 1 times.
✗ Branch 1127 not taken.
✓ Branch 1130 taken 1 times.
✗ Branch 1131 not taken.
✓ Branch 1134 taken 1 times.
✗ Branch 1135 not taken.
✓ Branch 1138 taken 1 times.
✗ Branch 1139 not taken.
✓ Branch 1141 taken 1 times.
✗ Branch 1142 not taken.
✓ Branch 1144 taken 1 times.
✗ Branch 1145 not taken.
✓ Branch 1148 taken 1 times.
✗ Branch 1149 not taken.
✓ Branch 1152 taken 1 times.
✗ Branch 1153 not taken.
✓ Branch 1156 taken 1 times.
✗ Branch 1157 not taken.
✓ Branch 1159 taken 1 times.
✗ Branch 1160 not taken.
✓ Branch 1162 taken 1 times.
✗ Branch 1163 not taken.
✓ Branch 1166 taken 1 times.
✗ Branch 1167 not taken.
✓ Branch 1170 taken 1 times.
✗ Branch 1171 not taken.
✓ Branch 1174 taken 1 times.
✗ Branch 1175 not taken.
✓ Branch 1177 taken 1 times.
✗ Branch 1178 not taken.
✓ Branch 1180 taken 1 times.
✗ Branch 1181 not taken.
✓ Branch 1184 taken 1 times.
✗ Branch 1185 not taken.
✓ Branch 1188 taken 1 times.
✗ Branch 1189 not taken.
✓ Branch 1192 taken 1 times.
✗ Branch 1193 not taken.
✓ Branch 1195 taken 1 times.
✗ Branch 1196 not taken.
✓ Branch 1199 taken 1 times.
✗ Branch 1200 not taken.
✓ Branch 1203 taken 1 times.
✗ Branch 1204 not taken.
✓ Branch 1207 taken 1 times.
✗ Branch 1208 not taken.
✓ Branch 1210 taken 1 times.
✗ Branch 1211 not taken.
✓ Branch 1214 taken 1 times.
✗ Branch 1215 not taken.
✓ Branch 1218 taken 1 times.
✗ Branch 1219 not taken.
✓ Branch 1222 taken 1 times.
✗ Branch 1223 not taken.
✓ Branch 1225 taken 1 times.
✗ Branch 1226 not taken.
✓ Branch 1228 taken 1 times.
✗ Branch 1229 not taken.
✓ Branch 1232 taken 1 times.
✗ Branch 1233 not taken.
✓ Branch 1236 taken 1 times.
✗ Branch 1237 not taken.
✓ Branch 1240 taken 1 times.
✗ Branch 1241 not taken.
✓ Branch 1244 taken 1 times.
✗ Branch 1245 not taken.
✓ Branch 1248 taken 1 times.
✗ Branch 1249 not taken.
✓ Branch 1252 taken 1 times.
✗ Branch 1253 not taken.
✓ Branch 1256 taken 1 times.
✗ Branch 1257 not taken.
✓ Branch 1260 taken 1 times.
✗ Branch 1261 not taken.
✓ Branch 1264 taken 1 times.
✗ Branch 1265 not taken.
✓ Branch 1268 taken 1 times.
✗ Branch 1269 not taken.
✓ Branch 1272 taken 1 times.
✗ Branch 1273 not taken.
✓ Branch 1276 taken 1 times.
✗ Branch 1277 not taken.
✓ Branch 1280 taken 1 times.
✗ Branch 1281 not taken.
✓ Branch 1284 taken 1 times.
✗ Branch 1285 not taken.
✓ Branch 1288 taken 1 times.
✗ Branch 1289 not taken.
✓ Branch 1292 taken 1 times.
✗ Branch 1293 not taken.
✓ Branch 1296 taken 1 times.
✗ Branch 1297 not taken.
✓ Branch 1300 taken 1 times.
✗ Branch 1301 not taken.
✓ Branch 1304 taken 1 times.
✗ Branch 1305 not taken.
✓ Branch 1308 taken 1 times.
✗ Branch 1309 not taken.
✓ Branch 1312 taken 1 times.
✗ Branch 1313 not taken.
✓ Branch 1316 taken 1 times.
✗ Branch 1317 not taken.
✓ Branch 1320 taken 1 times.
✗ Branch 1321 not taken.
✓ Branch 1324 taken 1 times.
✗ Branch 1325 not taken.
✓ Branch 1328 taken 1 times.
✗ Branch 1329 not taken.
✓ Branch 1332 taken 1 times.
✗ Branch 1333 not taken.
✓ Branch 1336 taken 1 times.
✗ Branch 1337 not taken.
✓ Branch 1340 taken 1 times.
✗ Branch 1341 not taken.
✓ Branch 1344 taken 1 times.
✗ Branch 1345 not taken.
✓ Branch 1348 taken 1 times.
✗ Branch 1349 not taken.
✓ Branch 1352 taken 1 times.
✗ Branch 1353 not taken.
✓ Branch 1356 taken 1 times.
✗ Branch 1357 not taken.
✓ Branch 1360 taken 1 times.
✗ Branch 1361 not taken.
✓ Branch 1364 taken 1 times.
✗ Branch 1365 not taken.
✓ Branch 1368 taken 1 times.
✗ Branch 1369 not taken.
✓ Branch 1372 taken 1 times.
✗ Branch 1373 not taken.
✓ Branch 1376 taken 1 times.
✗ Branch 1377 not taken.
✓ Branch 1380 taken 1 times.
✗ Branch 1381 not taken.
✓ Branch 1384 taken 1 times.
✗ Branch 1385 not taken.
✓ Branch 1388 taken 1 times.
✗ Branch 1389 not taken.
✓ Branch 1392 taken 1 times.
✗ Branch 1393 not taken.
✓ Branch 1396 taken 1 times.
✗ Branch 1397 not taken.
✓ Branch 1400 taken 1 times.
✗ Branch 1401 not taken.
✓ Branch 1404 taken 1 times.
✗ Branch 1405 not taken.
✓ Branch 1408 taken 1 times.
✗ Branch 1409 not taken.
✓ Branch 1412 taken 1 times.
✗ Branch 1413 not taken.
✓ Branch 1416 taken 1 times.
✗ Branch 1417 not taken.
✓ Branch 1420 taken 1 times.
✗ Branch 1421 not taken.
✓ Branch 1424 taken 1 times.
✗ Branch 1425 not taken.
✓ Branch 1428 taken 1 times.
✗ Branch 1429 not taken.
✓ Branch 1432 taken 1 times.
✗ Branch 1433 not taken.
✓ Branch 1436 taken 1 times.
✗ Branch 1437 not taken.
✓ Branch 1441 taken 96 times.
✓ Branch 1442 taken 1 times.
✗ Branch 1763 not taken.
✗ Branch 1764 not taken.
✗ Branch 2080 not taken.
✗ Branch 2081 not taken.
3251449 {"UnitaryTableauBox", "UnitaryTableauBox", {}, std::nullopt}}};
147 static std::unique_ptr<const std::map<OpType, OpTypeInfo>> opinfo =
148
4/8
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 3251344 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
3251345 std::make_unique<const std::map<OpType, OpTypeInfo>>(typeinfo);
149 3251345 return *opinfo;
150 }
151
152 } // namespace tket
153