|
#define DO(n,stmts) {I i,_n=(n); for(i=0;i<_n;++i){stmts;}}
#define HI(n,x,y,stmts) DO(n, h=HF(y[i]); while(*h>=0&&x[*h]!=y[i])if(hm==++h)h=h0; stmts;);
#define HS(n, y,stmts) DO(n, h=HF(y[i]); while(*h!=M&& *h !=y[i])if(hm==++h)h=h0; stmts;);
i. x⍳y HI(xn,x,x, if(*h<0)*h=i; );
HI(yn,x,y, *z++=*h<0?xn:*h; );
i.~ x⍳x HI(xn,x,x, if(*h<0)*h=i; *z++=*h; );
e.~ y∊x HS(xn, x, if(*h==M)*h=x[i]; );
HS(xn, y, *z++=*h!=M; );
~. ∪x HS(xn, x, if(*h==M)*h=*z++=x[i]; );
~: ≠x HS(xn, x, if(*z++=*h==M)*h=x[i]; );
#@~. (≢∪)x HS(xn, x, if(*h==M){*h=x[i]; ++c;});
|