- // Function for probing the KP vs K bitbase
- int probe_kpk(Square wksq, Square wpsq, Square bksq, Color stm);
+ typedef EndgameBase<Value> EF;
+ typedef EndgameBase<ScaleFactor> SF;
+
+} // namespace
+
+
+/// Endgames member definitions
+
+template<> const Endgames::EFMap& Endgames::get<EF>() const { return maps.first; }
+template<> const Endgames::SFMap& Endgames::get<SF>() const { return maps.second; }
+
+Endgames::Endgames() {
+
+ add<Endgame<Value, KNNK> >("KNNK");
+ add<Endgame<Value, KPK> >("KPK");
+ add<Endgame<Value, KBNK> >("KBNK");
+ add<Endgame<Value, KRKP> >("KRKP");
+ add<Endgame<Value, KRKB> >("KRKB");
+ add<Endgame<Value, KRKN> >("KRKN");
+ add<Endgame<Value, KQKR> >("KQKR");
+ add<Endgame<Value, KBBKN> >("KBBKN");