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?p=fairymax.git;a=commitdiff_plain;h=0f0fb1e86352699ad6780c076f20621efc5e30f6 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