Program listing for file numerics/src/tools/NM_MUMPS.h

Program listing for file numerics/src/tools/NM_MUMPS.h#

 1#ifndef NM_MUMPS_h
 2#define NM_MUMPS_h
 3
 4#include "NumericsFwd.h"
 5#include "SiconosConfig.h"
 6
 7#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
 8extern "C"
 9{
10#endif
11
12#ifdef WITH_MUMPS
13#include <dmumps_c.h>
14
15#ifndef MUMPS_INT
16#define MUMPS_INT int
17#endif
18
19#define JOB_INIT -1
20#define JOB_END -2
21#define USE_COMM_WORLD -987654
22#define ICNTL(I) icntl[(I)-1]
23#define CNTL(I) cntl[(I)-1]
24#define RINFOG(I) rinfog[(I)-1]
25
26  void NM_MUMPS_set_irn_jcn(NumericsMatrix* A);
27
28
29  DMUMPS_STRUC_C* NM_MUMPS_id(NumericsMatrix* A);
30
31
32  void NM_MUMPS_set_id(NumericsMatrix* A, DMUMPS_STRUC_C* id);
33
34
35  void NM_MUMPS_set_control_params(NumericsMatrix* A);
36
37
38  void NM_MUMPS_set_par(NumericsMatrix* A, int par);
39
40
41  void NM_MUMPS_set_sym(NumericsMatrix* A, int sym);
42
43
44  void NM_MUMPS_set_icntl(NumericsMatrix* A, unsigned int index, int val);
45
46
47  int NM_MUMPS_icntl(NumericsMatrix* A, unsigned int index);
48
49
50  void NM_MUMPS_set_cntl(NumericsMatrix* A, unsigned int index, double val);
51
52
53  double NM_MUMPS_cntl(NumericsMatrix* A, unsigned int index);
54
55
56  void NM_MUMPS_set_matrix(NumericsMatrix* A);
57
58
59  void NM_MUMPS_set_dense_rhs(NumericsMatrix* A, unsigned int nrhs, double *b);
60
61
62  void NM_MUMPS_set_sparse_rhs(NumericsMatrix* A, NumericsMatrix* B);
63
64
65  void NM_MUMPS_set_verbosity(NumericsMatrix* A, unsigned int verbosity);
66
67
68  void NM_MUMPS_set_default_params(NumericsMatrix* A);
69
70
71  void NM_MUMPS_extra_display(NumericsMatrix* A);
72
73
74  void NM_MUMPS(NumericsMatrix* A, int job);
75
76
77  void NM_MUMPS_free(void* p);
78
79
80#endif
81
82  void NM_MUMPS_copy(const NumericsMatrix* A, NumericsMatrix* B);
83
84#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
85}
86#endif
87
88#endif