Everything should be within this namespace. More...
Classes | |
class | Array |
Safe arrays of arbitrary types.Class Array provides safe arrays of arbitrary type. Array elements are accessed just like ordinary C++ array elements by means of the index operator[](). Safety is provided by. More... | |
class | ClassArray |
Safe arrays of class objects.Class ClassArray provides safe arrays of general C++ objects (in contrast to data objects). The elements of an instance of ClassArray can be accessed just like ordinary C++ array elements by means of the index operator[](). Safety is provided by. More... | |
class | ClassSet |
Set of class objects.Class ClassSet manages of sets of class objects of a template type T. For constructing a ClassSet the maximum number of entries must be given. The current maximum number may be inquired with method max(). More... | |
class | CLUFactor |
Implementation of sparse LU factorization.This class implements a sparse LU factorization with either FOREST-TOMLIN or ETA updates, using dynamic Markowitz pivoting. More... | |
class | CLUFactorRational |
Implementation of sparse LU factorization with Rational precision.This class implements a sparse LU factorization with either FOREST-TOMLIN or ETA updates, using dynamic Markowitz pivoting. More... | |
class | DataArray |
Safe arrays of data objects.Class DataArray provides safe arrays of Data Objects. For general C++ objects (in contrast to data objects) class Array is provided which manages memory in a C++ compliant way. More... | |
class | DataHashTable |
Generic hash table for data objects.Class DataHashTable provides a generic hash table for Data Objects, i.e., a map that maps arguments called HashItems to values called Infos. HashItem and Info types are passed as template arguments. HashItems must provide a comparison operator==(). Furthermore, both the HashItem and Info must be data objects in the sense that the assignment operator is equivalent to a memcpy() of the structure and no destructor is required. More... | |
class | DataKey |
Entry identifier class for items of a DataSet.Every item in a DataSet is assigned a DataKey by which it can be accessed (using DataSet::operator[]()). A DataKey consists of an integer member idx, which is a positive number for any valid DataKey. No idx of an element in a DataSet may exceed the sets max(). This property may be used to build arrays with additional information to the elements of a DataSet. More... | |
class | DataSet |
Set of data objects.Class DataSet manages of sets of data objects of a template type DATA. For constructing a DataSet the maximum number of entries must be given. The current maximum number may be inquired with method max(). More... | |
class | DIdxSet |
Dynamic index set.Class DIdxSet provides dynamic IdxSet in the sense, that no restrictions are posed on the use of methods add(). However, method indexMem() has been moved to the private members. This is because DIdxSet adds its own memory management to class IdxSet and the user must not interfere with it. More... | |
class | DSVectorBase |
Dynamic sparse vectors.Class DSVectorBase implements dynamic sparse vectors, i.e. SVectorBases with an automatic memory management. This allows the user to freely add() as many nonzeros to a DSVectorBase as desired, without any precautions. For saving memory method setMax() allows to reduce memory consumption to the amount really required. More... | |
class | IdElement |
Elements for IdLists.IdElements are derived from the template parameter class T and can hence be used as such. The additional methods next() and prev() provide access to the links for the list. They may freely be used by the programmer as long as an IdElement is not member of a IdList. In this case, the IdList controls members next() and prev(). However, IdList should provide enough functionality for the user not to require any modification to these members. More... | |
class | IdList |
Generic Real linked list.Class IdList implements an intrusive Real linked list as a template class. As such, the list elements must provide the links themselfs. For conveniance, we also provide class IdElement that adds both links to an arbitrary class as template parameter. More... | |
class | IdxSet |
Set of indices.Class IdxSet provides a set of indices. At construction it must be given an array of int where to store the indice and its length. The array will from then on be managed by the IdxSet. More... | |
class | IsElement |
Elements for IsLists.Class IsElement allows to easily construct list elements for an intrusive single linked list IsList out of a template class T. It adds a next pointer to each element. An instance of IdElement<T> a can be used just like an instance of T itself, except that method next() has been added (thereby overriding any method next() defined in T). More... | |
class | IsList |
Generic single linked list.Class IsList implements an intrusive single linked list of elements of a template class T. As an intrusive list, the objects of type T must provide methods next() for setting and inquiring a pointer to the next element in a list. The user is responsible for not modifying the next() pointer of elements currently residing in a list, which may destroy the lists integrity. For this, class IsList provides enough methods for modifying a list in a save way. See the method list for a description. More... | |
class | LPColBase |
LP column.Class LPColBase provides a datatype for storing the column of an LP a the form similar to \[ \begin{array}{rl} \hbox{max} & c^T x \\ \hbox{s.t.} & Ax \le b \\ & l \le x \le u \end{array} \] Hence, an LPColBase consists of an objective value, a column DSVector and an upper and lower bound to the corresponding variable, which may include \(\pm\infty\). However, it depends on the LP code to use, what values are actually treated as \(\infty\). More... | |
class | LPColSetBase |
Set of LP columns.Class LPColSetBase implements a set of LPColBase%s. Unless for memory limitations, any number of LPColBases may be added to an LPColSetBase. Single or multiple LPColBases may be added to an LPColSetBase, where each method add() comes with two different signatures. One with and one without a parameter, used for returning the DataKeys assigned to the new LPColBases by the set. See DataKey for a more detailed description of the concept of keys. For the concept of renumbering LPColBases within an LPColSetBase after removal of some LPColBases, see DataSet. More... | |
class | LPRowBase |
(In)equality for LPs.Class LPRowBase provides constraints for linear programs in the form \[ l \le a^Tx \le r, \] where a is a DSVector. l is referred to as left hand side, r as right hand side and a as row vector or the constraint vector. l and r may also take values \(\pm\) #R(infinity). This static member is predefined, but may be overridden to meet the needs of the LP solver to be used. More... | |
class | LPRowSetBase |
Set of LP rows.Class LPRowSetBase implements a set of LPRowBase%s. Unless for memory limitations, any number of LPRowBases may be added to an LPRowSetBase. Single or multiple LPRowBases may be added to an LPRowSetBase, where each method add() comes with two different signatures. One with and one without a parameter, used for returning the Keys assigned to the new LPRowBases by the set. See DataKey for a more detailed description of the concept of keys. For the concept of renumbering LPRowBases within an LPRowSetBase after removal of some LPRows see DataSet. More... | |
class | MPSInput |
class | NameSet |
Set of strings.Class NameSet implements a symbol or name table. It allows to store or remove names (i.e., char* ), but does not provide means for manipulating stored names. More... | |
class | Nonzero |
Sparse vector nonzero element. More... | |
class | NoTimer |
class | Param |
class | Presol |
class | Random |
Random numbers.Class Random provides random Real variables, i.e. a value variable that gives another value each time it is accessed. It may be used just like an ordinary Real by means of an overloaded cast operator Real()%. More... | |
class | SLinSolver |
Sparse Linear Solver virtual base class.Class SLinSolver provides a class for solving sparse linear systems with a matrix \(A\) and arbitrary right-hand side vectors. For doing so, the matrix must be first loaded to an SLinSolver object as an array of pointers to the column SVectors of this matrix. More... | |
class | SLinSolverRational |
Sparse Linear Solver virtual base class with Rational precision.Class SLinSolverRational provides a class for solving sparse linear systems with a matrix \(A\) and arbitrary right-hand side vectors. For doing so, the matrix must be first loaded to an SLinSolverRational object as an array of pointers to the column SVectorsRational of this matrix. More... | |
class | SLUFactor |
Implementation of Sparse Linear Solver.This class implements a SLinSolver interface by using the sparse LU factorization implemented in CLUFactor. More... | |
class | SLUFactorRational |
Implementation of Sparse Linear Solver with Rational precision.This class implements a SLinSolverRational interface by using the sparse LU factorization implemented in CLUFactorRational. More... | |
class | SolBase |
Class for storing a primal-dual solution with basis information. More... | |
class | SoPlexBase |
class | SPxAutoPR |
Auto pricer.This pricer switches between Devex and Steepest edge pricer based on the difficulty of the problem which is determined by the number of iterations. More... | |
class | SPxBasisBase |
Simplex basis.Consider the linear program as provided from class SPxLP: \[ \begin{array}{rl} \hbox{max} & c^T x \\ \hbox{s.t.} & l_r \le Ax \le u_r \\ & l_c \le x \le u_c \end{array} \] where \(c, l_c, u_c, x \in {\bf R}^n\), \(l_r, u_r \in {\bf R}^m\) and \(A \in {\bf R}^{m \times n}\). Solving this LP with the simplex algorithm requires the definition of a basis. Such can be defined as a set of column vectors or a set of row vectors building a non-singular matrix. We will refer to the first case as the columnwise representation and the latter case will be called the rowwise representation. In both cases, a basis is a set of vectors forming a non-singular matrix. The dimension of the vectors is referred to as the basis' dimension, whereas the number of vectors belonging to the LP is called the basis' codimension. More... | |
class | SPxBoundFlippingRT |
Bound flipping ratio test ("long step dual") for SoPlex.Class SPxBoundFlippingRT provides an implementation of the bound flipping ratio test as a derived class of SPxRatioTester. Dual step length is increased beyond some breakpoints and corresponding primal nonbasic variables are set to their other bound to handle the resulting dual infeasibility. More... | |
class | SPxColId |
Ids for LP columns.Class SPxColId provides DataKeys for the column indices of an SPxLP. More... | |
class | SPxDantzigPR |
Dantzig pricer.Class SPxDantzigPR is an implementation class of an SPxPricer implementing Dantzig's default pricing strategy, i.e., maximal/minimal reduced cost or maximally violated constraint. More... | |
class | SPxDefaultRT |
Textbook ratio test for SoPlex.Class SPxDefaultRT provides an implementation of the textbook ratio test as a derived class of SPxRatioTester. This class is not intended for reliably solving LPs (even though it does the job for ``numerically simple'' LPs). Instead, it should serve as a demonstration of how to write ratio tester classes. More... | |
class | SPxDevexPR |
Devex pricer.The Devex Pricer for SoPlex implements an approximate steepest edge pricing, that does without solving an extra linear system and computing the scalar products. More... | |
class | SPxEquiliSC |
Equilibrium row/column scaling.This SPxScaler implementation performs equilibrium scaling of the LPs rows and columns. More... | |
class | SPxException |
Exception base class.This class implements a base class for our SoPlex exceptions We provide a what() function which returns the exception message. More... | |
class | SPxFastRT |
Fast shifting ratio test.Class SPxFastRT is an implementation class of SPxRatioTester providing fast and stable ratio test. Stability is achieved by allowing some infeasibility to ensure numerical stability such as the Harris procedure. Performance is achieved by skipping the second phase if the first phase already shows a stable enough pivot. More... | |
class | SPxGeometSC |
Geometric mean row/column scaling.This SPxScaler implementation performs geometric mean scaling of the LPs rows and columns. More... | |
class | SPxHarrisRT |
Harris pricing with shifting.Class SPxHarrisRT is a stable implementation of a SPxRatioTester class along the lines of Harris' two phase algorithm. Additionally it uses shifting of bounds in order to avoid cycling. More... | |
class | SPxHybridPR |
Hybrid pricer.The hybrid pricer for SoPlex tries to guess the best pricing strategy to use for pricing the loaded LP with the loaded algorithm type and basis representation. Currently it does so by switching between SPxSteepPR, SPxDevexPR and SPxParMultPR. More... | |
class | SPxId |
Generic Ids for LP rows or columns.Both SPxColIds and SPxRowIds may be treated uniformly as SPxIds: More... | |
class | SPxInterfaceException |
Exception class for incorrect usage of interface methods. More... | |
class | SPxInternalCodeException |
Exception class for things that should NEVER happen.This class is derived from the SoPlex exception base class. It does not provide any new functionality. Most often it is used to replace assert(false) terms in earlier code. More... | |
class | SPxLeastSqSC |
Least squares scaling.This SPxScaler implementation performs least squares scaling as suggested by Curtis and Reid in: On the Automatic Scaling of Matrices for Gaussian Elimination (1972). More... | |
class | SPxLPBase |
Saving LPs in a form suitable for SoPlex.Class SPxLPBase provides the data structures required for saving a linear program in the form \[ \begin{array}{rl} \hbox{max} & c^T x \\ \hbox{s.t.} & l_r \le Ax \le u_r \\ & l_c \le x \le u_c \end{array} \] | |
class | SPxMainSM |
LP simplifier for removing uneccessary row/columns.This SPxSimplifier is mainly based on the paper "Presolving in
linear programming" by E. Andersen and K. Andersen (Mathematical Programming, 1995). It implements all proposed methods and some other preprocessing techniques for removing redundant rows and columns and bounds. Also infeasibility and unboundedness may be detected. More... | |
class | SPxMemoryException |
Exception class for out of memory exceptions.This class is derived from the SoPlex exception base class. It does not provide any new functionality. 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.Class SPxParMultPr is an implementation class for SPxPricer implementing Dantzig's default pricing strategy with partial multiple pricing. Partial multiple pricing applies to the entering Simplex only. A set of partialSize eligible pivot indices is selected (partial pricing). In the following Simplex iterations pricing is restricted to these indices (multiple pricing) until no more eliiable pivots are available. Partial multiple pricing significantly reduces the computation time for computing the matrix-vector-product in the Simplex algorithm. More... | |
class | SPxPricer |
Abstract pricer base class.Class SPxPricer is a pure virtual class defining the interface for pricer classes to be used by SoPlex. The pricer's task is to select a vector to enter or leave the simplex basis, depending on the chosen simplex type. More... | |
class | SPxRatioTester |
Abstract ratio test base class.Class SPxRatioTester is the virtual base class for computing the ratio test within the Simplex algorithm driven by SoPlex. After a SoPlex solver has been load()ed to an SPxRatioTester, the solver calls selectLeave() for computing the ratio test for the entering simplex and selectEnter() for computing the ratio test in leaving simplex. More... | |
class | SPxRowId |
Ids for LP rows.Class SPxRowId provides DataKeys for the row indices of an SPxLP. More... | |
class | SPxScaler |
LP scaler abstract base class.Instances of classes derived from SPxScaler may be loaded to SoPlex in order to scale LPs before solving them. SoPlex will load() itself to the SPxScaler and then call scale(). Generally any SPxLP can be loaded to a SPxScaler for scale()ing it. The scaling can be undone by calling unscale(). More... | |
class | SPxSimplifier |
LP simplification abstract base class.Instances of classes derived from SPxSimplifier may be loaded to SoPlex in order to simplify LPs before solving them. SoPlex will call simplify() on itself. Generally any SPxLP can be given to a SPxSimplifier for simplify()ing it. The simplification cannot be undone, but given an primal/dual solution for the simplified SPxLP, the simplifier can reconstruct the primal/dual solution of the unsimplified LP. More... | |
class | SPxSolverBase |
Sequential object-oriented SimPlex.SPxSolverBase is an LP solver class using the revised Simplex algorithm. It provides two basis representations, namely a column basis and a row basis (see Representation). For both representations, a primal and dual algorithm is available (see Type). More... | |
class | SPxStarter |
SoPlex start basis generation base class.SPxStarter is the virtual base class for classes generating a starter basis for the Simplex solver SoPlex. When a SPxStarter object has been loaded to a SoPlex solver, the latter will call method generate() in order to have a start basis generated. Implementations of method generate() must terminate by loading the generated basis to SoPlex. Loaded bases must be nonsingular. More... | |
class | SPxStatusException |
Exception class for status exceptions during the computationsThis class is derived from the SoPlex exception base class. It does not provide any new functionality. More... | |
class | SPxSteepExPR |
Steepest edge pricer.Class SPxSteepExPR implements a steepest edge pricer to be used with SoPlex. Exact initialization of weights is used. More... | |
class | SPxSteepPR |
Steepest edge pricer.Class SPxSteepPR implements a steepest edge pricer to be used with SoPlex. More... | |
class | SPxSumST |
Simple heuristic SPxStarter.Testing version of an SPxVectorST using a very simplistic heuristic to build up an approximated solution vector. More... | |
class | SPxVectorST |
Solution vector based start basis.This version of SPxWeightST can be used to construct a starting basis for an LP to be solved with SoPlex if an approximate solution vector or dual vector (possibly optained by a heuristic) is available. This is done by setting up weights for the SPxWeightST it is derived from. More... | |
class | SPxWeightPR |
Weighted pricing.Class SPxWeightPR is an implemantation class of SPxPricer that uses weights for columns and rows for selecting the Simplex pivots. The weights are computed by methods computeCP() and computeRP() which may be overridden by derived classes. More... | |
class | SPxWeightST |
Weighted start basis.Class SPxWeightST is an implementation of a SPxStarter for generating a Simplex starting basis. Using method setupWeights() it sets up arrays weight and coWeight, or equivalently rowWeight and colWeight. (rowWeight and colWeight are just pointers initialized to weight and coWeight according to the representation of SoPlex base passed to method generate().) More... | |
class | SSVectorBase |
Semi sparse vector.This class implements semi-sparse vectors. Such are VectorBases where the indices of its nonzero elements can be stored in an extra IdxSet. Only elements with absolute value > epsilon are considered to be nonzero. Since really storing the nonzeros is not always convenient, an SSVectorBase provides two different stati: setup and not setup. An SSVectorBase being setup means that the nonzero indices are available, otherwise an SSVectorBase is just an ordinary VectorBase with an empty IdxSet. Note that due to arithmetic operation, zeros can slip in, i.e., it is only guaranteed that at least every non-zero is in the IdxSet. More... | |
class | StableSum |
class | StableSum< double > |
class | SVectorBase |
Sparse vectors.Class SVectorBase provides packed sparse vectors. Such are a sparse vectors, with a storage scheme that keeps all data in one contiguous block of memory. This is best suited for using them for parallel computing on a distributed memory multiprocessor. More... | |
class | SVSetBase |
Sparse vector set.Class SVSetBase provides a set of sparse vectors SVectorBase. All SVectorBases in an SVSetBase share one big memory block for their nonzeros. This memory is referred to as the nonzero memory. The SVectorBases themselves are saved in another memory block referred to as the vector memory. Both memory blocks will grow automatically if required, when adding more SVectorBases to the set or enlarging SVectorBases within the set. For controlling memory consumption, methods are provided to inquire and reset the size of the memory blocks used for vectors and nonzeros. 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 | UnitVectorBase |
Sparse vector \(e_i\).A UnitVectorBase is an SVectorBase that can take only one nonzero value with value 1 but arbitrary index. More... | |
class | UpdateVector |
Dense Vector with semi-sparse Vector for updatesIn many algorithms vectors are updated in every iteration, by adding a multiple of another VectorBase<R> to it, i.e., given a VectorBase<R> x , a scalar \(\alpha\) and another VectorBase<R> \(\delta\), the update to x constists of substituting it by \(x \leftarrow x + \alpha\cdot\delta\). More... | |
class | UserTimer |
class | Validation |
class | VectorBase |
Dense vector.Class VectorBase provides dense linear algebra vectors. Internally, VectorBase wraps std::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... | |
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=0) |
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; 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 | |
THREADLOCAL const Real | infinity = 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
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?)
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 28 of file dsvector.h.
typedef DSVectorBase< Rational > DSVectorRational |
Definition at line 30 of file dsvector.h.
typedef DSVectorBase< Real > DSVectorReal |
Definition at line 29 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 31 of file rational.h.
typedef LPColBase< Rational > LPColRational |
typedef LPColSetBase< Real > LPColSet |
Definition at line 27 of file lpcolset.h.
typedef LPColSetBase< Rational > LPColSetRational |
Definition at line 29 of file lpcolset.h.
typedef LPColSetBase< Real > LPColSetReal |
Definition at line 28 of file lpcolset.h.
typedef LPRowBase< Rational > LPRowRational |
typedef LPRowSetBase< Real > LPRowSet |
Definition at line 27 of file lprowset.h.
typedef LPRowSetBase< Rational > LPRowSetRational |
Definition at line 29 of file lprowset.h.
typedef LPRowSetBase< Real > LPRowSetReal |
Definition at line 28 of file lprowset.h.
using Rational = number<gmp_rational, et_off> |
Definition at line 30 of file rational.h.
typedef double Real |
Definition at line 256 of file spxdefines.h.
typedef SolBase<Rational> SolRational |
typedef SoPlexBase<Real> SoPlex |
typedef SPxBasisBase<Real> SPxBasis |
Definition at line 1011 of file spxbasis.h.
typedef std::ifstream spxifstream |
Definition at line 43 of file spxfileio.h.
typedef SPxLPBase< Rational > SPxLPRational |
typedef SPxSolverBase<Real> SPxSolver |
Definition at line 2392 of file spxsolver.h.
typedef SSVectorBase<Real> SSVector |
Definition at line 28 of file ssvector.h.
typedef SSVectorBase<Rational> SSVectorRational |
Definition at line 30 of file ssvector.h.
typedef SSVectorBase<Real> SSVectorReal |
Definition at line 29 of file ssvector.h.
typedef SVectorBase< Real > SVector |
typedef SVectorBase< Rational > SVectorRational |
typedef SVectorBase< Real > SVectorReal |
typedef UnitVectorBase< Real > UnitVector |
Definition at line 29 of file unitvector.h.
typedef UnitVectorBase< Rational > UnitVectorRational |
Definition at line 31 of file unitvector.h.
typedef UnitVectorBase< Real > UnitVectorReal |
Definition at line 30 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 35 of file mpsinput.cpp.
References BLANK.
Referenced by MPSInput::readLine().
int soplex::dlcmSizeRational | ( | const Rational * | vector, |
const int | length, | ||
const int | base | ||
) |
Size of least common multiple of denominators in rational vector.
Definition at line 993 of file rational.h.
References MSG_ERROR, and SpxLcm().
Referenced by SolBase< Rational >::dlcmSizeDual(), and SolBase< Rational >::dlcmSizePrimal().
int soplex::dmaxSizeRational | ( | const Rational * | vector, |
const int | length, | ||
const int | base | ||
) |
Size of largest denominator in rational vector.
Definition at line 1016 of file rational.h.
References MSG_ERROR.
Referenced by SolBase< Rational >::dmaxSizeDual(), and SolBase< Rational >::dmaxSizePrimal().
bool EQ | ( | int | a, |
int | b | ||
) |
Definition at line 27 of file spxdefines.cpp.
Referenced by SPxMainSM< R >::ElementCompare::operator()(), SPxMainSM< R >::IdxCompare::operator()(), and SPxLPBase< R >::printProblemStatistics().
|
static |
Definition at line 139 of file rational.h.
Referenced by ratFromString().
number<gmp_rational, eto> soplex::frexp | ( | number< gmp_rational, eto > | , |
int * | exp | ||
) |
const char * getGitHash | ( | ) |
returns the current git hash of SoPlex
Definition at line 23 of file spxgithash.cpp.
References SPX_GITHASH.
void soplex::invert | ( | Rational & | r | ) |
Definition at line 102 of file rational.h.
Referenced by ratFromString().
bool soplex::isAdjacentTo | ( | const Rational & | r, |
const double & | d | ||
) |
Definition at line 76 of file rational.h.
Referenced by ratFromString().
number<gmp_rational, eto> soplex::ldexp | ( | number< gmp_rational, eto > | , |
int | exp | ||
) |
Definition at line 437 of file spxdefines.h.
Referenced by frexp(), and spxLdexp().
returns max(|a|,|b|)
Definition at line 377 of file spxdefines.h.
References spxAbs().
Referenced by relDiff().
number<T, et> soplex::maxAbs | ( | number< T, et > | a, |
number< T, et > | b | ||
) |
bool msginconsistent | ( | const char * | name, |
const char * | file, | ||
int | line | ||
) |
Definition at line 42 of file spxdefines.cpp.
References MSG_ERROR.
|
static |
returns the hash value of the name.
Definition at line 191 of file nameset.cpp.
References NameSet::Name::name.
DSVectorBase<R> soplex::operator* | ( | const SVectorBase< R > & | v, |
R | x | ||
) |
Scaling.
Definition at line 1171 of file basevectors.h.
References DSVectorBase< R >::add(), SVectorBase< R >::index(), SVectorBase< R >::size(), and SVectorBase< R >::value().
Referenced by VectorBase< Rational >::operator*(), SVectorBase< Rational >::operator*=(), and ratFromString().
DSVectorBase<R> soplex::operator* | ( | R | x, |
const SVectorBase< R > & | v | ||
) |
Scaling.
Definition at line 1186 of file basevectors.h.
VectorBase<R> soplex::operator- | ( | const SVectorBase< R > & | v, |
const VectorBase< R > & | w | ||
) |
Subtraction.
Definition at line 1153 of file basevectors.h.
References VectorBase< R >::dim().
Referenced by ratFromString().
std::ostream& soplex::operator<< | ( | std::ostream & | os, |
const SPxId & | id | ||
) |
Definition at line 52 of file spxid.cpp.
References SPxId::COL_ID, SPxId::INVALID, and SPxId::ROW_ID.
std::ostream& soplex::operator<< | ( | std::ostream & | s, |
const StableSum< T > & | sum | ||
) |
SPxOut& soplex::operator<< | ( | SPxOut & | stream, |
const SPxOut::struct_Verbosity & | verbosity | ||
) |
output operator with verbosity level struct
Definition at line 227 of file spxout.h.
References SPxOut::setVerbosity(), and SPxOut::struct_Verbosity::v_.
Passes instances of type Type
to the current stream.
Definition at line 246 of file spxout.h.
References SPxOut::getCurrentStream().
std::ostream & operator<< | ( | std::ostream & | s, |
const NameSet & | nset | ||
) |
Definition at line 250 of file nameset.cpp.
References DataKey::idx, DataKey::info, NameSet::key(), and NameSet::num().
Definition at line 252 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 258 of file spxout.h.
References SPxOut::getCurrentStream().
std::ostream& soplex::operator<< | ( | std::ostream & | os, |
const typename SPxSimplifier< R >::Result & | status | ||
) |
Pretty-printing of simplifier status.
Definition at line 264 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 270 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 276 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 282 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 288 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 294 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 300 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 306 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 315 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 327 of file spxout.h.
References SPxOut::getCurrentStream().
std::ostream& soplex::operator<< | ( | std::ostream & | os, |
const typename SPxBasisBase< R >::SPxStatus & | status | ||
) |
Pretty-printing of basis status.
std::ostream& soplex::operator<< | ( | std::ostream & | s, |
const VectorBase< R > & | vec | ||
) |
std::ostream& soplex::operator<< | ( | std::ostream & | os, |
const SVectorBase< R > & | v | ||
) |
Output operator.
Definition at line 1247 of file basevectors.h.
std::ostream& soplex::operator<< | ( | std::ostream & | os, |
const SVSetBase< R > & | s | ||
) |
Output operator.
Definition at line 1276 of file basevectors.h.
std::ostream& soplex::operator<< | ( | std::ostream & | os, |
const typename SPxSolverBase< R >::VarStatus & | status | ||
) |
Pretty-printing of variable status.
std::ostream& soplex::operator<< | ( | std::ostream & | os, |
const typename SPxSolverBase< R >::Status & | status | ||
) |
Pretty-printing of solver status.
std::ostream& soplex::operator<< | ( | std::ostream & | os, |
const typename SPxSolverBase< R >::Type & | status | ||
) |
Pretty-printing of algorithm.
std::ostream& soplex::operator<< | ( | std::ostream & | os, |
const typename SPxSolverBase< R >::Representation & | status | ||
) |
Pretty-printing of representation.
std::istream& soplex::operator>> | ( | std::istream & | s, |
VectorBase< R > & | vec | ||
) |
Definition at line 1195 of file basevectors.h.
References VectorBase< R >::dim(), and VectorBase< R >::reDim().
|
static |
change all blanks inside a field to PATCH_CHAR.
Definition at line 44 of file mpsinput.cpp.
References BLANK, and PATCH_CHAR.
Referenced by MPSInput::readLine().
void soplex::powRound | ( | Rational & | r | ) |
round up to next power of two
Definition at line 108 of file rational.h.
References MSG_DEBUG.
Referenced by ratFromString().
void soplex::printInteger | ( | Integer | r | ) |
Definition at line 72 of file rational.h.
void soplex::printRational | ( | Rational | r | ) |
Definition at line 67 of file rational.h.
Rational soplex::ratFromString | ( | const char * | desc | ) |
Definition at line 152 of file rational.h.
References findSubStringIC(), invert(), isAdjacentTo(), MSG_ERROR, operator*(), operator-(), operator<<(), powRound(), sizeInBase(), spxAbs(), SpxGcd(), and SpxLcm().
bool soplex::reconstructSol | ( | SolRational & | solution | ) |
reconstruct a rational solution
bool soplex::reconstructVector | ( | VectorRational & | input, |
const Rational & | denomBoundSquared, | ||
const DIdxSet * | indexSet = 0 |
||
) |
reconstruct a rational vector
number<T, et> soplex::relDiff | ( | number< T, et > | a, |
number< T, et > | b | ||
) |
Definition at line 518 of file spxdefines.h.
References maxAbs().
int soplex::sizeInBase | ( | const Rational | R, |
const int | base | ||
) |
Size in specified base (bit size for base 2)
Definition at line 963 of file rational.h.
References MSG_ERROR.
Referenced by ratFromString(), and totalSizeRational().
void soplex::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 49 of file spxalloc.h.
Referenced by DSVectorBase< Rational >::allocMem(), ClassArray< Nonzero< Rational > >::ClassArray(), ClassSet< soplex::SVSetBase::DLPSV >::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< const soplex::SVectorBase< R > * >::DataArray(), DataSet< int >::DataSet(), DIdxSet::DIdxSet(), IdxSet::IdxSet(), NameSet::memPack(), NameSet::NameSet(), IdxSet::operator=(), ClassArray< Nonzero< Rational > >::reMax(), DataArray< const soplex::SVectorBase< R > * >::reMax(), ClassSet< soplex::SVSetBase::DLPSV >::reMax(), runSoPlex(), DSVectorBase< Rational >::setMax(), SLUFactorRational::SLUFactorRational(), SPxOut::SPxOut(), and SSVectorBase< Rational >::SSVectorBase().
void soplex::spx_free | ( | T & | p | ) |
Release memory.
Definition at line 111 of file spxalloc.h.
Referenced by ClassSet< soplex::SVSetBase::DLPSV >::ClassSet(), IsList< soplex::SVSetBase::DLPSV >::clear(), DataSet< int >::DataSet(), NameSet::memPack(), IdxSet::operator=(), ClassArray< Nonzero< Rational > >::reMax(), DataArray< const soplex::SVectorBase< R > * >::reMax(), ClassSet< soplex::SVSetBase::DLPSV >::reMax(), runSoPlex(), DSVectorBase< Rational >::setMax(), TimerFactory::switchTimer(), ClassArray< Nonzero< Rational > >::~ClassArray(), ClassSet< soplex::SVSetBase::DLPSV >::~ClassSet(), DataArray< const soplex::SVectorBase< R > * >::~DataArray(), DataSet< int >::~DataSet(), DIdxSet::~DIdxSet(), DSVectorBase< Rational >::~DSVectorBase(), IdxSet::~IdxSet(), NameSet::~NameSet(), SPxOut::~SPxOut(), SPxSimplifier< R >::~SPxSimplifier(), SSVectorBase< Rational >::~SSVectorBase(), and SoPlexBase< R >::Statistics< R >::~Statistics().
void soplex::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 80 of file spxalloc.h.
Referenced by NameSet::memRemax(), DataArray< const soplex::SVectorBase< R > * >::reMax(), ClassSet< soplex::SVSetBase::DLPSV >::reMax(), DataSet< int >::reMax(), SSVectorBase< Rational >::setMax(), DIdxSet::setMax(), and DSVectorBase< Rational >::setMax().
R soplex::spxAbs | ( | R | a | ) |
Definition at line 338 of file spxdefines.h.
References spxNextafter().
Referenced by SSVectorBase< Rational >::isConsistent(), SPxBoundFlippingRT< R >::isSmaller(), maxAbs(), VectorBase< Rational >::maxAbs(), SVectorBase< Rational >::maxAbs(), SSVectorBase< Rational >::maxAbs(), VectorBase< Rational >::minAbs(), SVectorBase< Rational >::minAbs(), StableSum< double >::operator double(), SSVectorBase< Rational >::operator=(), ratFromString(), SSVectorBase< Rational >::setup(), SSVectorBase< Rational >::setup_and_assign(), and SSVectorBase< Rational >::setValue().
returns |a|
Definition at line 365 of file spxdefines.h.
boost::multiprecision::number<T, eto> soplex::spxFrexp | ( | boost::multiprecision::number< T, eto > | y, |
int * | exp | ||
) |
Definition at line 465 of file spxdefines.h.
References frexp().
Definition at line 32 of file rational.h.
Referenced by dlcmSizeRational(), ratFromString(), and SpxGcd().
boost::multiprecision::number<T> soplex::spxLdexp | ( | boost::multiprecision::number< T, eto > | x, |
int | exp | ||
) |
Definition at line 472 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(), VectorBase< Rational >::scaleAssign(), SVectorBase< Rational >::scaleAssign(), and SSVectorBase< Rational >::scaleValue().
Definition at line 353 of file spxdefines.h.
Referenced by spxAbs().
number<T, eto> soplex::spxNextafter | ( | number< T, eto > | x, |
number< T, eto > | y | ||
) |
Definition at line 486 of file spxdefines.h.
void soplex::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 73 of file sorter.h.
References SHELLSORTMAX, and SPxShellsort().
Referenced by SPxQuicksortPart().
int soplex::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 237 of file sorter.h.
References SPxQuicksort().
void soplex::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 30 of file sorter.h.
Referenced by SPxQuicksort().
int soplex::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 |
Definition at line 392 of file spxdefines.h.
References MSG_ERROR.
Referenced by NameSet::add(), NameSet::memPack(), runSoPlex(), MPSInput::setObjName(), and MPSInput::setProbName().
returns square root
Definition at line 371 of file spxdefines.h.
Referenced by VectorBase< Rational >::length(), and SSVectorBase< Rational >::length().
number<T, ep> soplex::spxSqrt | ( | number< T, ep > | a | ) |
Definition at line 479 of file spxdefines.h.
number<T> soplex::spxSqrt | ( | number< T > | a | ) |
Definition at line 501 of file spxdefines.h.
int soplex::totalSizeRational | ( | const Rational * | vector, |
const int | length, | ||
const int | base | ||
) |
Total size of rational vector.
Definition at line 978 of file rational.h.
References sizeInBase().
Referenced by SolBase< Rational >::totalSizeDual(), and SolBase< Rational >::totalSizePrimal().
SPxOut::struct_Verbosity soplex::verb | ( | const SPxOut::Verbosity & | v | ) |
manipulator to be used in an output statement
Definition at line 218 of file spxout.h.
References SPxOut::struct_Verbosity::v_.
THREADLOCAL const Real infinity = DEFAULT_INFINITY |
Definition at line 32 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(), Presol< R >::getBasis(), LPRowBase< R >::LPRowBase(), SVectorBase< Rational >::minAbs(), SPxLPBase< R >::printProblemStatistics(), LPRowBase< R >::setType(), LPRowSetBase< R >::setType(), test_rational(), test_real(), LPRowBase< R >::type(), LPRowSetBase< R >::type(), LPRowBase< R >::value(), and LPRowSetBase< R >::value().