]> git.sesse.net Git - stockfish/blobdiff - src/misc.h
Small cleanups (2)
[stockfish] / src / misc.h
index c17441306c1a5a621579233b25441342712e68e0..dcef22a411c2c90276f8c993b13777f84f6f042c 100644 (file)
@@ -1,6 +1,6 @@
 /*
   Stockfish, a UCI chess playing engine derived from Glaurung 2.1
-  Copyright (C) 2004-2021 The Stockfish developers (see AUTHORS file)
+  Copyright (C) 2004-2022 The Stockfish developers (see AUTHORS file)
 
   Stockfish is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -105,6 +105,9 @@ class RunningAverage {
       bool is_greater(int64_t a, int64_t b)
         { return b * average > a * PERIOD * RESOLUTION ; }
 
+      int64_t value()
+        { return average / (PERIOD * RESOLUTION); }
+
   private :
       static constexpr int64_t PERIOD     = 4096;
       static constexpr int64_t RESOLUTION = 1024;
@@ -141,7 +144,7 @@ private:
 
 /// sigmoid(t, x0, y0, C, P, Q) implements a sigmoid-like function using only integers,
 /// with the following properties:
-/// 
+///
 ///  -  sigmoid is centered in (x0, y0)
 ///  -  sigmoid has amplitude [-P/Q , P/Q] instead of [-1 , +1]
 ///  -  limit is (y0 - P/Q) when t tends to -infinity
@@ -149,7 +152,7 @@ private:
 ///  -  the slope can be adjusted using C > 0, smaller C giving a steeper sigmoid
 ///  -  the slope of the sigmoid when t = x0 is P/(Q*C)
 ///  -  sigmoid is increasing with t when P > 0 and Q > 0
-///  -  to get a decreasing sigmoid, call with -t, or change sign of P
+///  -  to get a decreasing sigmoid, change sign of P
 ///  -  mean value of the sigmoid is y0
 ///
 /// Use <https://www.desmos.com/calculator/jhh83sqq92> to draw the sigmoid
@@ -161,6 +164,7 @@ inline int64_t sigmoid(int64_t t, int64_t x0,
                                   int64_t  Q)
 {
    assert(C > 0);
+   assert(Q != 0);
    return y0 + P * (t-x0) / (Q * (std::abs(t-x0) + C)) ;
 }