Everything should be within this namespace. More...
Classes | |
class | Array |
Safe arrays of arbitrary types. More... | |
class | ClassArray |
Safe arrays of class objects. More... | |
class | ClassSet |
Set of class objects. More... | |
class | CLUFactor |
Implementation of sparse LU factorization. More... | |
class | CLUFactorRational |
Implementation of sparse LU factorization with Rational precision. More... | |
class | DataArray |
Safe arrays of data objects. More... | |
class | DataHashTable |
Generic hash table for data objects. More... | |
class | DataKey |
Entry identifier class for items of a DataSet. More... | |
class | DataSet |
Set of data objects. More... | |
class | DIdxSet |
Dynamic index set. More... | |
class | DSVectorBase |
Dynamic sparse vectors. More... | |
struct | EnableDebugOutput |
class | IdElement |
Elements for IdLists. More... | |
class | IdList |
Generic Real linked list. More... | |
class | IdxSet |
Set of indices. More... | |
class | IsElement |
Elements for IsLists. More... | |
class | IsList |
Generic single linked list. More... | |
class | LPColBase |
LP column. More... | |
class | LPColSetBase |
Set of LP columns. More... | |
class | LPRowBase |
(In)equality for LPs. More... | |
class | LPRowSetBase |
Set of LP rows. More... | |
class | MPSInput |
class | NameSet |
Set of strings. More... | |
class | Nonzero |
Sparse vector nonzero element. More... | |
class | NoTimer |
class | Presol |
class | Random |
Random numbers. More... | |
class | SLinSolver |
Sparse Linear Solver virtual base class. More... | |
class | SLinSolverRational |
Sparse Linear Solver virtual base class with Rational precision. More... | |
class | SLUFactor |
Implementation of Sparse Linear Solver. More... | |
class | SLUFactorRational |
Implementation of Sparse Linear Solver with Rational precision. More... | |
class | SolBase |
Class for storing a primal-dual solution with basis information. More... | |
class | SoPlexBase |
class | SPxAutoPR |
Auto pricer. More... | |
class | SPxBasisBase |
Simplex basis. More... | |
class | SPxBoundFlippingRT |
Bound flipping ratio test ("long step dual") for SoPlex. More... | |
class | SPxColId |
Ids for LP columns. More... | |
class | SPxDantzigPR |
Dantzig pricer. More... | |
class | SPxDefaultRT |
Textbook ratio test for SoPlex. More... | |
class | SPxDevexPR |
Devex pricer. More... | |
class | SPxEquiliSC |
Equilibrium row/column scaling. More... | |
class | SPxException |
Exception base class. More... | |
class | SPxFastRT |
Fast shifting ratio test. More... | |
class | SPxGeometSC |
Geometric mean row/column scaling. More... | |
class | SPxHarrisRT |
Harris pricing with shifting. More... | |
class | SPxHybridPR |
Hybrid pricer. More... | |
class | SPxId |
Generic Ids for LP rows or columns. More... | |
class | SPxInterfaceException |
Exception class for incorrect usage of interface methods. More... | |
class | SPxInternalCodeException |
Exception class for things that should NEVER happen. More... | |
class | SPxLeastSqSC |
Least squares scaling. More... | |
class | SPxLPBase |
Saving LPs in a form suitable for SoPlex. More... | |
class | SPxMainSM |
LP simplifier for removing uneccessary row/columns. More... | |
class | SPxMemoryException |
Exception class for out of memory exceptions. More... | |
class | SPxOut |
Wrapper for several output streams. A verbosity level is used to decide which stream to use and whether to really print a given message. Regardless of whether the verbosity level is set via a manipulator or via the member function, it is persistent until a new value is set. More... | |
class | SPxParMultPR |
Partial multiple pricing. More... | |
class | SPxPricer |
Abstract pricer base class. More... | |
class | SPxRatioTester |
Abstract ratio test base class. More... | |
class | SPxRowId |
Ids for LP rows. More... | |
class | SPxScaler |
LP scaler abstract base class. More... | |
class | SPxSimplifier |
LP simplification abstract base class. More... | |
class | SPxSolverBase |
Sequential object-oriented SimPlex. More... | |
class | SPxStarter |
SoPlex start basis generation base class. More... | |
class | SPxStatusException |
Exception class for status exceptions during the computations. More... | |
class | SPxSteepExPR |
Steepest edge pricer. More... | |
class | SPxSteepPR |
Steepest edge pricer. More... | |
class | SPxSumST |
Simple heuristic SPxStarter. More... | |
class | SPxVectorST |
Solution vector based start basis. More... | |
class | SPxWeightPR |
Weighted pricing. More... | |
class | SPxWeightST |
Weighted start basis. More... | |
class | SSVectorBase |
Semi sparse vector. More... | |
class | StableSum |
class | StableSum< double > |
class | SVectorBase |
Sparse vectors. More... | |
class | SVSetBase |
Sparse vector set. More... | |
class | Timer |
Wrapper for the system time query methods. More... | |
class | TimerFactory |
Class to create new timers and to switch types of exiting ones. More... | |
class | Tolerances |
class | UnitVectorBase |
Sparse vector \(e_i\). More... | |
class | UpdateVector |
Dense Vector with semi-sparse Vector for updates. More... | |
class | UserTimer |
class | Validation |
class | VectorBase |
Dense vector. More... | |
class | WallclockTimer |
Functions | |
template<class R > | |
std::ostream & | operator<< (std::ostream &s, const VectorBase< R > &vec) |
Output operator. More... | |
template<class R > | |
VectorBase< R > | operator- (const SVectorBase< R > &v, const VectorBase< R > &w) |
Subtraction. More... | |
template<class R > | |
DSVectorBase< R > | operator* (const SVectorBase< R > &v, R x) |
Scaling. More... | |
template<class R > | |
DSVectorBase< R > | operator* (R x, const SVectorBase< R > &v) |
Scaling. More... | |
template<class R > | |
std::istream & | operator>> (std::istream &s, VectorBase< R > &vec) |
template<class R > | |
std::ostream & | operator<< (std::ostream &os, const SVectorBase< R > &v) |
Output operator. More... | |
template<class R > | |
std::ostream & | operator<< (std::ostream &os, const SVSetBase< R > &s) |
Output operator. More... | |
static void | clear_from (char *buf, int pos) |
fill the line from pos up to column 80 with blanks. More... | |
static void | patch_field (char *buf, int beg, int end) |
change all blanks inside a field to PATCH_CHAR. More... | |
static int | NameSetNameHashFunction (const NameSet::Name *str) |
returns the hash value of the name. More... | |
std::ostream & | operator<< (std::ostream &s, const NameSet &nset) |
void | SpxLcm (Integer &result, Integer a, Integer b) |
void | SpxGcd (Integer &result, Integer a, Integer b) |
void | printRational (Rational r) |
void | printInteger (Integer r) |
bool | isAdjacentTo (const Rational &r, const double &d) |
void | invert (Rational &r) |
void | powRound (Rational &r) |
round up to next power of two More... | |
int | orderOfMagnitude (Rational &r) |
returns the order of magnitude of the given rational More... | |
static std::string::const_iterator | findSubStringIC (const std::string &substr, const std::string &str) |
Rational | ratFromString (const char *desc) |
int | sizeInBase (const Rational R, const int base) |
Size in specified base (bit size for base 2) More... | |
int | totalSizeRational (const Rational *vector, const int length, const int base) |
Total size of rational vector. More... | |
int | dlcmSizeRational (const Rational *vector, const int length, const int base) |
Size of least common multiple of denominators in rational vector. More... | |
int | dmaxSizeRational (const Rational *vector, const int length, const int base) |
Size of largest denominator in rational vector. More... | |
bool | reconstructVector (VectorRational &input, const Rational &denomBoundSquared, const DIdxSet *indexSet=nullptr) |
bool | reconstructSol (SolRational &solution) |
template<class T , class COMPARATOR > | |
void | SPxShellsort (T *keys, int end, COMPARATOR &compare, int start=0) |
template<class T , class COMPARATOR > | |
void | SPxQuicksort (T *keys, int end, COMPARATOR &compare, int start=0, bool type=true) |
Generic QuickSort implementation. More... | |
template<class T , class COMPARATOR > | |
int | SPxQuicksortPart (T *keys, COMPARATOR &compare, int start, int end, int size, int start2=0, int end2=0, bool type=true) |
Generic implementation of Partial QuickSort. More... | |
template<class R > | |
std::ostream & | operator<< (std::ostream &os, const typename SPxBasisBase< R >::SPxStatus &status) |
Pretty-printing of basis status. More... | |
bool | EQ (int a, int b) |
bool | msginconsistent (const char *name, const char *file, int line) |
template<class R > | |
R | spxAbs (R a) |
Real | spxNextafter (Real x, Real y) |
template<> | |
Real | spxAbs (Real a) |
returns |a| More... | |
Real | spxSqrt (Real a) |
returns square root More... | |
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... | |
int | spxSnprintf (char *t, size_t len, const char *s,...) |
safe version of snprintf More... | |
template<boost::multiprecision::expression_template_option eto> | |
number< gmp_rational, eto > | ldexp (number< gmp_rational, eto >, int exp) |
template<boost::multiprecision::expression_template_option eto> | |
number< gmp_rational, eto > | frexp (number< gmp_rational, eto >, int *exp) |
template<typename T , boost::multiprecision::expression_template_option eto> | |
boost::multiprecision::number< T, eto > | spxFrexp (boost::multiprecision::number< T, eto > y, int *exp) |
template<typename T , boost::multiprecision::expression_template_option eto> | |
boost::multiprecision::number< T > | spxLdexp (boost::multiprecision::number< T, eto > x, int exp) |
template<typename T , expression_template_option ep> | |
number< T, ep > | spxSqrt (number< T, ep > a) |
template<typename T , expression_template_option eto> | |
number< T, eto > | spxNextafter (number< T, eto > x, number< T, eto > y) |
template<typename T > | |
number< T > | spxSqrt (number< T > a) |
template<typename T , expression_template_option et> | |
number< T, et > | maxAbs (number< T, et > a, number< T, et > b) |
returns max(|a|,|b|) More... | |
template<typename T , expression_template_option et> | |
number< T, et > | relDiff (number< T, et > a, number< T, et > b) |
const char * | getGitHash () |
std::ostream & | operator<< (std::ostream &os, const SPxId &id) |
template<class R > | |
std::ostream & | operator<< (std::ostream &os, const typename SPxSimplifier< R >::Result &status) |
Pretty-printing of simplifier status. More... | |
template<class R > | |
std::ostream & | operator<< (std::ostream &os, const typename SPxSolverBase< R >::VarStatus &status) |
Pretty-printing of variable status. More... | |
template<class R > | |
std::ostream & | operator<< (std::ostream &os, const typename SPxSolverBase< R >::Status &status) |
Pretty-printing of solver status. More... | |
template<class R > | |
std::ostream & | operator<< (std::ostream &os, const typename SPxSolverBase< R >::Type &status) |
Pretty-printing of algorithm. More... | |
template<class R > | |
std::ostream & | operator<< (std::ostream &os, const typename SPxSolverBase< R >::Representation &status) |
Pretty-printing of representation. More... | |
template<class T > | |
std::ostream & | operator<< (std::ostream &s, const StableSum< T > &sum) |
Output operator. More... | |
Memory allocation routines | |
Here we have cover functions for malloc/realloc/free, to make sure that we allays succeed. Otherwise an exception is thrown. We use templates to get the types right, otherwise casts would have been neccessary. | |
template<class T > | |
void | spx_alloc (T &p, int n=1) |
Allocate memory. More... | |
template<class T > | |
void | spx_realloc (T &p, int n) |
Change amount of allocated memory. More... | |
template<class T > | |
void | spx_free (T &p) |
Release memory. More... | |
Verbosity manipulator | |
Manipulators are implemented in a similar way as done for SPxOut spxout;
Wrapper for several output streams. A verbosity level is used to decide which stream to use and wheth... Definition: spxout.h:78 SPxOut::struct_Verbosity verb(const SPxOut::Verbosity &v) manipulator to be used in an output statement Definition: spxout.h:252 passes such a struct to the output operator defined below, which extracts the verbosity level from the struct and passes it to the member function SPxOut::setVerbosity(). | |
SPxOut::struct_Verbosity | verb (const SPxOut::Verbosity &v) |
manipulator to be used in an output statement More... | |
SPxOut & | operator<< (SPxOut &stream, const SPxOut::struct_Verbosity &verbosity) |
output operator with verbosity level struct More... | |
Output of standard manipulators and other types | |
We have to define an output operator for many kinds of numeric types here because they can all be more or less casted into each other. When using only a template type, it is not clear what the compiler makes out of it (according to lint). | |
SPxOut & | operator<< (SPxOut &_spxout, long t) |
Passes instances of type Type to the current stream. More... | |
SPxOut & | operator<< (SPxOut &_spxout, unsigned long t) |
SPxOut & | operator<< (SPxOut &_spxout, bool t) |
SPxOut & | operator<< (SPxOut &_spxout, short t) |
SPxOut & | operator<< (SPxOut &_spxout, unsigned short t) |
SPxOut & | operator<< (SPxOut &_spxout, int t) |
SPxOut & | operator<< (SPxOut &_spxout, unsigned int t) |
SPxOut & | operator<< (SPxOut &_spxout, double t) |
SPxOut & | operator<< (SPxOut &_spxout, float t) |
SPxOut & | operator<< (SPxOut &_spxout, long double t) |
SPxOut & | operator<< (SPxOut &_spxout, const void *t) |
SPxOut & | operator<< (SPxOut &_spxout, std::ostream &(*manip)(std::ostream &)) |
Passes standard manipulators without arguments, like std::endl or std::ios::right to the current stream. More... | |
template<typename T > | |
SPxOut & | operator<< (SPxOut &_spxout, T t) |
Passes everything else to the current stream. In particular, this includes structs corresponding to manipulators with arguments, such as the struct _Setw for the setw() manipulator. More... | |
Variables | |
SOPLEX_THREADLOCAL const Real | infinity = SOPLEX_DEFAULT_INFINITY |
Everything should be within this namespace.
We have put the whole class library in the namespace soplex. If anything here is defined outside, this is a mistake and should be reported.
implement automatic rep switch, based on row/col dim
introduce status codes for SoPlex, especially for rational solving
record and return "best" solutions found during IR (Ambros)
implement main IR loop for primal and dual feasible case with fail otherwise (Ambros)
implement statistical info (time, factor time, iters, ...) since last call to solveReal() or solveRational() (Ambros?)
implement performInfeasibilityIR (Ambros?)
extend IR loop to infeasible case (Dan?)
extend IR loop to unbounded case (Dan?)
interface rational reconstruction code for rational vectors
integrate rational reconstruction into IR loop
integrate rational SPxSolver and distinguish between original and transformed rational LP
rational scalers
rational simplifier
typedef DSVectorBase< Real > DSVector |
Definition at line 37 of file dsvector.h.
typedef DSVectorBase< Rational > DSVectorRational |
Definition at line 39 of file dsvector.h.
typedef DSVectorBase< Real > DSVectorReal |
Definition at line 38 of file dsvector.h.
typedef VectorBase< Real > DVector |
typedef VectorBase< Rational > DVectorRational |
typedef VectorBase< Real > DVectorReal |
using Integer = number<gmp_int, et_off> |
Definition at line 30 of file rational.h.
typedef LPColBase< Rational > LPColRational |
typedef LPColSetBase< Real > LPColSet |
Definition at line 36 of file lpcolset.h.
typedef LPColSetBase< Rational > LPColSetRational |
Definition at line 38 of file lpcolset.h.
typedef LPColSetBase< Real > LPColSetReal |
Definition at line 37 of file lpcolset.h.
typedef LPRowBase< Rational > LPRowRational |
typedef LPRowSetBase< Real > LPRowSet |
Definition at line 36 of file lprowset.h.
typedef LPRowSetBase< Rational > LPRowSetRational |
Definition at line 38 of file lprowset.h.
typedef LPRowSetBase< Real > LPRowSetReal |
Definition at line 37 of file lprowset.h.
using Rational = number<gmp_rational, et_off> |
Definition at line 29 of file rational.h.
typedef double Real |
Definition at line 269 of file spxdefines.h.
typedef SolBase<Rational> SolRational |
typedef SoPlexBase<Real> SoPlex |
typedef SPxBasisBase<Real> SPxBasis |
Definition at line 1017 of file spxbasis.h.
typedef std::ifstream spxifstream |
Definition at line 52 of file spxfileio.h.
typedef SPxLPBase< Rational > SPxLPRational |
typedef SPxSolverBase<Real> SPxSolver |
Definition at line 2403 of file spxsolver.h.
typedef SSVectorBase<Real> SSVector |
Definition at line 37 of file ssvector.h.
typedef SSVectorBase<Rational> SSVectorRational |
Definition at line 39 of file ssvector.h.
typedef SSVectorBase<Real> SSVectorReal |
Definition at line 38 of file ssvector.h.
typedef SVectorBase< Real > SVector |
typedef SVectorBase< Rational > SVectorRational |
typedef SVectorBase< Real > SVectorReal |
typedef UnitVectorBase< Real > UnitVector |
Definition at line 38 of file unitvector.h.
typedef UnitVectorBase< Rational > UnitVectorRational |
Definition at line 40 of file unitvector.h.
typedef UnitVectorBase< Real > UnitVectorReal |
Definition at line 39 of file unitvector.h.
typedef VectorBase< Real > Vector |
typedef VectorBase< Rational > VectorRational |
typedef VectorBase< Real > VectorReal |
|
static |
fill the line from pos
up to column 80 with blanks.
Definition at line 44 of file mpsinput.cpp.
References BLANK.
Referenced by MPSInput::readLine().
int dlcmSizeRational | ( | const Rational * | vector, |
const int | length, | ||
const int | base | ||
) |
Size of least common multiple of denominators in rational vector.
Definition at line 1027 of file rational.h.
References sizeInBase(), SPX_MSG_ERROR, and SpxLcm().
Referenced by SolBase< R >::dlcmSizeDual(), and SolBase< R >::dlcmSizePrimal().
int dmaxSizeRational | ( | const Rational * | vector, |
const int | length, | ||
const int | base | ||
) |
Size of largest denominator in rational vector.
Definition at line 1049 of file rational.h.
References sizeInBase(), and SPX_MSG_ERROR.
Referenced by SolBase< R >::dmaxSizeDual(), and SolBase< R >::dmaxSizePrimal().
bool EQ | ( | int | a, |
int | b | ||
) |
Definition at line 36 of file spxdefines.cpp.
Referenced by SPxMainSM< R >::ElementCompare::operator()(), SPxMainSM< R >::IdxCompare::operator()(), and SPxLPBase< R >::printProblemStatistics().
|
static |
Definition at line 136 of file rational.h.
Referenced by ratFromString().
number< gmp_rational, eto > frexp | ( | number< gmp_rational, eto > | , |
int * | exp | ||
) |
Definition at line 499 of file spxdefines.h.
Referenced by spxFrexp().
const char * getGitHash | ( | ) |
returns the current git hash of SoPlex
Definition at line 32 of file spxgithash.cpp.
References SPX_GITHASH.
void invert | ( | Rational & | r | ) |
Definition at line 101 of file rational.h.
bool isAdjacentTo | ( | const Rational & | r, |
const double & | d | ||
) |
Definition at line 75 of file rational.h.
number< gmp_rational, eto > ldexp | ( | number< gmp_rational, eto > | , |
int | exp | ||
) |
Definition at line 492 of file spxdefines.h.
Referenced by spxLdexp().
number< T, et > maxAbs | ( | number< T, et > | a, |
number< T, et > | b | ||
) |
returns max(|a|,|b|)
Definition at line 432 of file spxdefines.h.
References spxAbs().
Referenced by relDiff().
bool msginconsistent | ( | const char * | name, |
const char * | file, | ||
int | line | ||
) |
Definition at line 43 of file spxdefines.cpp.
References SPX_MSG_ERROR.
|
static |
returns the hash value of the name.
Definition at line 200 of file nameset.cpp.
References NameSet::Name::name.
DSVectorBase< R > operator* | ( | const SVectorBase< R > & | v, |
R | x | ||
) |
Scaling.
Definition at line 1180 of file basevectors.h.
References DSVectorBase< R >::add(), SVectorBase< R >::index(), SVectorBase< R >::size(), and SVectorBase< R >::value().
DSVectorBase< R > operator* | ( | R | x, |
const SVectorBase< R > & | v | ||
) |
Scaling.
Definition at line 1195 of file basevectors.h.
VectorBase< R > operator- | ( | const SVectorBase< R > & | v, |
const VectorBase< R > & | w | ||
) |
Definition at line 292 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 340 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 322 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 328 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 310 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 334 of file spxout.h.
References SPxOut::getCurrentStream().
Passes instances of type Type
to the current stream.
Definition at line 280 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 298 of file spxout.h.
References SPxOut::getCurrentStream().
Passes standard manipulators without arguments, like std::endl
or std::ios::right
to the current stream.
Definition at line 348 of file spxout.h.
References SPxOut::getCurrentStream().
Passes everything else to the current stream. In particular, this includes structs corresponding to manipulators with arguments, such as the struct _Setw
for the setw()
manipulator.
Definition at line 361 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 316 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 286 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 304 of file spxout.h.
References SPxOut::getCurrentStream().
SPxOut & operator<< | ( | SPxOut & | stream, |
const SPxOut::struct_Verbosity & | verbosity | ||
) |
output operator with verbosity level struct
Definition at line 260 of file spxout.h.
References SPxOut::setVerbosity(), and SPxOut::struct_Verbosity::v_.
std::ostream & operator<< | ( | std::ostream & | os, |
const SPxId & | id | ||
) |
std::ostream & operator<< | ( | std::ostream & | os, |
const SVectorBase< R > & | v | ||
) |
Output operator.
Definition at line 1256 of file basevectors.h.
References SVectorBase< R >::index(), SVectorBase< R >::size(), and SVectorBase< R >::value().
std::ostream & operator<< | ( | std::ostream & | os, |
const SVSetBase< R > & | s | ||
) |
std::ostream & operator<< | ( | std::ostream & | os, |
const typename SPxBasisBase< R >::SPxStatus & | status | ||
) |
Pretty-printing of basis status.
std::ostream & operator<< | ( | std::ostream & | os, |
const typename SPxSimplifier< R >::Result & | status | ||
) |
Pretty-printing of simplifier status.
std::ostream & operator<< | ( | std::ostream & | os, |
const typename SPxSolverBase< R >::Representation & | status | ||
) |
Pretty-printing of representation.
std::ostream & operator<< | ( | std::ostream & | os, |
const typename SPxSolverBase< R >::Status & | status | ||
) |
Pretty-printing of solver status.
std::ostream & operator<< | ( | std::ostream & | os, |
const typename SPxSolverBase< R >::Type & | status | ||
) |
Pretty-printing of algorithm.
std::ostream & operator<< | ( | std::ostream & | os, |
const typename SPxSolverBase< R >::VarStatus & | status | ||
) |
Pretty-printing of variable status.
std::ostream & operator<< | ( | std::ostream & | s, |
const NameSet & | nset | ||
) |
Definition at line 259 of file nameset.cpp.
References DataKey::idx, DataKey::info, NameSet::key(), and NameSet::num().
std::ostream & operator<< | ( | std::ostream & | s, |
const StableSum< T > & | sum | ||
) |
Output operator.
Definition at line 111 of file stablesum.h.
std::ostream & operator<< | ( | std::ostream & | s, |
const VectorBase< R > & | vec | ||
) |
std::istream & operator>> | ( | std::istream & | s, |
VectorBase< R > & | vec | ||
) |
Definition at line 1204 of file basevectors.h.
References VectorBase< R >::dim(), and VectorBase< R >::reDim().
int orderOfMagnitude | ( | Rational & | r | ) |
returns the order of magnitude of the given rational
Definition at line 126 of file rational.h.
|
static |
change all blanks inside a field to PATCH_CHAR.
Definition at line 53 of file mpsinput.cpp.
References BLANK, and PATCH_CHAR.
Referenced by MPSInput::readLine().
void powRound | ( | Rational & | r | ) |
round up to next power of two
Definition at line 107 of file rational.h.
void printInteger | ( | Integer | r | ) |
Definition at line 71 of file rational.h.
void printRational | ( | Rational | r | ) |
Definition at line 66 of file rational.h.
Rational ratFromString | ( | const char * | desc | ) |
Definition at line 149 of file rational.h.
References findSubStringIC(), and SOPLEX_MIN.
bool reconstructSol | ( | SolRational & | solution | ) |
reconstruct a rational solution
bool reconstructVector | ( | VectorRational & | input, |
const Rational & | denomBoundSquared, | ||
const DIdxSet * | indexSet = nullptr |
||
) |
reconstruct a rational vector
number< T, et > relDiff | ( | number< T, et > | a, |
number< T, et > | b | ||
) |
Definition at line 573 of file spxdefines.h.
References maxAbs().
int sizeInBase | ( | const Rational | R, |
const int | base | ||
) |
Size in specified base (bit size for base 2)
Definition at line 976 of file rational.h.
References SPX_MSG_ERROR.
Referenced by dlcmSizeRational(), dmaxSizeRational(), and totalSizeRational().
void spx_alloc | ( | T & | p, |
int | n = 1 |
||
) |
Allocate memory.
p | some pointer |
n | the number of elements p will point to. |
SPxMemoryException | if memory could not be allocated. |
Definition at line 58 of file spxalloc.h.
Referenced by DSVectorBase< R >::allocMem(), ClassArray< T >::ClassArray(), ClassSet< T >::ClassSet(), SPxMainSM< R >::FixBoundsPS::clone(), SPxMainSM< R >::FreeZeroObjVariablePS::clone(), SPxMainSM< R >::ZeroObjColSingletonPS::clone(), SPxMainSM< R >::FreeColSingletonPS::clone(), SPxMainSM< R >::DoubletonEquationPS::clone(), SPxMainSM< R >::DuplicateRowsPS::clone(), SPxMainSM< R >::DuplicateColsPS::clone(), SPxMainSM< R >::AggregationPS::clone(), SPxMainSM< R >::MultiAggregationPS::clone(), SPxMainSM< R >::TightenBoundsPS::clone(), TimerFactory::createTimer(), DataArray< T >::DataArray(), DataSet< DATA >::DataSet(), DIdxSet::DIdxSet(), IdxSet::IdxSet(), NameSet::memPack(), NameSet::NameSet(), IdxSet::operator=(), ClassSet< T >::reMax(), ClassArray< T >::reMax(), DataArray< T >::reMax(), runSoPlex(), DSVectorBase< R >::setMax(), SLUFactorRational::SLUFactorRational(), SPxOut::SPxOut(), and SSVectorBase< R >::SSVectorBase().
void spx_free | ( | T & | p | ) |
Release memory.
Definition at line 121 of file spxalloc.h.
Referenced by ClassSet< T >::ClassSet(), IsList< T >::clear(), DataSet< DATA >::DataSet(), NameSet::memPack(), IdxSet::operator=(), ClassSet< T >::reMax(), ClassArray< T >::reMax(), DataArray< T >::reMax(), runSoPlex(), DSVectorBase< R >::setMax(), TimerFactory::switchTimer(), ClassArray< T >::~ClassArray(), ClassSet< T >::~ClassSet(), DataArray< T >::~DataArray(), DataSet< DATA >::~DataSet(), DIdxSet::~DIdxSet(), DSVectorBase< R >::~DSVectorBase(), IdxSet::~IdxSet(), NameSet::~NameSet(), SPxOut::~SPxOut(), SPxSimplifier< R >::~SPxSimplifier(), SSVectorBase< R >::~SSVectorBase(), and SoPlexBase< R >::Statistics::~Statistics().
void spx_realloc | ( | T & | p, |
int | n | ||
) |
Change amount of allocated memory.
p | some pointer |
n | the number of elements p should point to. |
SPxMemoryException | if memory could not be allocated. |
Definition at line 90 of file spxalloc.h.
Referenced by NameSet::memRemax(), ClassSet< T >::reMax(), DataSet< DATA >::reMax(), DataArray< T >::reMax(), DSVectorBase< R >::setMax(), SSVectorBase< R >::setMax(), and DIdxSet::setMax().
R spxAbs | ( | R | a | ) |
Definition at line 393 of file spxdefines.h.
Referenced by SSVectorBase< R >::isConsistent(), SPxBoundFlippingRT< R >::isSmaller(), SSVectorBase< R >::maxAbs(), SVectorBase< R >::maxAbs(), VectorBase< R >::maxAbs(), maxAbs(), SVectorBase< R >::minAbs(), VectorBase< R >::minAbs(), StableSum< double >::operator double(), SSVectorBase< R >::operator=(), SSVectorBase< R >::setup(), SSVectorBase< R >::setup_and_assign(), and SSVectorBase< R >::setValue().
returns |a|
Definition at line 420 of file spxdefines.h.
boost::multiprecision::number< T, eto > spxFrexp | ( | boost::multiprecision::number< T, eto > | y, |
int * | exp | ||
) |
Definition at line 520 of file spxdefines.h.
References frexp().
Definition at line 35 of file rational.h.
Definition at line 31 of file rational.h.
Referenced by dlcmSizeRational().
boost::multiprecision::number< T > spxLdexp | ( | boost::multiprecision::number< T, eto > | x, |
int | exp | ||
) |
Definition at line 527 of file spxdefines.h.
References ldexp().
Referenced by SPxLPBase< R >::changeCol(), SPxLPBase< R >::changeRow(), SPxLPBase< R >::doAddCol(), SPxLPBase< R >::doAddCols(), SPxLPBase< R >::doAddRow(), SPxLPBase< R >::doAddRows(), SVectorBase< R >::scaleAssign(), VectorBase< R >::scaleAssign(), and SSVectorBase< R >::scaleValue().
number< T, eto > spxNextafter | ( | number< T, eto > | x, |
number< T, eto > | y | ||
) |
Definition at line 541 of file spxdefines.h.
Definition at line 408 of file spxdefines.h.
void SPxQuicksort | ( | T * | keys, |
int | end, | ||
COMPARATOR & | compare, | ||
int | start = 0 , |
||
bool | type = true |
||
) |
Generic QuickSort implementation.
This template function sorts an array t
holding n
elements of type T using compare
for comparisons. Class COMPARATOR must provide an overloaded operator()(const T& t1,const T& t2) which returns
t1
is to appear before t2
,t1
and t2
can appear in any order, ort1
is to appear after t2
. Definition at line 82 of file sorter.h.
References SOPLEX_SHELLSORTMAX, SPxQuicksort(), and SPxShellsort().
Referenced by SPxQuicksort(), and SPxQuicksortPart().
int SPxQuicksortPart | ( | T * | keys, |
COMPARATOR & | compare, | ||
int | start, | ||
int | end, | ||
int | size, | ||
int | start2 = 0 , |
||
int | end2 = 0 , |
||
bool | type = true |
||
) |
Generic implementation of Partial QuickSort.
This template function sorts an array t
holding n
elements of type T partially using compare
for comparisons, i.e. ensures that the size
smallest elements are sorted to the front.
Class COMPARATOR must provide an overloaded operator()(const T& t1,const T& t2) which returns
t1
is to appear before t2
,t1
and t2
can appear in any order, ort1
is to appear after t2
.keys | array of elements to be sorted between index start and end |
compare | comparator |
start | index of first element in range to be sorted |
end | index of last element in range to be sorted, plus 1 |
size | guaranteed number of sorted elements |
start2 | auxiliary start index of sub range used for recursive call |
end2 | auxiliary end index of sub range used for recursive call |
type | type of sorting, to be more flexable on degenerated cases |
Definition at line 246 of file sorter.h.
References SPxQuicksort(), and SPxQuicksortPart().
Referenced by SPxQuicksortPart().
void SPxShellsort | ( | T * | keys, |
int | end, | ||
COMPARATOR & | compare, | ||
int | start = 0 |
||
) |
shell-sort an array of data elements; use it only for arrays smaller than 25 entries
Definition at line 39 of file sorter.h.
Referenced by SPxQuicksort().
int spxSnprintf | ( | char * | t, |
size_t | len, | ||
const char * | s, | ||
... | |||
) |
safe version of snprintf
t | target string |
len | length of the string to copy |
s | source string |
... | further parameters |
Definition at line 447 of file spxdefines.h.
References SPX_MSG_ERROR.
Referenced by NameSet::add(), NameSet::memPack(), runSoPlex(), MPSInput::setObjName(), and MPSInput::setProbName().
number< T > spxSqrt | ( | number< T > | a | ) |
Definition at line 556 of file spxdefines.h.
number< T, ep > spxSqrt | ( | number< T, ep > | a | ) |
Definition at line 534 of file spxdefines.h.
returns square root
Definition at line 426 of file spxdefines.h.
Referenced by SSVectorBase< R >::length(), and VectorBase< R >::length().
int totalSizeRational | ( | const Rational * | vector, |
const int | length, | ||
const int | base | ||
) |
Total size of rational vector.
Definition at line 1012 of file rational.h.
References sizeInBase().
Referenced by SolBase< R >::totalSizeDual(), and SolBase< R >::totalSizePrimal().
SPxOut::struct_Verbosity verb | ( | const SPxOut::Verbosity & | v | ) |
manipulator to be used in an output statement
Definition at line 252 of file spxout.h.
References SPxOut::struct_Verbosity::v_.
SOPLEX_THREADLOCAL const Real infinity = SOPLEX_DEFAULT_INFINITY |
Definition at line 41 of file spxdefines.cpp.
Referenced by SPxLPBase< R >::changeLhs(), SPxLPBase< R >::changeLower(), SPxLPBase< R >::changeRhs(), SPxLPBase< R >::changeUpper(), SPxLPBase< R >::doAddCol(), SPxLPBase< R >::doAddCols(), SPxLPBase< R >::doAddRow(), SPxLPBase< R >::doAddRows(), SPxMainSM< R >::FixBoundsPS::FixBoundsPS(), LPRowBase< R >::LPRowBase(), SVectorBase< R >::minAbs(), SPxLPBase< R >::printProblemStatistics(), LPRowSetBase< R >::setType(), LPRowBase< R >::setType(), test_rational(), test_real(), LPRowBase< R >::type(), LPRowSetBase< R >::type(), LPRowBase< R >::value(), and LPRowSetBase< R >::value().