|
Debugging, floating point type and parameter definitions.
More...
#include <math.h>
Go to the source code of this file.
|
| soplex |
| Everything should be within this namespace.
|
|
|
#define | SOPLEX_VERSION 221 |
|
#define | SOPLEX_SUBVERSION 0 |
|
#define | ASSERT_WARN(prefix, expr) ( assert( expr ) ) |
| Macro to turn some assertions into warnings. More...
|
|
#define | DO_WITH_TMP_VERBOSITY(verbosity, spxout, do_something) |
|
#define | DO_WITH_ERR_VERBOSITY(do_something) { do_something; } |
|
#define | MSG_ERROR(x) { DO_WITH_ERR_VERBOSITY( x ) } |
| Prints out message x if the verbosity level is at least SPxOut::ERROR. More...
|
|
#define | MSG_WARNING(spxout, x) { DO_WITH_TMP_VERBOSITY( SPxOut::WARNING, spxout, x ) } |
| Prints out message x if the verbosity level is at least SPxOut::WARNING. More...
|
|
#define | MSG_INFO1(spxout, x) { DO_WITH_TMP_VERBOSITY( SPxOut::INFO1, spxout, x ) } |
| Prints out message x if the verbosity level is at least SPxOut::INFO1. More...
|
|
#define | MSG_INFO2(spxout, x) { DO_WITH_TMP_VERBOSITY( SPxOut::INFO2, spxout, x ) } |
| Prints out message x if the verbosity level is at least SPxOut::INFO2. More...
|
|
#define | MSG_INFO3(spxout, x) { DO_WITH_TMP_VERBOSITY( SPxOut::INFO3, spxout, x ) } |
| Prints out message x if the verbosity level is at least SPxOut::INFO3. More...
|
|
#define | MSGinconsistent(name) msginconsistent(name, __FILE__, __LINE__) |
|
#define | MSG_DEBUG(x) |
|
#define | REAL(x) x |
|
#define | REAL_FORMAT "lf" |
|
#define | DEFAULT_BND_VIOL 1e-6 |
| default allowed bound violation More...
|
|
#define | DEFAULT_EPS_ZERO 1e-16 |
| default allowed additive zero: 1.0 + EPS_ZERO == 1.0 More...
|
|
#define | DEFAULT_EPS_FACTOR 1e-20 |
|
#define | DEFAULT_EPS_UPDATE 1e-16 |
|
#define | DEFAULT_EPS_PIVOT 1e-10 |
|
#define | DEFAULT_INFINITY 1e100 |
|
#define | MAXIMUM(x, y) ((x)>(y) ? (x) : (y)) |
|
|
bool | msginconsistent (const char *name, const char *file, int line) |
|
Real | spxAbs (Real a) |
| returns |a| More...
|
|
Real | spxSqrt (Real a) |
| returns square root More...
|
|
Real | spxNextafter (Real x, Real y) |
|
Real | spxLdexp (Real x, int exp) |
| returns x * 2^exp More...
|
|
Real | spxFrexp (Real y, int *exp) |
|
Real | maxAbs (Real a, Real b) |
| returns max(|a|,|b|) More...
|
|
Real | relDiff (Real a, Real b) |
| returns (a-b) / max(|a|,|b|,1.0) More...
|
|
bool | EQ (Real a, Real b, Real eps=Param::epsilon()) |
| returns true iff |a-b| <= eps More...
|
|
bool | NE (Real a, Real b, Real eps=Param::epsilon()) |
| returns true iff |a-b| > eps More...
|
|
bool | LT (Real a, Real b, Real eps=Param::epsilon()) |
| returns true iff a < b + eps More...
|
|
bool | LE (Real a, Real b, Real eps=Param::epsilon()) |
| returns true iff a <= b + eps More...
|
|
bool | GT (Real a, Real b, Real eps=Param::epsilon()) |
| returns true iff a > b + eps More...
|
|
bool | GE (Real a, Real b, Real eps=Param::epsilon()) |
| returns true iff a >= b + eps More...
|
|
bool | isZero (Real a, Real eps=Param::epsilon()) |
| returns true iff |a| <= eps More...
|
|
bool | isNotZero (Real a, Real eps=Param::epsilon()) |
| returns true iff |a| > eps More...
|
|
bool | EQrel (Real a, Real b, Real eps=Param::epsilon()) |
| returns true iff |relDiff(a,b)| <= eps More...
|
|
bool | NErel (Real a, Real b, Real eps=Param::epsilon()) |
| returns true iff |relDiff(a,b)| > eps More...
|
|
bool | LTrel (Real a, Real b, Real eps=Param::epsilon()) |
| returns true iff relDiff(a,b) <= -eps More...
|
|
bool | LErel (Real a, Real b, Real eps=Param::epsilon()) |
| returns true iff relDiff(a,b) <= eps More...
|
|
bool | GTrel (Real a, Real b, Real eps=Param::epsilon()) |
| returns true iff relDiff(a,b) > eps More...
|
|
bool | GErel (Real a, Real b, Real eps=Param::epsilon()) |
| returns true iff relDiff(a,b) > -eps More...
|
|
Debugging, floating point type and parameter definitions.
In optimized code with NDEBUG defined, only INFO1, INFO2, and INFO3 are set. If NDEBUG is not defined, the code within #TRACE is used. If SOPLEX_DEBUG is defined, the code within DEBUG is also used.
If WITH_LONG_DOUBLE is defined, all Real numbers are of type long double instead of just double.
Definition in file spxdefines.h.
#define ASSERT_WARN |
( |
|
prefix, |
|
|
|
expr |
|
) |
| ( assert( expr ) ) |
Macro to turn some assertions into warnings.
If both NDEBUG and WITH_WARNINGS are defined then the failed assertion is converted to a warning. In all other cases this macro is equivalent to assert().
- Parameters
-
prefix | Short string for grepping in source code. |
expr | Expression that must be satisfied. |
Definition at line 72 of file spxdefines.h.
Referenced by SPxWeightPR::computeCP(), SPxWeightPR::computeRP(), SPxMainSM::duplicateCols(), SPxMainSM::duplicateRows(), SPxMainSM::ZeroObjColSingletonPS::execute(), SPxMainSM::DoubletonEquationPS::execute(), SPxMainSM::DuplicateRowsPS::execute(), SPxMainSM::DuplicateColsPS::execute(), SPxMainSM::removeEmpty(), SPxDefaultRT::selectLeave(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), SPxMainSM::simplifyRows(), and CLUFactor::solveUleft().
#define DEFAULT_BND_VIOL 1e-6 |
#define DEFAULT_EPS_FACTOR 1e-20 |
#define DEFAULT_EPS_PIVOT 1e-10 |
#define DEFAULT_EPS_UPDATE 1e-16 |
#define DEFAULT_EPS_ZERO 1e-16 |
#define DEFAULT_INFINITY 1e100 |
#define DO_WITH_ERR_VERBOSITY |
( |
|
do_something | ) |
{ do_something; } |
#define DO_WITH_TMP_VERBOSITY |
( |
|
verbosity, |
|
|
|
spxout, |
|
|
|
do_something |
|
) |
| |
Value:{ \ if( &spxout != NULL ) \ { \ if( verbosity <= spxout.getVerbosity() ) \ { \ const SPxOut::Verbosity old_verbosity = spxout.getVerbosity(); \ spxout.setVerbosity( verbosity ); \ do_something; \ spxout.setVerbosity( old_verbosity ); \ } \ } \ } Prints/Executes stream with verbosity level verbosity , resetting the old verbosity level afterwards. Usually the parameter stream prints something out. This is an internal define used by MSG_ERROR, MSG_WARNING, etc.
Definition at line 92 of file spxdefines.h.
#define MAXIMUM |
( |
|
x, |
|
|
|
y |
|
) |
| ((x)>(y) ? (x) : (y)) |
Definition at line 127 of file spxdefines.h.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_factorizeColumnRational(), SoPlex::_lift(), SoPlex::_performFeasIRStable(), SoPlex::_performOptIRStable(), SoPlex::_performUnboundedIRStable(), SoPlex::_project(), SoPlex::_reconstructSolutionRational(), SoPlex::_solveRealStable(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SLUFactorRational::change(), SLUFactor::change(), SPxSolver::changeLhsStatus(), SPxSolver::changeLowerStatus(), SPxSolver::changeRhsStatus(), SPxSolver::changeUpperStatus(), SVSetBase< Real >::countUnusedMem(), SVSetBase< Real >::deleteVec(), SVSetBase< Real >::ensureMem(), SPxSolver::enter(), SPxMainSM::RowObjPS::execute(), CLUFactorRational::factor(), SPxSolver::factorize(), SPxBoundFlippingRT::flipAndUpdate(), SPxWeightST::generate(), SoPlex::getDualViolationRational(), SPxSolver::getEnterVals(), SPxSolver::getEnterVals2(), SPxSolver::getLeaveVals(), SPxSolver::getLeaveVals2(), SoPlex::getRedCostViolationRational(), SPxBasis::isDescValid(), SPxSolver::leave(), SLUFactor::load(), SLUFactorRational::load(), soplex::LPFhasKeyword(), soplex::LPFreadColName(), soplex::LPFreadSense(), soplex::LPFreadValue(), SVSetBase< Real >::memPack(), SVSetBase< Real >::memRemax(), SPxSolver::perturbMaxEnter(), SPxSolver::perturbMaxLeave(), SPxSolver::perturbMinEnter(), SPxSolver::perturbMinLeave(), SPxBasis::readBasis(), MPSInput::readLine(), SPxLPBase< R >::readLPF(), soplex::reconstructVector(), SPxBasis::reDim(), SPxSolver::rejectLeave(), SPxBasis::removedRow(), SPxBasis::removedRows(), SPxDefaultRT::selectEnter(), SPxHarrisRT::selectEnter(), SPxFastRT::selectEnter(), SPxBoundFlippingRT::selectEnter(), SPxFastRT::selectLeave(), SPxBoundFlippingRT::selectLeave(), SPxBasis::setStatus(), SPxVectorST::setupWeights(), SPxWeightST::setupWeights(), SPxSolver::shiftFvec(), SPxSolver::shiftPvec(), SPxSolver::solve(), CLUFactor::solveLright(), CLUFactorRational::solveLright(), SPxSolver::terminate(), SPxMainSM::unsimplify(), SPxSolver::updateNonbasicValue(), SPxBasis::writeBasis(), and SVSetBase< Real >::xtend().
Prints out message x if the verbosity level is at least SPxOut::ERROR.
Definition at line 109 of file spxdefines.h.
Referenced by SoPlex::_factorizeColumnRational(), SoPlex::_parseSettingsLine(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_solveRealLPAndRecordStatistics(), SPxBasis::addedCols(), SPxBasis::addedRows(), SoPlex::areLPsInSync(), SPxSolver::basisStatusToVarStatus(), SPxSolver::computeFrhs(), SPxSolver::computeFrhs1(), SPxSolver::computeFrhs2(), SPxSolver::computeFrhsXtra(), TimerFactory::createTimer(), MPSInput::entryIgnored(), SPxBasis::factorize(), SPxSolver::factorize(), SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SoPlex::getBasisInverseTimesVecReal(), SoPlexLegacy::getDualfarkas(), SPxSolver::getEnterVals(), SPxSolver::getEnterVals2(), SPxSolver::getLeaveVals2(), SoPlexLegacy::getPrimalray(), SPxStarter::isConsistent(), SPxSteepPR::isConsistent(), SSVectorBase< Real >::isConsistent(), SPxDevexPR::left4(), SPxSteepPR::left4(), SoPlex::loadSettingsFile(), main(), soplex::msginconsistent(), SPxSolver::nonbasicValue(), SoPlex::parseSettingsString(), SPxLPBase< R >::readLPF(), SoPlexLegacy::setBasis(), CLUFactor::setPivot(), LPRowBase< R >::setType(), LPRowSetBase< Real >::setType(), SPxSolver::solve(), MPSInput::syntaxError(), SPxSolver::testVecs(), SPxSolver::varStatusToBasisStatusCol(), and SPxSolver::varStatusToBasisStatusRow().
Prints out message x if the verbosity level is at least SPxOut::INFO1.
Definition at line 113 of file spxdefines.h.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_evaluateSolutionReal(), SoPlex::_factorizeColumnRational(), SoPlex::_lift(), SoPlex::_performOptIRStable(), SoPlex::_project(), SoPlex::_reconstructSolutionRational(), SoPlex::_solveRational(), SoPlex::_solveRealForRational(), SoPlex::_solveRealStable(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), checkSolution(), checkSolutionRational(), checkSolutionReal(), SoPlex::loadSettingsFile(), main(), SPxSolver::printDisplayLine(), SoPlex::printVersion(), SPxEquiliSC::scale(), SPxGeometSC::scale(), SPxAutoPR::selectEnter(), SPxAutoPR::selectLeave(), SPxHybridPR::setType(), SPxSteepPR::setupWeights(), SPxMainSM::simplify(), SoPlex::solve(), and SPxMainSM::unsimplify().
Prints out message x if the verbosity level is at least SPxOut::INFO2.
Definition at line 115 of file spxdefines.h.
Referenced by SoPlex::_factorizeColumnRational(), SoPlex::_performOptIRStable(), SoPlex::_solveRational(), SPxSolver::computeCoTest(), SPxSolver::computeFtest(), SPxSolver::computeTest(), SPxMainSM::duplicateCols(), SPxMainSM::duplicateRows(), SPxSolver::enter(), SPxMainSM::handleExtremes(), SPxSolver::leave(), soplex::MPSreadBounds(), soplex::MPSreadName(), soplex::MPSreadRanges(), soplex::MPSreadRhs(), soplex::MPSreadRows(), SPxLPBase< R >::readLPF(), SPxLPBase< R >::readMPS(), SPxMainSM::removeEmpty(), SPxEquiliSC::scale(), SPxGeometSC::scale(), SPxMainSM::simplify(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), SPxMainSM::simplifyRows(), SPxSolver::solve(), SPxSolver::terminate(), and SPxSolver::testBounds().
Prints out message x if the verbosity level is at least SPxOut::INFO3.
Definition at line 117 of file spxdefines.h.
Referenced by SoPlex::_transformFeasibility(), SPxBasis::change(), SPxMainSM::duplicateCols(), SPxMainSM::duplicateRows(), SPxSolver::enter(), SPxSolver::factorize(), SPxMainSM::fixColumn(), SPxMainSM::handleExtremes(), SPxBasis::invalidate(), SPxSolver::leave(), SLUFactor::load(), SPxBasis::loadDesc(), SPxBasis::loadMatrixVecs(), SPxBasis::loadSolver(), soplex::MPSreadRhs(), SPxSolver::precisionReached(), SPxBasis::reDim(), SPxMainSM::removeEmpty(), SPxMainSM::removeRowSingleton(), SPxEquiliSC::scale(), SPxGeometSC::scale(), SPxDevexPR::selectEnter(), SPxSteepPR::selectEnter(), SPxDevexPR::selectLeave(), SPxSteepPR::selectLeave(), SPxSolver::setType(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), SPxMainSM::simplifyRows(), SPxSolver::solve(), SPxSolver::terminate(), SPxSolver::testVecs(), and SPxSolver::unShift().
Prints out message x if the verbosity level is at least SPxOut::WARNING.
Definition at line 111 of file spxdefines.h.
Referenced by SoPlex::_performOptIRStable(), SoPlex::_reconstructSolutionRational(), SPxSolver::computeFrhs2(), SPxBoundFlippingRT::flipAndUpdate(), SPxMainSM::handleExtremes(), soplex::LPFreadColName(), soplex::LPFreadValue(), soplex::LPFwriteBounds(), soplex::LPFwriteRow(), soplex::LPFwriteSVector(), main(), soplex::MPSreadBounds(), soplex::MPSreadCols(), soplex::MPSreadRanges(), soplex::MPSreadRhs(), soplex::MPSwriteRecord(), SPxLPBase< R >::readLPF(), SPxSteepPR::selectLeaveHyper(), SPxSteepPR::selectLeaveSparse(), SPxSteepPR::selectLeaveX(), SPxMainSM::simplifyRows(), SPxSolver::solve(), SoPlex::solve(), SPxSolver::terminate(), and SPxLPBase< R >::writeMPS().
#define MSGinconsistent |
( |
|
name | ) |
msginconsistent(name, __FILE__, __LINE__) |
Definition at line 121 of file spxdefines.h.
Referenced by SPxHybridPR::isConsistent(), UnitVectorBase< R >::isConsistent(), SPxDevexPR::isConsistent(), SPxWeightPR::isConsistent(), UpdateVector::isConsistent(), IdxSet::isConsistent(), SPxSteepPR::isConsistent(), DataHashTable< soplex::NameSet::Name, soplex::DataKey >::isConsistent(), DataArray< const soplex::SVectorBase * >::isConsistent(), DSVectorBase< Real >::isConsistent(), DVectorBase< Real >::isConsistent(), ClassArray< Nonzero< Real > >::isConsistent(), IdList< soplex::SVSetBase::DLPSV >::isConsistent(), NameSet::isConsistent(), Array< soplex::UnitVectorBase >::isConsistent(), IsList< soplex::SVSetBase::DLPSV >::isConsistent(), VectorBase< Real >::isConsistent(), DataSet< soplex::SVSetBase::DLPSV >::isConsistent(), LPColSetBase< Real >::isConsistent(), SSVectorBase< Real >::isConsistent(), LPRowSetBase< Real >::isConsistent(), SVectorBase< Real >::isConsistent(), SPxBasis::isConsistent(), SVSetBase< Real >::isConsistent(), SPxLPBase< Real >::isConsistent(), and SPxSolver::isConsistent().
#define SOPLEX_SUBVERSION 0 |
#define SOPLEX_VERSION 221 |
|