summaryrefslogtreecommitdiff
path: root/m.c
diff options
context:
space:
mode:
authorn <@>2023-12-07 03:25:42 +0200
committern <@>2023-12-07 03:25:42 +0200
commitd47023bf2183809b92a81082e91afb5daf9d9e92 (patch)
treed77777feb364c7ed53c87713bbf29611069babfe /m.c
parent50c94ef7878b2bb1882522031d57d1b17235d923 (diff)
m.c
Diffstat (limited to 'm.c')
-rw-r--r--m.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/m.c b/m.c
index db05515b..02448d8b 100644
--- a/m.c
+++ b/m.c
@@ -14,7 +14,7 @@ A mf(U f,U i,U n)_(V*p=mm(pg+n,1);P(!p,eo0())A x=(A)(p+pg);xn=n;AT(tC,x);P(mmap(
S A z[SZ(N)==4?27:31]={[L(z)-1]=1};DBG(S U lck;)
S A mb(C b,A x)_(xX=0;xr=0;DBG(AN(-1,AT(0,x));*xL=0);xU=b;x)
-A an(U n,C t)_(Q(!lck);Q(LH(tA,t,tn-1));Q(!TP(t));C b=59-__builtin_clzll(HD|HD-1+((W)n*TW[t]+7>>3));P(n>1ull<<L(z)||b>L(z)-2,die("OOM"))
+A an(U n,C t)_(Q(!lck);Q(LH(tA,t,tn-1));Q(!TP(t));W m=HD+((W)n*TW[t]+7>>3);C b=59-__builtin_clzll(HD|m-1);P(n>1ull<<L(z)||b>L(z)-2,die("OOM"))
A x=z[b];I i=b;W(!z[i],i++)I(i<L(z)-1,x=z[i];z[i]=xX)E(x=mb(b,mx(HD<<(i=MAX(b,24)))))I(b<i,xU=b;W(b<i--,z[i]=mb(i,(A)x+(HD<<i))))xr=1;AT(t,AN(n,x)))
A1(m0,DBG(lck++);Q(x);XP(0)Q(xr>0);P(--xr,0)C b=xU;P(!b,mu(xV-pg))xX=z[b];z[b]=(A)xV;XR(mrn(xn|!xn,xA);x)x)
DBG(A1(m1,lck--;P(!x||!xU,0)MS(xV,0xab,xZ);AN(-1,AT(0,x));0))
@@ -24,7 +24,7 @@ A1(mRa,mRn(xn,xA);x)
A1(_R,Q(x);XP(x)Q(xr>=0);xr++;x)
A1(mr,DBG(m1)(m0(x)))
-A aV(C t,U n,O V*v)_(A x=an(n,t);MC(xV,v,(W)n*TW[t]+63>>3);x)
+A aV(C t,U n,O V*v)_(A x=an(n,t);MC(xV,v,(W)n*TW[t]+7>>3);x)
A aA0(U n)_(A x=AN(0,aA(n));xx=oC;x)
A1(aA1,A y=an(1,tA);yx=x;y)
A2(aA2,/*11*/a2t(x,y,tA))
@@ -50,7 +50,7 @@ A aE(L i,L j)_(Q(i<=j)P(i==j,oG)A x=an(tE,2);*xL=i;xL[1]=j;x)
A1(mut,XP(x)P(xr==1,x)x=x(aV(xt,xn,xV));XR(mRa(x))x)
C tZ(L v)_(tL-((v==(G)v)+(v==(H)v)+(v==(I)v)))
A kv(A*p)_(A x=*p;Q(xn==2);P(xr>1,--xr;*p=_R(xx);_R(xy))*p=xx;AZ(x);x(xy))
-A room(U n,A x)_(P(xr==1&&n*xW<=xZ,AN(n,x))A y=an(n,xt);MC(yV,xV,xn*TW[xt]+7>>3);I(ytR,I(xr==1,AZ(x))E(i(xn,_R(ya))))x(y))
+A room(U n,A x)_(P(xr==1&&n*xW<=xZ,AN(n,x))A y=an(n,xt);MC(yV,xV,(W)xn*TW[xt]+7>>3);I(ytR,I(xr==1,AZ(x))E(i(xn,_R(ya))))x(y))
L gl_(A x)_(XP(xv)*xL)
L gl(A x)_(L v=gl_(x);x(0);v)
F gf(A x)_(F v=*xF;x(0);v)