Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Tam ad: Std.Diagnostics.StartCountingOperation
operation StartCountingOperation<'In, 'Out>(callable : ('In => 'Out)) : Unit
Özet
Verilen işlemin çağrılma sayısını saymaya başlar. İşlem zaten sayılıyorsa başarısız olur.
Açıklama
Bu işlem, belirli bir işlemin çağrılma sayısını saymanızı sağlar. Verilen işlem zaten sayılıyorsa, StartCountingOperation yeniden çağrılması çalışma zamanı hatasını tetikler. Sayma, çağrılan işlemin özel özelleştirmesine dayanır, bu nedenle X ve Adjoint X ayrı sayılır.
Benzer şekilde , Controlled Xve CNOTCX, Controlled X ve Controlled Adjoint Xgibi ayrı ayrı sayılan bağımsız işlemlerdir.
Girdi
Callable
Sayılacak işlem.
Açıklamalar
İşlem çağrılarının sayılması, giriş olarak geçirilen işlemde belirli bir özen gerektirir. Örneğin, StartCountingOperation(H) yalnızca H çağrılma sayısını sayarken, StartCountingOperation(Adjoint H) kendi kendine bitişik olsa bile Adjoint H yalnızca H çağrılma sayısını sayar. Bunun nedeni, yürütmenin bu işlemlerin çağrısını özelleştirmelerine göre farklı olarak işlemesidir.
Aynı şekilde, StartCountingOperation(Controlled X) yalnızca Controlled X çağrılma sayısını sayarken, StartCountingOperation(CNOT) yalnızca CNOT çağrılma sayısını sayar.
Lambdaları sayarken, işlemi tanımlamak için lambda'nın bağlı olduğu simge kullanılır ve ayrı bir işlem olarak sayılır. Mesela
let myOp = q => H(q);
StartCountingOperation(myOp);
myOpdeğil, H için özel çağrıları sayar. Buna karşılık, aşağıdaki kod H çağrılarını sayar:
let myOp = H;
StartCountingOperation(myOp);
Bunun nedeni, bu kodun bir lambda tanımlamaması ve bunun yerine doğrudan H bağlaması oluşturmasıdır.