X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fevaluate.cpp;h=3e396af3032d6e11c2329d15763853f0f4f85b8f;hp=30ed08793e948744db4bef81500057b3de5e3bde;hb=d95b9189d850da83066a9bf3b2a1caffabb8073a;hpb=760f77872f3b266c16baa7b53e592e9603735479 diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 30ed0879..3e396af3 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -1,13 +1,14 @@ /* - Glaurung, a UCI chess playing engine. - Copyright (C) 2004-2008 Tord Romstad + Stockfish, a UCI chess playing engine derived from Glaurung 2.1 + Copyright (C) 2004-2008 Tord Romstad (Glaurung author) + Copyright (C) 2008 Marco Costalba - Glaurung is free software: you can redistribute it and/or modify + Stockfish is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - Glaurung is distributed in the hope that it will be useful, + Stockfish is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -777,7 +778,7 @@ namespace { while (b) { Square from, to = pop_1st_bit(&b); - if (!(escapeSquares & ~queen_attacks_bb(to, occ & clear_mask_bb(s)))) + if (!(escapeSquares & ~queen_attacks_bb(to, occ & ClearMaskBB[s]))) { // We have a mate, unless the queen is pinned or there // is an X-ray attack through the queen. @@ -786,8 +787,8 @@ namespace { from = p.piece_list(them, QUEEN, i); if ( bit_is_set(p.piece_attacks(from), to) && !bit_is_set(p.pinned_pieces(them), from) - && !(rook_attacks_bb(to, occ & clear_mask_bb(from)) & p.rooks_and_queens(us)) - && !(rook_attacks_bb(to, occ & clear_mask_bb(from)) & p.rooks_and_queens(us))) + && !(rook_attacks_bb(to, occ & ClearMaskBB[from]) & p.rooks_and_queens(us)) + && !(rook_attacks_bb(to, occ & ClearMaskBB[from]) & p.rooks_and_queens(us))) ei.mateThreat[them] = make_move(from, to); } @@ -1119,13 +1120,7 @@ namespace { ev = apply_scale_factor(ev, sf[(ev > Value(0) ? WHITE : BLACK)]); - // Linearized sigmoid interpolator - int sph = int(ph); - sph -= (64 - sph) / 4; - sph = Min(PHASE_MIDGAME, Max(PHASE_ENDGAME, sph)); - - Value result = Value(int((mv * sph + ev * (128 - sph)) / 128)); - + Value result = Value(int((mv * ph + ev * (128 - ph)) / 128)); return Value(int(result) & ~(GrainSize - 1)); }