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 *istor;
14: PetscReal *rstor;
15: PetscScalar *u;
16: PetscScalar *v;
17: PetscScalar *eig;
18: } EPS_BLZPACK;
21: /*
22: Definition of routines from the BLZPACK package
23: */
25: #include "petsc.h"
27: /*
28: This include file on the Cray T3D/T3E defines the interface between
29: Fortran and C representations of character strings.
30: */
31: #if defined(PETSC_USES_CPTOFCD)
32: #include <fortran.h>
33: #endif
35: #if !defined(PETSC_USE_COMPLEX)
37: /*
38: These are real case, current version of BLZPACK only supports real
39: matrices
40: */
42: #if defined(PETSC_USES_FORTRAN_SINGLE)
43: /*
44: For these machines we must call the single precision Fortran version
45: */
46: #define BLZDRD BLZDRS
47: #endif
49: #if defined(PETSC_HAVE_FORTRAN_UNDERSCORE) || defined(PETSC_BLASLAPACK_F2C)
50: #define BLZpack_ blzdrd_
51: #define BLZistorr_ istorr_
52: #define BLZrstorr_ rstorr_
53: #elif defined(PETSC_HAVE_FORTRAN_CAPS)
54: #define BLZpack_ BLZDRD
55: #define BLZistorr_ ISTORR
56: #define BLZrstorr_ RSTORR
57: #else
58: #define BLZpack_ blzdrd
59: #define BLZistorr_ istorr
60: #define BLZrstorr_ rstorr
61: #endif
63: #endif
65: EXTERN_C_BEGIN
67: extern void BLZpack_(int*,PetscReal*,PetscScalar*,int*,PetscScalar*,
68: PetscScalar*,int*,int*,PetscScalar*,PetscScalar*);
70: extern int BLZistorr_(int*,char*,int);
71: extern PetscReal BLZrstorr_(PetscReal*,char*,int);
73: EXTERN_C_END
75: #endif