# /home/coin/svn-release/Blis-0.93.2/CoinUtils/src/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...
## Defines
#define | deleteAction(array, type) delete [] array
#define | PRESOLVE_DETAIL_PRINT(s) {}
#define | PRESOLVEASSERT(x) {}
#define | PRESOLVE_STMT(s) {}
#define | PRESOLVE_INF COIN_DBL_MAX
#define | NO_LINK -66666666
#define | PRESOLVEFINITE(n) (-PRESOLVE_INF < (n) && (n) < PRESOLVE_INF)
## Functions
void | DIE (const char *)
int | ALIGN (int n, int m)
int | ALIGN_DOUBLE (int n)
void | presolve_delete_many_from_major (int majndx, char *marked, const CoinBigIndex *majstrts, int *majlens, int *minndxs, double *els)
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`.
void | coin_init_random_vec (double *work, int n)
| Initialize an array with random numbers.
## Variables
const double | ZTOLDP = 1e-12
| Zero tolerance.
const double | ZTOLDP2 = 1e-10

## 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.

## Define Documentation

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

Definition at line 33 of file CoinPresolveMatrix.hpp.

#define PRESOLVE_DETAIL_PRINT | ( | s |  | ) | {}

Definition at line 47 of file CoinPresolveMatrix.hpp.

#define PRESOLVEASSERT | ( | x |  | ) | {}

Definition at line 66 of file CoinPresolveMatrix.hpp.

#define PRESOLVE_STMT | ( | s |  | ) | {}

Definition at line 67 of file CoinPresolveMatrix.hpp.

#define PRESOLVE_INF COIN_DBL_MAX

Definition at line 76 of file CoinPresolveMatrix.hpp.

#define NO_LINK -66666666

Definition at line 705 of file CoinPresolveMatrix.hpp.

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

Definition at line 1442 of file CoinPresolveMatrix.hpp.

## Function Documentation

void DIE | ( | const char * |  | ) | `[inline]`

Definition at line 69 of file CoinPresolveMatrix.hpp.

int ALIGN | ( | int | n,
|  | int | m |
| ) |  |  | `[inline]`

Definition at line 73 of file CoinPresolveMatrix.hpp.

int ALIGN_DOUBLE | ( | int | n | ) | `[inline]`

Definition at line 74 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 40 of file CoinPresolveMatrix.hpp.

const double ZTOLDP2 = 1e-10

Definition at line 42 of file CoinPresolveMatrix.hpp.