Tidy up quick_evaluate()
authorMarco Costalba <mcostalba@gmail.com>
Thu, 25 Sep 2008 12:53:24 +0000 (14:53 +0200)
committerMarco Costalba <mcostalba@gmail.com>
Fri, 26 Sep 2008 03:54:49 +0000 (05:54 +0200)
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/evaluate.cpp

index 19fcd5f815c68b7822696a8ad04bb1f6623220d9..89b074eb2f16a63b1594e97da5b107f27f616e9a 100644 (file)
@@ -270,7 +270,7 @@ namespace {
                                     EvalInfo &ei);
 
   inline Value apply_weight(Value v, int w);
                                     EvalInfo &ei);
 
   inline Value apply_weight(Value v, int w);
-  Value scale_by_game_phase(Value mv, Value ev, Phase ph, ScaleFactor sf[]);
+  Value scale_by_game_phase(Value mv, Value ev, Phase ph, const ScaleFactor sf[]);
 
   int count_1s_8bit(Bitboard b);
 
 
   int count_1s_8bit(Bitboard b);
 
@@ -456,22 +456,18 @@ Value evaluate(const Position &pos, EvalInfo &ei, int threadID) {
 /// we should add scores from the pawn and material hash tables?
 
 Value quick_evaluate(const Position &pos) {
 /// we should add scores from the pawn and material hash tables?
 
 Value quick_evaluate(const Position &pos) {
-  Color stm;
-  Value mgValue, egValue;
-  ScaleFactor factor[2] = {SCALE_FACTOR_NORMAL, SCALE_FACTOR_NORMAL};
-  Phase phase;
 
   assert(pos.is_ok());
 
 
   assert(pos.is_ok());
 
-  stm = pos.side_to_move();
+  static const
+  ScaleFactor sf[2] = {SCALE_FACTOR_NORMAL, SCALE_FACTOR_NORMAL};  
 
 
-  mgValue = pos.mg_value();
-  egValue = pos.eg_value();
-  phase = pos.game_phase();
-
-  Value value = scale_by_game_phase(mgValue, egValue, phase, factor);
+  Value mgv = pos.mg_value();
+  Value egv = pos.eg_value();
+  Phase ph = pos.game_phase();
+  Color stm = pos.side_to_move();
 
 
-  return Sign[stm] * value;
+  return Sign[stm] * scale_by_game_phase(mgv, egv, ph, sf);
 }
 
 
 }
 
 
@@ -1081,7 +1077,7 @@ namespace {
   // score, based on game phase.  It also scales the return value by a
   // ScaleFactor array.
 
   // score, based on game phase.  It also scales the return value by a
   // ScaleFactor array.
 
-  Value scale_by_game_phase(Value mv, Value ev, Phase ph, ScaleFactor sf[]) {
+  Value scale_by_game_phase(Value mv, Value ev, Phase ph, const ScaleFactor sf[]) {
 
     assert(mv > -VALUE_INFINITE && mv < VALUE_INFINITE);
     assert(ev > -VALUE_INFINITE && ev < VALUE_INFINITE);
 
     assert(mv > -VALUE_INFINITE && mv < VALUE_INFINITE);
     assert(ev > -VALUE_INFINITE && ev < VALUE_INFINITE);