1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-29 16:23:09 +00:00

Retire zobMaterial[]

Use zobrist[] array to compute material key.

Space save of 2KB in L1 cache.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2010-05-29 08:54:15 +01:00
parent 03cfd94414
commit 3ccdb57d6f
2 changed files with 4 additions and 15 deletions

View file

@ -47,7 +47,6 @@ using std::string;
Key Position::zobrist[2][8][64];
Key Position::zobEp[64];
Key Position::zobCastle[16];
Key Position::zobMaterial[2][8][16];
Key Position::zobSideToMove;
Key Position::zobExclusion;
@ -833,8 +832,8 @@ void Position::do_move(Move m, StateInfo& newSt, const CheckInfo& ci, bool moveI
pieceCount[us][PAWN]--;
// Update material key
st->materialKey ^= zobMaterial[us][PAWN][pieceCount[us][PAWN]];
st->materialKey ^= zobMaterial[us][promotion][pieceCount[us][promotion]-1];
st->materialKey ^= zobrist[us][PAWN][pieceCount[us][PAWN]];
st->materialKey ^= zobrist[us][promotion][pieceCount[us][promotion]-1];
// Update piece lists, move the last pawn at index[to] position
// and shrink the list. Add a new promotion piece to the list.
@ -936,7 +935,7 @@ void Position::do_capture_move(Key& key, PieceType capture, Color them, Square t
pieceCount[them][capture]--;
// Update material hash key
st->materialKey ^= zobMaterial[them][capture][pieceCount[them][capture]];
st->materialKey ^= zobrist[them][capture][pieceCount[them][capture]];
// Update piece list, move the last piece at index[capsq] position
//
@ -1599,7 +1598,7 @@ Key Position::compute_material_key() const {
{
int count = piece_count(c, pt);
for (int i = 0; i < count; i++)
result ^= zobMaterial[c][pt][i];
result ^= zobrist[c][pt][i];
}
return result;
}
@ -1752,15 +1751,6 @@ void Position::init_zobrist() {
zobCastle[i] = genrand_int64();
zobSideToMove = genrand_int64();
for (int i = 0; i < 2; i++)
for (int j = 0; j < 8; j++)
for (int k = 0; k < 8; k++)
zobMaterial[i][j][k] = Key(genrand_int64());
for (int i = 0; i < 8; i++)
zobMaterial[0][KING][i] = zobMaterial[1][KING][i] = Key(0ULL);
zobExclusion = genrand_int64();
}

View file

@ -334,7 +334,6 @@ private:
static Key zobrist[2][8][64];
static Key zobEp[64];
static Key zobCastle[16];
static Key zobMaterial[2][8][16];
static Key zobSideToMove;
static Score PieceSquareTable[16][64];
static Key zobExclusion;