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: