Changeset 153

Show
Ignore:
Timestamp:
04/15/04 16:23:16 (4 years ago)
Author:
ug
Message:

Continued transcoding patternPY

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • 06/devel/abstractBoard.h

    r152 r153  
    11// File: abstractBoard.h 
    22 
    3 //   Copyright (C) 2001-4 Ulrich Goertz (u@g0ertz.de) 
     3//   Copyright (C) 2004 Ulrich Goertz (u@g0ertz.de) 
    44 
    55//   This is part of Kombilo, a go database program. 
     
    2424// communication should probably be done via SGF coord. 
    2525// color == 'B' / 'W' 
     26 
    2627using namespace std; 
    2728 
  • 06/devel/aglPY.py

    r128 r153  
    809809                                if find(s, awVar) == -1: continue 
    810810                                 
    811                 db.makeCurrentHit(''
     811                db.makeCurrentHit(
    812812                 
    813813        self.updateGameIndex() 
     
    856856                for sp in sp_list: 
    857857                    if sp.match(db.namelist[index][4]): 
    858                         db.makeCurrentHit(''
     858                        db.makeCurrentHit(
    859859                        break 
    860860                index = db.next() 
  • 06/devel/pattern.cc

    r138 r153  
    3636    dataCS[i] = -1; 
    3737  } 
    38 
     38  special = -1; 
     39
     40 
    3941 
    4042Symmetries::~Symmetries() { 
     
    4749  sizeX = s.sizeX; 
    4850  sizeY = s.sizeY; 
    49   data X = new int[sizeX*sizeY]; 
     51  dataX = new int[sizeX*sizeY]; 
    5052  dataY = new int[sizeX*sizeY]; 
    5153  dataCS = new int[sizeX*sizeY]; 
     
    5557    dataCS[i] = s.dataCS[i]; 
    5658  } 
     59  special = s.special; 
    5760} 
    5861 
     
    6467    delete [] dataY; 
    6568    delete [] dataCS; 
    66     data X = new int[sizeX*sizeY]; 
     69    dataX = new int[sizeX*sizeY]; 
    6770    dataY = new int[sizeX*sizeY]; 
    6871    dataCS = new int[sizeX*sizeY]; 
     
    7275      dataCS[i] = s.dataCS[i]; 
    7376    } 
     77    special = s.special; 
    7478  } 
    7579  return *this; 
     
    116120// ----------- class Pattern ----------------------------------------------- 
    117121 
    118 int Pattern::operator==(const &Pattern p) { 
     122int Pattern::operator==(const Pattern& p) { 
    119123  if (sizeX != p.sizeX || sizeY != p.sizeY) return 0; 
    120124  if (left != p.left || right != p.right || top != p.top || bottom != p.bottom) return 0;  
    121125  if (moveOne != p.moveOne) return 0; 
    122126  for(int i=0; i < sizeX*sizeY; i++) 
    123     if (initialData[i] != p.initialData[i]) return 0; 
     127    if (initialPos[i] != p.initialPos[i]) return 0; 
    124128  for(int i=0; i < 4*lenContList; i++) 
    125129    if (contList[i] != p.contList[i]) return 0;  
     
    142146} 
    143147  
    144 char getBits(int b, int i) { 
     148char Pattern::getBits(int b, int i) { 
    145149  return bits[b][i]; 
     150} 
     151 
     152 
     153Pattern::Pattern() { 
     154  // FIXME?! 
    146155} 
    147156 
     
    151160  flip = 0; 
    152161  colorSwitch = 0; 
    153   if (mOne=='B' || mOne=='X') moveOne = 'X' 
     162  if (mOne=='B' || mOne=='X') moveOne = 'X'; 
    154163  else moveOne = 'O'; 
    155164  if (moveOne == 'X') moveTwo = 'O'; 
     
    176185  if (lenCList) { 
    177186    contList = new char[lenCList*4]; 
    178     for(int i=0; i<4*lenClist; i++) contList[i] = cList[i]; 
     187    for(int i=0; i<4*lenCList; i++) contList[i] = cList[i]; 
    179188    for(int i=0; i<lenContList; i++) { 
    180189      finalPos[contList[4*i] + sizeX * contList[4*i+1]] = BW2XO(contList[4*i+2]); 
     
    195204      for(int k1=0; k1 < yBlocks; k1++) { 
    196205        char nlist[400]; 
    197         nlistIndex = 0; 
     206        int nlistIndex = 0; 
    198207 
    199208        for(int k2; k2 < xBlocks; k2++) { 
     
    226235      } 
    227236      char* nB = new char[nextBlockIndex]; 
    228       for(int i=0; i<nextBlockIndex; i++) nB[i] = nextBlock[i]; 
     237      for(int ii=0; ii<nextBlockIndex; ii++) nB[ii] = nextBlock[ii]; 
    229238      bits[2*i + j] = nB; 
    230239      delete [] nextBlock; 
     
    266275} 
    267276 
    268 Pattern& Pattern::operator=(const Pattern& p) { 
     277Pattern& Pattern::copy(const Pattern& p) { 
    269278  if (&p != this) { 
    270279    left = p.left; 
     
    297306    else contList = 0; 
    298307 
     308    printf("OUCH problem with copying bits ...\n"); // FIXME 
    299309    for(int i=0; i<4; i++) { 
    300       bits[i] = ...; // FIXME 
     310      bits[i] = 0; // FIXME 
    301311    } 
    302312  } 
     
    305315 
    306316 
    307 static int Pattern::flipsX(int i, int x, int y, int XX, int YY) { 
     317int Pattern::flipsX(int i, int x, int y, int XX, int YY) { 
    308318  if (i==0) return x; 
    309319  if (i==1) return XX-x; 
     
    317327} 
    318328 
    319 static int Pattern::flipsY(int i, int x, int y, int XX, int YY) { 
     329int Pattern::flipsY(int i, int x, int y, int XX, int YY) { 
    320330  if (i==0) return y; 
    321331  if (i==1) return y; 
     
    330340 
    331341 
    332 static int Pattern::PatternInvFlip(i) { 
     342int Pattern::PatternInvFlip(int i) { 
    333343  if (i == 5) return 6; 
    334344  if (i == 6) return 5; 
     
    336346} 
    337347 
    338 PatternList::PatternList(Pattern& p, int fColor, int nextMove, int bsize) { 
    339   pattern = p
     348PatternList::PatternList(Pattern& p, int fColor, int nMove, int bsize) { 
     349  pattern.copy(p)
    340350  fixedColor = fColor; 
    341351  nextMove = nMove; 
     
    368378vector<Pattern> PatternList::patternList() { 
    369379         
    370   vector<Pattern> l()
    371   vector<Pattern> lCS()
    372   vector<pair<int,int>> sy; 
     380  vector<Pattern> l
     381  vector<Pattern> lCS
     382  vector<pair<int,int> > sy; 
    373383         
    374384  int special = -1; 
    375385   
    376386  for(int f=0; f < 8; f++) { 
    377     int finv = PatternInvFlip(f); 
     387    int newSizeX = max(Pattern::flipsX(f,0,0,pattern.sizeX,pattern.sizeY), 
     388                       Pattern::flipsX(f,pattern.sizeX,pattern.sizeY,pattern.sizeX,pattern.sizeY)); 
     389    int newSizeY = max(Pattern::flipsY(f,0,0,pattern.sizeX,pattern.sizeY), 
     390                       Pattern::flipsY(f,pattern.sizeX,pattern.sizeY,pattern.sizeX,pattern.sizeY)); 
    378391     
    379     int newLeft = min(flipsX(f,left,top,boardsize-1,boardsize-1), flipsX(f,right,bottom,boardsize-1,boardsize-1)); 
    380     int newRight = max(flipsX(f,left,top,boardsize-1,boardsize-1), flipsX(f,right,bottom,boardsize-1,boardsize-1)); 
    381     int newTop = min(flipsY(f,left,top,boardsize-1,boardsize-1), flipsY(f,right,bottom,boardsize-1,boardsize-1)); 
    382     int newBottom = max(flipsY(f,left,top,boardsize-1,boardsize-1), flipsY(f,right,bottom,boardsize-1,boardsize-1)); 
    383  
    384     int newSizeX = max(flipsX(f,0,0,sizeX,sizeY), flipsX(f,sizeX,sizeY,sizeX,sizeY)); 
    385     int newSizeY = max(flipsX(f,0,0,sizeX,sizeY), flipsX(f,sizeX,sizeY,sizeX,sizeY)); 
     392    int newLeft = min(Pattern::flipsX(f,pattern.left,pattern.top,boardsize-1,boardsize-1), 
     393                      Pattern::flipsX(f,pattern.right+pattern.sizeX-1,pattern.bottom+pattern.sizeY-1, 
     394                                      boardsize-1,boardsize-1)); 
     395    int newRight = max(Pattern::flipsX(f,pattern.left,pattern.top,boardsize-1,boardsize-1), 
     396                       Pattern::flipsX(f,pattern.right+pattern.sizeX-1,pattern.bottom+pattern.sizeY-1, 
     397                                       boardsize-1,boardsize-1)) - (newSizeX-1); 
     398    int newTop = min(Pattern::flipsY(f,pattern.left,pattern.top,boardsize-1,boardsize-1), 
     399                     Pattern::flipsY(f,pattern.right+pattern.sizeX-1,pattern.bottom+pattern.sizeY-1, 
     400                                     boardsize-1,boardsize-1)); 
     401    int newBottom = max(Pattern::flipsY(f,pattern.left,pattern.top,boardsize-1,boardsize-1), 
     402                        Pattern::flipsY(f,pattern.right+pattern.sizeX-1,pattern.bottom+pattern.sizeY-1, 
     403                                        boardsize-1,boardsize-1)) - (newSizeY - 1); 
    386404 
    387405    char* newInitialPos = new char[pattern.sizeX*pattern.sizeY]; 
    388406    for(int i=0; i<pattern.sizeX; i++) { 
    389407      for(int j=0; j<pattern.sizeY; j++) { 
    390         newInitialPos[flipsX(f,i,j,pattern.sizeX-1,pattern.sizeY-1) + pattern.sizeX*flipsY(f,i,j,pattern.sizeX-1,pattern.sizeY-1)] = pattern.getInitial(i, j); 
     408        newInitialPos[Pattern::flipsX(f,i,j,pattern.sizeX-1,pattern.sizeY-1) + \ 
     409                      pattern.sizeX*Pattern::flipsY(f,i,j,pattern.sizeX-1,pattern.sizeY-1)] = pattern.getInitial(i, j); 
    391410      } 
    392411    } 
     
    394413    char* newContList = new char[pattern.lenContList*4]; 
    395414    for(int i=0; i<pattern.lenContList; i++) { 
    396       newContList[4*i] = flipsX(f, pattern.contList[4*i], pattern.contList[4*i+1], pattern.sizeX-1,pattern.sizeY-1); 
    397       newContList[4*i+1] = flipsY(f, pattern.contList[4*i], pattern.contList[4*i+1], pattern.sizeX-1,pattern.sizeY-1); 
     415      newContList[4*i] = Pattern::flipsX(f, pattern.contList[4*i], pattern.contList[4*i+1], 
     416                                         pattern.sizeX-1,pattern.sizeY-1); 
     417      newContList[4*i+1] = Pattern::flipsY(f, pattern.contList[4*i], pattern.contList[4*i+1], 
     418                                           pattern.sizeX-1,pattern.sizeY-1); 
    398419      newContList[4*i+2] = pattern.contList[4*i+2]; 
    399420      newContList[4*i+3] = '/'; 
     
    419440    if (foundNewPattern) l.push_back(pNew); 
    420441 
    421     if (pNew == pattern) sy.push_back(pair<int,int>(ii,0)); 
     442    if (pNew == pattern) sy.push_back(pair<int,int>(f,0)); 
    422443   
    423444    if (nextMove || !fixedColor) { 
     
    427448      for(int i=0; i<pattern.sizeX; i++) { 
    428449        for(int j=0; j<pattern.sizeY; j++) { 
    429           newInitialPos[flipsX(f,i,j,pattern.sizeX-1,pattern.sizeY-1) + pattern.sizeX*flipsY(f,i,j,pattern.sizeX-1,pattern.sizeY-1)] = 
    430             invert(pattern.getInitial(i, j)); 
     450          newInitialPos[Pattern::flipsX(f,i,j,pattern.sizeX-1,pattern.sizeY-1) + pattern.sizeX*Pattern::flipsY(f,i,j,pattern.sizeX-1,pattern.sizeY-1)] = 
     451            invertColor(pattern.getInitial(i, j)); 
    431452        } 
    432453      } 
     
    434455      char* newContList = new char[pattern.lenContList*4]; 
    435456      for(int i=0; i<pattern.lenContList; i++) { 
    436         newContList[4*i] = flipsX(f, pattern.contList[4*i], pattern.contList[4*i+1], pattern.sizeX-1,pattern.sizeY-1); 
    437         newContList[4*i+1] = flipsY(f, pattern.contList[4*i], pattern.contList[4*i+1], pattern.sizeX-1,pattern.sizeY-1); 
    438         newContList[4*i+2] = invert(pattern.contList[4*i+2]); 
     457        newContList[4*i] = Pattern::flipsX(f, pattern.contList[4*i], pattern.contList[4*i+1], pattern.sizeX-1,pattern.sizeY-1); 
     458        newContList[4*i+1] = Pattern::flipsY(f, pattern.contList[4*i], pattern.contList[4*i+1], pattern.sizeX-1,pattern.sizeY-1); 
     459        newContList[4*i+2] = invertColor(pattern.contList[4*i+2]); 
    439460        newContList[4*i+3] = '/'; 
    440461      } 
     
    485506      symm.set(i,j,i,j,0); 
    486507 
    487   vector<pair<int,int>>::iterator it
    488   for(it=sy.begin(); it!=sy.end(); it++) { 
    489     int s = it->first; 
    490     int c = it->second; 
     508  vector<pair<int,int> >::iterator it_s
     509  for(it_s=sy.begin(); it_s!=sy.end(); it_s++) { 
     510    int s = it_s->first; 
     511    int c = it_s->second; 
    491512    Symmetries symm1; 
    492513 
    493514    for(int i=0; i < pattern.sizeX; i++) { 
    494515      for(int j=0; j < pattern.sizeY; j++) { 
    495         int fX = flipsX(s, i, j, pattern.sizeX-1, pattern.sizeY-1); 
    496         int fY = flipsY(s, i, j, pattern.sizeX-1, pattern.sizeY-1); 
    497         if (((i != fX || j != fY) && !symm1.has_key(fX, fY)) 
     516        int fX = Pattern::flipsX(s, i, j, pattern.sizeX-1, pattern.sizeY-1); 
     517        int fY = Pattern::flipsY(s, i, j, pattern.sizeX-1, pattern.sizeY-1); 
     518        if ((i != fX || j != fY) && !symm1.has_key(fX, fY)) 
    498519          symm1.set(i,j, fX, fY, c); 
    499520      } 
    500521    } 
    501522 
    502     int cs 
     523    int cs; 
    503524    for(int i=0; i<symm.sizeX; i++) 
    504525      for(int j=0; j<symm.sizeY; j++) 
    505526        if (symm1.has_key(symm.getX(i,j), symm.getY(i,j))) { 
    506           if ((symm1.getC(symm.getX(i,j),symm.getY(i,j)) || symm.getC(i,j)) &&  
    507               !(symm1.getC(symm.getX(i,j),symm.getY(i,j)) && symm.getC(i,j))) 
     527          if ((symm1.getCS(symm.getX(i,j),symm.getY(i,j)) || symm.getCS(i,j)) &&  
     528              !(symm1.getCS(symm.getX(i,j),symm.getY(i,j)) && symm.getCS(i,j))) 
    508529            cs = 1; 
    509530          else cs = 0; 
     
    511532                   symm1.getY(symm.getX(i,j),symm.getY(i,j)), cs); 
    512533        } 
    513  
    514     if (special == -1) 
    515       symm.special = -1; 
    516     else 
    517       symm.special = PatternInvFlip(special); 
    518  
    519     symmetries = symm; 
    520     return l; 
    521 
    522  
    523  
    524 Pattern PatternList::get(int i) { 
     534  } 
     535 
     536  if (special == -1) 
     537    symm.special = -1; 
     538  else 
     539    symm.special = Pattern::PatternInvFlip(special); 
     540   
     541  symmetries = symm; 
     542  return l; 
     543
     544 
     545 
     546Pattern& PatternList::get(int i) { 
    525547  return data[i]; 
    526548} 
     
    532554 
    533555 
    534 PatternList::updateContinuations(int index, int x, int y, char co, int Xint0, int Xint1,  
     556PyObject* PatternList::updateContinuations(int index, int x, int y, char co, int Xint0, int Xint1,  
    535557                                 int Yint0, int Yint1, 
    536558                                 int foundWhere, int counter, 
     
    538560                                 char winner) { 
    539561 
    540   // 
    541   // 
    542   // fuer die PythonAPI sachen vgl. altes matchC.cc !!! 
    543   // 
    544   // FIXME 
    545  
    546  
    547562  int xx = Pattern::flipsX(Pattern::PatternInvFlip(data[index].flip), x, y, boardsize-1, boardsize-1); 
    548   int yy = Patern::flipsY(Pattern::PatternInvFlip(data[index].flip), x, y, boardsize-1, boardsize-1); 
    549  
    550   int XX1 = Pattern::flipsX(Pattern::patternInvFlip(data[index].flip, Xint0, Yint0, boardsize-1, boardsize-1)); 
    551   int YY1 = Pattern::flipsY(Pattern::patternInvFlip(data[index].flip, Xint0, Yint0, boardsize-1, boardsize-1)); 
    552   int XX2 = Pattern::flipsX(Pattern::patternInvFlip(data[index].flip, Xint1-1, Yint1-1, boardsize-1, boardsize-1)); 
    553   int YY2 = Pattern::flipsY(Pattern::patternInvFlip(data[index].flip, Xint1-1, Yint1-1, boardsize-1, boardsize-1)); 
     563  int yy = Pattern::flipsY(Pattern::PatternInvFlip(data[index].flip), x, y, boardsize-1, boardsize-1); 
     564 
     565  int XX1 = Pattern::flipsX(Pattern::PatternInvFlip(data[index].flip), Xint0, Yint0, boardsize-1, boardsize-1); 
     566  int YY1 = Pattern::flipsY(Pattern::PatternInvFlip(data[index].flip), Xint0, Yint0, boardsize-1, boardsize-1); 
     567  int XX2 = Pattern::flipsX(Pattern::PatternInvFlip(data[index].flip), Xint1-1, Yint1-1, boardsize-1, boardsize-1); 
     568  int YY2 = Pattern::flipsY(Pattern::PatternInvFlip(data[index].flip), Xint1-1, Yint1-1, boardsize-1, boardsize-1); 
    554569                             
    555570  int XX = XX1 < XX2 ? XX1 : XX2; 
     
    598613        YY1 = YY1N; 
    599614 
    600         int XX2N = Pattern::flipsX(symmetries.special, XX2, YY2, boardsize-1); 
    601         int YY2N = Pattern::flipsY(symmetries.special, XX2, YY2, boardsize-1); 
     615        int XX2N = Pattern::flipsX(symmetries.special, XX2, YY2, boardsize-1, boardsize-1); 
     616        int YY2N = Pattern::flipsY(symmetries.special, XX2, YY2, boardsize-1, boardsize-1); 
    602617        XX2 = XX2N; 
    603618        YY2 = YY2N; 
     
    619634 
    620635        colorSwitch = 1-cSymm; 
    621         if (colorSwitch) numOfSwitched++; 
     636        // if (colorSwitch) numOfSwitched++; FIXME?! 
    622637      } 
    623638      else 
     
    626641    else { 
    627642      colorSwitch = cSymm; 
    628       if (colorSwitch) numOfSwitched++; 
     643      // if (colorSwitch) numOfSwitched++; 
    629644    } 
    630645  } 
     
    634649  PyObject* scxy; 
    635650 
    636   if ((scxy = PyDict_GetItem(continuations, xxyy))) { 
    637     PyObject *temp = PyInt_FromLong(PyInt_AsLong(PyDict_GetItemString(scxy, cc))+1); 
    638     PyDict_SetItemString(scxy, cc, temp); 
     651  char text; 
     652  char ccStr[2]; 
     653  ccStr[0] = cc; 
     654  ccStr[1] = 0; 
     655  if ((scxy = PyDict_GetItem(continuations, xxyyPY))) { 
     656    PyObject *temp = PyInt_FromLong(PyInt_AsLong(PyDict_GetItemString(scxy, ccStr))+1); 
     657    PyDict_SetItemString(scxy, ccStr, temp); 
    639658    Py_DECREF(temp); 
    640659    text = PyString_AsString(PyDict_GetItemString(scxy, "N"))[0]; 
    641660  } 
    642661  else { 
    643     if (contLabelsIndex >= len(contLabels)) text = '?'; 
     662    if (contLabelsIndex >= strlen(contLabels)) text = '?'; // FIXME strlen(contLabels) OK? 
    644663    else { 
    645664      text = contLabels[contLabelsIndex]; 
     
    647666    } 
    648667 
    649     if (strcmp(cc, "B")==0) { 
     668    if (cc=='B') { 
    650669      scxy = PyDict_New(); 
    651670      PyObject* Py0 = PyInt_FromLong(0); 
     
    719738      } 
    720739  } 
    721   return Py_BuildValue("icii", 1, continuations[(xx,yy)]['N'], contLabelsIndex,  
    722                        (self.data[index].colorSwitch or colorSwitch)); 
    723 } 
    724  
     740  return Py_BuildValue("icii", 1, text, contLabelsIndex,  
     741                       (data[index].colorSwitch or colorSwitch)); 
     742} 
     743 
  • 06/devel/pattern.h

    r136 r153  
    1 typedef charp char*; 
     1// File: pattern.h 
     2 
     3//   Copyright (C) 2004 Ulrich Goertz (u@g0ertz.de) 
     4 
     5//   This is part of Kombilo, a go database program. 
     6 
     7//   This program is free software; you can redistribute it and/or modify 
     8//   it under the terms of the GNU General Public License as published by 
     9//   the Free Software Foundation; either version 2 of the License, or 
     10//   (at your option) any later version. 
     11 
     12//   This program is distributed in the hope that it will be useful, 
     13//   but WITHOUT ANY WARRANTY; without even the implied warranty of 
     14//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
     15//   GNU General Public License for more details. 
     16 
     17//   You should have received a copy of the GNU General Public License 
     18//   along with this program (see doc/license.txt); if not, write to the Free Software 
     19//   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
     20//   The GNU GPL is also currently available at 
     21//   http://www.gnu.org/copyleft/gpl.html 
     22 
     23 
     24using namespace std; 
     25 
     26#include "Python.h" 
     27#include <vector> 
     28 
     29typedef char* charp; 
    230 
    331class Symmetries { 
     32 public: 
    433  int* dataX; 
    534  int* dataY; 
     
    736  int sizeX; 
    837  int sizeY; 
    9  public: 
    10   Symmetries(int sX, int sY); 
     38  Symmetries(int sX=0, int sY=0); 
    1139  ~Symmetries(); 
    1240  Symmetries(const Symmetries& s); 
     
    1745  int getCS(int i, int j); 
    1846  int has_key(int i, int j); 
     47  int special; 
    1948}; 
    2049 
     
    3665  int lenContList; 
    3766 
    38   Pattern(PyObject* anch, PyObject* initialDict, PyObject* contList, char mOne); 
     67  Pattern(); 
     68  Pattern(int le, int ri, int to, int bo, int sX, int sY, 
     69          char* iPos, char* cList, int lenCList, char mOne); 
    3970  Pattern(const Pattern& p); 
    4071  ~Pattern(); 
    41   Pattern& operator=(const Pattern& p); 
     72  Pattern& copy(const Pattern& p); 
     73 
     74  char getInitial(int i, int j); 
     75  char getFinal(int i, int j); 
     76  char getBits(int b, int i); 
    4277 
    4378  char BW2XO(char c); 
    44   bool operator==(const &Pattern p); 
    45 
     79  int operator==(const Pattern& p); 
     80 
     81  static int flipsX(int i, int x, int y, int XX, int YY); 
     82  static int flipsY(int i, int x, int y, int XX, int YY); 
     83  static int PatternInvFlip(int i); 
     84 
     85}; 
    4686 
    4787 
    4888class PatternList { 
    4989 public: 
     90  int boardsize; 
    5091  Pattern pattern; 
    5192  int fixedColor, nextMove; 
     
    5394  Symmetries symmetries; 
    5495 
    55   PatternList(Pattern p, int fColor, int nMove); 
     96  PatternList(Pattern& p, int fColor, int nMove, int bsize); 
    5697  PatternList(const PatternList& pl); 
    5798  PatternList& operator=(const PatternList& pl); 
     
    59100  char invertColor(char co); 
    60101  vector<Pattern> patternList(); 
    61   Pattern get(int i); 
     102  Pattern& get(int i); 
    62103  int size(); 
    63   updateContinuations(); 
     104  PyObject* updateContinuations(int index, int x, int y, char co, int Xint0, int Xint1,  
     105                                int Yint0, int Yint1, 
     106                                int foundWhere, int counter, 
     107                                PyObject* continuations, char* contLabels, int contLabelsIndex, 
     108                                char winner); 
    64109}; 
    65110 
  • 06/devel/patternPY.py

    r147 r153  
    405405 
    406406                    colorSwitch = 1-cSymm 
    407                     if colorSwitch: numOfSwitched += 1 
     407                    # if colorSwitch: numOfSwitched += 1 
    408408                else: 
    409409                    return 0,0,0,0 # not a hit! 
    410410            else: 
    411411                colorSwitch = cSymm 
    412                 if colorSwitch: numOfSwitched += 1 
     412                # if colorSwitch: numOfSwitched += 1 
    413413        else: 
    414414            colorSwitch = cSymm 
  • 06/devel/searchPY.py

    r147 r153  
    568568 
    569569 
    570     def makeCurrentHit(self, results): 
     570    def makeCurrentHit(self, results = None): 
    571571        """ results is list of Hit's (see algosPY.py) """ 
    572572        win = self.getCurrentWinner() 
    573573        self.newCurrent.append(self.current[self.currentIndexWithinCurrent]) 
    574574        self.results.append(results) 
    575         print 'mch', results[0].moveno() 
    576575 
    577576