Actual source code: plansop.h

  1: /*
  2:    Private data structure used by the PLANSO interface
  3: */


 8:  #include src/eps/epsimpl.h

 10: typedef struct {
 11:   PetscReal *work;
 12:   int        lwork;
 13: } EPS_PLANSO;


 16: /*
 17:    Definition of routines from the PLANSO package
 18: */
 19: #include "petsc.h"

 21: /*
 22:    This include file on the Cray T3D/T3E defines the interface between 
 23:   Fortran and C representations of charactor strings.
 24: */
 25: #if defined(PETSC_USES_CPTOFCD)
 26: #include <fortran.h>
 27: #endif

 29: #if !defined(PETSC_USE_COMPLEX)

 31: /*
 32:     These are real case. PLANSO currently only has DOUBLE PRECISION version
 33: */
 34: #if defined(PETSC_HAVE_FORTRAN_UNDERSCORE) || defined(PETSC_BLASLAPACK_F2C)
 35: #define PLANdr_    plandr_
 36: #define PLANdr2_   plandr2_
 37: #define PLANop_    op_
 38: #define PLANopm_   opm_
 39: #define PLANstore_ store_
 40: #elif defined(PETSC_HAVE_FORTRAN_CAPS)
 41: #define PLANdr_    PLANDR
 42: #define PLANdr2_   PLANDR2
 43: #define PLANop_    OP
 44: #define PLANopm_   OPM
 45: #define PLANstore_ STORE
 46: #else
 47: #define PLANdr_    plandr
 48: #define PLANdr2_   plandr2
 49: #define PLANop_    op
 50: #define PLANopm_   opm
 51: #define PLANstore_ store
 52: #endif

 54: #endif

 56: EXTERN_C_BEGIN

 58: extern void  PLANdr_ (int*,int*,int*,PetscReal*,PetscReal*,PetscReal*,PetscTruth*,
 59:                       PetscReal*,int*,int*,PetscScalar*,PetscScalar*,PetscReal*,
 60:                       int*,int*,int*,MPI_Comm*);
 61: extern void  PLANdr2_(int*,int*,int*,int*,PetscReal*,
 62:                       PetscReal*,int*,int*,PetscScalar*,PetscScalar*,PetscReal*,int*,
 63:                       int*,int*,MPI_Comm*);

 65: EXTERN_C_END

 67: #endif