
/// АВТОР Бренкман Андрей (Brenkman Andrey)
/// ПОСЛЕДНЕЕ ИЗМЕНЕНИЕ 2.11.2009 20.12.2009 6.09.2011


///
/// Задаем различные режимы компиляции перебора. Здесь мы можем легко
/// включить отключить любой метод
///


/// при отключении(0) остается только генератор. даже останавливать 
/// движок приходится через Ctrl + Alt + Delete
/// сейчас еще придется отключать проверку на мат в 
/// модуле c_Iterative_Deepening т.е. отключать фрагмент && (flag_mate == 0)
#define SAVE_LINE 1
           
/// включаем-выключаем(1-0) режим форсировки на взятиях
#define FORCED 1

/// включаем-выключаем(1-0) режим альфа-бета отсечения
#define ALPHA_BETA_ON 1


/// нижеследующие три метода дают эффект только при включенном альфа-бета

/// HASH -----------------------------------------------------------

/// включаем-выключаем(1-0) хеш-таблицу
#define HASH 1

/// включаем-выключаем(1-0) использование оценки из хеш-таблицы
#define HASH_SCORE 1

/// включаем-выключаем(1-0) экстренное завершение работы движка
/// в случае ошибки использования хода из хеш таблицы
#define HASH_TEST 0 
  
/// включаем-выключаем(1-0) экстренное завершение работы движка
/// в случае ошибки использования оценки из хеш таблицы
/// обязательно HASH_SCORE 1
#define HASH_TEST_SCORE 0
                    
/// включаем-выключаем(1-0) проверку правильной генерации  
/// и изменения хеш - ключа (очень важно для тестирование на коллизии)
#define HASH_TEST_KEY 0 
                        
// ----------------------------------------------------------------

/// включаем-выключаем(1-0) киллеров
#define KILLER 1

/// включаем-выключаем(1-0) историю
#define SW_HISTORY 1

/// включаем-выключаем(1-0) детектор повторов позиций
#define REPETITION 1

/// включаем-выключаем(1-0) продление на шахах
#define EXTENSION_CHEK 1

/// внимание! для нулевого хода и futility должно быть EXTENSION_CHEK 1

/// включаем-выключаем(1-0) режим нулевого хода
#define NULL_MOVE 1

/// включаем-выключаем(1-0) режим Late Move Reductions
#define LMR 1

/// включаем-выключаем(1-0) режим futility
#define FUTILITY 1

///--------------------------

/// включаем-выключаем(1-0) режим вывода в файл тестовой информации
#define TEST_L 0

/// включаем-выключаем(1-0) режим вывода при игре тестовой информации
/// в графическую оболочку т.е. либо лучшая линия либо все линии первого уровня
#define TEST_PRINT_ALL_LINE 0