X-Git-Url: https://git.sesse.net/?p=remoteglot;a=blobdiff_plain;f=book%2Fbinloader.cpp;h=9658c2ec992bfd6941a086628b6e7042911ca624;hp=e4b40a6f59a6c0d2ac028f6f0cd69422c5ee1cfd;hb=3a650d866c5e5792146f498cb6eaae7517ace1d3;hpb=7dfa8135cabec7261a2a255e7b5edd679e75da0b diff --git a/book/binloader.cpp b/book/binloader.cpp index e4b40a6..9658c2e 100644 --- a/book/binloader.cpp +++ b/book/binloader.cpp @@ -1,4 +1,7 @@ //#define _GLIBCXX_PARALLEL + +// Usage: ./binloader IN1 IN2 IN3 ... OUT + #include #include #include @@ -26,7 +29,7 @@ int main(int argc, char **argv) { vector elems; - for (int i = 1; i < argc; ++i) { + for (int i = 1; i < argc - 1; ++i) { FILE *fp = fopen(argv[i], "rb"); if (fp == NULL) { perror(argv[i]); @@ -80,10 +83,10 @@ int main(int argc, char **argv) sort(elems.begin(), elems.end()); printf("Writing SSTable...\n"); - mtbl_writer* mtbl = mtbl_writer_init("open.mtbl", NULL); + mtbl_writer_options* wopt = mtbl_writer_options_init(); + mtbl_writer_options_set_compression(wopt, MTBL_COMPRESSION_SNAPPY); + mtbl_writer* mtbl = mtbl_writer_init(argv[argc - 1], wopt); Count c; - int num_elo = 0; - double sum_white_elo = 0.0, sum_black_elo = 0.0; for (int i = 0; i < elems.size(); ++i) { if (elems[i].result == WHITE) { ++c.white; @@ -94,19 +97,15 @@ int main(int argc, char **argv) } c.opening_num = elems[i].opening_num; if (elems[i].white_elo >= 100 && elems[i].black_elo >= 100) { - sum_white_elo += elems[i].white_elo; - sum_black_elo += elems[i].black_elo; - ++num_elo; + c.sum_white_elo += elems[i].white_elo; + c.sum_black_elo += elems[i].black_elo; + ++c.num_elo; } if (i == elems.size() - 1 || elems[i].bpfen_and_move != elems[i + 1].bpfen_and_move) { - c.avg_white_elo = sum_white_elo / num_elo; - c.avg_black_elo = sum_black_elo / num_elo; mtbl_writer_add(mtbl, (const uint8_t *)elems[i].bpfen_and_move.data(), elems[i].bpfen_and_move.size(), (const uint8_t *)&c, sizeof(c)); c = Count(); - num_elo = 0; - sum_white_elo = sum_black_elo = 0.0; } } mtbl_writer_destroy(&mtbl);