/*
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
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
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.
-
+
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
private:
void clear();
-
+
Key key;
int16_t mgValue;
int16_t egValue;
uint8_t factor[2];
- EndgameEvaluationFunction* evaluationFunction;
- ScalingFunction* scalingFunction[2];
- uint8_t spaceWeight;
+ EndgameEvaluationFunctionBase* evaluationFunction;
+ EndgameScalingFunctionBase* scalingFunction[2];
+ int spaceWeight;
};
/// MaterialInfo::scale_factor takes a position and a color as input, and
-/// returns a scale factor for the given color. We have to provide the
+/// returns a scale factor for the given color. We have to provide the
/// position in addition to the color, because the scale factor need not
/// to be a constant: It can also be a function which should be applied to
/// the position. For instance, in KBP vs K endgames, a scaling function
/// MaterialInfo::evaluate applies a specialized evaluation function
-/// to a given position object. It should only be called when
+/// to a given position object. It should only be called when
/// specialized_eval_exists() returns 'true'.
inline Value MaterialInfo::evaluate(const Position& pos) const {