#define PATH level==0 || path[0] == 0xc4028 && (level==1 /*|| path[1] == 0x75967 && (level == 2 || path[2] == 0x3400b && (level == 3))*/)\r
//define PATH 0\r
\r
-#define HASH\r
-#define KILLERS\r
-#define NULLMOVE\r
+#define XHASH\r
+#define XKILLERS\r
+#define XNULLMOVE\r
\r
#include <stdio.h>\r
#include <stdlib.h>\r
NewCapture(x, SPECIAL + 8*(i-1&7) + (i+1&7) + victimValue - SORTKEY(attacker), p[attacker].promoFlag);\r
v = kStep[i+1];\r
if((board[x+v] & TYPE) == xstm && board[x+v] > board[sqr])\r
+\r
NewCapture(x, SPECIAL + 8*(i+1&7) + (i-1&7) + victimValue - SORTKEY(attacker), p[attacker].promoFlag);\r
}\r
} else { // primary victim on first ring\r
}\r
#endif\r
\r
- replyDep = (depth < 1 ? depth : iterDep < 1 ? 1 : iterDep);\r
- while(++iterDep <= depth) {\r
+ replyDep = (depth < 1 ? depth-1 : iterDep);\r
+ while(++iterDep <= depth || iterDep == 1) {\r
if(flag && depth>= 0) printf("iter %d:%d\n", depth,iterDep),fflush(stdout);\r
iterAlpha = alpha; bestScore = -INF; bestMoveNr = 0; resDep = 60;\r
for(curMove = firstMove; ; curMove++) { // loop over moves\r