11 #include <boost/format.hpp>
27 cerr <<
"Usage: " << prog <<
" [-v] [-f skip] [-o] csafiles\n"
40 int main(
int argc,
char **argv)
42 const char *program_name = argv[0];
43 bool error_flag =
false;
48 while ((c = getopt(argc, argv,
"f:ovh")) != EOF)
58 default: error_flag =
true;
64 if (error_flag || (argc < 1))
67 for (
int i=0; i<argc; ++i)
74 std::cout <<
"average cycles/position " << cycles.
getAverage() <<
"\n"
75 <<
"average cycles/position/move " << cycles_per_move.
getAverage()
90 for (
size_t i=0; i<moves.size(); ++i) {
92 PieceEval::computeDiffAfterMoveForRP(state, moves[i]);
94 See::see(state, moves[i], my_pin, op_pin);
96 const size_t consumed = clock.
stop();
98 cycles_per_move.
add(consumed/moves.size());
106 rec = CsaFile(filename).getRecord();
108 catch (CsaIOError& e) {
109 std::cerr <<
"skip " << filename <<
"\n";
110 std::cerr << e.what() <<
"\n";
117 NumEffectState state(rec.getInitialState());
120 for (
size_t i=0; i<moves.size(); ++i) {
121 const Move move = moves[i];
122 assert(state.isValidMove(move));
126 state.makeMove(move);