]> git.sesse.net Git - stockfish/blobdiff - src/movepick.cpp
Retire seeValues[] and move PieceValue[] out of Position
[stockfish] / src / movepick.cpp
index 1a8f5bf60ea4a9cc50c6ed7e5b666f04d4992277..208007cca24e84d7a54ac0ef1c4844b23e844161 100644 (file)
@@ -118,13 +118,13 @@ MovePicker::MovePicker(const Position& p, Move ttm, Depth d, const History& h, S
   go_next_phase();
 }
 
   go_next_phase();
 }
 
-MovePicker::MovePicker(const Position& p, Move ttm, const History& h, int parentCapture)
+MovePicker::MovePicker(const Position& p, Move ttm, const History& h, PieceType parentCapture)
                        : pos(p), H(h) {
 
   assert (!pos.in_check());
 
   // In ProbCut we consider only captures better than parent's move
                        : pos(p), H(h) {
 
   assert (!pos.in_check());
 
   // In ProbCut we consider only captures better than parent's move
-  captureThreshold = parentCapture;
+  captureThreshold = piece_value_midgame(Piece(parentCapture));
   phasePtr = ProbCutTable;
 
   if (   ttm != MOVE_NONE
   phasePtr = ProbCutTable;
 
   if (   ttm != MOVE_NONE
@@ -236,7 +236,7 @@ void MovePicker::score_captures() {
   for (MoveStack* cur = moves; cur != lastMove; cur++)
   {
       m = cur->move;
   for (MoveStack* cur = moves; cur != lastMove; cur++)
   {
       m = cur->move;
-      cur->score =  pos.midgame_value_of_piece_on(move_to(m))
+      cur->score =  piece_value_midgame(pos.piece_on(move_to(m)))
                   - pos.type_of_piece_on(move_from(m));
 
       if (move_is_promotion(m))
                   - pos.type_of_piece_on(move_from(m));
 
       if (move_is_promotion(m))
@@ -275,7 +275,7 @@ void MovePicker::score_evasions() {
       if ((seeScore = pos.see_sign(m)) < 0)
           cur->score = seeScore - History::MaxValue; // Be sure we are at the bottom
       else if (pos.move_is_capture(m))
       if ((seeScore = pos.see_sign(m)) < 0)
           cur->score = seeScore - History::MaxValue; // Be sure we are at the bottom
       else if (pos.move_is_capture(m))
-          cur->score =  pos.midgame_value_of_piece_on(move_to(m))
+          cur->score =  piece_value_midgame(pos.piece_on(move_to(m)))
                       - pos.type_of_piece_on(move_from(m)) + History::MaxValue;
       else
           cur->score = H.value(pos.piece_on(move_from(m)), move_to(m));
                       - pos.type_of_piece_on(move_from(m)) + History::MaxValue;
       else
           cur->score = H.value(pos.piece_on(move_from(m)), move_to(m));