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")
62#include "slu_scomplex.h"
65#ifdef SUPERLU_MAJOR_VERSION
66#if SUPERLU_MAJOR_VERSION < 7
67typedef ::complex singlecomplex;
74 cgssvx(superlu_options_t *, SuperMatrix *,
int *,
int *,
int *,
75 char *,
float *,
float *, SuperMatrix *, SuperMatrix *,
76 void *,
int, SuperMatrix *, SuperMatrix *,
77 float *,
float *,
float *,
float *,
78 GlobalLU_t*, mem_usage_t *, SuperLUStat_t *,
int *);
82 cCreate_Dense_Matrix(SuperMatrix *,
int,
int, singlecomplex*,
int,
83 Stype_t, Dtype_t, Mtype_t);
87 cCreate_CompCol_Matrix(SuperMatrix *,
int,
int,
int, singlecomplex*,
88 int *,
int *, Stype_t, Dtype_t, Mtype_t);
90 extern int cQuerySpace (SuperMatrix *, SuperMatrix *, mem_usage_t *);
92 extern void cPrint_CompCol_Matrix(
char *, SuperMatrix *);
96#if __has_include("slu_zdefs.h")
97#include "slu_dcomplex.h"
100 zgssvx(superlu_options_t *, SuperMatrix *,
int *,
int *,
int *,
101 char *,
double *,
double *, SuperMatrix *, SuperMatrix *,
102 void *,
int, SuperMatrix *, SuperMatrix *,
103 double *,
double *,
double *,
double *,
104 GlobalLU_t*, mem_usage_t *, SuperLUStat_t *,
int *);
108 zCreate_CompCol_Matrix(SuperMatrix *,
int,
int,
int, doublecomplex *,
109 int *,
int *, Stype_t, Dtype_t, Mtype_t);
112 zCreate_Dense_Matrix(SuperMatrix *,
int,
int, doublecomplex *,
int,
113 Stype_t, Dtype_t, Mtype_t);
115 extern int zQuerySpace (SuperMatrix *, SuperMatrix *, mem_usage_t *);
117 extern void zPrint_CompCol_Matrix(
char *, SuperMatrix *);