You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
box1=C(AAV(box)[0]); RE(t=i0(box1)) ASSERT(((t=fromonehottype(t,jt))&NOUN)>0,EVDOMAIN) flags|=t&DIRECT?0:DICFVINDIR; // type. convert from 3!:0 form, which must be an atomic integer, to internal type, which must be valid. Remember if indirect
200
200
box1=C(AAV(box)[1]); r=AN(box1); ASSERT(AR(box1)<=1,EVRANK) ASSERT(r>=0,EVLENGTH) RZ(box1=ccvt(INT,ravel(box1),0)) s=IAV(box1); PRODX(n,r,s,1) ((DIC*)z)->bloc.vaii=n; // shape. copy to allow IAV1. get # atoms in item & save
201
-
ASSERT(likely(n>0)||r==1,EVRANK) // empty value only allowed at rank 1
201
+
ASSERT(likely(n>0)||r==1,EVLENGTH) // empty value only allowed at rank 1
202
202
INCORPNV(box1); ((DIC*)z)->bloc.vshape=box1; ((DIC*)z)->bloc.vtype=t; ((DIC*)z)->bloc.vbytelen=n<<bplg(t); // save shape & type; save # bytes for copy
203
203
box=C(AAV(w)[0]); // fetch size parameters
204
204
((DIC*)z)->bloc.flags=flags|=AN(box)==2?DICFRB:0; // now that we have all the flags, save them. Remember hash/tree type
It=dic->bloc.vtype; Asa=dic->bloc.vshape; Ivaii=dic->bloc.vaii; t=FAV(self)->localuse.lu1.varno==0?t:B01; sa=FAV(self)->localuse.lu1.varno==0?sa:mtv; vaii=FAV(self)->localuse.lu1.varno==0?vaii:1; adyad=FAV(self)->localuse.lu1.varno==0?adyad:(A)1; // type/shape of output, for get or has
624
624
ASSERT((FAV(self)->localuse.lu1.varno|dic->bloc.vbytelen)!=0,EVDOMAIN) // get not allowed when values are empty (only has)
625
625
if(unlikely((AT(w)&kt)==0))RZ(w=ccvt(kt,w,0)) // convert type of w if needed
z=0; if(adyad!=(A)1){GA0(z,t,vaii,AN(sa)) AFLAG(z)=t&RECURSIBLE; MCISH(AS(z),IAV1(sa),AN(sa))} // for get, allocate recursive result area & install shape; for has, result will be constant
629
629
z=jtget1(dic,voidAV(w),z,jt,adyad); // get the result
0 commit comments