X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fevaluate.cpp;h=74e70fa2530cf6903b553e892ca95188b8484f65;hb=391cd57b52a18166f90202f01f28be1f3bf24d4c;hp=73ffcfb053057a6a203674dff264702940f55110;hpb=a98dee783582c84ca2647ca28daad0c9a13d1d35;p=stockfish diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 73ffcfb0..74e70fa2 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -821,7 +821,7 @@ namespace { // add all X-ray attacks by the rook or queen. Otherwise consider only // the squares in the pawn's path attacked or occupied by the enemy. if ( (squares_behind(Us, s) & pos.pieces(ROOK, QUEEN, Them)) - && (squares_behind(Us, s) & pos.pieces(ROOK, QUEEN, Them) & pos.attacks_from(s))) + && (squares_behind(Us, s) & pos.pieces(ROOK, QUEEN, Them) & pos.attacks_from(s))) unsafeSquares = squaresToQueen; else unsafeSquares = squaresToQueen & (ei.attacked_by(Them) | pos.pieces_of_color(Them)); @@ -902,7 +902,7 @@ namespace { if (d < 0 || pathDefended) { - int mtg = RANK_8 - relative_rank(c, s); + int mtg = RANK_8 - relative_rank(c, s) - int(relative_rank(c, s) == RANK_2); int blockerCount = count_1s_max_15(squares_in_front_of(c, s) & pos.occupied_squares()); mtg += blockerCount; d += blockerCount; @@ -1064,9 +1064,8 @@ namespace { } - // scale_by_game_phase() interpolates between a middle game and an endgame - // score, based on game phase. It also scales the return value by a - // ScaleFactor array. + // scale_by_game_phase() interpolates between a middle game and an endgame score, + // based on game phase. It also scales the return value by a ScaleFactor array. Value scale_by_game_phase(const Score& v, Phase ph, const ScaleFactor sf[]) { @@ -1076,7 +1075,7 @@ namespace { Value eg = eg_value(v); ScaleFactor f = sf[eg > Value(0) ? WHITE : BLACK]; - Value ev = Value((eg * f) / int(SCALE_FACTOR_NORMAL)); + Value ev = Value((eg * f) / SCALE_FACTOR_NORMAL); int result = (mg_value(v) * ph + ev * (128 - ph)) / 128; return Value(result & ~(GrainSize - 1));