gnugo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnugo-devel] matcher_check --loadsgf --stable


From: Evan Berggren Daniel
Subject: [gnugo-devel] matcher_check --loadsgf --stable
Date: Sun, 1 Sep 2002 19:19:19 -0400 (EDT)

Works, as of this patch.  Basically, it loads the sgf to each move, and
then compares what the two programs would do at that point for
differences.

Thanks

Evan Daniel

Index: matcher_check
===================================================================
RCS file: /cvsroot/gnugo/gnugo/interface/gtp_examples/matcher_check,v
retrieving revision 1.13
diff -u -r1.13 matcher_check
--- matcher_check       1 Sep 2002 21:02:37 -0000       1.13
+++ matcher_check       1 Sep 2002 23:17:34 -0000
@@ -153,29 +153,64 @@
        exit;
     }

-    if (defined($stable)) {
-        warn "When loading a file, --stable is ignored.";
-    }
+    #if (defined($stable)) {
+    #    warn "When loading a file, --stable is ignored.";
+    #}

     $pidp = open2($prog_out, $prog_in, $program);
+    $pids = open2($stable_out, $stable_in, $stable) if defined($stable);
     print "program pid: $pidp\n" if $verbose;
+    print "stable pid:  $pids\n" if (defined($stable) and $verbose);

     if (defined($randseed)) {
         print $prog_in "set_random_seed $randseed\n";
        eat_no_response($prog_out);
+        if (defined($stable)) {
+           print $stable_in "set_random_seed $randseed\n";
+           eat_no_response($stable_out);
+       }
     } else {
         print $prog_in "get_random_seed\n";
-       print "random seed " . eat_one_line($prog_out) . "\n";
+       my $rand = eat_one_line($prog_out);
+       print "random seed $rand\n";
+        if (defined($stable)) {
+           $rand =~ s/^= //smg;
+           print $stable_in "set_random_seed $rand\n";
+           eat_no_response($stable_out);
+       }
     }

-    for ($movenum = 2; $movenum <= $movecount + 1; $movenum++)
+
+    for ($movenum = 1; $movenum <= $movecount + 1; $movenum++)
     {
         #load the file, check the statuses, next move.
+       my $lmove = $movenum + 1;#number to load up to
        print "loading move $movenum\n" if $verbose;
-       print $prog_in "loadsgf $loadfile $movenum\n";
+       print $prog_in "loadsgf $loadfile $lmove\n";
        eat_no_response($prog_out);
-       check_matcher($prog_in, $prog_out);
-       print "done checking status.\n" if ($verbose);
+       if (!defined($noilcheck)) {
+           check_matcher($prog_in, $prog_out);
+           print "done checking status.\n" if ($verbose);
+       }
+
+       #do stable checks
+       if (defined($stable)) {
+           print $stable_in "loadsgf $loadfile $lmove\n";
+           $toplay = eat_one_line($stable_out); #whole word in this case
+           $toplay =~ s/^=//smg;
+           $toplay =~ s/ //smg;
+           print $prog_in "genmove_$toplay\n";
+           print $stable_in "genmove_$toplay\n";
+           $move = eat_move($prog_out);
+           $stable_move = eat_move($stable_out);
+           if ($move ne $stable_move and defined ($stable)) {
+               print "At move $movenum, $toplay\:\n";
+               print "Test version played   $move\n";
+               print "Stable version played $stable_move\n";
+           } else {
+               print "$toplay plays $move\n" if $verbose;
+           }
+       }
     }

     print "movenum: $movenum\n" if ($verbose);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]