CoinUtils 2.11.10
|
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>
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. | |
#define | PRESOLVE_SMALL_INF 1.0e20 |
And a small infinity. | |
#define | PRESOLVEFINITE(n) (-PRESOLVE_INF < (n) && (n) < PRESOLVE_INF) |
Check for infinity using finite infinity. | |
#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 . | |
void | coin_init_random_vec (double *work, int n) |
Initialize a vector with random numbers. | |
Variables | |
const double | ZTOLDP = 1e-12 |
Zero tolerance. | |
const double | ZTOLDP2 = 1e-10 |
Alternate zero tolerance. | |
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.
Definition at line 38 of file CoinPresolveMatrix.hpp.
Definition at line 72 of file CoinPresolveMatrix.hpp.
Definition at line 75 of file CoinPresolveMatrix.hpp.
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.
Definition at line 79 of file CoinPresolveMatrix.hpp.
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
.
Designed to copy a major-dimension vector from the paired coefficient (elems
) and minor index (indices
) arrays used in the standard packed matrix representation. Copies length
entries starting at offset
.
If tgt
is specified, the entry with minor index == tgt
is omitted from the copy.
void coin_init_random_vec | ( | double * | work, |
int | n ) |
Initialize a vector with random numbers.
Zero tolerance.
OSL had a fixed zero tolerance; we still use that here.
Definition at line 98 of file CoinPresolveMatrix.hpp.
Alternate zero tolerance.
Use a different one if we are doing doubletons, etc.
Definition at line 103 of file CoinPresolveMatrix.hpp.