Evaluator< FT > Class Template Referenceabstract

#include <evaluator.h>

Public Types

typedef std::multimap< FT, std::vector< FT >, std::greater< FT > > container_t
 

Public Member Functions

 Evaluator (size_t nr_solutions=1, EvaluatorStrategy update_strategy=EVALSTRATEGY_BEST_N_SOLUTIONS, bool find_subsolutions=false)
 
virtual ~Evaluator ()
 
container_t::const_reverse_iterator begin () const
 
container_t::const_reverse_iterator end () const
 
container_t::reverse_iterator begin ()
 
container_t::reverse_iterator end ()
 
size_t size () const
 
bool empty () const
 
virtual void eval_sol (const vector< FT > &new_sol_coord, const enumf &new_partial_dist, enumf &max_dist)=0
 
virtual void eval_sub_sol (int offset, const vector< FT > &new_sub_sol_coord, const enumf &sub_dist)=0
 
virtual void set_normexp (long norm_exp)
 

Data Fields

size_t max_sols
 
EvaluatorStrategy strategy
 
bool findsubsols
 
container_t solutions
 
size_t sol_count
 
std::vector< std::pair< FT, std::vector< FT > > > sub_solutions
 
long normExp
 

Protected Member Functions

virtual enumf calc_enum_bound (const FT &dist) const
 
void process_sol (const FT &dist, const vector< FT > &coord, enumf &max_dist)
 

Detailed Description

template<class FT>
class Evaluator< FT >

Evaluator stores the solutions found by enumerate, and updates the enumeration bound It thus provides an interface to the enumerator, as well as a basic interface to return solutions. Specializations will implement specific behaviour and additional interfaces.

Member Typedef Documentation

◆ container_t

template<class FT >
typedef std::multimap<FT, std::vector<FT>, std::greater<FT> > Evaluator< FT >::container_t

Solutions found in the lattice

Constructor & Destructor Documentation

◆ Evaluator()

template<class FT >
Evaluator< FT >::Evaluator ( size_t  nr_solutions = 1,
EvaluatorStrategy  update_strategy = EVALSTRATEGY_BEST_N_SOLUTIONS,
bool  find_subsolutions = false 
)
inline

◆ ~Evaluator()

template<class FT >
virtual Evaluator< FT >::~Evaluator ( )
inlinevirtual

Member Function Documentation

◆ begin() [1/2]

template<class FT >
container_t::reverse_iterator Evaluator< FT >::begin ( )
inline

◆ begin() [2/2]

template<class FT >
container_t::const_reverse_iterator Evaluator< FT >::begin ( ) const
inline

interface to resulting solutions

◆ calc_enum_bound()

template<class FT >
virtual enumf Evaluator< FT >::calc_enum_bound ( const FT &  dist) const
inlineprotectedvirtual

calculate enumeration bound based on dist

◆ empty()

template<class FT >
bool Evaluator< FT >::empty ( ) const
inline

◆ end() [1/2]

template<class FT >
container_t::reverse_iterator Evaluator< FT >::end ( )
inline

◆ end() [2/2]

template<class FT >
container_t::const_reverse_iterator Evaluator< FT >::end ( ) const
inline

◆ eval_sol()

template<class FT >
virtual void Evaluator< FT >::eval_sol ( const vector< FT > &  new_sol_coord,
const enumf new_partial_dist,
enumf max_dist 
)
pure virtual

◆ eval_sub_sol()

template<class FT >
virtual void Evaluator< FT >::eval_sub_sol ( int  offset,
const vector< FT > &  new_sub_sol_coord,
const enumf sub_dist 
)
pure virtual

◆ process_sol()

template<class FT >
void Evaluator< FT >::process_sol ( const FT &  dist,
const vector< FT > &  coord,
enumf max_dist 
)
inlineprotected

processes solution into multimap and adjusts max_dist according to strategy

◆ set_normexp()

template<class FT >
virtual void Evaluator< FT >::set_normexp ( long  norm_exp)
inlinevirtual

◆ size()

template<class FT >
size_t Evaluator< FT >::size ( ) const
inline

Field Documentation

◆ findsubsols

template<class FT >
bool Evaluator< FT >::findsubsols

◆ max_sols

template<class FT >
size_t Evaluator< FT >::max_sols

configuration

◆ normExp

template<class FT >
long Evaluator< FT >::normExp

◆ sol_count

template<class FT >
size_t Evaluator< FT >::sol_count

◆ solutions

template<class FT >
container_t Evaluator< FT >::solutions

◆ strategy

template<class FT >
EvaluatorStrategy Evaluator< FT >::strategy

◆ sub_solutions

template<class FT >
std::vector<std::pair<FT, std::vector<FT> > > Evaluator< FT >::sub_solutions

Subsolutions found in the lattice


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