Skip to content

Commit 1a66fc8

Browse files
authored
Remove title text boxes from arithmetic and basic gates (#956)
* Remove title text boxes from arithmetic and basic gates - Removes superfluous and redundant textboxes from arithmetic and basic gates where the operation should be fairly obvious.
1 parent 0c3da85 commit 1a66fc8

8 files changed

Lines changed: 46 additions & 24 deletions

File tree

qualtran/bloqs/arithmetic/addition.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
from qualtran.cirq_interop import decompose_from_cirq_style_method
5959
from qualtran.cirq_interop.bit_tools import iter_bits, iter_bits_twos_complement
6060
from qualtran.cirq_interop.t_complexity_protocol import TComplexity
61+
from qualtran.drawing import directional_text_box, Text
6162

6263
if TYPE_CHECKING:
6364
import quimb.tensor as qtn
@@ -161,10 +162,9 @@ def _circuit_diagram_info_(self, _) -> cirq.CircuitDiagramInfo:
161162
return cirq.CircuitDiagramInfo(wire_symbols=wire_symbols)
162163

163164
def wire_symbol(self, reg: Optional[Register], idx: Tuple[int, ...] = tuple()) -> 'WireSymbol':
164-
from qualtran.drawing import directional_text_box, Text
165165

166166
if reg is None:
167-
return Text("a+b")
167+
return Text("")
168168
if reg.name == 'a':
169169
return directional_text_box('a', side=reg.side)
170170
elif reg.name == 'b':

qualtran/bloqs/arithmetic/comparison.py

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,12 @@ def wire_symbol(
7777
self, reg: Optional['Register'], idx: Tuple[int, ...] = tuple()
7878
) -> 'WireSymbol':
7979
if reg is None:
80-
return Text(f'x<{self.less_than_val}')
81-
return super().wire_symbol(reg, idx)
80+
return Text("")
81+
if reg.name == 'x':
82+
return TextBox("x")
83+
if reg.name == 'target':
84+
return TextBox("z^(x<a)")
85+
raise ValueError(f'Unknown register name {reg.name}')
8286

8387
def registers(self) -> Sequence[Union[int, Sequence[int]]]:
8488
return [2] * self.bitsize, self.less_than_val, [2]
@@ -447,8 +451,14 @@ def wire_symbol(
447451
self, reg: Optional['Register'], idx: Tuple[int, ...] = tuple()
448452
) -> 'WireSymbol':
449453
if reg is None:
450-
return Text('x <= y')
451-
return super().wire_symbol(reg, idx)
454+
return Text('')
455+
if reg.name == "x":
456+
return TextBox('x')
457+
if reg.name == "y":
458+
return TextBox('y')
459+
if reg.name == "target":
460+
return TextBox('z^(x<=y)')
461+
raise ValueError(f'Unknown register name {reg.name}')
452462

453463
def on_classical_vals(self, *, x: int, y: int, target: int) -> Dict[str, 'ClassicalValT']:
454464
return {'x': x, 'y': y, 'target': target ^ (x <= y)}
@@ -821,8 +831,14 @@ def wire_symbol(
821831
self, reg: Optional['Register'], idx: Tuple[int, ...] = tuple()
822832
) -> 'WireSymbol':
823833
if reg is None:
824-
return Text('a > b')
825-
return super().wire_symbol(reg, idx)
834+
return Text('')
835+
if reg.name == "a":
836+
return TextBox('a')
837+
if reg.name == "b":
838+
return TextBox('b')
839+
if reg.name == "target":
840+
return TextBox('t⨁(a>b)')
841+
raise ValueError(f'Unknown register name {reg.name}')
826842

827843

828844
@frozen
@@ -860,7 +876,7 @@ def _t_complexity_(self) -> TComplexity:
860876

861877
def wire_symbol(self, reg: Optional[Register], idx: Tuple[int, ...] = tuple()) -> WireSymbol:
862878
if reg is None:
863-
return Text(f"x > {self.val}")
879+
return Text("")
864880
if reg.name == 'x':
865881
return TextBox("In(x)")
866882
elif reg.name == 'target':
@@ -912,7 +928,7 @@ def _t_complexity_(self) -> 'TComplexity':
912928

913929
def wire_symbol(self, reg: Optional[Register], idx: Tuple[int, ...] = tuple()) -> WireSymbol:
914930
if reg is None:
915-
return Text(f"x == {self.val}")
931+
return Text("")
916932
if reg.name == 'x':
917933
return TextBox("In(x)")
918934
elif reg.name == 'target':

qualtran/bloqs/basic_gates/hadamard.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
SoquetT,
3030
)
3131
from qualtran.cirq_interop.t_complexity_protocol import TComplexity
32-
from qualtran.drawing import TextBox, WireSymbol
32+
from qualtran.drawing import Text, TextBox, WireSymbol
3333

3434
if TYPE_CHECKING:
3535
import cirq
@@ -89,6 +89,8 @@ def _t_complexity_(self):
8989
return TComplexity(clifford=1)
9090

9191
def wire_symbol(self, reg: Optional[Register], idx: Tuple[int, ...] = tuple()) -> 'WireSymbol':
92+
if reg is None:
93+
return Text('')
9294
return TextBox('H')
9395

9496

qualtran/bloqs/basic_gates/s_gate.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
from qualtran import Bloq, bloq_example, BloqDocSpec, Register, Signature, SoquetT
2323
from qualtran.cirq_interop.t_complexity_protocol import TComplexity
24-
from qualtran.drawing import TextBox, WireSymbol
24+
from qualtran.drawing import Text, TextBox, WireSymbol
2525

2626
if TYPE_CHECKING:
2727
import cirq
@@ -87,6 +87,8 @@ def pretty_name(self) -> str:
8787
return f'S{maybe_dag}'
8888

8989
def wire_symbol(self, reg: Optional[Register], idx: Tuple[int, ...] = tuple()) -> 'WireSymbol':
90+
if reg is None:
91+
return Text('')
9092
return TextBox(self.pretty_name())
9193

9294
def adjoint(self) -> 'Bloq':

qualtran/bloqs/basic_gates/su2_rotation.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ def pretty_name(self) -> str:
153153

154154
def wire_symbol(self, reg: Optional[Register], idx: Tuple[int, ...] = tuple()) -> 'WireSymbol':
155155
if reg is None:
156-
return Text("SU_2")
156+
return Text("")
157157

158158
return TextBox(
159159
f"{self.pretty_name()}({self.theta}, {self.phi}, {self.lambd}, {self.global_shift})"

qualtran/bloqs/basic_gates/swap.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ def adjoint(self) -> 'Bloq':
187187

188188
def wire_symbol(self, reg: Optional['Register'], idx: Tuple[int, ...] = ()) -> 'WireSymbol':
189189
if reg is None:
190-
return Text('swap')
190+
return Text('')
191191
if reg.name == 'ctrl':
192192
return Circle(filled=True)
193193
else:
@@ -236,7 +236,7 @@ def on_classical_vals(
236236

237237
def wire_symbol(self, reg: Optional['Register'], idx: Tuple[int, ...] = ()) -> 'WireSymbol':
238238
if reg is None:
239-
return Text('swap')
239+
return Text('')
240240
if reg.name == 'x':
241241
return TextBox('×(x)')
242242
elif reg.name == 'y':
@@ -318,7 +318,7 @@ def _circuit_diagram_info_(self, args: cirq.CircuitDiagramInfoArgs) -> cirq.Circ
318318

319319
def wire_symbol(self, reg: Optional[Register], idx: Tuple[int, ...] = tuple()) -> 'WireSymbol':
320320
if reg is None:
321-
return Text(r'x↔y')
321+
return Text('')
322322
if reg.name == 'x':
323323
return TextBox('×(x)')
324324
elif reg.name == 'y':

qualtran/bloqs/basic_gates/t_gate.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
from attrs import frozen
2121

2222
from qualtran import Bloq, bloq_example, BloqDocSpec, Register, Signature, SoquetT
23-
from qualtran.drawing import TextBox, WireSymbol
23+
from qualtran.drawing import Text, TextBox, WireSymbol
2424

2525
if TYPE_CHECKING:
2626
import cirq
@@ -112,6 +112,8 @@ def __str__(self):
112112
return f'TGate({maybe_dag})'
113113

114114
def wire_symbol(self, reg: Optional[Register], idx: Tuple[int, ...] = tuple()) -> 'WireSymbol':
115+
if reg is None:
116+
return Text('')
115117
return TextBox(self.pretty_name())
116118

117119

qualtran/bloqs/mod_arithmetic/_shims.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ def wire_symbol(
7676
self, reg: Optional['Register'], idx: Tuple[int, ...] = tuple()
7777
) -> 'WireSymbol':
7878
if reg is None:
79-
return Text(str(self))
79+
return Text("")
8080
if reg.name == 'ctrl':
8181
return Circle()
8282
elif reg.name == 'x':
@@ -140,7 +140,7 @@ def wire_symbol(
140140
self, reg: Optional['Register'], idx: Tuple[int, ...] = tuple()
141141
) -> 'WireSymbol':
142142
if reg is None:
143-
return Text(str(self))
143+
return Text("")
144144
if reg.name == 'x':
145145
return TextBox('x')
146146
elif reg.name == 'out':
@@ -174,7 +174,7 @@ def wire_symbol(
174174
self, reg: Optional['Register'], idx: Tuple[int, ...] = tuple()
175175
) -> 'WireSymbol':
176176
if reg is None:
177-
return Text(str(self))
177+
return Text("")
178178
if reg.name == 'x':
179179
return TextBox('x')
180180
elif reg.name == 'out':
@@ -208,7 +208,7 @@ def wire_symbol(
208208
self, reg: Optional['Register'], idx: Tuple[int, ...] = tuple()
209209
) -> 'WireSymbol':
210210
if reg is None:
211-
return Text(str(self))
211+
return Text("")
212212
if reg.name in ['x', 'y']:
213213
return TextBox(reg.name)
214214
elif reg.name == 'out':
@@ -232,7 +232,7 @@ def wire_symbol(
232232
self, reg: Optional['Register'], idx: Tuple[int, ...] = tuple()
233233
) -> 'WireSymbol':
234234
if reg is None:
235-
return Text(str(self))
235+
return Text("")
236236
if reg.name == 'x':
237237
return TextBox('x')
238238
elif reg.name == 'out':
@@ -264,7 +264,7 @@ def wire_symbol(
264264
self, reg: Optional['Register'], idx: Tuple[int, ...] = tuple()
265265
) -> 'WireSymbol':
266266
if reg is None:
267-
return Text(str(self))
267+
return Text("")
268268
if reg.name == 'x':
269269
return TextBox('$-x$')
270270
raise ValueError(f'Unrecognized register name {reg.name}')
@@ -290,7 +290,7 @@ def wire_symbol(
290290
self, reg: Optional['Register'], idx: Tuple[int, ...] = tuple()
291291
) -> 'WireSymbol':
292292
if reg is None:
293-
return Text(str(self))
293+
return Text("")
294294
if reg.name == 'ctrl':
295295
return Circle()
296296
elif reg.name == 'x':

0 commit comments

Comments
 (0)