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/>.
*/
Value mg_value() const;
Value eg_value() const;
ScaleFactor scale_factor(const Position& pos, Color c) const;
+ int space_weight() const;
bool specialized_eval_exists() const;
Value evaluate(const Position& pos) const;
private:
void clear();
-
+
Key key;
int16_t mgValue;
int16_t egValue;
uint8_t factor[2];
- EndgameEvaluationFunction* evaluationFunction;
- ScalingFunction* scalingFunction[2];
+ EndgameEvaluationFunctionBase* evaluationFunction;
+ EndgameScalingFunctionBase* scalingFunction[2];
+ uint8_t spaceWeight;
};
mgValue = egValue = 0;
factor[WHITE] = factor[BLACK] = uint8_t(SCALE_FACTOR_NORMAL);
+ spaceWeight = 0;
evaluationFunction = NULL;
scalingFunction[WHITE] = scalingFunction[BLACK] = NULL;
}
}
+/// MaterialInfo::space_weight() simply returns the weight for the space
+/// evaluation for this material configuration.
+
+inline int MaterialInfo::space_weight() const {
+
+ return spaceWeight;
+}
+
+
/// MaterialInfo::specialized_eval_exists decides whether there is a
/// specialized evaluation function for the current material configuration,
/// or if the normal evaluation function should be used.