summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorn <@>2023-01-29 06:48:26 +0200
committern <@>2023-01-29 06:48:26 +0200
commita1f828c37ac46b43705ec94608a7649c064d4195 (patch)
tree91071628218ec2d1b4f8f3e370c926dd14cb403e
parentddf32a14c37cf237ec176941168ef88c0667cf7c (diff)
OCA
-rw-r--r--a.h25
-rw-r--r--b.c4
-rw-r--r--g.h1
-rwxr-xr-xg.k2
4 files changed, 16 insertions, 16 deletions
diff --git a/a.h b/a.h
index e9f3fab0..5be354d4 100644
--- a/a.h
+++ b/a.h
@@ -54,7 +54,8 @@
#define S4(i,a,b,c,d) switch(i){case 0:a;break;case 1:b;break;case 2:c;break;default:d;break;}
TD void V;TD char B,C;TD char unsigned UB,UC;TD O C*Q;TD short H;TD unsigned short UH;TD int I;TD unsigned int UI;TD long long L;TD double F;TD size_t N;
-TD unsigned long long UL,A,A0(),A1(A),A2(A,A),A3(A,A,A),A4(A,A,A,A),AA(OA*,I),AX(A,OA*,I),AL(L),ALA(L,A),AAL(A,L),AQ(Q);
+TD unsigned long long UL,A,A0(),A1(A),A2(A,A),A3(A,A,A),A4(A,A,A,A),AA(OA*,I),AX(A,OA*,I),AL(L),ALA(L,A),AAL(A,L),AQ(Q);TD O C OCA[];
+
#define A0(f,b...) A f( )_(b)
#define A1(f,b...) A f(Ax )_(b)
#define A2(f,b...) A f(Ax,Ay )_(b)
@@ -76,17 +77,17 @@ V cyc(V*,N,N),eS(A,N),eQ(Q,N,N),exit(I),iW(A,I,L,L),kargs(I,Q*),kinit(),*memmem(
F gf(A),pf(Q*);N _N(A);C*sf(C*,L),*sl(C*,L),sup(A*,A*),tZ(L),*strchrnul(Q,I);Q qs(O L*),pID(Q);
I _K(A),qA(A,A),qf(F,F),js_eval(C*,I,C*,I),mtc_(A,A),si(Q,I),rnk(A);
L cfm(OA*,I),gl_(A),gl(A),iw(A,I,L),now(),pl(Q*),pu(Q*),tru(A),fI(OV*,N,L),fL(OV*,N,L),fAI(A,I),fpI(A*,I),maxfZ(L,A),minfZ(L,A),addfZ(L,A),mulfZ(L,A);
-EX I pg,gn,gk[];EX C gp[32];EX A gv[],cns,ce[],cn[],ci[2][5];EX A1*v1[],*cT[];EX A2*v2[];EX AA*v8[];EX Q*argv,*env,HEX;EX OC vc[],TS[],Tw[],TW[],TT[],TX[],Tk[];
+EX I pg,gn,gk[];EX C gp[32];EX A gv[],cns,ce[],cn[],ci[2][5];EX A1*v1[],*cT[];EX A2*v2[];EX AA*v8[];EX Q*argv,*env,HEX;EX OCA vc,TS,Tw,TW,TT,TX,Tk;
-// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
-// () ,3 ,4 ,5 ,6 ,d "" ,` +! ! 5 6 .6 "c" ` {} 1+ ++ +/ +: + / 2:
-enum {tA=1,tB,tH,tI,tL,tF,tC,tS,tM,tm,ti,tl,tf,tc,ts,to,tp,tq,tr,tu,tv,tw,tx,tn};
-#define T_ OC TS[]="?""A""I""I""I""I""F""C""S""M""m""i""i""f""c""s""o""p""q""r""u""v""w""x",/*type symbols */\
- TW[]={0, 8, 1, 2, 4, 8, 8, 1, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8},/*item size in bytes */\
- Tw[]={0, 4, 0, 1, 2, 3, 3, 0, 2, 4, 4, 3, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3},/*log2(size) or 4=reftypes */\
- TT[]={0,tA,tB,tH,tI,tL,tF,tC,tS,tM,tM,tI,tL,tF,tC,tS,tA,tA,tA,tA,tA,tA,tA,tA},/*corresponding list type */\
- TX[]={0,tB,tB,tH,tI,tL,tF,tB,tI,tB,tB, 0, 0,tF,tB,tI,tB,tB,tB,tB,tB,tB,tB,tB},/*type for arith conformance*/\
- Tk[]="0""L""I""I""I""I""F""C""S""T""D""i""i""f""c""s""?""?""?""?""?""?""?""?";/*types for k.h */
+// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
+// () ,3 ,4 ,5 ,6 ,d "" ,` +! ! 5 6 .6 "c" ` {} 1+ ++ +/ +: + / 2:
+enum {tA=1,tB,tH,tI,tL,tF,tC,tS,tM,tm,ti,tl,tf,tc,ts,to,tp,tq,tr,tu,tv,tw,tx,tn};
+#define T_ OCA TS="?""A""I""I""I""I""F""C""S""M""m""i""i""f""c""s""o""p""q""r""u""v""w""x",/*type symbols */\
+ TW={0, 8, 1, 2, 4, 8, 8, 1, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8},/*item size in bytes */\
+ Tw={0, 4, 0, 1, 2, 3, 3, 0, 2, 4, 4, 3, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3},/*log2(size) or 4=reftypes */\
+ TT={0,tA,tB,tH,tI,tL,tF,tC,tS,tM,tM,tI,tL,tF,tC,tS,tA,tA,tA,tA,tA,tA,tA,tA},/*corresponding list type */\
+ TX={0,tB,tB,tH,tI,tL,tF,tB,tI,tB,tB, 0, 0,tF,tB,tI,tB,tB,tB,tB,tB,tB,tB,tB},/*type for arith conformance*/\
+ Tk="0""L""I""I""I""I""F""C""S""T""D""i""i""f""c""s""?""?""?""?""?""?""?""?";/*types for k.h */
#define TP(t) ((1<<ti|1<<tc|1<<ts|1<<tu|1<<tv|1<<tw|1<<tx)>>(t)&1)
#define TU(t) ((t)>=to)
@@ -125,7 +126,7 @@ enum {tA=1,tB,tH,tI,tL,tF,tC,tS,tM,tm,ti,tl,tf,tc,ts,to,tp,tq,tr,t
#define V_ A1*v1[]={sam,flp,neg,fir,sqr,til,whr,rev,asc,dsc,grp,not,enl,nul,len,flr,str,unq,typ,val,u0c,u1c,las,imn,imx,out};\
A2*v2[]={dex,add,sub,mul,dvd,bng,mnm,mxm,ltn,gtn,eql,mtc,cat,exc,hsh,und,cst,que, _1,dot,v0c,v1c,dex,dex,dex,dex};\
AA*v8[]={no8,no8,no8,no8,no8,no8,no8,no8,no8,no8,no8,no8,no8,no8,no8,no8,no8,ins, a8, d8,no8,no8,no8,no8,no8,no8};\
- OC vc[]={':','+','-','*','%','!','&','|','<','>','=','~',',','^','#','_','$','?','@','.','0','1','2','3','4','5',0};
+ OCA vc ={':','+','-','*','%','!','&','|','<','>','=','~',',','^','#','_','$','?','@','.','0','1','2','3','4','5',0};
enum {au=Lt(tu),FLP,NEG,FIR,SQR,TIL,WHR,REV,ASC,DSC,GRP,NOT,ENL,NUL,LEN,FLR,STR,UNQ,TYP,VAL,U0C,U1C,LAS,IMN,IMX,OUT,
av=Lt(tv),ADD,SUB,MUL,DVD,MOD,MNM,MXM,LTN,GTN,EQL,MTC,CAT,EXC,RSH,UND,CST,QUE,AP1,DOT,V0C,V1C,V2C,V3C,MKL,PLH,
aw=Lt(tw)};
diff --git a/b.c b/b.c
index 480218c3..09a1c4a6 100644
--- a/b.c
+++ b/b.c
@@ -1,7 +1,7 @@
#include"a.h" // ngn/k, (c) 2019-2023 ngn, GNU AGPLv3 - https://codeberg.org/ngn/k/raw/branch/master/LICENSE
enum{bu,bv=32,bs=64,bg=72,bd=80,ba=88,bP,bi,bx,bI,bX,bm,bM,bG,bS,bl,bL,bz,bj,bo,bp,bc};
-S OC di[]={ 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1 };
-S OC ds[]={ 1, 1,-2,-1,-3,-2,-1,-1, 1,-1, 1, 0,-1, 0, 1,-1 };
+S OCA di={ 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1 };
+S OCA ds={ 1, 1,-2,-1,-3,-2,-1,-1, 1,-1, 1, 0,-1, 0, 1,-1 };
#define h(a) {b[nb]=a;m[nb]=o;nb+=nb<255;}
#define hc(a) N(lc(a,o));
#define OK -1
diff --git a/g.h b/g.h
index d2b06dc4..72affdab 100644
--- a/g.h
+++ b/g.h
@@ -560,7 +560,6 @@
#define Az A z
#define Au A u
#define OA O A
-#define OC O C
#define OV O V
#define Qs Q s
#define Qp Q p
diff --git a/g.k b/g.k
index 02f21b5f..011deb28 100755
--- a/g.k
+++ b/g.k
@@ -14,7 +14,7 @@ d("_t@(x) (_t(x)==t@)";"ABHILFCSMmlfopqr")
d("_t@(x) (_t0(x)==t@)";"iscuvwx")
d("N@(r) N(r,@(0))";v)
d("o@ _R(ce[t@])";"ABLFCS")
-d'(,"@$ @ $"),/:":"\'" "\"C:bcdt ILN:ijkmn CBHILF:v I:f A:xyzu O:ACV Q:spq";
+d'(,"@$ @ $"),/:":"\'" "\"C:bcdt ILN:ijkmn CBHILF:v I:f A:xyzu O:AV Q:spq";
r,:{"#define _",x,"(x) ((A*)_V(x))[",y,"]"}'["xyz";"012"]
r,:{"#define _t",x,"(x) (_t",(-1_x),"(x)||_t",(-1#x),"(x))"}'(1<#:')#U
"g.h"0:r