إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
الاسم المؤهل بالكامل: Std.Diagnostics.StartCountingOperation
operation StartCountingOperation<'In, 'Out>(callable : ('In => 'Out)) : Unit
ملخص
يبدأ حساب عدد المرات التي يتم فيها استدعاء العملية المحددة. يفشل إذا تم حساب العملية بالفعل.
وصف
تسمح لك هذه العملية بحساب عدد المرات التي يتم فيها استدعاء عملية معينة. إذا تم حساب العملية المحددة بالفعل، فإن استدعاء StartCountingOperation مرة أخرى سيؤدي إلى فشل وقت التشغيل. يعتمد العد على التخصص المحدد للعملية التي تم استدعاؤها، لذلك يتم حساب XAdjoint X بشكل منفصل.
وبالمثل Controlled XCNOTCX هي عمليات مستقلة يتم حسابها بشكل منفصل، كما هي Controlled XControlled Adjoint X.
الادخال
الاستدعاء
العملية التي سيتم حسابها.
ملاحظات
يتطلب عد استدعاءات العملية عناية محددة في العملية التي يتم تمريرها كمدخل. على سبيل المثال، سيحسب StartCountingOperation(H) عدد المرات التي يتم فيها استدعاء H فقط، بينما سيحسب StartCountingOperation(Adjoint H) عدد المرات التي يتم فيها استدعاء Adjoint H فقط، على الرغم من أن H مرتبط ذاتيا. ويرجع ذلك إلى كيفية تعامل التنفيذ مع استدعاء هذه العمليات على أنها مميزة من خلال تخصصها.
وبنفس الطريقة، سيحسب StartCountingOperation(Controlled X) عدد المرات التي يتم فيها استدعاء Controlled X فقط، بينما سيحسب StartCountingOperation(CNOT) عدد المرات التي يتم فيها استدعاء CNOT فقط.
عند عد lambdas، يتم استخدام الرمز الذي يرتبط به lambda لتحديد العملية ويتم حسابه كعملية منفصلة. على سبيل المثال
let myOp = q => H(q);
StartCountingOperation(myOp);
سيتم حساب الاستدعاءات على وجه التحديد إلى myOp وليس H. على النقيض من ذلك، ستقوم التعليمات البرمجية التالية بحساب الاستدعاءات إلى H نفسها:
let myOp = H;
StartCountingOperation(myOp);
وذلك لأن هذه التعليمة البرمجية لا تحدد lambda وبدلا من ذلك تقوم فقط بإنشاء ربط H مباشرة.