Dune Core Modules (2.6.0)

superlufunctions.hh
1// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2// vi: set et ts=4 sw=2 sts=2:
3#ifndef DUNE_ISTL_SUPERLUFUNCTIONS_HH
4#define DUNE_ISTL_SUPERLUFUNCTIONS_HH
5#if HAVE_SUPERLU
6
7
8#define int_t SUPERLU_INT_TYPE
9#include "supermatrix.h"
10#include "slu_util.h"
11#undef int_t
12
13#if HAVE_SLU_SDEFS_H
14extern "C" {
15 extern void
16 sgssvx(superlu_options_t *, SuperMatrix *, int *, int *, int *,
17 char *, float *, float *, SuperMatrix *, SuperMatrix *,
18 void *, int, SuperMatrix *, SuperMatrix *,
19 float *, float *, float *, float *,
20#if SUPERLU_MIN_VERSION_5
21 GlobalLU_t*,
22#endif
23 mem_usage_t *, SuperLUStat_t *, int *);
24
25 extern void
26 sCreate_Dense_Matrix(SuperMatrix *, int, int, float *, int,
27 Stype_t, Dtype_t, Mtype_t);
28 extern void
29 sCreate_CompCol_Matrix(SuperMatrix *, int, int, int, float *,
30 int *, int *, Stype_t, Dtype_t, Mtype_t);
31 extern int sQuerySpace (SuperMatrix *, SuperMatrix *, mem_usage_t *);
32
33 extern void sPrint_CompCol_Matrix(char *, SuperMatrix *);
34}
35#endif
36
37#if HAVE_SLU_DDEFS_H
38extern "C" {
39 extern void
40 dgssvx(superlu_options_t *, SuperMatrix *, int *, int *, int *,
41 char *, double *, double *, SuperMatrix *, SuperMatrix *,
42 void *, int, SuperMatrix *, SuperMatrix *,
43 double *, double *, double *, double *,
44#if SUPERLU_MIN_VERSION_5
45 GlobalLU_t*,
46#endif
47 mem_usage_t *, SuperLUStat_t *, int *);
48
49 extern void
50 dCreate_CompCol_Matrix(SuperMatrix *, int, int, int, double *,
51 int *, int *, Stype_t, Dtype_t, Mtype_t);
52
53 extern void
54 dCreate_Dense_Matrix(SuperMatrix *, int, int, double *, int,
55 Stype_t, Dtype_t, Mtype_t);
56
57 extern int dQuerySpace (SuperMatrix *, SuperMatrix *, mem_usage_t *);
58
59 extern void dPrint_CompCol_Matrix(char *, SuperMatrix *);
60}
61#endif
62
63#if HAVE_SLU_CDEFS_H
64#include "slu_scomplex.h"
65
66extern "C" {
67 extern void
68 cgssvx(superlu_options_t *, SuperMatrix *, int *, int *, int *,
69 char *, float *, float *, SuperMatrix *, SuperMatrix *,
70 void *, int, SuperMatrix *, SuperMatrix *,
71 float *, float *, float *, float *,
72#if SUPERLU_MIN_VERSION_5
73 GlobalLU_t*,
74#endif
75 mem_usage_t *, SuperLUStat_t *, int *);
76
77
78 extern void
79 cCreate_Dense_Matrix(SuperMatrix *, int, int, ::complex *, int,
80 Stype_t, Dtype_t, Mtype_t);
81
82
83 extern void
84 cCreate_CompCol_Matrix(SuperMatrix *, int, int, int, ::complex *,
85 int *, int *, Stype_t, Dtype_t, Mtype_t);
86
87 extern int cQuerySpace (SuperMatrix *, SuperMatrix *, mem_usage_t *);
88
89 extern void cPrint_CompCol_Matrix(char *, SuperMatrix *);
90}
91#endif
92
93#if HAVE_SLU_ZDEFS_H
94#include "slu_dcomplex.h"
95extern "C" {
96 extern void
97 zgssvx(superlu_options_t *, SuperMatrix *, int *, int *, int *,
98 char *, double *, double *, SuperMatrix *, SuperMatrix *,
99 void *, int, SuperMatrix *, SuperMatrix *,
100 double *, double *, double *, double *,
101#if SUPERLU_MIN_VERSION_5
102 GlobalLU_t*,
103#endif
104 mem_usage_t *, SuperLUStat_t *, int *);
105
106
107 extern void
108 zCreate_CompCol_Matrix(SuperMatrix *, int, int, int, doublecomplex *,
109 int *, int *, Stype_t, Dtype_t, Mtype_t);
110
111 extern void
112 zCreate_Dense_Matrix(SuperMatrix *, int, int, doublecomplex *, int,
113 Stype_t, Dtype_t, Mtype_t);
114
115 extern int zQuerySpace (SuperMatrix *, SuperMatrix *, mem_usage_t *);
116
117 extern void zPrint_CompCol_Matrix(char *, SuperMatrix *);
118}
119#endif
120
121
122#endif
123#endif
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 13, 23:29, 2024)