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