diff --git a/group-connectivity.h b/group-connectivity.h
index eac1fd05ec784ed033c4bf22265cc690cb18ded3..f7950ac2acca45ef71704178aa66049834637bdc 100644
--- a/group-connectivity.h
+++ b/group-connectivity.h
@@ -77,7 +77,22 @@ struct Tester : public AbstractTester {
}
}
-#if !USE_NEXT_FORB
+
+#if USE_NEXT_FORB
+ bool nextForb(Mapping& forb) {
+ for (size_t i = 0; i < edges; i++) {
+ T v = forb[i] + 1;
+ if (v >= Ring::size) {
+ forb.assign(i, 1);
+ } else {
+ forb.assign(i, v);
+ return true;
+ }
+ }
+
+ return false;
+ }
+#else // !USE_NEXT_FORB
Mapping& unpack(size_t index, Mapping& ret) {
size_t m = Ring::size - 1;
@@ -90,6 +105,7 @@ struct Tester : public AbstractTester {
}
#endif
+
Mapping& cannonize(Mapping& map) {
for (const auto &i : nonClassEdges) {
#if OPTIMIZE_COMBINE
@@ -123,21 +139,7 @@ struct Tester : public AbstractTester {
#endif
}
-#if USE_NEXT_FORB
- bool nextForb(Mapping& forb) {
- for (size_t i = 0; i < edges; i++) {
- T v = forb[i] + 1;
- if (v >= Ring::size) {
- forb.assign(i, 1);
- } else {
- forb.assign(i, v);
- return true;
- }
- }
- return false;
- }
-#endif
virtual bool run() {
# if SAVE_MEMORY