EasyMoveManager EasyMove;
Value DrawValue[COLOR_NB];
CounterMoveHistoryStats CounterMoveHistory;
template
Value search(Position& pos, Stack* ss, Value alpha, Value beta, Depth depth, bool cutNode);
template
Value qsearch(Position& pos, Stack* ss, Value alpha, Value beta, Depth depth);
Value value_to_tt(Value v, int ply);
Value value_from_tt(Value v, int ply);
void update_pv(Move* pv, Move move, Move* childPv);
void update_stats(const Position& pos, Stack* ss, Move move, Depth depth, Move* quiets, int quietsCnt);
void check_time();
} // namespace
/// Search::init() is called during startup to initialize various lookup tables
void Search::init() {
for (int imp = 0; imp <= 1; ++imp)
for (int d = 1; d < 64; ++d)
for (int mc = 1; mc < 64; ++mc)
{
double r = log(d) * log(mc) / 2;
if (r < 0.80)
continue;
// Increase reduction for non-PV nodes when eval is not improving
if (!imp && Reductions[NonPV][imp][d][mc] >= 2 * ONE_PLY)
Reductions[NonPV][imp][d][mc] += ONE_PLY;
У каждой программы свои движки, одни хорошие другие плохие, а есть просто гавно. А все потому что программы такие и программисты слабо играют в шахматы а беруться их делать. Самый лучший движок только на Гамблере. Неплохие на ческоме, чесспланете, чессвегас, чессфриденс, хотя у них полно косяков. Особенно на чесспрланете. Я сделал ход потом игра зависает, мой ход в какомто красном квадрате. должен он ходить и мой ход уже в нотации зафиксирован, но время почему то мое после хода и мне надо сдаться чтобы выйти. Приходится просто выключать комп. Возможно это противник включил какое то устройство и пока не сдашься выйти с этого сайта невозможно. И такая тупость на всех шахматных сайтах кроме Гамблера.