示例#1
0
def test_binary_classicals():
    p = Program()
    p.inst(AND(MemoryReference("ro", 0), MemoryReference("ro", 1)),
           OR(MemoryReference("ro", 1), MemoryReference("ro", 0)),
           MOVE(MemoryReference("ro", 0), MemoryReference("ro", 1)),
           CONVERT(MemoryReference("ro", 0), MemoryReference("ro", 1)),
           IOR(MemoryReference("ro", 0), MemoryReference("ro", 1)),
           XOR(MemoryReference("ro", 0), MemoryReference("ro", 1)),
           ADD(MemoryReference("ro", 0), MemoryReference("ro", 1)),
           SUB(MemoryReference("ro", 0), MemoryReference("ro", 1)),
           MUL(MemoryReference("ro", 0), MemoryReference("ro", 1)),
           DIV(MemoryReference("ro", 0), MemoryReference("ro", 1)),
           EXCHANGE(MemoryReference("ro", 0), MemoryReference("ro", 1)))
    assert p.out() == 'AND ro[0] ro[1]\n' \
                      'IOR ro[0] ro[1]\n' \
                      'MOVE ro[0] ro[1]\n' \
                      'CONVERT ro[0] ro[1]\n' \
                      'IOR ro[0] ro[1]\n' \
                      'XOR ro[0] ro[1]\n' \
                      'ADD ro[0] ro[1]\n' \
                      'SUB ro[0] ro[1]\n'\
                      'MUL ro[0] ro[1]\n' \
                      'DIV ro[0] ro[1]\n' \
                      'EXCHANGE ro[0] ro[1]\n'
示例#2
0
def test_prog_init():
    p = Program()
    p.inst(Declare("ro", "BIT"), X(0)).measure(0, MemoryReference("ro", 0))
    assert p.out() == ("DECLARE ro BIT[1]\nX 0\nMEASURE 0 ro[0]\n")
示例#3
0
文件: test_api.py 项目: tsatir/pyquil
from pyquil.api import QVMConnection, QPUCompiler, get_qc, QVMCompiler
from pyquil.api._base_connection import (validate_noise_probabilities,
                                         validate_qubit_list,
                                         prepare_register_list)
from pyquil.device import ISA, NxDevice
from pyquil.gates import CNOT, H, MEASURE, PHASE, Z, RZ, RX, CZ
from pyquil.paulis import PauliTerm
from pyquil.quil import Program
from pyquil.quilbase import Halt, Declare
from pyquil.quilatom import MemoryReference

EMPTY_PROGRAM = Program()
BELL_STATE = Program(H(0), CNOT(0, 1))
BELL_STATE_MEASURE = Program(Declare('ro', 'BIT', 2), H(0), CNOT(0, 1),
                             MEASURE(0, MemoryReference('ro', 0)),
                             MEASURE(1, MemoryReference('ro', 1)))
COMPILED_BELL_STATE = Program([
    RZ(pi / 2, 0),
    RX(pi / 2, 0),
    RZ(-pi / 2, 1),
    RX(pi / 2, 1),
    CZ(1, 0),
    RZ(-pi / 2, 0),
    RX(-pi / 2, 1),
    RZ(pi / 2, 1),
    Halt()
])
DUMMY_ISA_DICT = {"1Q": {"0": {}, "1": {}}, "2Q": {"0-1": {}}}
DUMMY_ISA = ISA.from_dict(DUMMY_ISA_DICT)