fn assign_move_scores(
    context: &SearchContext,
    moves: &[MaybeUninit<Move>; 218],
    move_scores: &mut [MaybeUninit<i16>; 218],
    moves_count: usize
)
Expand description

Assigns scores for moves by filling move_scores array with moves_count length, based on current context. Move ordering in quiescence search is mainly based on SEE and works as follows:

  • for every en passant, assign 0
  • for every capture with promotion (excluding underpromotions), assign value of the promoted piece
  • for rest of the moves, assign SEE result