Program listing for file numerics/src/tools/NM_MUMPS.h#
Return to documentation for this file
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