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
fdeffill(z,0L,CFIT,VERB,jtfitfill1,jtfitfill2,a,w,0L,sv->flag&(VIRS1|VIRS2|VJTFLGOK1|VJTFLGOK2|VASGSAFE),m,l,r) RETF(z); // various allowing empty fill
// v is a verb. Supported now only in $[!.n]!.v or ($,)[!.n]!.v
133
+
AFrtn1=sv->valencefns[1]; if(rtn1==jtfitfill2)rtn1=FAV(sv->fgh[0])->valencefns[1]; // what routine will process? (if fit, look back to underlying function)
134
+
if(rtn1==jtreshape||rtn1==jtreitem)
135
+
fdeffill(z,0L,CFIT,VERB,jtvalenceerr,jtreshapeblankfn,a,w,0L,sv->flag&(VIRS1|VIRS2|VJTFLGOK1|VJTFLGOK2|VASGSAFE),m,l,r) FAV(z)->localuse.lu1.fittype=rtn1==jtreitem; RETF(z); // fittype tells whether ($,) or $
} /* a ($,)"wcr w for sparse w and scalar or vector a */
263
263
264
+
// x is floating-point left side of x $ y, w is right side. Result is INT x, but if x contains _, replace _ with the number needed to use up y exactly.
265
+
// Give rndfn a chance to adjust the number. nlens is #axes before inner cell: wcr for ($,) 1 for $ wcr is cell-rank of w, if "r given
// now a is an atom or a list. w can have any rank
271
-
RZ(a=vip(a)); r=AN(a); u=AV(a); // r=length of a u->values of a
284
+
if(unlikely(AT(a)&FL))RZ(a=jtreshapeblank(jt,a,w,ds(CRIGHT),wcr,wcr)) elseRZ(a=vip(a)); // convert a to integer & audit; if FL, also check for _ and handle
if(1>=wcr)y=a; // y is atom or list: $ is the same as ($,)
313
327
else{ // rank y > 1: append the shape of an item of y to x
314
-
RZ(a=vi(a)); an=AN(a); acr=1; // if a was an atom, now it is a list
328
+
// obsolete RZ(a=vi(a));
329
+
if(unlikely(AT(a)&FL))RZ(a=jtreshapeblank(jt,a,w,ds(CRIGHT),MIN(1,wcr),wcr)) elseRZ(a=vip(a)); // convert a to integer & audit; if FL, also check for _ and handle
330
+
an=AN(a); acr=1; // if a was an atom, now it is a list
315
331
fauxINT(y,yfaux,an+r,1) v=AV(y);
316
332
MCISH(v,AV(a),an); MCISH(v+an,AS(w)+wr-r,r);
317
333
}
318
-
Rwr==wcr?jtreshape(jtinplace,y,w):IRS2(y,w,0L,acr,wcr,jtreshape,z); // Since a has no frame, we dont have to check agreement
334
+
Rwr==wcr?jtreshape(jtinplace,y,w):IRS2(y,w,0L,acr,wcr,jtreshape,z); // Since a has no frame, we don't have to check agreement
319
335
} /* a $"r w */
320
336
337
+
// x $[!.n]!.v y or x ($,)[!.n]!.v y which uses fn v if needed to resolve _ in x
0 commit comments