EnumerationDyn< ZT, FT > Class Template Reference

#include <enumerate.h>

Public Member Functions

 EnumerationDyn (MatGSOInterface< ZT, FT > &gso, Evaluator< FT > &evaluator, const vector< int > &max_indices=vector< int >())
 
void enumerate (int first, int last, FT &fmaxdist, long fmaxdistexpo, const vector< FT > &target_coord=vector< FT >(), const vector< enumxt > &subtree=vector< enumxt >(), const vector< enumf > &pruning=vector< enumf >(), bool dual=false, bool subtree_reset=false)
 
uint64_t get_nodes (const int level=-1) const
 
array< uint64_t, FPLLL_EXTENUM_MAX_EXTENUM_DIMget_nodes_array ()
 
- Public Member Functions inherited from EnumerationBase
uint64_t get_nodes (const int level=-1) const
 
virtual ~EnumerationBase ()
 
template<bool dualenum, bool findsubsols, bool enable_reset>
FPLLL_BEGIN_NAMESPACE void enumerate_loop ()
 

Additional Inherited Members

- Static Public Attributes inherited from EnumerationBase
static const int maxdim = FPLLL_MAX_ENUM_DIM
 
- Protected Member Functions inherited from EnumerationBase
template<int kk, int kk_start, bool dualenum, bool findsubsols, bool enable_reset>
void enumerate_recursive (opts< kk, kk_start, dualenum, findsubsols, enable_reset >) ENUM_ALWAYS_INLINE
 
template<int kk_start, bool dualenum, bool findsubsols, bool enable_reset>
void enumerate_recursive (opts<-1, kk_start, dualenum, findsubsols, enable_reset >)
 
template<int kk, bool dualenum, bool findsubsols, bool enable_reset>
void enumerate_recursive_wrapper ()
 
template<bool dualenum, bool findsubsols, bool enable_reset>
void enumerate_recursive_dispatch (int kk)
 
template<bool dualenum, bool findsubsols, bool enable_reset>
void enumerate_loop ()
 
virtual void reset (enumf, int)=0
 
virtual void process_solution (enumf newmaxdist)=0
 
virtual void process_subsolution (int offset, enumf newdist)=0
 
void save_rounding ()
 
void restore_rounding ()
 
bool next_pos_up ()
 
- Protected Attributes inherited from EnumerationBase
bool dual
 
bool is_svp
 
bool resetflag
 
enumf mut [maxdim][maxdim]
 
array< enumf, maxdimrdiag
 
array< enumf, maxdimpartdistbounds
 
int d
 
int k_end
 
enumf center_partsums [maxdim][maxdim]
 
array< enumf, maxdimcenter_partsum
 
array< int, maxdimcenter_partsum_begin
 
array< enumf, maxdimpartdist
 
array< enumf, maxdimcenter
 
array< enumf, maxdimalpha
 
array< enumxt, maxdimx
 
array< enumxt, maxdimdx
 
array< enumxt, maxdimddx
 
array< enumf, maxdimsubsoldists
 
vector< int > _max_indices
 
int reset_depth
 
int k
 
int k_max
 
bool finished
 
array< uint64_t, FPLLL_EXTENUM_MAX_EXTENUM_DIMnodes
 
int rounding_backup
 

Constructor & Destructor Documentation

◆ EnumerationDyn()

template<typename ZT , typename FT >
EnumerationDyn< ZT, FT >::EnumerationDyn ( MatGSOInterface< ZT, FT > &  gso,
Evaluator< FT > &  evaluator,
const vector< int > &  max_indices = vector<int>() 
)
inline

Member Function Documentation

◆ enumerate()

template<typename ZT , typename FT >
void EnumerationDyn< ZT, FT >::enumerate ( int  first,
int  last,
FT &  fmaxdist,
long  fmaxdistexpo,
const vector< FT > &  target_coord = vector<FT>(),
const vector< enumxt > &  subtree = vector<enumxt>(),
const vector< enumf > &  pruning = vector<enumf>(),
bool  dual = false,
bool  subtree_reset = false 
)

◆ get_nodes()

template<typename ZT , typename FT >
uint64_t EnumerationDyn< ZT, FT >::get_nodes ( const int  level = -1) const
inline

◆ get_nodes_array()

template<typename ZT , typename FT >
array< uint64_t, FPLLL_EXTENUM_MAX_EXTENUM_DIM > EnumerationDyn< ZT, FT >::get_nodes_array ( )
inline

The documentation for this class was generated from the following files: