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: #if defined(SLEPC_BLZPACK_HAVE_UNDERSCORE)
 27: #define SLEPC_BLZPACK(lcase,ucase) lcase##_
 28: #elif defined(SLEPC_BLZPACK_HAVE_CAPS)
 29: #define SLEPC_BLZPACK(lcase,ucase) ucase
 30: #else
 31: #define SLEPC_BLZPACK(lcase,ucase) lcase
 32: #endif

 34: /*
 35:     These are real case, current version of BLZPACK only supports real
 36:     matrices
 37: */

 39: #if defined(PETSC_USE_SINGLE) 
 40: /*
 41:    For these machines we must call the single precision Fortran version
 42: */
 43: #define BLZpack_ SLEPC_BLZPACK(blzdrs,BLZDRS)
 44: #else 
 45: #define BLZpack_ SLEPC_BLZPACK(blzdrd,BLZDRD)
 46: #endif

 48: #define BLZistorr_ SLEPC_BLZPACK(istorr,ISTORR)
 49: #define BLZrstorr_ SLEPC_BLZPACK(rstorr,RSTORR)


 53: EXTERN void         BLZpack_(int*,PetscReal*,PetscScalar*,int*,PetscScalar*,
 54:                           PetscScalar*,int*,int*,PetscScalar*,PetscScalar*);

 56: EXTERN int         BLZistorr_(int*,const char*,int);
 57: EXTERN PetscReal BLZrstorr_(PetscReal*,char*,int);


 61: #endif