/usr/include/dmumps_c.h is in libmumps-dev 4.10.0.dfsg-3+b2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | /*
*
* 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 */
|