Cgl  0.60.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros | Functions | Variables
CoinPresolveMatrix.hpp File Reference

Declarations for CoinPresolveMatrix and CoinPostsolveMatrix and their common base class CoinPrePostsolveMatrix. More...

#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)
Value:
{ \
}

Definition at line 72 of file CoinPresolveMatrix.hpp.

#define PRESOLVE_STMT (   s)
Value:
{ \
}

Definition at line 75 of file CoinPresolveMatrix.hpp.

#define PRESOLVE_DETAIL_PRINT (   s)
Value:
{ \
}

Definition at line 87 of file CoinPresolveMatrix.hpp.

#define PRESOLVE_INF   COIN_DBL_MAX

The usual finite infinity.

Definition at line 106 of file CoinPresolveMatrix.hpp.

#define PRESOLVE_SMALL_INF   1.0e20

And a small infinity.

Definition at line 108 of file CoinPresolveMatrix.hpp.

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

Check for infinity using finite infinity.

Definition at line 110 of file CoinPresolveMatrix.hpp.

#define NO_LINK   -66666666

Definition at line 814 of file CoinPresolveMatrix.hpp.

Function Documentation

void DIE ( const char *  )
inline

Definition at line 79 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 98 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 103 of file CoinPresolveMatrix.hpp.