def setUp(self):
     self.pset = pg.PrimitiveSet()
     self.pset.add_operator('add', 2)
     self.pset.add_operator('sub', 1)
     self.pset.add_operator('truediv', 3)
     self.pset.add_operator('mul', 1)
     self.pset.add_variable('x')
     self.pset.add_variable('y')
     self.enum = pg.Enumerator(self.pset)
Exemplo n.º 2
0
    def setUp(self):
        self.pset = cy.CyPrimitiveSet()
        self.pset.add_operator('add', 2)
        self.pset.add_operator('sub', 1)
        self.pset.add_operator('truediv', 3)
        self.pset.add_operator('mul', 1)
        self.pset.add_variable('x')
        self.pset.add_variable('y')
        self.enum = cy.CyEnumerator(self.pset)

        # to allow for use of pyGOURGS' compile function
        self.pset_pg = pg.PrimitiveSet()
        self.pset_pg.add_operator('add', 2)
        self.pset_pg.add_operator('sub', 1)
        self.pset_pg.add_operator('truediv', 3)
        self.pset_pg.add_operator('mul', 1)
        self.pset_pg.add_variable('x')
        self.pset_pg.add_variable('y')
        self.enum_pg = pg.Enumerator(self.pset_pg)
Exemplo n.º 3
0
    value = i
    divisor = 2**MUX_TOTAL_LINES
    # Fill the input bits
    for j in range(MUX_TOTAL_LINES):
        divisor /= 2
        if value >= divisor:
            inputs[i][j] = 1
            value -= divisor

    # Determine the corresponding output
    indexOutput = MUX_SELECT_LINES
    for j, k in enumerate(inputs[i][:MUX_SELECT_LINES]):
        indexOutput += k * 2**j
    outputs[i] = inputs[i][indexOutput]

pset = pg.PrimitiveSet()
pset.add_operator("operator.and_", 2)
pset.add_operator("operator.or_", 2)
pset.add_operator("operator.not_", 1)
pset.add_operator("if_then_else", 3)
pset.add_variable("A0")
pset.add_variable("A1")
pset.add_variable("A2")
pset.add_variable("D0")
pset.add_variable("D1")
pset.add_variable("D2")
pset.add_variable("D3")
pset.add_variable("D4")
pset.add_variable("D5")
pset.add_variable("D6")
pset.add_variable("D7")