1 // Dynamic result set class
2 // Originally by Gonzalo Navarro
11 typedef unsigned long ulong;
20 ulong conv (ulong p, ulong n, ulong lgn);
21 ulong unconv (ulong p, ulong n, ulong lgn);
22 ulong clearRangeLeft (ulong p1, ulong n, ulong pos, ulong pot);
23 ulong clearRangeRight (ulong p2, ulong n, ulong pos, ulong pot);
24 ulong clearBoth (ulong n, ulong p1, ulong p2, ulong pos, ulong pot);
26 ulong nextSmallest (ulong n, ulong pos, ulong pot);
27 ulong nextLarger (ulong n, ulong p, ulong pos, ulong pot);
29 void prnspace (ulong k);
31 // creates empty results data structure for n nodes numbered 0..n-1
35 // returns 0/1 telling whether result p is not/is present in R
38 // inserts result p into R
41 // clears all results p1..p2 in R
42 void clearRange (ulong p1, ulong p2);
46 // returns pos of next(p) in R, or -1 if none
47 ulong nextResult (ulong p);
53 #endif // _RESULTSET_H_