def divert(self, index, candidates): out = [] for candidate in candidates: cls, name, bases, dct, fields = candidate cond1 = [f for f in fields if f.fname == "cond1"] assert len(cond1) == 1 cond1 = cond1.pop() mm = self.mn_mod[cond1.value] for value, new_name in enumerate(mm): nfields = fields[:] s = cpu.int2bin(value, self.args["l"]) args = dict(self.args) args.update({"strbits": s}) f = cpu.bs(**args) nfields[index] = f ndct = dict(dct) ndct["name"] = name + new_name out.append((cls, new_name, bases, ndct, nfields)) return out
def divert(self, index, candidates): out = [] for candidate in candidates: cls, name, bases, dct, fields = candidate cond1 = [f for f in fields if f.fname == "cond1"] assert(len(cond1) == 1) cond1 = cond1.pop() mm = self.mn_mod[cond1.value] for value, new_name in enumerate(mm): nfields = fields[:] s = cpu.int2bin(value, self.args['l']) args = dict(self.args) args.update({'strbits': s}) f = cpu.bs(**args) nfields[index] = f ndct = dict(dct) ndct['name'] = name + new_name out.append((cls, new_name, bases, ndct, nfields)) return out