Obwód
można przetłumaczyć na następujący kod:
operation Teleport(msg, there) {
let register = AllocateRegister();
let here = register;
H(here);
CNOT(here, there);
CNOT(msg, here);
H(msg);
// Measure out the entanglement.
if (M(msg) == One) { Z(there); }
if (M(here) == One) { X(there); }
}
}
Jak powstają instrukcje if? Dlaczego po pomiarach używane są podwójne linie?