mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 00:33:09 +00:00
Change zobMaterial[] index 0 definition
The index at 0 was reserved for no-pieces information. But we don't need that. This is a prerequisite for next patch. No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
8c32878701
commit
03cfd94414
1 changed files with 12 additions and 12 deletions
|
@ -828,13 +828,13 @@ void Position::do_move(Move m, StateInfo& newSt, const CheckInfo& ci, bool moveI
|
||||||
set_bit(&(byTypeBB[promotion]), to);
|
set_bit(&(byTypeBB[promotion]), to);
|
||||||
board[to] = piece_of_color_and_type(us, promotion);
|
board[to] = piece_of_color_and_type(us, promotion);
|
||||||
|
|
||||||
|
// Update piece counts
|
||||||
|
pieceCount[us][promotion]++;
|
||||||
|
pieceCount[us][PAWN]--;
|
||||||
|
|
||||||
// Update material key
|
// Update material key
|
||||||
st->materialKey ^= zobMaterial[us][PAWN][pieceCount[us][PAWN]];
|
st->materialKey ^= zobMaterial[us][PAWN][pieceCount[us][PAWN]];
|
||||||
st->materialKey ^= zobMaterial[us][promotion][pieceCount[us][promotion]+1];
|
st->materialKey ^= zobMaterial[us][promotion][pieceCount[us][promotion]-1];
|
||||||
|
|
||||||
// Update piece counts
|
|
||||||
pieceCount[us][PAWN]--;
|
|
||||||
pieceCount[us][promotion]++;
|
|
||||||
|
|
||||||
// Update piece lists, move the last pawn at index[to] position
|
// Update piece lists, move the last pawn at index[to] position
|
||||||
// and shrink the list. Add a new promotion piece to the list.
|
// and shrink the list. Add a new promotion piece to the list.
|
||||||
|
@ -932,12 +932,12 @@ void Position::do_capture_move(Key& key, PieceType capture, Color them, Square t
|
||||||
else
|
else
|
||||||
st->npMaterial[them] -= piece_value_midgame(capture);
|
st->npMaterial[them] -= piece_value_midgame(capture);
|
||||||
|
|
||||||
// Update material hash key
|
|
||||||
st->materialKey ^= zobMaterial[them][capture][pieceCount[them][capture]];
|
|
||||||
|
|
||||||
// Update piece count
|
// Update piece count
|
||||||
pieceCount[them][capture]--;
|
pieceCount[them][capture]--;
|
||||||
|
|
||||||
|
// Update material hash key
|
||||||
|
st->materialKey ^= zobMaterial[them][capture][pieceCount[them][capture]];
|
||||||
|
|
||||||
// Update piece list, move the last piece at index[capsq] position
|
// Update piece list, move the last piece at index[capsq] position
|
||||||
//
|
//
|
||||||
// WARNING: This is a not perfectly revresible operation. When we
|
// WARNING: This is a not perfectly revresible operation. When we
|
||||||
|
@ -1598,7 +1598,7 @@ Key Position::compute_material_key() const {
|
||||||
for (PieceType pt = PAWN; pt <= QUEEN; pt++)
|
for (PieceType pt = PAWN; pt <= QUEEN; pt++)
|
||||||
{
|
{
|
||||||
int count = piece_count(c, pt);
|
int count = piece_count(c, pt);
|
||||||
for (int i = 0; i <= count; i++)
|
for (int i = 0; i < count; i++)
|
||||||
result ^= zobMaterial[c][pt][i];
|
result ^= zobMaterial[c][pt][i];
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
@ -1755,10 +1755,10 @@ void Position::init_zobrist() {
|
||||||
|
|
||||||
for (int i = 0; i < 2; i++)
|
for (int i = 0; i < 2; i++)
|
||||||
for (int j = 0; j < 8; j++)
|
for (int j = 0; j < 8; j++)
|
||||||
for (int k = 0; k < 16; k++)
|
for (int k = 0; k < 8; k++)
|
||||||
zobMaterial[i][j][k] = (k > 0)? Key(genrand_int64()) : Key(0LL);
|
zobMaterial[i][j][k] = Key(genrand_int64());
|
||||||
|
|
||||||
for (int i = 0; i < 16; i++)
|
for (int i = 0; i < 8; i++)
|
||||||
zobMaterial[0][KING][i] = zobMaterial[1][KING][i] = Key(0ULL);
|
zobMaterial[0][KING][i] = zobMaterial[1][KING][i] = Key(0ULL);
|
||||||
|
|
||||||
zobExclusion = genrand_int64();
|
zobExclusion = genrand_int64();
|
||||||
|
|
Loading…
Add table
Reference in a new issue