/[projects]/queensgui/src/solutionmnvector.cpp
ViewVC logotype

Diff of /queensgui/src/solutionmnvector.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1 by torben, Thu Jul 19 21:34:15 2007 UTC revision 2 by torben, Thu Jul 19 22:26:42 2007 UTC
# Line 31  SolutionMNVector::~SolutionMNVector() Line 31  SolutionMNVector::~SolutionMNVector()
31    
32  void SolutionMNVector::uniqueSolutions()  void SolutionMNVector::uniqueSolutions()
33  {  {
34          std::vector<Solution> buf;          std::vector<Solution*> buf;
35          buf.reserve(solutions.size() / 10);          buf.reserve(solutions.size() / 10);
36          for (unsigned int i=0; i<solutions.size(); i++) {          for (unsigned int i=0; i<solutions.size(); i++) {
37                  if (m_halt)                  if (m_halt)
# Line 41  void SolutionMNVector::uniqueSolutions() Line 41  void SolutionMNVector::uniqueSolutions()
41                  for (j=0; j<buf.size(); j++) {                  for (j=0; j<buf.size(); j++) {
42                          if (m_halt)                          if (m_halt)
43                                  break;                                  break;
44                          Solution tmp ( solutions[i] );                          Solution* tmp = solutions[i]->copy() ;
45    
46                          if (tmp == buf[j])                          if (*tmp == *buf[j])
47                                  break;                                  break;
48                          tmp.rotate90();                          tmp->rotate90();
49                                                    
50                          if (tmp == buf[j])                          if (tmp == buf[j])
51                                  break;                                  break;
52                                                    
53                          tmp.rotate90();                          tmp->rotate90();
54                          if (tmp == buf[j])                          if (*tmp == *buf[j])
55                                  break;                                  break;
56                                                                    
57                          tmp.rotate90();                          tmp->rotate90();
58                          if (tmp == buf[j])                          if (*tmp == *buf[j])
59                                  break;                                  break;
60                                                    
61                          tmp.mirror();                          tmp->mirror();
62                          if (tmp == buf[j])                          if (*tmp == *buf[j])
63                                  break;                                  break;
64                                                    
65                          tmp.rotate90();                          tmp->rotate90();
66                          if (tmp == buf[j])                          if (*tmp == *buf[j])
67                                  break;                                  break;
68                                                                    
69                          tmp.rotate90();                          tmp->rotate90();
70                          if (tmp == buf[j])                          if (*tmp == *buf[j])
71                                  break;                                  break;
72                                                                    
73                          tmp.rotate90();                          tmp->rotate90();
74                          if (tmp == buf[j])                          if (*tmp == *buf[j])
75                                  break;                                  break;
76                  }                  }
77                  if ( j == buf.size() )                  if ( j == buf.size() )
# Line 82  void SolutionMNVector::uniqueSolutions() Line 82  void SolutionMNVector::uniqueSolutions()
82                  }                  }
83          }          }
84          solutions = buf;          solutions = buf;
85            
86  }  }

Legend:
Removed from v.1  
changed lines
  Added in v.2

  ViewVC Help
Powered by ViewVC 1.1.20