Goal: choose the atom with the least amount of unbound variables.
More...
#include <SipsMetric.h>
|
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...
|
|
Goal: choose the atom with the least amount of unbound variables.
Definition at line 124 of file SipsMetric.h.
◆ LeastFreeVarsSips()
souffle::ast::LeastFreeVarsSips::LeastFreeVarsSips |
( |
| ) |
|
|
default |
◆ evaluateCosts()
std::vector< double > souffle::ast::LeastFreeVarsSips::evaluateCosts |
( |
const std::vector< Atom * > |
atoms, |
|
|
const BindingStore & |
bindingStore |
|
) |
| const |
|
overrideprotectedvirtual |
Evaluates the cost of choosing each atom next in the current schedule.
- Parameters
-
atoms | atoms to choose from; may be nullptr |
bindingStore | the variables already bound to a value |
Implements souffle::ast::SipsMetric.
Definition at line 220 of file SipsMetric.cpp.
227 if (bindingStore.isBound(var.getName())) {
228 freeVars.insert(var.getName());
231 cost.push_back(freeVars.size());
237 const std::vector<Atom*> atoms,
const BindingStore& bindingStore)
const {
The documentation for this class was generated from the following files: