Skip to content

Commit 3c951e6

Browse files
committed
Merge branch '2025-03/strict-interop' into 2025-04/serialization-perf
2 parents 4413f3c + 6a2a3b3 commit 3c951e6

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

qualtran/cirq_interop/_bloq_to_cirq.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,9 +143,13 @@ def _has_unitary_(self):
143143
def _unitary_(self):
144144
if all(reg.side == Side.THRU for reg in self.bloq.signature):
145145
try:
146+
# If decomposable, return NotImplemented to let the cirq protocol
147+
# try its decomposition-based strategies.
148+
_ = self.bloq.decompose_bloq()
149+
return NotImplemented
150+
except (DecomposeNotImplementedError, DecomposeTypeError):
146151
tensor = self.bloq.tensor_contract()
147-
if tensor.ndim != 2:
148-
return NotImplemented
152+
assert tensor.ndim == 2, "All registers should have been checked to be THRU."
149153
return tensor
150154
except NotImplementedError:
151155
return NotImplemented

0 commit comments

Comments
 (0)