Dune Core Modules (2.8.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 __has_include("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 GlobalLU_t*, mem_usage_t *, SuperLUStat_t *, int *);
21
22 extern void
23 sCreate_Dense_Matrix(SuperMatrix *, int, int, float *, int,
24 Stype_t, Dtype_t, Mtype_t);
25 extern void
26 sCreate_CompCol_Matrix(SuperMatrix *, int, int, int, float *,
27 int *, int *, Stype_t, Dtype_t, Mtype_t);
28 extern int sQuerySpace (SuperMatrix *, SuperMatrix *, mem_usage_t *);
29
30 extern void sPrint_CompCol_Matrix(char *, SuperMatrix *);
31}
32#endif
33
34#if __has_include("slu_ddefs.h")
35extern "C" {
36 extern void
37 dgssvx(superlu_options_t *, SuperMatrix *, int *, int *, int *,
38 char *, double *, double *, SuperMatrix *, SuperMatrix *,
39 void *, int, SuperMatrix *, SuperMatrix *,
40 double *, double *, double *, double *,
41 GlobalLU_t*, mem_usage_t *, SuperLUStat_t *, int *);
42
43 extern void
44 dCreate_CompCol_Matrix(SuperMatrix *, int, int, int, double *,
45 int *, int *, Stype_t, Dtype_t, Mtype_t);
46
47 extern void
48 dCreate_Dense_Matrix(SuperMatrix *, int, int, double *, int,
49 Stype_t, Dtype_t, Mtype_t);
50
51 extern int dQuerySpace (SuperMatrix *, SuperMatrix *, mem_usage_t *);
52
53 extern void dPrint_CompCol_Matrix(char *, SuperMatrix *);
54}
55#endif
56
57#if __has_include("slu_cdefs.h")
58#include "slu_scomplex.h"
59
60extern "C" {
61 extern void
62 cgssvx(superlu_options_t *, SuperMatrix *, int *, int *, int *,
63 char *, float *, float *, SuperMatrix *, SuperMatrix *,
64 void *, int, SuperMatrix *, SuperMatrix *,
65 float *, float *, float *, float *,
66 GlobalLU_t*, mem_usage_t *, SuperLUStat_t *, int *);
67
68
69 extern void
70 cCreate_Dense_Matrix(SuperMatrix *, int, int, ::complex *, int,
71 Stype_t, Dtype_t, Mtype_t);
72
73
74 extern void
75 cCreate_CompCol_Matrix(SuperMatrix *, int, int, int, ::complex *,
76 int *, int *, Stype_t, Dtype_t, Mtype_t);
77
78 extern int cQuerySpace (SuperMatrix *, SuperMatrix *, mem_usage_t *);
79
80 extern void cPrint_CompCol_Matrix(char *, SuperMatrix *);
81}
82#endif
83
84#if __has_include("slu_zdefs.h")
85#include "slu_dcomplex.h"
86extern "C" {
87 extern void
88 zgssvx(superlu_options_t *, SuperMatrix *, int *, int *, int *,
89 char *, double *, double *, SuperMatrix *, SuperMatrix *,
90 void *, int, SuperMatrix *, SuperMatrix *,
91 double *, double *, double *, double *,
92 GlobalLU_t*, mem_usage_t *, SuperLUStat_t *, int *);
93
94
95 extern void
96 zCreate_CompCol_Matrix(SuperMatrix *, int, int, int, doublecomplex *,
97 int *, int *, Stype_t, Dtype_t, Mtype_t);
98
99 extern void
100 zCreate_Dense_Matrix(SuperMatrix *, int, int, doublecomplex *, int,
101 Stype_t, Dtype_t, Mtype_t);
102
103 extern int zQuerySpace (SuperMatrix *, SuperMatrix *, mem_usage_t *);
104
105 extern void zPrint_CompCol_Matrix(char *, SuperMatrix *);
106}
107#endif
108
109
110#endif
111#endif
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 25, 23:30, 2024)