From 0f0fb1e86352699ad6780c076f20621efc5e30f6 Mon Sep 17 00:00:00 2001 From: H.G. Muller Date: Mon, 11 Feb 2013 22:27:12 +0100 Subject: [PATCH] Keep track of total piece count always So far this was only done in ShaMax to implement the baring rule, but it will come in handy for determination of mating potential. --- fairymax.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fairymax.c b/fairymax.c index ec6c6ca..6c4ea12 100644 --- a/fairymax.c +++ b/fairymax.c @@ -214,7 +214,7 @@ int k,q,l,e,E,z,n; /* (q,l)=window, e=current eval. score, E=e.p. sqr.*/ i+=V; /* promotion / passer bonus */ } if(z&S && GamePtr<6) v+=(rand()>>10&31)-16; J+=J(0);Z+=J(4)+G-S; - SHAMAX( pl[k]-=!!t; ) /* count pieces per side */ + pl[k]-=!!t; /* count pieces per side */ v+=e+i;V=m>q?m:q; /*** new eval & alpha ****/ if(z&S)V=m-margin>q?m-margin:q; /* multiPV */ C=d-1-(d>5&p>2&!t&!h); /* nw depth, reduce non-cpt.*/ @@ -240,7 +240,7 @@ int k,q,l,e,E,z,n; /* (q,l)=window, e=current eval. score, E=e.p. sqr.*/ return l;} /* & not in check, signal */ v=m; /* (prevent fail-lows on */ } /* K-capt. replies) */ - SHAMAX( pl[k]+=!!t; ) pl[t&31]+=!!t; + pl[k]+=!!t;pl[t&31]+=!!t; b[G]=b[FF];b[FF]=b[y]=0;b[x]=u;b[H]=t; /* undo move,G can be dummy */ } /* if non-castling */ if(z&S&&K==I&d>2&v>V&v