From: H.G. Muller Date: Mon, 11 Feb 2013 21:27:12 +0000 (+0100) Subject: Keep track of total piece count always X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=0f0fb1e86352699ad6780c076f20621efc5e30f6;p=fairymax.git 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. --- 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