]> git.sesse.net Git - stockfish/blobdiff - src/endgame.h
Split evaluate_outposts from evaluate_common
[stockfish] / src / endgame.h
index cb087b4b4cfe0e3686081f2543c3a31c5c4d2d3d..011299ac6493c012f353102b1e34c0301c666308 100644 (file)
@@ -1,7 +1,7 @@
 /*
   Stockfish, a UCI chess playing engine derived from Glaurung 2.1
   Copyright (C) 2004-2008 Tord Romstad (Glaurung author)
-  Copyright (C) 2008 Marco Costalba
+  Copyright (C) 2008-2009 Marco Costalba
 
   Stockfish is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -54,6 +54,7 @@ enum EndgameType {
     KRPPKRP, // KRPP vs KRP
     KPsK,    // King and pawns vs king
     KBPKB,   // KBP vs KB
+    KBPPKB,  // KBPP vs KB
     KBPKN,   // KBP vs KN
     KNPK,    // KNP vs K
     KPKP     // KP vs KP
@@ -64,7 +65,7 @@ enum EndgameType {
 template<typename T>
 class EndgameFunctionBase {
 public:
-  EndgameFunctionBase(Color c) : strongerSide(c) { weakerSide = opposite_color(strongerSide); }
+  EndgameFunctionBase(Color c) : strongerSide(c), weakerSide(opposite_color(c)) {}
   virtual ~EndgameFunctionBase() {}
   virtual T apply(const Position&) = 0;
 
@@ -111,6 +112,7 @@ extern ScalingFunction<KRPKR> ScaleKRPKR, ScaleKRKRP; // KRP vs KR
 extern ScalingFunction<KRPPKRP> ScaleKRPPKRP, ScaleKRPKRPP; // KRPP vs KRP
 extern ScalingFunction<KPsK> ScaleKPsK, ScaleKKPs;    // King and pawns vs king
 extern ScalingFunction<KBPKB> ScaleKBPKB, ScaleKBKBP; // KBP vs KB
+extern ScalingFunction<KBPPKB> ScaleKBPPKB, ScaleKBKBPP; // KBPP vs KB
 extern ScalingFunction<KBPKN> ScaleKBPKN, ScaleKNKBP; // KBP vs KN
 extern ScalingFunction<KNPK> ScaleKNPK, ScaleKKNP;    // KNP vs K
 extern ScalingFunction<KPKP> ScaleKPKPw, ScaleKPKPb;  // KP vs KP