X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fevaluate.cpp;h=5e278242b742ddd2457d0a7f2312b63e47f5b081;hp=7e4f963e3685231d3276afa713040455182fd4ee;hb=4554d8b2ac1ad260c3f7123b2a7d3a3385fa8306;hpb=b56a098cfb5b2ff2e34acda693f2d9878de48aec diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 7e4f963e..5e278242 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -288,7 +288,7 @@ Value do_evaluate(const Position& pos, Value& margin) { margins[WHITE] = margins[BLACK] = VALUE_ZERO; // Probe the material hash table - ei.mi = Threads[pos.thread()].materialTable.get_material_info(pos); + ei.mi = Threads[pos.thread()].materialTable.material_info(pos); score += ei.mi->material_value(); // If we have a specialized evaluation function for the current material @@ -300,7 +300,7 @@ Value do_evaluate(const Position& pos, Value& margin) { } // Probe the pawn hash table - ei.pi = Threads[pos.thread()].pawnTable.get_pawn_info(pos); + ei.pi = Threads[pos.thread()].pawnTable.pawn_info(pos); score += ei.pi->pawns_value(); // Initialize attack and king safety bitboards @@ -412,7 +412,7 @@ void read_evaluation_uci_options(Color us) { // If running in analysis mode, make sure we use symmetrical king safety. We do this // by replacing both Weights[kingDangerUs] and Weights[kingDangerThem] by their average. - if (Options["UCI_AnalyseMode"].value()) + if (Options["UCI_AnalyseMode"]) Weights[kingDangerUs] = Weights[kingDangerThem] = (Weights[kingDangerUs] + Weights[kingDangerThem]) / 2; init_safety(); @@ -462,8 +462,8 @@ namespace { // no minor piece which can exchange the outpost piece. if (bonus && bit_is_set(ei.attackedBy[Us][PAWN], s)) { - if ( pos.pieces(KNIGHT, Them) == EmptyBoardBB - && (SquaresByColorBB[color_of(s)] & pos.pieces(BISHOP, Them)) == EmptyBoardBB) + if ( !pos.pieces(KNIGHT, Them) + && !(same_color_squares(s) & pos.pieces(BISHOP, Them))) bonus += bonus + bonus / 2; else bonus += bonus / 2; @@ -488,7 +488,7 @@ namespace { const Color Them = (Us == WHITE ? BLACK : WHITE); const Square* pl = pos.piece_list(Us, Piece); - ei.attackedBy[Us][Piece] = EmptyBoardBB; + ei.attackedBy[Us][Piece] = 0; while ((s = *pl++) != SQ_NONE) { @@ -850,7 +850,7 @@ namespace { // Increase the bonus if the passed pawn is supported by a friendly pawn // on the same rank and a bit smaller if it's on the previous rank. - supportingPawns = pos.pieces(PAWN, Us) & neighboring_files_bb(s); + supportingPawns = pos.pieces(PAWN, Us) & neighboring_files_bb(file_of(s)); if (supportingPawns & rank_bb(s)) ebonus += Value(r * 20); @@ -979,7 +979,7 @@ namespace { pliesToGo = 2 * movesToGo - int(loserSide == pos.side_to_move()); // Generate list of blocking pawns and supporters - supporters = neighboring_files_bb(s) & candidates; + supporters = neighboring_files_bb(file_of(s)) & candidates; opposed = squares_in_front_of(loserSide, s) & pos.pieces(PAWN, winnerSide); blockers = passed_pawn_mask(loserSide, s) & pos.pieces(PAWN, winnerSide); @@ -1101,8 +1101,8 @@ namespace { Score weight_option(const std::string& mgOpt, const std::string& egOpt, Score internalWeight) { // Scale option value from 100 to 256 - int mg = Options[mgOpt].value() * 256 / 100; - int eg = Options[egOpt].value() * 256 / 100; + int mg = Options[mgOpt] * 256 / 100; + int eg = Options[egOpt] * 256 / 100; return apply_weight(make_score(mg, eg), internalWeight); }