- if (!pos.pieces(PAWN) && !pos.pieces(ROOK) && !pos.pieces(QUEEN))
- {
- // Minor piece endgame with at least one minor piece per side and
- // no pawns. Note that the case KmmK is already handled by KXK.
- assert((pos.pieces(WHITE, KNIGHT) | pos.pieces(WHITE, BISHOP)));
- assert((pos.pieces(BLACK, KNIGHT) | pos.pieces(BLACK, BISHOP)));
-
- if ( pos.count<BISHOP>(WHITE) + pos.count<KNIGHT>(WHITE) <= 2
- && pos.count<BISHOP>(BLACK) + pos.count<KNIGHT>(BLACK) <= 2)
- {
- e->evaluationFunction = &EvaluateKmmKm[pos.side_to_move()];
- return e;
- }
- }
-
- // OK, we didn't find any special evaluation function for the current
- // material configuration. Is there a suitable scaling function?
- //
- // We face problems when there are several conflicting applicable
- // scaling functions and we need to decide which one to use.
+ // OK, we didn't find any special evaluation function for the current material
+ // configuration. Is there a suitable specialized scaling function?