X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmaterial.cpp;h=e2c64ff76e40006e9f93b4fb0c31c013c5e955dd;hp=313a9cf2921dd0143e5bd73c14dedde1467f0b17;hb=553655eb073cdd59c726dd77fcf368d499029467;hpb=8307da0de77c9c7bbf7c56a7d9c8a688ff4dfb4e diff --git a/src/material.cpp b/src/material.cpp index 313a9cf2..e2c64ff7 100644 --- a/src/material.cpp +++ b/src/material.cpp @@ -84,12 +84,6 @@ namespace { } // namespace -/// MaterialInfoTable c'tor and d'tor allocate and free the space for Endgames - -void MaterialInfoTable::init() { Base::init(); if (!funcs) funcs = new Endgames(); } -MaterialInfoTable::~MaterialInfoTable() { delete funcs; } - - /// MaterialInfoTable::material_info() takes a position object as input, /// computes or looks up a MaterialInfo object, and returns a pointer to it. /// If the material configuration is not already present in the table, it @@ -203,13 +197,13 @@ MaterialInfo* MaterialInfoTable::material_info(const Position& pos) const { // No pawns makes it difficult to win, even with a material advantage if (pos.piece_count(WHITE, PAWN) == 0 && npm_w - npm_b <= BishopValueMidgame) { - mi->factor[WHITE] = uint8_t + mi->factor[WHITE] = (uint8_t) (npm_w == npm_b || npm_w < RookValueMidgame ? 0 : NoPawnsSF[std::min(pos.piece_count(WHITE, BISHOP), 2)]); } if (pos.piece_count(BLACK, PAWN) == 0 && npm_b - npm_w <= BishopValueMidgame) { - mi->factor[BLACK] = uint8_t + mi->factor[BLACK] = (uint8_t) (npm_w == npm_b || npm_b < RookValueMidgame ? 0 : NoPawnsSF[std::min(pos.piece_count(BLACK, BISHOP), 2)]); } @@ -231,7 +225,7 @@ MaterialInfo* MaterialInfoTable::material_info(const Position& pos) const { { pos.piece_count(BLACK, BISHOP) > 1, pos.piece_count(BLACK, PAWN), pos.piece_count(BLACK, KNIGHT), pos.piece_count(BLACK, BISHOP) , pos.piece_count(BLACK, ROOK), pos.piece_count(BLACK, QUEEN) } }; - mi->value = int16_t((imbalance(pieceCount) - imbalance(pieceCount)) / 16); + mi->value = (int16_t)((imbalance(pieceCount) - imbalance(pieceCount)) / 16); return mi; }