def run(self, *inputs): n = inputs[0][0].n if n not in self.functions: self.functions[n] = function_block(lambda *args: self.compile(*args)) flat_res = self.functions[n](*itertools.chain(*inputs)) res = [] i = 0 for l in self.n_output_wires: v = [] for i in range(l): v.append(flat_res[i]) i += 1 res.append(sbitvec.from_vec(v)) return util.untuplify(res)
def returner(): return untuplify(state)