* Fix bug in Berolina e.p. capture that is actually non-capture
* Fix Clear Hash option, which did not work at all
* Fix addition of 6th & 7th-rank Pawn bonus when setting up position
+ * Adapt score by true piece value in case of (under-)promotion
In addition it prints msec-accurate timing info.
if(z&S&&K-I) /* move pending: check legal*/\r
{if(v+I&&x==K&y==L>==GT) /* if move found */\r
{Q=-e-i;O=F;LL=L;prom=gt;\r
- if(b[y]-u&15)prom=b[y]-=PromPiece, /* under-promotion, correct */\r
- Z+=PromPiece; /* piece & invalidate hash */\r
+ if(b[y]-u&15)prom=b[y]-=PromPiece, /* (under-)promotion: */\r
+ Q-=abs(w[prom&=15])-w[p]-6*S, /* correct piece & score & */\r
+ Z+=PromPiece; /* invalidate hash */\r
a->D=99;a->V=0; /* lock game in hash as draw*/\r
R-=i/FAC; /*** total captd material ***/\r
Fifty = t|p<3?0:Fifty+1;\r
printf("move ");\r
printf("%c%c%c%c",'a'+(K&15),'0'+BH-(K>>4),\r
'a'+(L&15),'0'+BH-(L>>4));\r
- if(prom)printf("%c",piecename[prom&15]+'a'-1);\r
+ if(prom)printf("%c",piecename[prom]+'a'-1);\r
printf("\n");\r
\r
/* time-control accounting */\r