(prg:UOp, sink:UOp, lin:UOp)
| 143 | return prg.replace(src=prg.src + (UOp(Ops.LINEAR, src=tuple(lst)),)) |
| 144 | |
| 145 | def do_estimates(prg:UOp, sink:UOp, lin:UOp) -> UOp|None: |
| 146 | if sink.arg.estimates is not None: return None |
| 147 | return prg.replace(src=(sink.replace(arg=replace(sink.arg, estimates=Estimates.from_uops(lin.src, ignore_indexing=True))),)+prg.src[1:]) |
| 148 | |
| 149 | def do_assemble(ctx:Renderer, prg:UOp, lin:UOp) -> UOp: |
| 150 | src = "\n".join(str(u.arg) for u in lin.src) |