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.
Remove remaining _t_complexity_ overrides and move logic either to from_directly_countable_bloqs (probably most of them) or duplicate to the my_static_costs generic method otherwise
make the t_complexity function and method be a wrapper around QECGateCost computation; verify identical resource counts
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 thet_complexity
protocol. These two protocols should be unified._t_complexity_
overrides and move logic either tofrom_directly_countable_bloqs
(probably most of them) or duplicate to themy_static_costs
generic method otherwiset_complexity
function and method be a wrapper aroundQECGateCost
computation; verify identical resource counts