3 std::vector<std::vector<qcor::Operator>> bit_flip_code_stabilizers() {
4 static const std::vector<std::vector<qcor::Operator>> STABILIZERS{
5 {qcor::Z(0), qcor::Z(1)}, {qcor::Z(1), qcor::Z(2)}};
9 __qpu__
void bit_flip_encoder(qreg q,
int dataQubitIdx,
10 std::vector<int> scratchQubitIdx) {
11 CX(q[dataQubitIdx], q[scratchQubitIdx[0]]);
12 CX(q[dataQubitIdx], q[scratchQubitIdx[1]]);
15 __qpu__
void bit_flip_recover(qreg q, std::vector<int> logicalReg,
16 std::vector<int> syndromes) {
17 const bool parity01 = (syndromes[0] == 1);
18 const bool parity12 = (syndromes[1] == 1);
20 if (parity01 && !parity12) {
24 if (parity01 && parity12) {
28 if (!parity01 && parity12) {