]> git.sesse.net Git - remoteglot-book/commitdiff
Accept and store the computer/human flag.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Fri, 19 Dec 2014 23:17:42 +0000 (00:17 +0100)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Fri, 19 Dec 2014 23:17:42 +0000 (00:17 +0100)
binloader.cpp
build-book.sh
count.proto
merge_count.cpp

index 7825116794da680bb0548f581e658192da1d70a8..6467cf8880fb5ca9f988b4baabcf512dae15fa99 100644 (file)
@@ -49,6 +49,7 @@ struct Element {
        int file_num;
        time_t timestamp;
        long start_position;
+       int computer;
 
        bool operator< (const Element& other) const {
                int s = memcmp_different_len(bpfen, bpfen_len, other.bpfen, other.bpfen_len);
@@ -85,6 +86,7 @@ void write_subshard(const char *basename, ShardData* shard, int bucket)
                } else if (e.result == BLACK) {
                        c.set_black(c.black() + 1);
                }
+               c.set_computer(c.computer() + e.computer);
                if (e.white_elo >= 100 && e.black_elo >= 100) {
                        c.set_sum_white_elo(c.sum_white_elo() + e.white_elo);
                        c.set_sum_black_elo(c.sum_black_elo() + e.black_elo);
@@ -197,6 +199,11 @@ int main(int argc, char **argv)
                                exit(1);
                        }
 
+                       int computer = getc(fp);
+                       if (computer == -1) {
+                               perror("getc(computer)");
+                               exit(1);
+                       }
 
                        char move[8];
                        int l = getc(fp);
@@ -222,6 +229,7 @@ int main(int argc, char **argv)
                        e.bpfen_len = bpfen_len;
                        strcpy(e.move, move);
                        e.result = Result(r);
+                       e.computer = computer;
                        e.opening_num = opening_num;
                        e.white_elo = white_elo;
                        e.black_elo = black_elo;
index d9c2876326cd23bf0dcd057aa30607ca54618fab..94f3a298ef6c655f7c296fe24d7b3f1b4da7c462 100755 (executable)
@@ -19,9 +19,14 @@ for X in $( seq 0 $(( MAPPERS - 1 )) ); do
                (
                        PGNNUM=0
                        for FILE in "$@"; do
+                               COMP=0
+                               if echo "$FILE" | grep -q ^comp:; then
+                                       COMP=1
+                                       FILE=$( echo "$FILE" | sed s/comp:// )
+                               fi
                                START=$( ./find-pgn-split-point.sh "$FILE" $X $MAPPERS )
                                END=$( ./find-pgn-split-point.sh "$FILE" $(( X + 1 )) $MAPPERS )
-                               ~/nmu/pgn-extract/pgn-extract --startpos $START --endpos $END --startfilenum $PGNNUM -e -Wsessebin "$FILE" 2>/dev/null
+                               ~/nmu/pgn-extract/pgn-extract --computerflag $COMP --startpos $START --endpos $END --startfilenum $PGNNUM -e -Wsessebin "$FILE" 2>/dev/null
                                PGNNUM=$(( PGNNUM + 1 ))
                        done
                ) | ./binloader - tmp.mtbl.mapper$X $SHARDS 500000
index 39da3e0604236080f0dbae5a29833875a31f4d19..80e026d824360acfc8447d2d60a5a9a12818c314 100644 (file)
@@ -4,6 +4,9 @@ message Count {
        optional int32 draw = 2;
        optional int32 black = 3;
 
+       // Number of games played by computers.
+       optional int32 computer = 12;
+
        // Opening number (32-bit hash value).
        optional fixed32 opening_num = 4;
 
index dbf028dfe798e43b82b1c715507f7bbf1e2e3e11..c23e4398759bd6b2269ec9bdd40261a8cd5a9299 100644 (file)
@@ -11,6 +11,7 @@ Count merge_count(const Count& c0, const Count& c1)
        c.set_white(c0.white() + c1.white());
        c.set_draw(c0.draw() + c1.draw());
        c.set_black(c0.black() + c1.black());
+       c.set_computer(c0.computer() + c1.computer());
        c.set_sum_white_elo(c0.sum_white_elo() + c1.sum_white_elo());
        c.set_sum_black_elo(c0.sum_black_elo() + c1.sum_black_elo());
        c.set_num_elo(c0.num_elo() + c1.num_elo());