namespace Eval {
bool useNNUE;
- string eval_file_loaded = "None";
+ string currentEvalFileName = "None";
/// NNUE::init() tries to load a NNUE network at startup time, or when the engine
/// receives a UCI command "setoption name EvalFile value nn-[a-z0-9]{12}.nnue"
#endif
for (string directory : dirs)
- if (eval_file_loaded != eval_file)
+ if (currentEvalFileName != eval_file)
{
if (directory != "<internal>")
{
ifstream stream(directory + eval_file, ios::binary);
if (load_eval(eval_file, stream))
- eval_file_loaded = eval_file;
+ currentEvalFileName = eval_file;
}
if (directory == "<internal>" && eval_file == EvalFileDefaultName)
istream stream(&buffer);
if (load_eval(eval_file, stream))
- eval_file_loaded = eval_file;
+ currentEvalFileName = eval_file;
}
}
}
if (eval_file.empty())
eval_file = EvalFileDefaultName;
- if (useNNUE && eval_file_loaded != eval_file)
+ if (useNNUE && currentEvalFileName != eval_file)
{
string msg1 = "If the UCI option \"Use NNUE\" is set to true, network evaluation parameters compatible with the engine must be available.";
if ( pos.piece_on(SQ_A1) == W_BISHOP
&& pos.piece_on(SQ_B2) == W_PAWN)
- correction += !pos.empty(SQ_B3) ? -CorneredBishop * 4
- : -CorneredBishop * 3;
+ correction -= CorneredBishop;
if ( pos.piece_on(SQ_H1) == W_BISHOP
&& pos.piece_on(SQ_G2) == W_PAWN)
- correction += !pos.empty(SQ_G3) ? -CorneredBishop * 4
- : -CorneredBishop * 3;
+ correction -= CorneredBishop;
if ( pos.piece_on(SQ_A8) == B_BISHOP
&& pos.piece_on(SQ_B7) == B_PAWN)
- correction += !pos.empty(SQ_B6) ? CorneredBishop * 4
- : CorneredBishop * 3;
+ correction += CorneredBishop;
if ( pos.piece_on(SQ_H8) == B_BISHOP
&& pos.piece_on(SQ_G7) == B_PAWN)
- correction += !pos.empty(SQ_G6) ? CorneredBishop * 4
- : CorneredBishop * 3;
+ correction += CorneredBishop;
- return pos.side_to_move() == WHITE ? Value(correction)
- : -Value(correction);
+ return pos.side_to_move() == WHITE ? Value(5 * correction)
+ : -Value(5 * correction);
}
} // namespace Eval
Value v;
- if (!Eval::useNNUE)
+ if (!useNNUE)
v = Evaluation<NO_TRACE>(pos).value();
else
{