5#ifndef DUNE_ISTL_SUPERLUFUNCTIONS_HH
6#define DUNE_ISTL_SUPERLUFUNCTIONS_HH
9#include <dune-istl-config.hh>
11#define int_t SUPERLU_INT_TYPE
12#include <supermatrix.h>
16#if __has_include("slu_sdefs.h")
19 sgssvx(superlu_options_t *, SuperMatrix *,
int *,
int *,
int *,
20 char *,
float *,
float *, SuperMatrix *, SuperMatrix *,
21 void *,
int, SuperMatrix *, SuperMatrix *,
22 float *,
float *,
float *,
float *,
23 GlobalLU_t*, mem_usage_t *, SuperLUStat_t *,
int *);
26 sCreate_Dense_Matrix(SuperMatrix *,
int,
int,
float *,
int,
27 Stype_t, Dtype_t, Mtype_t);
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 *);
33 extern void sPrint_CompCol_Matrix(
char *, SuperMatrix *);
37#if __has_include("slu_ddefs.h")
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 GlobalLU_t*, mem_usage_t *, SuperLUStat_t *,
int *);
47 dCreate_CompCol_Matrix(SuperMatrix *,
int,
int,
int,
double *,
48 int *,
int *, Stype_t, Dtype_t, Mtype_t);
51 dCreate_Dense_Matrix(SuperMatrix *,
int,
int,
double *,
int,
52 Stype_t, Dtype_t, Mtype_t);
54 extern int dQuerySpace (SuperMatrix *, SuperMatrix *, mem_usage_t *);
56 extern void dPrint_CompCol_Matrix(
char *, SuperMatrix *);
60#if __has_include("slu_cdefs.h")
61#ifndef SUPERLU_TYPEDEF_COMPLEX
66#define SUPERLU_TYPEDEF_COMPLEX
68#include "slu_scomplex.h"
72 cgssvx(superlu_options_t *, SuperMatrix *,
int *,
int *,
int *,
73 char *,
float *,
float *, SuperMatrix *, SuperMatrix *,
74 void *,
int, SuperMatrix *, SuperMatrix *,
75 float *,
float *,
float *,
float *,
76 GlobalLU_t*, mem_usage_t *, SuperLUStat_t *,
int *);
80 cCreate_Dense_Matrix(SuperMatrix *,
int,
int, ::complex *,
int,
81 Stype_t, Dtype_t, Mtype_t);
85 cCreate_CompCol_Matrix(SuperMatrix *,
int,
int,
int, ::complex *,
86 int *,
int *, Stype_t, Dtype_t, Mtype_t);
88 extern int cQuerySpace (SuperMatrix *, SuperMatrix *, mem_usage_t *);
90 extern void cPrint_CompCol_Matrix(
char *, SuperMatrix *);
94#if __has_include("slu_zdefs.h")
95#include "slu_dcomplex.h"
98 zgssvx(superlu_options_t *, SuperMatrix *,
int *,
int *,
int *,
99 char *,
double *,
double *, SuperMatrix *, SuperMatrix *,
100 void *,
int, SuperMatrix *, SuperMatrix *,
101 double *,
double *,
double *,
double *,
102 GlobalLU_t*, mem_usage_t *, SuperLUStat_t *,
int *);
106 zCreate_CompCol_Matrix(SuperMatrix *,
int,
int,
int, doublecomplex *,
107 int *,
int *, Stype_t, Dtype_t, Mtype_t);
110 zCreate_Dense_Matrix(SuperMatrix *,
int,
int, doublecomplex *,
int,
111 Stype_t, Dtype_t, Mtype_t);
113 extern int zQuerySpace (SuperMatrix *, SuperMatrix *, mem_usage_t *);
115 extern void zPrint_CompCol_Matrix(
char *, SuperMatrix *);