return x.setAttribute(ArithVarAttr(), (uint64_t)a);
}
-typedef std::vector<uint64_t> ActivityMonitor;
-
-
inline Node mkRationalNode(const Rational& q){
return NodeManager::currentNM()->mkConst<Rational>(q);
}
d_partialModel.setLowerConstraint(x_i,original);
d_partialModel.setLowerBound(x_i, c_i);
- d_activityMonitor[x_i] = 0;
if(!d_basicManager.isMember(x_i)){
if(d_partialModel.getAssignment(x_i) < c_i){
d_partialModel.setUpperConstraint(x_i,original);
d_partialModel.setUpperBound(x_i, c_i);
- d_activityMonitor[x_i] = 0;
-
if(!d_basicManager.isMember(x_i)){
if(d_partialModel.getAssignment(x_i) > c_i){
update(x_i, c_i);
d_partialModel.setUpperConstraint(x_i,original);
d_partialModel.setUpperBound(x_i, c_i);
- d_activityMonitor[x_i] = 0;
if(!d_basicManager.isMember(x_i)){
if(!(d_partialModel.getAssignment(x_i) == c_i)){
DeltaRational nAssignment = assignment+(diff * a_ji);
d_partialModel.setAssignment(x_j, nAssignment);
- d_activityMonitor[x_j] += 1;
-
checkBasicVariable(x_j);
}
}
DeltaRational nextAssignment = d_partialModel.getAssignment(x_k) + (theta * a_kj);
d_partialModel.setAssignment(x_k, nextAssignment);
- d_activityMonitor[x_j] += 1;
-
checkBasicVariable(x_k);
}
}
ArithPartialModel& d_partialModel;
ArithVarSet& d_basicManager;
- ActivityMonitor& d_activityMonitor;
OutputChannel* d_out;
-
Tableau& d_tableau;
ArithVar d_numVariables;
ArithPartialModel& pm,
ArithVarSet& bm,
OutputChannel* out,
- ActivityMonitor& am,
Tableau& tableau) :
d_possiblyInconsistent(),
d_constants(constants),
d_partialModel(pm),
d_basicManager(bm),
- d_activityMonitor(am),
d_out(out),
d_tableau(tableau),
d_numVariables(0),
ReducedRowVector& row_k = lookup(basic);
if(row_k.has(x_s)){
- d_activityMonitor[basic] += 30;
row_k.substitute(*row_s);
}
}
ArithVarSet d_activeBasicVars;
RowsTable d_rowsTable;
-
- ActivityMonitor& d_activityMonitor;
ArithVarSet& d_basicManager;
std::vector<uint32_t> d_rowCount;
/**
* Constructs an empty tableau.
*/
- Tableau(ActivityMonitor &am, ArithVarSet& bm) :
+ Tableau(ArithVarSet& bm) :
d_activeBasicVars(),
d_rowsTable(),
- d_activityMonitor(am),
d_basicManager(bm)
{}
d_partialModel(c),
d_basicManager(),
d_userVariables(),
- d_activityMonitor(),
d_diseq(c),
- d_tableau(d_activityMonitor, d_basicManager),
+ d_tableau(d_basicManager),
d_propagator(c, out),
- d_simplex(d_constants, d_partialModel, d_basicManager, d_out, d_activityMonitor, d_tableau),
+ d_simplex(d_constants, d_partialModel, d_basicManager, d_out, d_tableau),
d_statistics()
{}
setArithVar(x,varX);
- Assert(varX == d_activityMonitor.size());
- d_activityMonitor.push_back(0);
-
d_basicManager.init(varX,basic);
d_userVariables.init(varX, !basic);
d_tableau.increaseSize();
ArithVarSet d_basicManager;
ArithVarSet d_userVariables;
- ActivityMonitor d_activityMonitor;
/**
* List of all of the inequalities asserted in the current context.