00001 #ifndef IFPACK_IC_UTILS_H
00002 #define IFPACK_IC_UTILS_H
00003
00004 typedef struct {
00005 double *val;
00006 int *col;
00007 int *ptr;
00008 } Ifpack_AIJMatrix;
00009
00010 extern "C" {
00011 void quicksort (int *const pbase, double *const daux, int total_elems);
00012 }
00013
00014 void Ifpack_AIJMatrix_dealloc(Ifpack_AIJMatrix *a);
00015
00016 void crout_ict(
00017 int n,
00018 #ifdef IFPACK
00019 void * A,
00020 int maxentries,
00021 int (*getcol)( void * A, int col, int ** nentries, double * val, int * ind),
00022 int (*getdiag)( void *A, double * diag),
00023 #else
00024 const Ifpack_AIJMatrix *AL,
00025 const double *Adiag,
00026 #endif
00027 double droptol,
00028 int lfil,
00029 Ifpack_AIJMatrix *L,
00030 double **pdiag);
00031
00032
00033 #endif