Skip to content

Commit 52b7569

Browse files
committed
speedup
1 parent f39eff2 commit 52b7569

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

qualtran/bloqs/max_k_xor_sat/arithmetic/has_duplicates.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515

1616
from attrs import frozen
1717

18-
from qualtran import Bloq, BloqDocSpec, QAny, QBit, QDType, Signature
19-
from qualtran.bloqs.arithmetic import LessThanEqual
18+
from qualtran import Bloq, BloqDocSpec, QAny, QBit, QDType, Signature, QUInt
19+
from qualtran.bloqs.arithmetic import LinearDepthHalfLessThanEqual
2020
from qualtran.bloqs.mcmt import MultiControlX
2121
from qualtran.resource_counting import BloqCountDictT, SympySymbolAllocator
2222
from qualtran.symbolics import HasLength, SymbolicInt
@@ -59,9 +59,11 @@ def build_call_graph(self, ssa: 'SympySymbolAllocator') -> BloqCountDictT:
5959

6060
counts = Counter[Bloq]()
6161

62-
counts[LessThanEqual(logn, logn)] += self.l - 1
62+
leq = LinearDepthHalfLessThanEqual(QUInt(logn))
63+
64+
counts[leq] += self.l - 1
6365
counts[MultiControlX(cvs=HasLength(self.l - 1))] += 1
64-
counts[LessThanEqual(logn, logn).adjoint()] += self.l - 1
66+
counts[leq.adjoint()] += self.l - 1
6567

6668
return counts
6769

qualtran/bloqs/max_k_xor_sat/guiding_state_test.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ def test_t_cost():
7878
B_GRAD = bloq.simple_guiding_state.phasegrad_bitsize
7979

8080
assert gc == GateCounts(
81-
and_bloq=364, toffoli=6 * (B_GRAD - 2), cswap=192, clifford=ANY, measurement=ANY
81+
and_bloq=352, toffoli=6 * (B_GRAD - 2), cswap=192, clifford=ANY, measurement=ANY
8282
)
8383

8484

@@ -104,7 +104,7 @@ def test_t_cost_symb_c(bloq_ex):
104104
+ l * logl
105105
+ l
106106
+ c * (4 * m + (2 * m + 1) * (klogn_roundtrip - 1) - 4)
107-
+ (2 * l - 2) * (2 * logn + 1)
107+
+ (l - 1) * logn
108108
- 2
109109
),
110110
toffoli=c * (2 * (B_GRAD - 2)),

0 commit comments

Comments
 (0)