- endMoves = cur + 2;
-
- killers[0].move = ss->killers[0];
- killers[1].move = ss->killers[1];
- killers[2].move = killers[3].move = MOVE_NONE;
- killers[4].move = killers[5].move = MOVE_NONE;
-
- // Please note that following code is racy and could yield to rare (less
- // than 1 out of a million) duplicated entries in SMP case. This is harmless.
-
- // Be sure countermoves are different from killers
- for (int i = 0; i < 2; ++i)
- if ( countermoves[i] != (cur+0)->move
- && countermoves[i] != (cur+1)->move)
- (endMoves++)->move = countermoves[i];
-
- // Be sure followupmoves are different from killers and countermoves
- for (int i = 0; i < 2; ++i)
- if ( followupmoves[i] != (cur+0)->move
- && followupmoves[i] != (cur+1)->move
- && followupmoves[i] != (cur+2)->move
- && followupmoves[i] != (cur+3)->move)
- (endMoves++)->move = followupmoves[i];
- return;
-
- case QUIETS_1_S1: