+ /// Variables initialized by UCI options
+
+ // Adjustable playing strength
+ int Slowdown = 0;
+ const int SlowdownArray[32] = {
+ 19, 41, 70, 110, 160, 230, 320, 430, 570, 756, 1000, 1300, 1690, 2197,
+ 2834, 3600, 4573, 5809, 7700, 9863, 12633, 16181, 20726, 26584, 34005,
+ 43557, 55792, 71463, 91536, 117247, 150180, 192363
+ };
+ int Strength;
+ const int MaxStrength = 25;
+
+ // Minimum number of full depth (i.e. non-reduced) moves at PV and non-PV nodes
+ int LMRPVMoves, LMRNonPVMoves; // heavy SMP read access for the latter
+
+ // Depth limit for use of dynamic threat detection
+ Depth ThreatDepth; // heavy SMP read access
+
+ // Last seconds noise filtering (LSN)
+ const bool UseLSNFiltering = true;
+ const int LSNTime = 4000; // In milliseconds
+ const Value LSNValue = value_from_centipawns(200);
+ bool loseOnTime = false;
+
+ // Extensions. Array index 0 is used at non-PV nodes, index 1 at PV nodes.
+ // There is heavy SMP read access on these arrays
+ Depth CheckExtension[2], SingleReplyExtension[2], PawnPushTo7thExtension[2];
+ Depth PassedPawnExtension[2], PawnEndgameExtension[2], MateThreatExtension[2];
+
+ // Iteration counters