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)
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)
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")