diff options
author | Georgey | 2017-07-05 11:40:43 +0530 |
---|---|---|
committer | Georgey | 2017-07-05 11:40:43 +0530 |
commit | 938fef4a37a7b7c61b4b6ff74cb4cfd2f100c427 (patch) | |
tree | b343c0ee5609433c80e0de1db8b6886c9126dc2d /thirdparty/linux/include/coin/ClpCholeskyMumps.hpp | |
parent | 5b72577efe080c5294b32d804e4d26351fef30bc (diff) | |
download | FOSSEE-Optimization-toolbox-938fef4a37a7b7c61b4b6ff74cb4cfd2f100c427.tar.gz FOSSEE-Optimization-toolbox-938fef4a37a7b7c61b4b6ff74cb4cfd2f100c427.tar.bz2 FOSSEE-Optimization-toolbox-938fef4a37a7b7c61b4b6ff74cb4cfd2f100c427.zip |
Added linux shared libraries and header files for int and ecos functions
Diffstat (limited to 'thirdparty/linux/include/coin/ClpCholeskyMumps.hpp')
-rw-r--r-- | thirdparty/linux/include/coin/ClpCholeskyMumps.hpp | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/thirdparty/linux/include/coin/ClpCholeskyMumps.hpp b/thirdparty/linux/include/coin/ClpCholeskyMumps.hpp new file mode 100644 index 0000000..48261d7 --- /dev/null +++ b/thirdparty/linux/include/coin/ClpCholeskyMumps.hpp @@ -0,0 +1,63 @@ +/* $Id: ClpCholeskyMumps.hpp 1692 2011-03-05 18:05:01Z stefan $ */ +// Copyright (C) 2009, International Business Machines +// Corporation and others. All Rights Reserved. +// This code is licensed under the terms of the Eclipse Public License (EPL). + +#ifndef ClpCholeskyMumps_H +#define ClpCholeskyMumps_H +#include "ClpCholeskyBase.hpp" +class ClpMatrixBase; +class ClpCholeskyDense; + +// unfortunately, DMUMPS_STRUC_C is an anonymous struct in MUMPS, so we define it to void for everyone outside ClpCholeskyMumps +// if this file is included by ClpCholeskyMumps.cpp, then after dmumps_c.h has been included, which defines MUMPS_VERSION +#ifndef MUMPS_VERSION +typedef void DMUMPS_STRUC_C; +#endif + +/** Mumps class for Clp Cholesky factorization + +*/ +class ClpCholeskyMumps : public ClpCholeskyBase { + +public: + /**@name Virtual methods that the derived classes provides */ + //@{ + /** Orders rows and saves pointer to matrix.and model. + Returns non-zero if not enough memory */ + virtual int order(ClpInterior * model) ; + /** Does Symbolic factorization given permutation. + This is called immediately after order. If user provides this then + user must provide factorize and solve. Otherwise the default factorization is used + returns non-zero if not enough memory */ + virtual int symbolic(); + /** Factorize - filling in rowsDropped and returning number dropped. + If return code negative then out of memory */ + virtual int factorize(const double * diagonal, int * rowsDropped) ; + /** Uses factorization to solve. */ + virtual void solve (double * region) ; + //@} + + + /**@name Constructors, destructor */ + //@{ + /** Constructor which has dense columns activated. + Default is off. */ + ClpCholeskyMumps(int denseThreshold = -1); + /** Destructor */ + virtual ~ClpCholeskyMumps(); + /// Clone + virtual ClpCholeskyBase * clone() const ; + //@} + +private: + // Mumps structure + DMUMPS_STRUC_C* mumps_; + + // Copy + ClpCholeskyMumps(const ClpCholeskyMumps&); + // Assignment + ClpCholeskyMumps& operator=(const ClpCholeskyMumps&); +}; + +#endif |