Goal: prioritise max ratio of bound args.
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: prioritise max ratio of bound args.
Definition at line 104 of file SipsMetric.h.
◆ MaxRatioSips()
souffle::ast::MaxRatioSips::MaxRatioSips |
( |
| ) |
|
|
default |
◆ evaluateCosts()
std::vector< double > souffle::ast::MaxRatioSips::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 178 of file SipsMetric.cpp.
187 }
else if (numBound == 0) {
192 cost.push_back(1 - numBound / arity);
195 assert(atoms.size() == cost.size() &&
"each atom should have exactly one cost");
200 const std::vector<Atom*> atoms,
const BindingStore& bindingStore)
const {
202 std::vector<double> cost;
203 for (
const auto* atom : atoms) {
The documentation for this class was generated from the following files: