X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fucioption.cpp;h=fa2a0cab342630862c4c61babc723c9678527729;hp=1bf5a4be08a6b0e9a153daf0271af7608f9ad2e6;hb=a55b06d3c90674261b387bcf27f13b6813801bc3;hpb=973eb543a4794587b8e42508cfbe7b8f616b03ce diff --git a/src/ucioption.cpp b/src/ucioption.cpp index 1bf5a4be..fa2a0cab 100644 --- a/src/ucioption.cpp +++ b/src/ucioption.cpp @@ -1,13 +1,14 @@ /* - Glaurung, a UCI chess playing engine. - Copyright (C) 2004-2008 Tord Romstad + Stockfish, a UCI chess playing engine derived from Glaurung 2.1 + Copyright (C) 2004-2008 Tord Romstad (Glaurung author) + Copyright (C) 2008 Marco Costalba - Glaurung is free software: you can redistribute it and/or modify + 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. - Glaurung is distributed in the hope that it will be useful, + 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. @@ -72,6 +73,7 @@ namespace { // load_defaults populates the options vector with the hard // coded names and default values. + void load_defaults(Options& o) { o.push_back(Option("Use Search Log", false)); @@ -118,6 +120,7 @@ namespace { o.push_back(Option("Full Depth Moves (non-PV nodes)", 3, 1, 100)); o.push_back(Option("Threat Depth", 5, 0, 100)); o.push_back(Option("Selective Plies", 7, 0, 10)); + o.push_back(Option("Null driven IID", false)); o.push_back(Option("Futility Pruning (Main Search)", true)); o.push_back(Option("Futility Pruning (Quiescence Search)", true)); o.push_back(Option("Futility Margin 0", 50, 0, 1000)); @@ -125,6 +128,9 @@ namespace { o.push_back(Option("Futility Margin 2", 300, 0, 1000)); o.push_back(Option("Maximum Razoring Depth", 3, 0, 4)); o.push_back(Option("Razoring Margin", 300, 150, 600)); + o.push_back(Option("LSN filtering", true)); + o.push_back(Option("LSN Time Margin (sec)", 4, 1, 10)); + o.push_back(Option("LSN Value Margin", 200, 100, 600)); o.push_back(Option("Randomness", 0, 0, 10)); o.push_back(Option("Minimum Split Depth", 4, 4, 7)); o.push_back(Option("Maximum Number of Threads per Split Point", 5, 4, 8)); @@ -171,7 +177,7 @@ namespace { template T get_option_value(const std::string& optionName) { - T ret; + T ret = T(); Options::iterator it = option_with_name(optionName); if (it != options.end())