Actual source code: arpackp.h

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


 8:  #include src/eps/epsimpl.h

 10: typedef struct {
 11:   PetscTruth  *select;
 12:   PetscScalar *workev;
 13:   PetscScalar *workd;
 14:   PetscScalar *workl;
 15:   int         lworkl;
 16: #if defined(PETSC_USE_COMPLEX)
 17:   PetscReal  *rwork;
 18: #endif
 19: } EPS_ARPACK;

 21: /*
 22:    Definition of routines from the ARPACK package
 23: */

 25:  #include slepcblaslapack.h

 27: #if !defined(_petsc_mpi_uni)

 29: #if !defined(PETSC_USE_COMPLEX)

 31: /*
 32:     These are real case 
 33: */

 35: #if defined(PETSC_USES_FORTRAN_SINGLE) 
 36: /*
 37:    For these machines we must call the single precision Fortran version
 38: */
 39: #define ARnaupd_ SLEPC_FORTRAN(psnaupd,PSNAUPD)
 40: #define ARneupd_ SLEPC_FORTRAN(psneupd,PSNEUPD)
 41: #define ARsaupd_ SLEPC_FORTRAN(pssaupd,PSSAUPD)
 42: #define ARseupd_ SLEPC_FORTRAN(psseupd,PSSEUPD)

 44: #else

 46: #define ARnaupd_ SLEPC_FORTRAN(pdnaupd,PDNAUPD)
 47: #define ARneupd_ SLEPC_FORTRAN(pdneupd,PDNEUPD)
 48: #define ARsaupd_ SLEPC_FORTRAN(pdsaupd,PDSAUPD)
 49: #define ARseupd_ SLEPC_FORTRAN(pdseupd,PDSEUPD)

 51: #endif

 53: #else
 54: /*
 55:    Complex 
 56: */
 57: #if defined(PETSC_USES_FORTRAN_SINGLE) 

 59: #define ARnaupd_ SLEPC_FORTRAN(pcnaupd,PCNAUPD)
 60: #define ARneupd_ SLEPC_FORTRAN(pcneupd,PCNEUPD)

 62: #else

 64: #define ARnaupd_ SLEPC_FORTRAN(pznaupd,PZNAUPD)
 65: #define ARneupd_ SLEPC_FORTRAN(pzneupd,PZNEUPD)

 67: #endif

 69: #endif

 71: #else
 72: /* _petsc_mpi_uni */

 74: #if !defined(PETSC_USE_COMPLEX)

 76: /*
 77:     These are real case 
 78: */

 80: #if defined(PETSC_USES_FORTRAN_SINGLE) 
 81: /*
 82:    For these machines we must call the single precision Fortran version
 83: */
 84: #define ARnaupd__ SLEPC_FORTRAN(snaupd,SNAUPD)
 85: #define ARneupd__ SLEPC_FORTRAN(sneupd,SNEUPD)
 86: #define ARsaupd__ SLEPC_FORTRAN(ssaupd,SSAUPD)
 87: #define ARseupd__ SLEPC_FORTRAN(sseupd,SSEUPD)

 89: #else

 91: #define ARnaupd__ SLEPC_FORTRAN(dnaupd,DNAUPD)
 92: #define ARneupd__ SLEPC_FORTRAN(dneupd,DNEUPD)
 93: #define ARsaupd__ SLEPC_FORTRAN(dsaupd,DSAUPD)
 94: #define ARseupd__ SLEPC_FORTRAN(dseupd,DSEUPD)

 96: #endif

 98: #else
 99: /*
100:    Complex 
101: */
102: #if defined(PETSC_USES_FORTRAN_SINGLE) 

104: #define ARnaupd__ SLEPC_FORTRAN(cnaupd,CNAUPD)
105: #define ARneupd__ SLEPC_FORTRAN(cneupd,CNEUPD)

107: #else

109: #define ARnaupd__ SLEPC_FORTRAN(znaupd,ZNAUPD)
110: #define ARneupd__ SLEPC_FORTRAN(zneupd,ZNEUPD)

112: #endif

114: #endif

116: #endif

118: EXTERN_C_BEGIN

120: #if !defined(_petsc_mpi_uni)

122: extern void   ARsaupd_(MPI_Fint*,int*,char*,int*,char*,int*,PetscReal*,PetscScalar*,
123:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int);
124: extern void   ARseupd_(MPI_Fint*,PetscTruth*,char*,PetscTruth*,PetscReal*,PetscReal*,
125:                        int*,PetscReal*,
126:                        char*,int*,char*,int*,PetscReal*,PetscScalar*,
127:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int,int);

129: #if !defined(PETSC_USE_COMPLEX)
130: extern void   ARnaupd_(MPI_Fint*,int*,char*,int*,char*,int*,PetscReal*,PetscScalar*,
131:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int);
132: extern void   ARneupd_(MPI_Fint*,PetscTruth*,char*,PetscTruth*,PetscReal*,PetscReal*,
133:                        PetscReal*,int*,PetscReal*,PetscReal*,PetscReal*,
134:                        char*,int*,char*,int*,PetscReal*,PetscScalar*,
135:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int,int);
136: #else
137: extern void   ARnaupd_(MPI_Fint*,int*,char*,int*,char*,int*,PetscReal*,PetscScalar*,
138:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,PetscReal*,int*,
139:                        int,int);
140: extern void   ARneupd_(MPI_Fint*,PetscTruth*,char*,PetscTruth*,PetscScalar*,PetscScalar*,
141:                        int*,PetscScalar*,PetscScalar*,
142:                        char*,int*,char*,int*,PetscReal*,PetscScalar*,
143:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,PetscReal*,int*,
144:                        int,int,int);
145: #endif

147: #else
148: /* _petsc_mpi_uni */

150: extern void   ARsaupd__(int*,char*,int*,char*,int*,PetscReal*,PetscScalar*,
151:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int);
152: #define ARsaupd_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) ARsaupd__(b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) 
153: extern void   ARseupd__(PetscTruth*,char*,PetscTruth*,PetscReal*,PetscReal*,
154:                        int*,PetscReal*,
155:                        char*,int*,char*,int*,PetscReal*,PetscScalar*,
156:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int,int);
157: #define ARseupd_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) ARseupd__(b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) 

159: #if !defined(PETSC_USE_COMPLEX)
160: extern void   ARnaupd__(int*,char*,int*,char*,int*,PetscReal*,PetscScalar*,
161:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int);
162: #define ARnaupd_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) ARnaupd__(b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) 
163: extern void   ARneupd__(PetscTruth*,char*,PetscTruth*,PetscReal*,PetscReal*,
164:                        PetscReal*,int*,PetscReal*,PetscReal*,PetscReal*,
165:                        char*,int*,char*,int*,PetscReal*,PetscScalar*,
166:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int,int);
167: #define ARneupd_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a1,a2,a3) ARneupd__(b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a1,a2,a3) 
168: #else
169: extern void   ARnaupd__(int*,char*,int*,char*,int*,PetscReal*,PetscScalar*,
170:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,PetscReal*,int*,
171:                        int,int);
172: #define ARnaupd_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) ARnaupd__(b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) 
173: extern void   ARneupd__(PetscTruth*,char*,PetscTruth*,PetscScalar*,PetscScalar*,
174:                        int*,PetscScalar*,PetscScalar*,
175:                        char*,int*,char*,int*,PetscReal*,PetscScalar*,
176:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,PetscReal*,int*,
177:                        int,int,int);
178: #define ARneupd_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a1,a2) ARneupd__(b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a1,a2) 
179: #endif

181: #endif

183: EXTERN_C_END

185: #endif