43  std::string filename = 
 
   46    "n" + std::to_string(
m_nCount) + 
".txt"; 
 
   71  bool unfinished = 
true; 
 
   94  for(
size_t i=toplevel; i<
m_nDepth; i++) 
 
#define oddfloor(n)
If even, round down to make odd.
 
#define odd(n)
Oddness test.
 
Interface for the searchable sorting network CSearchable.
 
Sorting network in first normal form.
 
bool Sorts()
Does it sort all inputs?
 
size_t m_nComparator[MAXDEPTH][MAXINPUTS]
Comparator array.
 
void Save(const std::string &)
Save to file.
 
void Initialize()
Initialize.
 
size_t m_nTop
Topmost level.
 
size_t m_nCount
Number of comparator networks found that sort.
 
size_t m_nNumMatchings
Number of matchings of this size.
 
virtual void Backtrack()
Backtracking search.
 
void InitMatchingRepresentations(size_t)
Initialize the two different matching representations.
 
CSearchable()
Constructor.
 
virtual void Save()
Save comparator network.
 
virtual void SetToS()
Set top of stack.
 
int m_nStack[MAXDEPTH]
Stack to remove recursion from search.
 
CMatching m_cMatching[MAXDEPTH]
Matchings that make up comparator network in a form that makes searching faster.
 
virtual void Process()
Process a candidate comparator network.
 
bool NextComparatorNetwork()
Change to next comparator network.
 
void SynchMatchingRepresentations(size_t)
Synchronize the two different matching representations.
 
void FirstComparatorNetwork(size_t)
Set to first comparator network.
 
void Search()
Do the actual search.
 
const size_t GetCount() const
Get count.
 
static size_t m_nWidth
Comparator network width.
 
static size_t m_nDepth
Comparator network depth.