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 *);