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: #if defined(SLEPC_ARPACK_HAVE_UNDERSCORE)
 26: #define SLEPC_ARPACK(lcase,ucase) lcase##_
 27: #elif defined(SLEPC_ARPACK_HAVE_CAPS)
 28: #define SLEPC_ARPACK(lcase,ucase) ucase
 29: #else
 30: #define SLEPC_ARPACK(lcase,ucase) lcase
 31: #endif

 33: #if !defined(_petsc_mpi_uni)

 35: #if !defined(PETSC_USE_COMPLEX)

 37: /*
 38:     These are real case 
 39: */

 41: #if defined(PETSC_USES_FORTRAN_SINGLE) 
 42: /*
 43:    For these machines we must call the single precision Fortran version
 44: */
 45: #define ARnaupd_ SLEPC_ARPACK(psnaupd,PSNAUPD)
 46: #define ARneupd_ SLEPC_ARPACK(psneupd,PSNEUPD)
 47: #define ARsaupd_ SLEPC_ARPACK(pssaupd,PSSAUPD)
 48: #define ARseupd_ SLEPC_ARPACK(psseupd,PSSEUPD)

 50: #else

 52: #define ARnaupd_ SLEPC_ARPACK(pdnaupd,PDNAUPD)
 53: #define ARneupd_ SLEPC_ARPACK(pdneupd,PDNEUPD)
 54: #define ARsaupd_ SLEPC_ARPACK(pdsaupd,PDSAUPD)
 55: #define ARseupd_ SLEPC_ARPACK(pdseupd,PDSEUPD)

 57: #endif

 59: #else
 60: /*
 61:    Complex 
 62: */
 63: #if defined(PETSC_USE_SINGLE) 

 65: #define ARnaupd_ SLEPC_ARPACK(pcnaupd,PCNAUPD)
 66: #define ARneupd_ SLEPC_ARPACK(pcneupd,PCNEUPD)

 68: #else

 70: #define ARnaupd_ SLEPC_ARPACK(pznaupd,PZNAUPD)
 71: #define ARneupd_ SLEPC_ARPACK(pzneupd,PZNEUPD)

 73: #endif

 75: #endif

 77: #else
 78: /* _petsc_mpi_uni */

 80: #if !defined(PETSC_USE_COMPLEX)

 82: /*
 83:     These are real case 
 84: */

 86: #if defined(PETSC_USE_SINGLE) 
 87: /*
 88:    For these machines we must call the single precision Fortran version
 89: */
 90: #define ARnaupd__ SLEPC_ARPACK(snaupd,SNAUPD)
 91: #define ARneupd__ SLEPC_ARPACK(sneupd,SNEUPD)
 92: #define ARsaupd__ SLEPC_ARPACK(ssaupd,SSAUPD)
 93: #define ARseupd__ SLEPC_ARPACK(sseupd,SSEUPD)

 95: #else

 97: #define ARnaupd__ SLEPC_ARPACK(dnaupd,DNAUPD)
 98: #define ARneupd__ SLEPC_ARPACK(dneupd,DNEUPD)
 99: #define ARsaupd__ SLEPC_ARPACK(dsaupd,DSAUPD)
100: #define ARseupd__ SLEPC_ARPACK(dseupd,DSEUPD)

102: #endif

104: #else
105: /*
106:    Complex 
107: */
108: #if defined(PETSC_USE_SINGLE) 

110: #define ARnaupd__ SLEPC_ARPACK(cnaupd,CNAUPD)
111: #define ARneupd__ SLEPC_ARPACK(cneupd,CNEUPD)

113: #else

115: #define ARnaupd__ SLEPC_ARPACK(znaupd,ZNAUPD)
116: #define ARneupd__ SLEPC_ARPACK(zneupd,ZNEUPD)

118: #endif

120: #endif

122: #endif


126: #if !defined(_petsc_mpi_uni)

128: EXTERN void   ARsaupd_(MPI_Fint*,int*,char*,int*,const char*,int*,PetscReal*,PetscScalar*,
129:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int);
130: EXTERN void   ARseupd_(MPI_Fint*,PetscTruth*,char*,PetscTruth*,PetscReal*,PetscReal*,
131:                        int*,PetscReal*,
132:                        char*,int*,const char*,int*,PetscReal*,PetscScalar*,
133:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int,int);

135: #if !defined(PETSC_USE_COMPLEX)
136: EXTERN void   ARnaupd_(MPI_Fint*,int*,char*,int*,const char*,int*,PetscReal*,PetscScalar*,
137:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int);
138: EXTERN void   ARneupd_(MPI_Fint*,PetscTruth*,char*,PetscTruth*,PetscReal*,PetscReal*,
139:                        PetscReal*,int*,PetscReal*,PetscReal*,PetscReal*,
140:                        char*,int*,const char*,int*,PetscReal*,PetscScalar*,
141:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int,int);
142: #else
143: EXTERN void   ARnaupd_(MPI_Fint*,int*,char*,int*,const char*,int*,PetscReal*,PetscScalar*,
144:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,PetscReal*,int*,
145:                        int,int);
146: EXTERN void   ARneupd_(MPI_Fint*,PetscTruth*,char*,PetscTruth*,PetscScalar*,PetscScalar*,
147:                        int*,PetscScalar*,PetscScalar*,
148:                        char*,int*,const char*,int*,PetscReal*,PetscScalar*,
149:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,PetscReal*,int*,
150:                        int,int,int);
151: #endif

153: #else
154: /* _petsc_mpi_uni */

156: EXTERN void   ARsaupd__(int*,char*,int*,const char*,int*,PetscReal*,PetscScalar*,
157:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int);
158: #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) 
159: EXTERN void   ARseupd__(PetscTruth*,char*,PetscTruth*,PetscReal*,PetscReal*,
160:                        int*,PetscReal*,
161:                        char*,int*,const char*,int*,PetscReal*,PetscScalar*,
162:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int,int);
163: #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) 

165: #if !defined(PETSC_USE_COMPLEX)
166: EXTERN void   ARnaupd__(int*,char*,int*,const char*,int*,PetscReal*,PetscScalar*,
167:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int);
168: #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) 
169: EXTERN void   ARneupd__(PetscTruth*,char*,PetscTruth*,PetscReal*,PetscReal*,
170:                        PetscReal*,int*,PetscReal*,PetscReal*,PetscReal*,
171:                        char*,int*,const char*,int*,PetscReal*,PetscScalar*,
172:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int,int);
173: #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) 
174: #else
175: EXTERN void   ARnaupd__(int*,char*,int*,const char*,int*,PetscReal*,PetscScalar*,
176:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,PetscReal*,int*,
177:                        int,int);
178: #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) 
179: EXTERN void   ARneupd__(PetscTruth*,char*,PetscTruth*,PetscScalar*,PetscScalar*,
180:                        int*,PetscScalar*,PetscScalar*,
181:                        char*,int*,const char*,int*,PetscReal*,PetscScalar*,
182:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,PetscReal*,int*,
183:                        int,int,int);
184: #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) 
185: #endif

187: #endif


191: #endif