Goal: Prioritise (1) all bound, then (2) atoms with at least one bound argument, then (3) left-most.  
 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 (1) all bound, then (2) atoms with at least one bound argument, then (3) left-most. 
Definition at line 84 of file SipsMetric.h.
◆ NaiveSips()
  
  | 
        
          | souffle::ast::NaiveSips::NaiveSips | ( |  | ) |  |  | default | 
 
 
◆ evaluateCosts()
  
  | 
        
          | std::vector< double > souffle::ast::NaiveSips::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 127 of file SipsMetric.cpp.
  135         } 
else if (numBound >= 1) {
 
  141     assert(atoms.size() == cost.size() && 
"each atom should have exactly one cost");
 
  146         const std::vector<Atom*> atoms, 
const BindingStore& bindingStore)
 const {
 
  148     std::vector<double> cost;
 
  149     for (
const auto* atom : atoms) {
 
 
 
 
The documentation for this class was generated from the following files: