use unpack_unit helper
This commit is contained in:
parent
45a756a6a0
commit
054cdac6d9
@ -763,18 +763,12 @@ NOINLINE B for_cells_SA(B f, B w, B x, ur xcr, ur xr, u32 chr) { // w⊸F⎉xcr
|
|||||||
} break;
|
} break;
|
||||||
case n_shifta: case n_shiftb:
|
case n_shifta: case n_shiftb:
|
||||||
if (xcr!=1) break;
|
if (xcr!=1) break;
|
||||||
if (isAtm(w)) {
|
if (!unpack_unit(&w)) break;
|
||||||
shift_atm:;
|
if (IA(x)==0) {
|
||||||
if (IA(x)==0) {
|
dec(w);
|
||||||
dec(w);
|
return x;
|
||||||
return x;
|
|
||||||
}
|
|
||||||
return shift_cells(w, x, cam, xsh[xk], el_or(TI(x,elType), selfElType(w)), rtid);
|
|
||||||
}
|
|
||||||
if (RNK(w)==0) {
|
|
||||||
w = TO_GET(w, 0);
|
|
||||||
goto shift_atm;
|
|
||||||
}
|
}
|
||||||
|
return shift_cells(w, x, cam, xsh[xk], el_or(TI(x,elType), selfElType(w)), rtid);
|
||||||
break;
|
break;
|
||||||
case n_take: case n_drop: {
|
case n_take: case n_drop: {
|
||||||
bool take = rtid==n_take;
|
bool take = rtid==n_take;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user