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