Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Volledig gekwalificeerde naam: Std.Diagnostics.StartCountingOperation
operation StartCountingOperation<'In, 'Out>(callable : ('In => 'Out)) : Unit
Samenvatting
Begint met het tellen van het aantal keren dat de opgegeven bewerking wordt aangeroepen. Mislukt als de bewerking al wordt geteld.
Beschrijving
Met deze bewerking kunt u het aantal keren tellen dat een bepaalde bewerking wordt aangeroepen. Als de opgegeven bewerking al wordt geteld, activeert het aanroepen van StartCountingOperation opnieuw een runtimefout. Tellen is gebaseerd op de specifieke specialisatie van de aangeroepen bewerking, dus X en Adjoint X afzonderlijk worden meegeteld.
Eveneens Controlled X, CNOTen CX zijn onafhankelijke bewerkingen die afzonderlijk worden geteld, zoals Controlled X en Controlled Adjoint X.
Invoer
aanroepbaar
De bewerking die moet worden geteld.
Opmerkingen
Voor het tellen van bewerkingsoproepen is specifieke zorg vereist in welke bewerking wordt doorgegeven als invoer.
StartCountingOperation(H) telt bijvoorbeeld alleen het aantal keren dat H wordt aangeroepen, terwijl StartCountingOperation(Adjoint H) alleen het aantal keren telt dat Adjoint H wordt aangeroepen, ook al is H zelf-aangrenzend. Dit komt door de wijze waarop de uitvoering de aanroep van deze bewerkingen behandelt als verschillend door hun specialisatie.
Op dezelfde manier telt StartCountingOperation(Controlled X) alleen het aantal keren dat Controlled X wordt aangeroepen, terwijl StartCountingOperation(CNOT) alleen het aantal keren telt dat CNOT wordt aangeroepen.
Bij het tellen van lambdas wordt het symbool waaraan de lambda is gebonden, gebruikt om de bewerking te identificeren en wordt het als een afzonderlijke bewerking geteld. Bijvoorbeeld
let myOp = q => H(q);
StartCountingOperation(myOp);
Telt specifiek aanroepen naar myOp en niet H. De volgende code telt daarentegen aanroepen naar H zelf:
let myOp = H;
StartCountingOperation(myOp);
Dit komt doordat deze code geen lambda definieert en in plaats daarvan alleen een binding voor H rechtstreeks maakt.