OKlibrary  0.2.1.6
OKlib::SATCompetition::LexicographicalEvaluation< IndexedDatabase, SeriesPolicy, NumberType > Class Template Reference

Given an "indexed database" of results, map each solver to the map, which assigns to each solved super-series the map, which assigns to each solved series the pair of solved-count and average running time. More...

#include <LexicographicalEvaluation.hpp>

List of all members.

Classes

struct  numerics_solver_on_series_type

Public Types

typedef IndexedDatabase database_type
typedef NumberType number_type
typedef
seq_solved_benchmarks::size_type 
size_type
typedef
SeriesPolicy::super_series_type 
super_series_type
typedef SeriesPolicy::series_type series_type
typedef std::map< series_type,
numerics_solver_on_series_type
map_series_numerics_type
typedef std::map
< super_series_type,
map_series_numerics_type
map_solver_evaluation_type
typedef std::map< Solver,
map_solver_evaluation_type
map_solver_map_evaluation_type

Public Member Functions

 OKLIB_DERIVED_RELATIONS_FRIENDS (numerics_solver_on_series_type)
 LexicographicalEvaluation (const IndexedDatabase &idb)
const map_solver_evaluation_typeevaluation (const Solver &solver) const

Public Attributes

const database_typeidb
map_solver_map_evaluation_type map

Friends

bool operator== (const numerics_solver_on_series_type &lhs, const numerics_solver_on_series_type &rhs)
bool operator< (const numerics_solver_on_series_type &lhs, const numerics_solver_on_series_type &rhs)
std::ostream & operator<< (std::ostream &out, const numerics_solver_on_series_type &pair)

Detailed Description

template<class IndexedDatabase, class SeriesPolicy = LexicographicalSeriesPolicy<Result>, typename NumberType = double>
class OKlib::SATCompetition::LexicographicalEvaluation< IndexedDatabase, SeriesPolicy, NumberType >

Given an "indexed database" of results, map each solver to the map, which assigns to each solved super-series the map, which assigns to each solved series the pair of solved-count and average running time.

Todo:

Actually, "LexicographicalEvaluation" is a misleading --- this class provides access to aggregated series results for each solver. So we should rename this class here; LexicographicalEvaluationRandom then is really the lexicographical evaluation (which should be generalised for "Series_with_n" (where "n" should be read as "size")).

The nested typedef numerics_solver_on_series_type should become a freestanding class template with an associated linear order (we should not just have a typedef for a pair-type here, since for pair-types we should always assume the natural definitions of == and <). A conversion to pair should be given. A concept is needed here (at least FullyConstructibleLinearOrder and the library basics).

Definition at line 63 of file LexicographicalEvaluation.hpp.


Member Typedef Documentation

template<class IndexedDatabase , class SeriesPolicy = LexicographicalSeriesPolicy<Result>, typename NumberType = double>
typedef IndexedDatabase OKlib::SATCompetition::LexicographicalEvaluation< IndexedDatabase, SeriesPolicy, NumberType >::database_type

Definition at line 66 of file LexicographicalEvaluation.hpp.

template<class IndexedDatabase , class SeriesPolicy = LexicographicalSeriesPolicy<Result>, typename NumberType = double>
typedef std::map<series_type, numerics_solver_on_series_type> OKlib::SATCompetition::LexicographicalEvaluation< IndexedDatabase, SeriesPolicy, NumberType >::map_series_numerics_type

Definition at line 113 of file LexicographicalEvaluation.hpp.

template<class IndexedDatabase , class SeriesPolicy = LexicographicalSeriesPolicy<Result>, typename NumberType = double>
typedef std::map<super_series_type, map_series_numerics_type> OKlib::SATCompetition::LexicographicalEvaluation< IndexedDatabase, SeriesPolicy, NumberType >::map_solver_evaluation_type

Definition at line 114 of file LexicographicalEvaluation.hpp.

template<class IndexedDatabase , class SeriesPolicy = LexicographicalSeriesPolicy<Result>, typename NumberType = double>
typedef std::map<Solver, map_solver_evaluation_type> OKlib::SATCompetition::LexicographicalEvaluation< IndexedDatabase, SeriesPolicy, NumberType >::map_solver_map_evaluation_type

Definition at line 168 of file LexicographicalEvaluation.hpp.

template<class IndexedDatabase , class SeriesPolicy = LexicographicalSeriesPolicy<Result>, typename NumberType = double>
typedef NumberType OKlib::SATCompetition::LexicographicalEvaluation< IndexedDatabase, SeriesPolicy, NumberType >::number_type

Definition at line 67 of file LexicographicalEvaluation.hpp.

template<class IndexedDatabase , class SeriesPolicy = LexicographicalSeriesPolicy<Result>, typename NumberType = double>
typedef SeriesPolicy::series_type OKlib::SATCompetition::LexicographicalEvaluation< IndexedDatabase, SeriesPolicy, NumberType >::series_type

Definition at line 112 of file LexicographicalEvaluation.hpp.

template<class IndexedDatabase , class SeriesPolicy = LexicographicalSeriesPolicy<Result>, typename NumberType = double>
typedef seq_solved_benchmarks::size_type OKlib::SATCompetition::LexicographicalEvaluation< IndexedDatabase, SeriesPolicy, NumberType >::size_type

Definition at line 75 of file LexicographicalEvaluation.hpp.

template<class IndexedDatabase , class SeriesPolicy = LexicographicalSeriesPolicy<Result>, typename NumberType = double>
typedef SeriesPolicy::super_series_type OKlib::SATCompetition::LexicographicalEvaluation< IndexedDatabase, SeriesPolicy, NumberType >::super_series_type

Definition at line 111 of file LexicographicalEvaluation.hpp.


Constructor & Destructor Documentation


Member Function Documentation

template<class IndexedDatabase , class SeriesPolicy = LexicographicalSeriesPolicy<Result>, typename NumberType = double>
const map_solver_evaluation_type& OKlib::SATCompetition::LexicographicalEvaluation< IndexedDatabase, SeriesPolicy, NumberType >::evaluation ( const Solver solver) const [inline]
template<class IndexedDatabase , class SeriesPolicy = LexicographicalSeriesPolicy<Result>, typename NumberType = double>
OKlib::SATCompetition::LexicographicalEvaluation< IndexedDatabase, SeriesPolicy, NumberType >::OKLIB_DERIVED_RELATIONS_FRIENDS ( numerics_solver_on_series_type  )

Friends And Related Function Documentation

template<class IndexedDatabase , class SeriesPolicy = LexicographicalSeriesPolicy<Result>, typename NumberType = double>
bool operator< ( const numerics_solver_on_series_type lhs,
const numerics_solver_on_series_type rhs 
) [friend]

Definition at line 88 of file LexicographicalEvaluation.hpp.

template<class IndexedDatabase , class SeriesPolicy = LexicographicalSeriesPolicy<Result>, typename NumberType = double>
std::ostream& operator<< ( std::ostream &  out,
const numerics_solver_on_series_type pair 
) [friend]

Definition at line 93 of file LexicographicalEvaluation.hpp.

template<class IndexedDatabase , class SeriesPolicy = LexicographicalSeriesPolicy<Result>, typename NumberType = double>
bool operator== ( const numerics_solver_on_series_type lhs,
const numerics_solver_on_series_type rhs 
) [friend]

Definition at line 85 of file LexicographicalEvaluation.hpp.


Member Data Documentation

template<class IndexedDatabase , class SeriesPolicy = LexicographicalSeriesPolicy<Result>, typename NumberType = double>
const database_type& OKlib::SATCompetition::LexicographicalEvaluation< IndexedDatabase, SeriesPolicy, NumberType >::idb

Definition at line 116 of file LexicographicalEvaluation.hpp.


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