Esempio n. 1
0
def test_multiple_instantiate():
    p = Program()
    q = p.alloc()
    p.inst(H(q))
    p.free(q)
    assert p.out() == 'H 0\n'
    assert p.out() == 'H 0\n'
Esempio n. 2
0
def test_alloc_free():
    p = Program()
    q1 = p.alloc()
    p.inst(H(q1))
    p.free(q1)
    q2 = p.alloc()
    p.inst(H(q2))
    p.free(q2)
    assert p.resource_manager.live_qubits == []
    assert p.out() == "H 0\nH 0\n"
Esempio n. 3
0
def test_alloc_free():
    p = Program()

    p.inst(H(0))  # H 0

    q1 = p.alloc()  # q1 = 1
    q2 = p.alloc()  # q2 = 3

    p.inst(CNOT(q1, q2))  # CNOT 1 3

    p.inst(H(2))

    q3 = p.alloc()  # q3 = 4

    p.inst(X(q3))  # X 4

    p.free(q1)  # remove 1

    q4 = p.alloc()  # q4 = 1

    p.inst(Y(q4))  # Y 1

    p.free(q2)
    p.free(q3)
    p.free(q4)

    assert p.resource_manager.live_qubits == []
    assert p.out() == "H 0\n" \
                      "CNOT 1 3\n" \
                      "H 2\n" \
                      "X 4\n" \
                      "Y 1\n"