-
Notifications
You must be signed in to change notification settings - Fork 82
Closed
Labels
Milestone
Description
With the goal of #539 there are now two built-in ways of counting gates: one where you have to provide which gates to count and another, more-opinionated one that makes some assumptions about the relevant counts for a surface code / lattice surgery / qec execution model. This latter one is QECGatesCost and is similar to the t_complexity protocol. These two protocols should be unified.
- Reduce the amount of dynamacism and magic in existing t_complexity while verifying no regression in t count. This is mostly done, see Unify t-complexity protocol #678 Use
build_call_graphinstead ofdecompose_bloqto computeTComplexityfor bloqs #740 Remove sneaky fredkin decomposition #803 Remove_t_complexity_onMultiAndand support symboliccvs#1015 Replace_t_complexity_withbuild_call_graphin comparison gates #1012 Remove t_complexity from comparison bloqs #996 Remove _t_complexity_ of CSwapApprox #994 - Split the cirq t-complexity from pure-bloqs t-complexity Introduce types to
t_complexity#835 - Remove remaining
_t_complexity_overrides and move logic either tofrom_directly_countable_bloqs(probably most of them) or duplicate to themy_static_costsgeneric method otherwise - make the
t_complexityfunction and method be a wrapper aroundQECGateCostcomputation; verify identical resource counts