]> git.sesse.net Git - remoteglot-book/blobdiff - binloader.cpp
Set parallel merges to a value different from parallel loads.
[remoteglot-book] / binloader.cpp
index 5bf2502c6867610fbb963c91d63aaf3f717312c8..8660e8e299bd93f70f19767d671af0e6d8288f80 100644 (file)
@@ -25,6 +25,7 @@ struct Element {
        Result result;
        int opening_num, white_elo, black_elo;
        time_t timestamp;
+       int file_num;
        long start_position;
 
        bool operator< (const Element& other) const {
@@ -67,7 +68,7 @@ int main(int argc, char **argv)
                                break;
                        }
 
-                       int opening_num, white_elo, black_elo;
+                       int opening_num, white_elo, black_elo, file_num;
                        time_t timestamp;
                        long start_position;
                        if (fread(&white_elo, sizeof(white_elo), 1, fp) != 1) {
@@ -90,6 +91,11 @@ int main(int argc, char **argv)
                                //exit(1);
                                break;
                        }
+                       if (fread(&file_num, sizeof(file_num), 1, fp) != 1) {
+                               perror("fread()");
+                               //exit(1);
+                               break;
+                       }
                        if (fread(&start_position, sizeof(start_position), 1, fp) != 1) {
                                perror("fread()");
                                //exit(1);
@@ -110,7 +116,7 @@ int main(int argc, char **argv)
                        }
 
                        int bucket = hash_key_to_bucket(bpfen.data(), bpfen.size(), num_buckets);
-                       elems[bucket].emplace_back(Element {std::move(bpfen), std::move(move), Result(r), opening_num, white_elo, black_elo, timestamp, start_position});
+                       elems[bucket].emplace_back(Element {std::move(bpfen), std::move(move), Result(r), opening_num, white_elo, black_elo, timestamp, file_num, start_position});
                        ++num_elems;
                }
                fclose(fp);
@@ -153,6 +159,7 @@ int main(int argc, char **argv)
                                        c.set_first_timestamp(e.timestamp);
                                }
                                c.set_opening_num(e.opening_num);
+                               c.set_pgn_file_num(e.file_num);
                                c.set_pgn_start_position(e.start_position);
                        }
                        if (!moves.count(e.move)) {