SLUFactor::Status SLUFactor::change( int idx, const SVector& subst, const SSVector* e) { METHOD( "SLUFactor::change()" ); // BH 2005-08-23: The boolean usetup indicates that an "update vector" // has been set up. I suppose that SSVector forest is this // update vector, which is set up by solveRight4update() and // solve2right4update() in order to optimize the basis update. if (usetup) { if (l.updateType == FOREST_TOMLIN) // FOREST_TOMLIN updates { // BH 2005-08-19: The size of a SSVector is the size of the // index set, i.e. the number of nonzeros which is only // defined if the SSVector is set up. Since // SSVector::altValues() calls unSetup() the size needs to be // stored before the following call. int fsize = forest.size(); // see altValues() forestUpdate(idx, forest.altValues(), fsize, forest.altIndexMem()); forest.setSize(0); forest.forceSetup(); } else { assert(l.updateType == ETA); changeEta(idx, eta); } } else if (e != 0) // ETA updates { l.updateType = ETA; updateNoClear(idx, e->values(), e->indexMem(), e->size()); l.updateType = uptype; } else if (l.updateType == FOREST_TOMLIN) // FOREST_TOMLIN updates { assert(0); // probably this part is never called. // forestUpdate() with the last parameter set to NULL should fail. forest = subst; CLUFactor::solveLright(forest.altValues()); forestUpdate(idx, forest.altValues(), 0, 0); forest.setSize(0); forest.forceSetup(); } else // ETA updates { assert(l.updateType == ETA); vec = subst; eta.clear(); CLUFactor::solveRight(eta.altValues(), vec.get_ptr()); changeEta(idx, eta); } usetup = false; MSG_DEBUG( spxout << "DSLUFA01\tupdated\t\tstability = " << stability() << std::endl; ) return status();
std::string StalkPart::describe() const { std::stringstream ss; ss << "Stalk: " << name() << ", Stability: " << stability(); return ss.str(); }
/** * Returns true if this version is available (as in: can be installed) * and false if not. */ bool PortagePackageVersion::isAvailable() const { //TODO: remove x86 and get arch it from the PortageSettings return (stability("x86") == Stable); }