20 for (
size_t i=0; i<killer_moves.capacity1(); ++i)
21 for (
size_t j=0; j<killer_moves.capacity2(); ++j)
22 killer_moves[i][j].clear();
27 MoveVector&
out)
const
33 for (
size_t i=0; i<moves.
size(); ++i)
35 Move bigram_move = moves[i];
41 && (state.pieceOnBoard(from).ptype() != ptype))
47 const Player player = state.turn();
48 const PieceMask pieces
49 = state.piecesOnBoard(player) & state.effectSetAt(to);
56 const Piece moving = state.pieceOf(i);
57 assert(moving.
owner() == player);
58 if (moving.
ptype() != ptype)
63 bigram_move =
Move(new_from, to,
68 assert(state.isValidMoveByRule(bigram_move,
false));
73 if (state.isAlmostValidMove<
false>(bigram_move))
74 out.push_back(bigram_move);
81 for (
int y=1; y<=9; ++y)
83 for (
int x=1; x<=9; ++x)
85 const Square position(x,y);
91 if (moves[0].isNormal())
93 std::cerr << position <<
" " << moves[0];
94 if (moves[1].isNormal())
95 std::cerr <<
" " << moves[1];