k
= topfix() - thread
.iorg
;
if(p
->rank
==0||p
->rank
==1&&p
->size
==1) {
p
= newdat(idx
.type
, 1, 0);
if(k
< 0 || k
>= idx
.rank
)
if(p
->rank
!= 1 || p
->size
!= dk
)
p
= newdat(idx
.type
, idx
.rank
, (idx
.size
/dk
)*ndk
);
copy(IN
, idx
.dim
, p
->dim
, idx
.rank
);
putdat(sp
[-1], getdat(p
));
k
= topfix() - thread
.iorg
;
if(k
< 0 || k
>= idx
.rank
)
if(p
->rank
!= 1 || dk
!= idx
.dim
[k
])
p
= newdat(idx
.type
, idx
.rank
, idx
.size
);
copy(IN
, idx
.dim
, p
->dim
, idx
.rank
);
datum
= getdat(sp
[-3]); else