Changeset 209

Show
Ignore:
Timestamp:
01/13/07 13:19:52 (1 year ago)
Author:
ug
Message:

Further small changes for Visual C++ compatibility.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • 06/libkombilo/search.cc

    r208 r209  
    2828#include <string> 
    2929#include <cstring> 
     30 
     31#if defined(_MSC_VER) 
     32using std::vector; 
     33using std::string; 
     34using std::pair; 
     35 
     36#include <algorithm> 
     37#include "sqlite3.h" 
     38 
     39using namespace std; 
     40 
     41#define min __min 
     42#define max __max 
     43#else 
    3044 
    3145using std::min; 
     
    3751using std::stack; 
    3852using std::sort; 
    39  
     53#endif 
    4054PatternError::PatternError() {} 
    4155 
     
    451465 
    452466  patternList(); 
    453   for(int i=0; i<16; i++)  
    454     if (flipTable[i] == -1) throw PatternError(); // FIXME: remove this once flipTable works ... 
     467  { 
     468    for(int i=0; i<16; i++)  
     469      if (flipTable[i] == -1) throw PatternError(); // FIXME: remove this once flipTable works ... 
     470  } 
    455471  continuations = new Continuation[pattern.sizeX * pattern.sizeY]; 
    456472} 
     
    548564      } 
    549565      vector<MoveNC> newContList; 
    550       for(unsigned int i=0; i<pattern.contList.size(); i++) { 
    551         newContList.push_back(MoveNC(Pattern::flipsX(f, pattern.contList[i].x, pattern.contList[i].y,  
    552                                                         pattern.sizeX-1,pattern.sizeY-1), 
    553                                     Pattern::flipsY(f, pattern.contList[i].x, pattern.contList[i].y, 
    554                                                         pattern.sizeX-1,pattern.sizeY-1), 
    555                                     invertColor(pattern.contList[i].color))); 
     566      { 
     567        for(unsigned int i=0; i<pattern.contList.size(); i++) { 
     568          newContList.push_back(MoveNC(Pattern::flipsX(f, pattern.contList[i].x, pattern.contList[i].y,  
     569                  pattern.sizeX-1,pattern.sizeY-1), 
     570                Pattern::flipsY(f, pattern.contList[i].x, pattern.contList[i].y, 
     571                  pattern.sizeX-1,pattern.sizeY-1), 
     572                invertColor(pattern.contList[i].color))); 
     573        } 
    556574      } 
    557575 
     
    629647    } 
    630648 
    631     int cs; 
    632     for(int i=0; i<symm.sizeX; i++) 
    633       for(int j=0; j<symm.sizeY; j++) 
    634         if (symm1.has_key(symm.getX(i,j), symm.getY(i,j))) { 
    635           if ((symm1.getCS(symm.getX(i,j),symm.getY(i,j)) || symm.getCS(i,j)) &&  
    636               !(symm1.getCS(symm.getX(i,j),symm.getY(i,j)) && symm.getCS(i,j))) 
    637             cs = 1; 
    638           else cs = 0; 
    639           symm.set(i,j,symm1.getX(symm.getX(i,j),symm.getY(i,j)),  
    640               symm1.getY(symm.getX(i,j),symm.getY(i,j)), cs); 
    641         } 
     649    { 
     650      int cs; 
     651      for(int i=0; i<symm.sizeX; i++) 
     652        for(int j=0; j<symm.sizeY; j++) 
     653          if (symm1.has_key(symm.getX(i,j), symm.getY(i,j))) { 
     654            if ((symm1.getCS(symm.getX(i,j),symm.getY(i,j)) || symm.getCS(i,j)) &&  
     655                !(symm1.getCS(symm.getX(i,j),symm.getY(i,j)) && symm.getCS(i,j))) 
     656              cs = 1; 
     657            else cs = 0; 
     658            symm.set(i,j,symm1.getX(symm.getX(i,j),symm.getY(i,j)),  
     659                symm1.getY(symm.getX(i,j),symm.getY(i,j)), cs); 
     660          } 
     661    } 
    642662  } 
    643663 
    644664  symmetries.push_back(symm); 
    645   vector<Pattern>::iterator it = data.begin(); 
    646   it++; 
    647   for(; it != data.end(); it++) { 
    648     // printf("ne %d, %d\n", it->sizeX, it->sizeY); 
    649     int f = it->flip; 
    650     Symmetries s(it->sizeX, it->sizeY); 
    651     for(int i=0; i<pattern.sizeX; i++) { 
    652       for(int j=0; j<pattern.sizeY; j++) { 
    653         if (!it->colorSwitch) { 
     665  { 
     666    vector<Pattern>::iterator it = data.begin(); 
     667    it++; 
     668    for(; it != data.end(); it++) { 
     669      // printf("ne %d, %d\n", it->sizeX, it->sizeY); 
     670      int f = it->flip; 
     671      Symmetries s(it->sizeX, it->sizeY); 
     672      for(int i=0; i<pattern.sizeX; i++) { 
     673        for(int j=0; j<pattern.sizeY; j++) { 
     674          if (!it->colorSwitch) { 
    654675            s.set(Pattern::flipsX(f,i,j,pattern.sizeX-1,pattern.sizeY-1),  
    655                   Pattern::flipsY(f,i,j,pattern.sizeX-1,pattern.sizeY-1),  
    656                   symm.getX(i,j), symm.getY(i,j), symm.getCS(i,j)); 
    657         } else { 
     676                Pattern::flipsY(f,i,j,pattern.sizeX-1,pattern.sizeY-1),  
     677                symm.getX(i,j), symm.getY(i,j), symm.getCS(i,j)); 
     678          } else { 
    658679            s.set(Pattern::flipsX(f,i,j,pattern.sizeX-1,pattern.sizeY-1),  
    659                   Pattern::flipsY(f,i,j,pattern.sizeX-1,pattern.sizeY-1),  
    660                   symm.getX(i,j), symm.getY(i,j), 1-symm.getCS(i,j)); 
     680                Pattern::flipsY(f,i,j,pattern.sizeX-1,pattern.sizeY-1),  
     681                symm.getX(i,j), symm.getY(i,j), 1-symm.getCS(i,j)); 
     682          } 
    661683        } 
    662684      } 
    663     } 
    664     symmetries.push_back(s); 
     685      symmetries.push_back(s); 
     686    } 
    665687  } 
    666688} 
     
    11421164    index = gl.next(); 
    11431165  } 
    1144   for(int N=0; N<plS; N++) { 
    1145     delete [] allbitlengths[N]; 
    1146     for(int i=0; i<4; i++) 
    1147       if (allbits[N][i]) delete [] allbits[N][i]; 
    1148     delete [] allbits[N]; 
     1166  { 
     1167    for(int N=0; N<plS; N++) { 
     1168      delete [] allbitlengths[N]; 
     1169      for(int i=0; i<4; i++) 
     1170        if (allbits[N][i]) delete [] allbits[N][i]; 
     1171      delete [] allbits[N]; 
     1172    } 
    11491173  } 
    11501174  delete [] allbitlengths; 
     
    13111335    d = (char*)sqlite3_column_blob(ppStmt, 1); 
    13121336    d1 = new char[50]; 
    1313     for(int i=0; i<50; i++) d1[i] = d[i]; 
     1337    { 
     1338      for(int i=0; i<50; i++) d1[i] = d[i]; 
     1339    } 
    13141340    data2->push_back(d1); 
    13151341  } 
     
    44394465      }  
    44404466    } // while 
    4441     for(int a=20*algo_offset; a < 20*(algo_offset+1); a++) { 
    4442       // printf("endgame %d\n", a); 
    4443       if (algo_ps[a]) algo_ps[a]->endgame_process(); 
     4467    { 
     4468      for(int a=20*algo_offset; a < 20*(algo_offset+1); a++) { 
     4469        // printf("endgame %d\n", a); 
     4470        if (algo_ps[a]) algo_ps[a]->endgame_process(); 
     4471      } 
    44444472    } 
    44454473    root = root->down;