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