Commit f8f4090
committed
expressions: address PR review (Phase E)
- GeneralRepermuteOp: store/apply only the OUTER result-layout permutation.
The streaming re-permute wrapper exists to reorder a general product's
outer (result) layout; inner (within-cell) permutation of ToT results is
handled separately (init_struct_general / implicit_permute_inner_). Using
the full bipartite perm_ would also permute inner cells -- a no-op when the
inner perm is identity, but a latent double-apply if an inner perm is ever
deferred to a downstream op. Pass outer(perm_) into the op; the host
UnaryEvalImpl still receives full perm_ for ordinal/trange remap.
- MultEngine down-pass: materialize each child demand as a named lvalue
before preferred_layout(), which returns a reference to its argument for
leaf/binary engines -- avoids a needlessly fragile bind-to-temporary.1 parent 7c5d1c2 commit f8f4090
2 files changed
Lines changed: 19 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
851 | 851 | | |
852 | 852 | | |
853 | 853 | | |
854 | | - | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
855 | 860 | | |
856 | 861 | | |
857 | 862 | | |
| |||
917 | 922 | | |
918 | 923 | | |
919 | 924 | | |
920 | | - | |
| 925 | + | |
921 | 926 | | |
922 | 927 | | |
923 | 928 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
328 | 328 | | |
329 | 329 | | |
330 | 330 | | |
331 | | - | |
332 | | - | |
333 | | - | |
334 | | - | |
335 | | - | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
336 | 343 | | |
337 | 344 | | |
338 | 345 | | |
| |||
0 commit comments