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