33#ifndef CLASSIC_LEXSMALLERIMAGE_SEARCH_H_
34#define CLASSIC_LEXSMALLERIMAGE_SEARCH_H_
36#include <permlib/search/classic/backtrack_search.h>
37#include <permlib/predicate/lex_smaller_image_predicate.h>
46template<
class BSGSIN,
class TRANSRET>
49 typedef typename BacktrackSearch<BSGSIN,TRANSRET>::PERM PERM;
65 template<
class InputIteratorZ,
class InputIteratorO>
66 void construct(InputIteratorZ zerosBegin, InputIteratorZ zerosEnd, InputIteratorO onesBegin, InputIteratorO onesEnd);
69template<
class BSGSIN,
class TRANSRET>
74template<
class BSGSIN,
class TRANSRET>
75template<
class InputIteratorZ,
class InputIteratorO>
unsigned int m_limitLevel
maximal backtrack level
Definition base_search.h:112
bool m_limitInitialized
true iff other m_limit variables have been initialized
Definition base_search.h:108
unsigned int m_limitBase
number of base points that correspond to maximal backtrack level m_limitLevel
Definition base_search.h:110
BSGSIN m_bsgs
main BSGS to search in
Definition base_search.h:91
coset-type predicate for group elements that map one set of zeros and ones to a lex-smaller set (w....
Definition lex_smaller_image_predicate.h:49
virtual unsigned int limit() const
limit of recursion depth in backtrack search
Definition lex_smaller_image_predicate.h:126
BacktrackSearch(const BSGSIN &bsgs, unsigned int pruningLevelDCM, bool breakAfterChildRestriction=false, bool stopAfterFirstElement=false)
constructor
Definition backtrack_search.h:90
void construct(SubgroupPredicate< PERM > *pred, bool addPredRefinement)
initializes the search
Definition backtrack_search.h:188
LexSmallerImageSearch(const BSGSIN &bsgs, unsigned int pruningLevelDCM)
constructor
Definition lex_smaller_image_search.h:70
void construct(InputIteratorZ zerosBegin, InputIteratorZ zerosEnd, InputIteratorO onesBegin, InputIteratorO onesEnd)
initializes search
Definition lex_smaller_image_search.h:76