summaryrefslogtreecommitdiff
path: root/thirdparty/linux/include/coin1/ThirdParty/dmumps_c.h
diff options
context:
space:
mode:
authorGeorgey2017-07-05 11:40:43 +0530
committerGeorgey2017-07-05 11:40:43 +0530
commit938fef4a37a7b7c61b4b6ff74cb4cfd2f100c427 (patch)
treeb343c0ee5609433c80e0de1db8b6886c9126dc2d /thirdparty/linux/include/coin1/ThirdParty/dmumps_c.h
parent5b72577efe080c5294b32d804e4d26351fef30bc (diff)
downloadFOSSEE-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/coin1/ThirdParty/dmumps_c.h')
-rw-r--r--thirdparty/linux/include/coin1/ThirdParty/dmumps_c.h159
1 files changed, 159 insertions, 0 deletions
diff --git a/thirdparty/linux/include/coin1/ThirdParty/dmumps_c.h b/thirdparty/linux/include/coin1/ThirdParty/dmumps_c.h
new file mode 100644
index 0000000..1d5c2c9
--- /dev/null
+++ b/thirdparty/linux/include/coin1/ThirdParty/dmumps_c.h
@@ -0,0 +1,159 @@
+/*
+ *
+ * This file is part of MUMPS 4.10.0, built on Tue May 10 12:56:32 UTC 2011
+ *
+ *
+ * This version of MUMPS is provided to you free of charge. It is public
+ * domain, based on public domain software developed during the Esprit IV
+ * European project PARASOL (1996-1999). Since this first public domain
+ * version in 1999, research and developments have been supported by the
+ * following institutions: CERFACS, CNRS, ENS Lyon, INPT(ENSEEIHT)-IRIT,
+ * INRIA, and University of Bordeaux.
+ *
+ * The MUMPS team at the moment of releasing this version includes
+ * Patrick Amestoy, Maurice Bremond, Alfredo Buttari, Abdou Guermouche,
+ * Guillaume Joslin, Jean-Yves L'Excellent, Francois-Henry Rouet, Bora
+ * Ucar and Clement Weisbecker.
+ *
+ * We are also grateful to Emmanuel Agullo, Caroline Bousquet, Indranil
+ * Chowdhury, Philippe Combes, Christophe Daniel, Iain Duff, Vincent Espirat,
+ * Aurelia Fevre, Jacko Koster, Stephane Pralet, Chiara Puglisi, Gregoire
+ * Richard, Tzvetomila Slavova, Miroslav Tuma and Christophe Voemel who
+ * have been contributing to this project.
+ *
+ * Up-to-date copies of the MUMPS package can be obtained
+ * from the Web pages:
+ * http://mumps.enseeiht.fr/ or http://graal.ens-lyon.fr/MUMPS
+ *
+ *
+ * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
+ * EXPRESSED OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
+ *
+ *
+ * User documentation of any code that uses this software can
+ * include this complete notice. You can acknowledge (using
+ * references [1] and [2]) the contribution of this package
+ * in any scientific publication dependent upon the use of the
+ * package. You shall use reasonable endeavours to notify
+ * the authors of the package of this publication.
+ *
+ * [1] P. R. Amestoy, I. S. Duff, J. Koster and J.-Y. L'Excellent,
+ * A fully asynchronous multifrontal solver using distributed dynamic
+ * scheduling, SIAM Journal of Matrix Analysis and Applications,
+ * Vol 23, No 1, pp 15-41 (2001).
+ *
+ * [2] P. R. Amestoy and A. Guermouche and J.-Y. L'Excellent and
+ * S. Pralet, Hybrid scheduling for the parallel solution of linear
+ * systems. Parallel Computing Vol 32 (2), pp 136-156 (2006).
+ *
+ */
+
+/* Mostly written in march 2002 (JYL) */
+
+#ifndef DMUMPS_C_H
+#define DMUMPS_C_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mumps_compat.h"
+/* Next line defines MUMPS_INT, DMUMPS_COMPLEX and DMUMPS_REAL */
+#include "mumps_c_types.h"
+
+#ifndef MUMPS_VERSION
+/* Protected in case headers of other arithmetics are included */
+#define MUMPS_VERSION "4.10.0"
+#endif
+#ifndef MUMPS_VERSION_MAX_LEN
+#define MUMPS_VERSION_MAX_LEN 14
+#endif
+
+/*
+ * Definition of the (simplified) MUMPS C structure.
+ * NB: DMUMPS_COMPLEX are REAL types in s and d arithmetics.
+ */
+typedef struct {
+
+ MUMPS_INT sym, par, job;
+ MUMPS_INT comm_fortran; /* Fortran communicator */
+ MUMPS_INT icntl[40];
+ DMUMPS_REAL cntl[15];
+ MUMPS_INT n;
+
+ MUMPS_INT nz_alloc; /* used in matlab interface to decide if we
+ free + malloc when we have large variation */
+
+ /* Assembled entry */
+ MUMPS_INT nz;
+ MUMPS_INT *irn;
+ MUMPS_INT *jcn;
+ DMUMPS_COMPLEX *a;
+
+ /* Distributed entry */
+ MUMPS_INT nz_loc;
+ MUMPS_INT *irn_loc;
+ MUMPS_INT *jcn_loc;
+ DMUMPS_COMPLEX *a_loc;
+
+ /* Element entry */
+ MUMPS_INT nelt;
+ MUMPS_INT *eltptr;
+ MUMPS_INT *eltvar;
+ DMUMPS_COMPLEX *a_elt;
+
+ /* Ordering, if given by user */
+ MUMPS_INT *perm_in;
+
+ /* Orderings returned to user */
+ MUMPS_INT *sym_perm; /* symmetric permutation */
+ MUMPS_INT *uns_perm; /* column permutation */
+
+ /* Scaling (input only in this version) */
+ DMUMPS_REAL *colsca;
+ DMUMPS_REAL *rowsca;
+
+ /* RHS, solution, ouptput data and statistics */
+ DMUMPS_COMPLEX *rhs, *redrhs, *rhs_sparse, *sol_loc;
+ MUMPS_INT *irhs_sparse, *irhs_ptr, *isol_loc;
+ MUMPS_INT nrhs, lrhs, lredrhs, nz_rhs, lsol_loc;
+ MUMPS_INT schur_mloc, schur_nloc, schur_lld;
+ MUMPS_INT mblock, nblock, nprow, npcol;
+ MUMPS_INT info[40],infog[40];
+ DMUMPS_REAL rinfo[40], rinfog[40];
+
+ /* Null space */
+ MUMPS_INT deficiency;
+ MUMPS_INT *pivnul_list;
+ MUMPS_INT *mapping;
+
+ /* Schur */
+ MUMPS_INT size_schur;
+ MUMPS_INT *listvar_schur;
+ DMUMPS_COMPLEX *schur;
+
+ /* Internal parameters */
+ MUMPS_INT instance_number;
+ DMUMPS_COMPLEX *wk_user;
+
+ /* Version number: length=14 in FORTRAN + 1 for final \0 + 1 for alignment */
+ char version_number[MUMPS_VERSION_MAX_LEN + 1 + 1];
+ /* For out-of-core */
+ char ooc_tmpdir[256];
+ char ooc_prefix[64];
+ /* To save the matrix in matrix market format */
+ char write_problem[256];
+ MUMPS_INT lwk_user;
+
+} DMUMPS_STRUC_C;
+
+
+void MUMPS_CALL
+dmumps_c( DMUMPS_STRUC_C * dmumps_par );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* DMUMPS_C_H */
+