Avoid some redundant scaling function calls
authormstembera <MissingEmail@email>
Wed, 8 Jun 2016 00:09:57 +0000 (17:09 -0700)
committerMarco Costalba <mcostalba@gmail.com>
Fri, 10 Jun 2016 04:43:37 +0000 (06:43 +0200)
Posted by Mohammed Li here:
https://groups.google.com/forum/?fromgroups=#!topic/fishcooking/N-PHfN0O79o

No functional change.

src/material.h

index abd9ffa..bec2d66 100644 (file)
@@ -50,9 +50,9 @@ struct Entry {
   // the position. For instance, in KBP vs K endgames, the scaling function looks
   // for rook pawns and wrong-colored bishops.
   ScaleFactor scale_factor(const Position& pos, Color c) const {
-    return   !scalingFunction[c]
-          || (*scalingFunction[c])(pos) == SCALE_FACTOR_NONE ? ScaleFactor(factor[c])
-                                                             : (*scalingFunction[c])(pos);
+    ScaleFactor sf = scalingFunction[c] ? (*scalingFunction[c])(pos)
+                                        :  SCALE_FACTOR_NONE;
+    return sf != SCALE_FACTOR_NONE ? sf : ScaleFactor(factor[c]);
   }
 
   Key key;