Actual source code: blzpackp.h
1: /*
2: Private data structure used by the BLZPACK interface
3: */
8: #include src/eps/epsimpl.h
10: typedef struct {
11: int block_size; /* block size */
12: PetscReal initial,final; /* computational interval */
13: int slice; /* use spectrum slicing */
14: int nsteps; /* maximum number of steps per run */
15: int *istor;
16: PetscReal *rstor;
17: PetscScalar *u;
18: PetscScalar *v;
19: PetscScalar *eig;
20: } EPS_BLZPACK;
22: /*
23: Definition of routines from the BLZPACK package
24: */
26: #include slepcblaslapack.h
28: /*
29: These are real case, current version of BLZPACK only supports real
30: matrices
31: */
33: #if defined(PETSC_USES_FORTRAN_SINGLE)
34: /*
35: For these machines we must call the single precision Fortran version
36: */
37: #define BLZpack_ SLEPC_FORTRAN(blzdrs,BLZDRS)
38: #else
39: #define BLZpack_ SLEPC_FORTRAN(blzdrd,BLZDRD)
40: #endif
42: #define BLZistorr_ SLEPC_FORTRAN(istorr,ISTORR)
43: #define BLZrstorr_ SLEPC_FORTRAN(rstorr,RSTORR)
45: EXTERN_C_BEGIN
47: extern void BLZpack_(int*,PetscReal*,PetscScalar*,int*,PetscScalar*,
48: PetscScalar*,int*,int*,PetscScalar*,PetscScalar*);
50: extern int BLZistorr_(int*,char*,int);
51: extern PetscReal BLZrstorr_(PetscReal*,char*,int);
53: EXTERN_C_END
55: #endif