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 |