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;


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

 26: /*
 27:    This include file on the Cray T3D/T3E defines the interface between 
 28:   Fortran and C representations of character strings.
 29: */
 30: #if defined(PETSC_USES_CPTOFCD)
 31: #include <fortran.h>
 32: #endif

 34: #if !defined(_petsc_mpi_uni)

 36: #if !defined(PETSC_USE_COMPLEX)

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

 42: #if defined(PETSC_USES_FORTRAN_SINGLE) 
 43: /*
 44:    For these machines we must call the single precision Fortran version
 45: */
 46: #define PDNAUPD  PSNAUPD
 47: #define PDNEUPD  PSNEUPD
 48: #define PDSAUPD  PSSAUPD
 49: #define PDSEUPD  PSSEUPD
 50: #endif

 52: #if defined(PETSC_HAVE_FORTRAN_UNDERSCORE) || defined(PETSC_BLASLAPACK_F2C)
 53: #define ARnaupd_ pdnaupd_
 54: #define ARneupd_ pdneupd_
 55: #define ARsaupd_ pdsaupd_
 56: #define ARseupd_ pdseupd_
 57: #elif defined(PETSC_HAVE_FORTRAN_CAPS)
 58: #define ARnaupd_ PDNAUPD
 59: #define ARneupd_ PDNEUPD
 60: #define ARsaupd_ PDSAUPD
 61: #define ARseupd_ PDSEUPD
 62: #else
 63: #define ARnaupd_ pdnaupd
 64: #define ARneupd_ pdneupd
 65: #define ARsaupd_ pdsaupd
 66: #define ARseupd_ pdseupd
 67: #endif

 69: #else
 70: /*
 71:    Complex 
 72: */
 73: #if defined(PETSC_USES_FORTRAN_SINGLE) 
 74: #define PZNAUPD  PCNAUPD
 75: #define PZNEUPD  PCNEUPD
 76: #endif

 78: #if defined(PETSC_HAVE_FORTRAN_UNDERSCORE) || defined(PETSC_BLASLAPACK_F2C)
 79: #define ARnaupd_ pznaupd_
 80: #define ARneupd_ pzneupd_
 81: #elif defined(PETSC_HAVE_FORTRAN_CAPS)
 82: #define ARnaupd_ PZNAUPD
 83: #define ARneupd_ PZNEUPD
 84: #else
 85: #define ARnaupd_ pznaupd
 86: #define ARneupd_ pzneupd
 87: #endif

 89: #endif

 91: #else
 92: /* _petsc_mpi_uni */

 94: #if !defined(PETSC_USE_COMPLEX)

 96: /*
 97:     These are real case 
 98: */

100: #if defined(PETSC_USES_FORTRAN_SINGLE) 
101: /*
102:    For these machines we must call the single precision Fortran version
103: */
104: #define DNAUPD  SNAUPD
105: #define DNEUPD  SNEUPD
106: #define DSAUPD  SSAUPD
107: #define DSEUPD  SSEUPD
108: #endif

110: #if defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 
111: #define ARnaupd__ dnaupd
112: #define ARneupd__ dneupd
113: #define ARsaupd__ dsaupd
114: #define ARseupd__ dseupd
115: #elif defined(PETSC_HAVE_FORTRAN_CAPS)
116: #define ARnaupd__ DNAUPD
117: #define ARneupd__ DNEUPD
118: #define ARsaupd__ DSAUPD
119: #define ARseupd__ DSEUPD
120: #else
121: #define ARnaupd__ dnaupd
122: #define ARneupd__ dneupd
123: #define ARsaupd__ dsaupd
124: #define ARseupd__ dseupd
125: #endif

127: #else
128: /*
129:    Complex 
130: */
131: #if defined(PETSC_USES_FORTRAN_SINGLE) 
132: #define ZNAUPD  CNAUPD
133: #define ZNEUPD  CNEUPD
134: #endif

136: #if defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
137: #define ARnaupd__ znaupd
138: #define ARneupd__ zneupd
139: #elif defined(PETSC_HAVE_FORTRAN_CAPS)
140: #define ARnaupd__ ZNAUPD
141: #define ARneupd__ ZNEUPD
142: #else
143: #define ARnaupd__ znaupd
144: #define ARneupd__ zneupd
145: #endif

147: #endif

149: #endif

151: EXTERN_C_BEGIN

153: #if !defined(_petsc_mpi_uni)

155: extern void   ARsaupd_(MPI_Comm*,int*,char*,int*,char*,int*,PetscReal*,PetscScalar*,
156:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int);
157: extern void   ARseupd_(MPI_Comm*,PetscTruth*,char*,PetscTruth*,PetscReal*,PetscReal*,
158:                        int*,PetscReal*,
159:                        char*,int*,char*,int*,PetscReal*,PetscScalar*,
160:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int,int);

162: #if !defined(PETSC_USE_COMPLEX)
163: extern void   ARnaupd_(MPI_Comm*,int*,char*,int*,char*,int*,PetscReal*,PetscScalar*,
164:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int);
165: extern void   ARneupd_(MPI_Comm*,PetscTruth*,char*,PetscTruth*,PetscReal*,PetscReal*,
166:                        PetscReal*,int*,PetscReal*,PetscReal*,PetscReal*,
167:                        char*,int*,char*,int*,PetscReal*,PetscScalar*,
168:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int,int);
169: #else
170: extern void   ARnaupd_(MPI_Comm*,int*,char*,int*,char*,int*,PetscReal*,PetscScalar*,
171:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,PetscReal*,int*,
172:                        int,int);
173: extern void   ARneupd_(MPI_Comm*,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: #endif

180: #else
181: /* _petsc_mpi_uni */

183: extern void   ARsaupd__(int*,char*,int*,char*,int*,PetscReal*,PetscScalar*,
184:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int);
185: #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) 
186: extern void   ARseupd__(PetscTruth*,char*,PetscTruth*,PetscReal*,PetscReal*,
187:                        int*,PetscReal*,
188:                        char*,int*,char*,int*,PetscReal*,PetscScalar*,
189:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int,int);
190: #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) 

192: #if !defined(PETSC_USE_COMPLEX)
193: extern void   ARnaupd__(int*,char*,int*,char*,int*,PetscReal*,PetscScalar*,
194:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int);
195: #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) 
196: extern void   ARneupd__(PetscTruth*,char*,PetscTruth*,PetscReal*,PetscReal*,
197:                        PetscReal*,int*,PetscReal*,PetscReal*,PetscReal*,
198:                        char*,int*,char*,int*,PetscReal*,PetscScalar*,
199:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int,int);
200: #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) 
201: #else
202: extern void   ARnaupd__(int*,char*,int*,char*,int*,PetscReal*,PetscScalar*,
203:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,PetscReal*,int*,
204:                        int,int);
205: #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) 
206: extern void   ARneupd__(PetscTruth*,char*,PetscTruth*,PetscScalar*,PetscScalar*,
207:                        int*,PetscScalar*,PetscScalar*,
208:                        char*,int*,char*,int*,PetscReal*,PetscScalar*,
209:                        int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,PetscReal*,int*,
210:                        int,int,int);
211: #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) 
212: #endif

214: #endif

216: EXTERN_C_END

218: #endif