fplll: EnumerationBase Class Reference

#include <enumerate_base.h>

Data Structures

struct  opts
 

Public Member Functions

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 ()
 

Protected Member Functions

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

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
 
virtual EnumerationBase::~EnumerationBase ( )
inlinevirtual

◆ enumerate_loop() [1/2]

template<bool dualenum, bool findsubsols, bool enable_reset>

template void EnumerationBase::enumerate_loop< true, true, false > ( )

◆ enumerate_loop() [2/2]

template<bool dualenum, bool findsubsols, bool enable_reset>

void EnumerationBase::enumerate_loop ( )
protected

◆ enumerate_recursive() [1/2]

template<int kk, int kk_start, bool dualenum, bool findsubsols, bool enable_reset>

void EnumerationBase::enumerate_recursive ( opts< kk, kk_start, dualenum, findsubsols, enable_reset >  )
inlineprotected

◆ enumerate_recursive() [2/2]

template<int kk_start, bool dualenum, bool findsubsols, bool enable_reset>

void EnumerationBase::enumerate_recursive ( opts<-1, kk_start, dualenum, findsubsols, enable_reset >  )
inlineprotected

◆ enumerate_recursive_dispatch()

template<bool dualenum, bool findsubsols, bool enable_reset>

void EnumerationBase::enumerate_recursive_dispatch ( int  kk)
inlineprotected

◆ enumerate_recursive_wrapper()

template<int kk, bool dualenum, bool findsubsols, bool enable_reset>

void EnumerationBase::enumerate_recursive_wrapper ( )
inlineprotected

◆ get_nodes()

uint64_t EnumerationBase::get_nodes ( const int  level = -1) const
inline

◆ next_pos_up()

bool EnumerationBase::next_pos_up ( )
inlineprotected

◆ process_solution()

virtual void EnumerationBase::process_solution ( enumf  newmaxdist)
protectedpure virtual

◆ process_subsolution()

virtual void EnumerationBase::process_subsolution ( int  offset,
enumf  newdist 
)
protectedpure virtual

◆ reset()

virtual void EnumerationBase::reset ( enumf  ,
int   
)
protectedpure virtual

◆ restore_rounding()

void EnumerationBase::restore_rounding ( )
inlineprotected

◆ save_rounding()

void EnumerationBase::save_rounding ( )
inlineprotected

◆ _max_indices

vector<int> EnumerationBase::_max_indices

protected

◆ alpha

◆ center

◆ center_partsum

◆ center_partsum_begin

array<int, maxdim> EnumerationBase::center_partsum_begin

protected

◆ center_partsums

◆ d

◆ ddx

◆ dual

bool EnumerationBase::dual

protected

◆ dx

◆ finished

bool EnumerationBase::finished

protected

◆ is_svp

bool EnumerationBase::is_svp

protected

◆ k

◆ k_end

int EnumerationBase::k_end

protected

◆ k_max

int EnumerationBase::k_max

protected

◆ maxdim

◆ mut

◆ nodes

◆ partdist

◆ partdistbounds

◆ rdiag

◆ reset_depth

int EnumerationBase::reset_depth

protected

◆ resetflag

bool EnumerationBase::resetflag

protected

◆ rounding_backup

int EnumerationBase::rounding_backup

protected

◆ subsoldists

◆ x


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