diff options
Diffstat (limited to 'src/chess.h')
| -rwxr-xr-x | src/chess.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/chess.h b/src/chess.h index 137344f..a83a13d 100755 --- a/src/chess.h +++ b/src/chess.h @@ -652,7 +652,18 @@ typedef struct _POSITION SCORE iMaterialBalance[2]; // material balance // temporary storage space for use in eval - COOR cTrapped[2]; + // + // Small fixed-capacity list of zero-mobility piece candidates per + // color (bishop/knight/rook/queen evals each can push one), not + // just the single most-recently-evaluated one -- a single COOR + // here used to silently let a later piece's candidacy overwrite an + // earlier one on the same side, discarding it even if it was a + // genuinely trapped (zero mobility + actually attacked) piece. + // Capacity of 4 is deliberately generous; if a position somehow + // has more than 4 simultaneously zero-mobility non-pawn pieces on + // one side, the rest are just dropped, not a real concern. + COOR cTrapped[2][4]; + ULONG uNumTrapped[2]; ULONG uArmyScaler[2]; ULONG uClosedScaler; SCORE iScore[2]; |
