@@ -149,9 +149,13 @@ def _circuit_diagram_info_(
149
149
sub_info = protocols .circuit_diagram_info (self ._sub_operation , sub_args , None )
150
150
if sub_info is None :
151
151
return NotImplemented # coverage: ignore
152
- control_count = len ({k for c in self ._conditions for k in c .keys })
153
- wire_symbols = sub_info .wire_symbols + ('^' ,) * control_count
154
- if any (not isinstance (c , value .KeyCondition ) for c in self ._conditions ):
152
+ control_label_count = 0
153
+ if args .label_map is not None :
154
+ control_label_count = len ({k for c in self ._conditions for k in c .keys })
155
+ wire_symbols = sub_info .wire_symbols + ('^' ,) * control_label_count
156
+ if control_label_count == 0 or any (
157
+ not isinstance (c , value .KeyCondition ) for c in self ._conditions
158
+ ):
155
159
wire_symbols = (
156
160
wire_symbols [0 ]
157
161
+ '(conditions=['
@@ -160,9 +164,9 @@ def _circuit_diagram_info_(
160
164
) + wire_symbols [1 :]
161
165
exponent_qubit_index = None
162
166
if sub_info .exponent_qubit_index is not None :
163
- exponent_qubit_index = sub_info .exponent_qubit_index + control_count
167
+ exponent_qubit_index = sub_info .exponent_qubit_index + control_label_count
164
168
elif sub_info .exponent is not None :
165
- exponent_qubit_index = control_count
169
+ exponent_qubit_index = control_label_count
166
170
return protocols .CircuitDiagramInfo (
167
171
wire_symbols = wire_symbols ,
168
172
exponent = sub_info .exponent ,
0 commit comments