mirror of
https://github.com/sockspls/badfish
synced 2025-04-29 16:23:09 +00:00
Retire apply_scale_factor() and scale.h
Directly inline in the only occurence. No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
3e38e61565
commit
a98dee7835
5 changed files with 15 additions and 60 deletions
|
@ -26,7 +26,6 @@
|
|||
////
|
||||
|
||||
#include "position.h"
|
||||
#include "scale.h"
|
||||
#include "value.h"
|
||||
|
||||
|
||||
|
|
|
@ -29,7 +29,6 @@
|
|||
#include "evaluate.h"
|
||||
#include "material.h"
|
||||
#include "pawns.h"
|
||||
#include "scale.h"
|
||||
#include "thread.h"
|
||||
#include "ucioption.h"
|
||||
|
||||
|
@ -1075,7 +1074,9 @@ namespace {
|
|||
assert(eg_value(v) > -VALUE_INFINITE && eg_value(v) < VALUE_INFINITE);
|
||||
assert(ph >= PHASE_ENDGAME && ph <= PHASE_MIDGAME);
|
||||
|
||||
Value ev = apply_scale_factor(eg_value(v), sf[(eg_value(v) > Value(0) ? WHITE : BLACK)]);
|
||||
Value eg = eg_value(v);
|
||||
ScaleFactor f = sf[eg > Value(0) ? WHITE : BLACK];
|
||||
Value ev = Value((eg * f) / int(SCALE_FACTOR_NORMAL));
|
||||
|
||||
int result = (mg_value(v) * ph + ev * (128 - ph)) / 128;
|
||||
return Value(result & ~(GrainSize - 1));
|
||||
|
|
|
@ -27,7 +27,6 @@
|
|||
|
||||
#include "endgame.h"
|
||||
#include "position.h"
|
||||
#include "scale.h"
|
||||
|
||||
|
||||
////
|
||||
|
|
52
src/scale.h
52
src/scale.h
|
@ -1,52 +0,0 @@
|
|||
/*
|
||||
Stockfish, a UCI chess playing engine derived from Glaurung 2.1
|
||||
Copyright (C) 2004-2008 Tord Romstad (Glaurung author)
|
||||
Copyright (C) 2008-2010 Marco Costalba, Joona Kiiski, Tord Romstad
|
||||
|
||||
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/>.
|
||||
*/
|
||||
|
||||
|
||||
#if !defined(SCALE_H_INCLUDED)
|
||||
#define SCALE_H_INCLUDED
|
||||
|
||||
////
|
||||
//// Includes
|
||||
////
|
||||
|
||||
#include "value.h"
|
||||
|
||||
|
||||
////
|
||||
//// Types
|
||||
////
|
||||
|
||||
enum ScaleFactor {
|
||||
SCALE_FACTOR_ZERO = 0,
|
||||
SCALE_FACTOR_NORMAL = 64,
|
||||
SCALE_FACTOR_MAX = 128,
|
||||
SCALE_FACTOR_NONE = 255
|
||||
};
|
||||
|
||||
|
||||
////
|
||||
//// Inline functions
|
||||
////
|
||||
|
||||
inline Value apply_scale_factor(Value v, ScaleFactor f) {
|
||||
return Value((v * f) / int(SCALE_FACTOR_NORMAL));
|
||||
}
|
||||
|
||||
|
||||
#endif // !defined(SCALE_H_INCLUDED)
|
16
src/value.h
16
src/value.h
|
@ -41,15 +41,23 @@ enum ValueType {
|
|||
|
||||
|
||||
enum Value {
|
||||
VALUE_DRAW = 0,
|
||||
VALUE_DRAW = 0,
|
||||
VALUE_KNOWN_WIN = 15000,
|
||||
VALUE_MATE = 30000,
|
||||
VALUE_INFINITE = 30001,
|
||||
VALUE_NONE = 30002,
|
||||
VALUE_MATE = 30000,
|
||||
VALUE_INFINITE = 30001,
|
||||
VALUE_NONE = 30002,
|
||||
VALUE_ENSURE_SIGNED = -1
|
||||
};
|
||||
|
||||
|
||||
enum ScaleFactor {
|
||||
SCALE_FACTOR_ZERO = 0,
|
||||
SCALE_FACTOR_NORMAL = 64,
|
||||
SCALE_FACTOR_MAX = 128,
|
||||
SCALE_FACTOR_NONE = 255
|
||||
};
|
||||
|
||||
|
||||
/// Score enum keeps a midgame and an endgame value in a single
|
||||
/// integer (enum), first LSB 16 bits are used to store endgame
|
||||
/// value, while upper bits are used for midgame value.
|
||||
|
|
Loading…
Add table
Reference in a new issue