X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fevaluate.cpp;h=5d8d7b9902ec77fa1e1078e26b7e44725d44da7a;hp=445ba9cb00b3dcd49565962c5c3cb0c6209f5902;hb=c2d42ea8339b49e52a116e488214a14fda09d413;hpb=a40ded2884b512a84afe9af9ff5782f6634d316f diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 445ba9cb..5d8d7b99 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -89,7 +89,7 @@ namespace { // // Values modified by Joona Kiiski const Score WeightsInternal[] = { - S(252, 344), S(252, 259), S(46, 0), S(247, 0), S(259, 0) + S(252, 344), S(216, 266), S(46, 0), S(247, 0), S(259, 0) }; // MobilityBonus[PieceType][attacked] contains mobility bonuses for middle and @@ -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 @@ -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) + && !(SquaresByColorBB[color_of(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);