souffle
2.0.2-371-g6315b36
|
Goal: prioritise (1) all-bound, then (2) input, and then (3) left-most. More...
#include <SipsMetric.h>
Public Member Functions | |
InputSips (const analysis::RelationDetailCacheAnalysis &relDetail, const analysis::IOTypeAnalysis &ioTypes) | |
Public Member Functions inherited from souffle::ast::SipsMetric | |
std::vector< unsigned int > | getReordering (const Clause *clause) const |
Determines the new ordering of a clause after the SIPS is applied. More... | |
virtual | ~SipsMetric ()=default |
Protected Member Functions | |
std::vector< double > | evaluateCosts (const std::vector< Atom * > atoms, const BindingStore &bindingStore) const override |
Evaluates the cost of choosing each atom next in the current schedule. More... | |
Private Attributes | |
const analysis::IOTypeAnalysis & | ioTypes |
const analysis::RelationDetailCacheAnalysis & | relDetail |
Additional Inherited Members | |
Static Public Member Functions inherited from souffle::ast::SipsMetric | |
static std::unique_ptr< SipsMetric > | create (const std::string &heuristic, const TranslationUnit &tu) |
Create a SIPS metric based on a given heuristic. More... | |
Goal: prioritise (1) all-bound, then (2) input, and then (3) left-most.
Definition at line 161 of file SipsMetric.h.
|
inline |
|
overrideprotectedvirtual |
Evaluates the cost of choosing each atom next in the current schedule.
atoms | atoms to choose from; may be nullptr |
bindingStore | the variables already bound to a value |
Implements souffle::ast::SipsMetric.
Definition at line 295 of file SipsMetric.cpp.
|
private |
Definition at line 172 of file SipsMetric.h.
|
private |
Definition at line 171 of file SipsMetric.h.