(self)
| 169 | return obj |
| 170 | |
| 171 | def compile(self): |
| 172 | if ( |
| 173 | self._opr is None |
| 174 | or len(self._opr.inputs) != len(self.inputs) |
| 175 | or any([i != j.var for i, j in zip(self._opr.inputs, self.inputs)]) |
| 176 | ): |
| 177 | op = self.opdef(**self.params) |
| 178 | args = [i.var for i in self.inputs] |
| 179 | outputs = rt.invoke_op(op, args) |
| 180 | assert len(outputs) == len(self.outputs) |
| 181 | self._opr = outputs[0].owner |
| 182 | for i in range(len(self.outputs)): |
| 183 | self.outputs[i]._reset_var(outputs[i]) |
| 184 | assert self.outputs[i].owner is self |
| 185 | |
| 186 | def add_inp_var(self, x): |
| 187 | self.inputs.append(x) |
no test coverage detected