public int GetValue(int depth, ulong move) { var killerMove = KillerMove.Parse(move); if (killerMove == _killerMoves[depth][0]) { return(2); } return(killerMove == _killerMoves[depth][1] ? 1 : 0); }
public void Update(int depth, ulong move) { var killerMove = KillerMove.Parse(move); if (killerMove == _killerMoves[depth][0]) { return; // Move already is the best killer move. } // Shift and update killer move. _killerMoves[depth][1] = _killerMoves[depth][0]; _killerMoves[depth][0] = killerMove; }