Classes | Macros | Functions | Variables
CoinPresolveMatrix.hpp File Reference
#include "CoinPragma.hpp"
#include "CoinPackedMatrix.hpp"
#include "CoinMessage.hpp"
#include "CoinTime.hpp"
#include <cmath>
#include <cassert>
#include <cfloat>
#include <cstdlib>
Include dependency graph for CoinPresolveMatrix.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  CoinPresolveAction
 Abstract base class of all presolve routines. More...
 
class  CoinPrePostsolveMatrix
 Collects all the information about the problem that is needed in both presolve and postsolve. More...
 
class  presolvehlink
 Links to aid in packed matrix modification. More...
 
class  CoinPresolveMatrix
 Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolve. More...
 
class  CoinPostsolveMatrix
 Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsolve. More...
 

Macros

#define deleteAction(array, type)   delete [] array
 
#define PRESOLVEASSERT(x)   {}
 
#define PRESOLVE_STMT(s)   {}
 
#define PRESOLVE_DETAIL_PRINT(s)   {}
 
#define PRESOLVE_INF   COIN_DBL_MAX
 The usual finite infinity. More...
 
#define PRESOLVE_SMALL_INF   1.0e20
 And a small infinity. More...
 
#define PRESOLVEFINITE(n)   (-PRESOLVE_INF < (n) && (n) < PRESOLVE_INF)
 Check for infinity using finite infinity. More...
 
#define NO_LINK   -66666666
 

Functions

void DIE (const char *)
 
double * presolve_dupmajor (const double *elems, const int *indices, int length, CoinBigIndex offset, int tgt=-1)
 Duplicate a major-dimension vector; optionally omit the entry with minor index tgt. More...
 
void coin_init_random_vec (double *work, int n)
 Initialize a vector with random numbers. More...
 

Variables

const double ZTOLDP = 1e-12
 Zero tolerance. More...
 
const double ZTOLDP2 = 1e-10
 Alternate zero tolerance. More...
 

Detailed Description

Declarations for CoinPresolveMatrix and CoinPostsolveMatrix and their common base class CoinPrePostsolveMatrix. Also declarations for CoinPresolveAction and a number of non-member utility functions.

Definition in file CoinPresolveMatrix.hpp.

Macro Definition Documentation

#define deleteAction (   array,
  type 
)    delete [] array

Definition at line 38 of file CoinPresolveMatrix.hpp.

#define PRESOLVEASSERT (   x)    {}

Definition at line 69 of file CoinPresolveMatrix.hpp.

#define PRESOLVE_STMT (   s)    {}

Definition at line 70 of file CoinPresolveMatrix.hpp.

#define PRESOLVE_DETAIL_PRINT (   s)    {}

Definition at line 80 of file CoinPresolveMatrix.hpp.

#define PRESOLVE_INF   COIN_DBL_MAX

The usual finite infinity.

Definition at line 97 of file CoinPresolveMatrix.hpp.

#define PRESOLVE_SMALL_INF   1.0e20

And a small infinity.

Definition at line 99 of file CoinPresolveMatrix.hpp.

#define PRESOLVEFINITE (   n)    (-PRESOLVE_INF < (n) && (n) < PRESOLVE_INF)

Check for infinity using finite infinity.

Definition at line 101 of file CoinPresolveMatrix.hpp.

#define NO_LINK   -66666666

Definition at line 743 of file CoinPresolveMatrix.hpp.

Function Documentation

void DIE ( const char *  )
inline

Definition at line 72 of file CoinPresolveMatrix.hpp.

Variable Documentation

const double ZTOLDP = 1e-12

Zero tolerance.

OSL had a fixed zero tolerance; we still use that here.

Definition at line 89 of file CoinPresolveMatrix.hpp.

const double ZTOLDP2 = 1e-10

Alternate zero tolerance.

Use a different one if we are doing doubletons, etc.

Definition at line 94 of file CoinPresolveMatrix.hpp.