Changeset 193
- Timestamp:
- 10/01/06 22:08:02 (2 years ago)
- Files:
-
- 06/libkombilo/cpptest.cc (modified) (1 diff)
- 06/libkombilo/search.cc (modified) (5 diffs)
- 06/libkombilo/search.h (modified) (3 diffs)
- 06/libkombilo/testsearch.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
06/libkombilo/cpptest.cc
r192 r193 50 50 gl.search(p, so); 51 51 printf("num games: %d, num hits: %d\n", gl.size(), gl.numHits()); 52 // vector<string> res = gl.currentEntriesAsStrings(); 53 // for(vector<string>::iterator it = res.begin(); it != res.end(); it++) 54 // printf("%s\n", it->c_str()); 55 for(int i=0; i<gl.size(); i++) printf("%s\n", gl.currentEntryAsString(i).c_str()); 52 vector<string> res = gl.currentEntriesAsStrings(); 53 for(vector<string>::iterator it = res.begin(); it != res.end(); it++) 54 printf("%s\n", it->c_str()); 55 // for(int i=0; i<gl.size(); i++) printf("%s\n", gl.currentEntryAsString(i).c_str()); 56 printf("Search pattern:\n"); 57 printf("%s\n", p.printPattern().c_str()); 58 printf("Continuations:\n"); 59 for(int y=0; y<p.sizeY; y++) { 60 for(int x=0; x<p.sizeX; x++) { 61 printf("%c", gl.lookupLabel(x,y)); 62 } 63 printf("\n"); 64 } 65 printf("\n"); 66 printf("Statistics:\n"); 67 printf("Continuation | Black ( B wins / W wins ) | White (B wins / W wins) |\n"); 68 for(int y=0; y<p.sizeY; y++) { 69 for(int x=0; x<p.sizeX; x++) { 70 if (gl.lookupLabel(x,y) != '.') { 71 Continuation cont = gl.lookupContinuation(x,y); 72 printf(" %c | %3d ( %3d / %3d ) | %3d ( %3d / %3d) |\n", 73 gl.lookupLabel(x,y), cont.B, cont.wB, cont.lB, cont.W, cont.wW, cont.lW); 74 } 75 } 76 } 56 77 } 06/libkombilo/search.cc
r192 r193 678 678 char* PatternList::sortContinuations() { 679 679 char* labels = new char[pattern.sizeX*pattern.sizeY+1]; 680 labels[pattern.sizeX * pattern.sizeY] = 0; 680 labels[pattern.sizeX * pattern.sizeY] = 0; // so we can just printf the labels as a string 681 681 for(int i=0; i<pattern.sizeX*pattern.sizeY; i++) { 682 682 if (continuations[i].B || continuations[i].W) labels[i] = '?'; // need to assign label … … 2747 2747 GameList::GameList(char* DBNAME, string ORDERBY, string FORMAT, int ALGOS, int BOARDSIZE) throw(DBError) { 2748 2748 labels = 0; 2749 continuations = 0; 2749 2750 dbname = new char[strlen(DBNAME)+1]; 2750 2751 strcpy(dbname, DBNAME); … … 2845 2846 // printf("enter ~GameList\n"); 2846 2847 if (labels) delete [] labels; 2848 if (continuations) delete [] continuations; 2847 2849 delete [] dbname; 2848 2850 if (all) { … … 3068 3070 } 3069 3071 3072 Continuation GameList::lookupContinuation(char x, char y) { 3073 if (!continuations) return Continuation(); 3074 return continuations[x+y*sizeX]; 3075 } 3076 3070 3077 vector<string> GameList::currentEntriesAsStrings(int start, int end) { 3071 3078 if (end==0) end = currentList->size(); … … 3120 3127 if (labels) delete [] labels; 3121 3128 labels = pl.sortContinuations(); 3129 if (continuations) delete [] continuations; 3130 continuations = pl.continuations; 3131 pl.continuations = new Continuation[pattern.sizeX*pattern.sizeY]; 3122 3132 } 3123 3133 06/libkombilo/search.h
r192 r193 432 432 433 433 SearchOptions(); 434 SearchOptions(int FIXEDCOLOR, int NEXTMOVE, int MOVELIMIT=1000 );434 SearchOptions(int FIXEDCOLOR, int NEXTMOVE, int MOVELIMIT=10000); 435 435 }; 436 436 … … 479 479 int readDBs; 480 480 char* labels; 481 Continuation* continuations; 481 482 int sizeX; 482 483 … … 509 510 void makeIndexCandidate(int index, std::vector<Candidate* > *candidates); 510 511 void makeIndexHit(int index, std::vector<Hit* > *hits); 512 char lookupLabel(char x, char y); 513 Continuation lookupContinuation(char x, char y); 511 514 512 515 private: 513 516 std::string resultsStr(GameListEntry* gle); 514 char lookupLabel(char x, char y);515 517 void readDB(); 516 518 }; 06/libkombilo/testsearch.py
r189 r193 22 22 print '\n'.join(gl.currentEntriesAsStrings()) 23 23 print gl.size(), 'games, ', gl.numHits(), 'hits.' 24 print gl.labels 24 print 'Search pattern:' 25 print p.printPattern() 26 print 'Continuations:' 27 for y in range(p.sizeY): 28 for x in range(p.sizeX): 29 print gl.lookupLabel(x,y), 30 print 31 32 print 33 print "Statistics:" 34 print "Continuation | Black ( B wins / W wins ) | White (B wins / W wins) |" 35 for y in range(p.sizeY): 36 for x in range(p.sizeX): 37 if gl.lookupLabel(x,y) != '.': 38 cont = gl.lookupContinuation(x,y); 39 print " %c | %3d ( %3d / %3d ) | %3d ( %3d / %3d) |" % \ 40 (gl.lookupLabel(x,y), cont.B, cont.wB, cont.lB, cont.W, cont.wW, cont.lW) 25 41 print 'This search took %.2f seconds.' % (end - start) 26 42 sys.exit()
