carpack.h
1 // Headers from ARPACK.
2 
3 // Modifications (by Lin Wu):
4 // Replacements:
5 // integer --> ARPACK_INTEGER
6 // real --> ARPACK_REAL
7 // doublereal --> ARPACK_DOUBLEREAL
8 // complex --> ARPACK_COMPLEX
9 // doublecomplex --> ARPACK_DOUBLECOMPLEX
10 // logical --> ARPACK_LOGICAL
11 
12 #ifndef __CARPACK_H
13 #define __CARPACK_H
14 
15 
16 struct ArpackLog
17 {
18  ARPACK_INTEGER logfil, ndigit, mgetv0;
19  ARPACK_INTEGER msaupd, msaup2, msaitr, mseigt, msapps, msgets, mseupd;
20  ARPACK_INTEGER mnaupd, mnaup2, mnaitr, mneigt, mnapps, mngets, mneupd;
21  ARPACK_INTEGER mcaupd, mcaup2, mcaitr, mceigt, mcapps, mcgets, mceupd;
22 };
23 
24 extern ArpackLog debug_;
25 
26 #ifdef SELDON_WITH_MPI
27 // double precision symmetric routines.
28 void pdsaupd_(ARPACK_INTEGER *comm, ARPACK_INTEGER *ido, char *bmat, ARPACK_INTEGER *n, char *which,
29  ARPACK_INTEGER *nev, ARPACK_DOUBLEREAL *tol, ARPACK_DOUBLEREAL *resid,
30  ARPACK_INTEGER *ncv, ARPACK_DOUBLEREAL *V, ARPACK_INTEGER *ldv,
31  ARPACK_INTEGER *iparam, ARPACK_INTEGER *ipntr, ARPACK_DOUBLEREAL *workd,
32  ARPACK_DOUBLEREAL *workl, ARPACK_INTEGER *lworkl, ARPACK_INTEGER *info);
33 
34 void pdseupd_(ARPACK_INTEGER *comm, ARPACK_LOGICAL *rvec, char *HowMny, ARPACK_LOGICAL *select,
35  ARPACK_DOUBLEREAL *d, ARPACK_DOUBLEREAL *Z, ARPACK_INTEGER *ldz,
36  ARPACK_DOUBLEREAL *sigma, char *bmat, ARPACK_INTEGER *n,
37  char *which, ARPACK_INTEGER *nev, ARPACK_DOUBLEREAL *tol,
38  ARPACK_DOUBLEREAL *resid, ARPACK_INTEGER *ncv, ARPACK_DOUBLEREAL *V,
39  ARPACK_INTEGER *ldv, ARPACK_INTEGER *iparam, ARPACK_INTEGER *ipntr,
40  ARPACK_DOUBLEREAL *workd, ARPACK_DOUBLEREAL *workl,
41  ARPACK_INTEGER *lworkl, ARPACK_INTEGER *info);
42 
43 
44 // double precision nonsymmetric routines.
45 void pdnaupd_(ARPACK_INTEGER *comm, ARPACK_INTEGER *ido, char *bmat, ARPACK_INTEGER *n, char *which,
46  ARPACK_INTEGER *nev, ARPACK_DOUBLEREAL *tol, ARPACK_DOUBLEREAL *resid,
47  ARPACK_INTEGER *ncv, ARPACK_DOUBLEREAL *V, ARPACK_INTEGER *ldv,
48  ARPACK_INTEGER *iparam, ARPACK_INTEGER *ipntr, ARPACK_DOUBLEREAL *workd,
49  ARPACK_DOUBLEREAL *workl, ARPACK_INTEGER *lworkl, ARPACK_INTEGER *info);
50 void pdneupd_(ARPACK_INTEGER *comm, ARPACK_LOGICAL *rvec, char *HowMny, ARPACK_LOGICAL *select,
51  ARPACK_DOUBLEREAL *dr, ARPACK_DOUBLEREAL *di, ARPACK_DOUBLEREAL *Z,
52  ARPACK_INTEGER *ldz, ARPACK_DOUBLEREAL *sigmar,
53  ARPACK_DOUBLEREAL *sigmai, ARPACK_DOUBLEREAL *workev,
54  char *bmat, ARPACK_INTEGER *n, char *which,
55  ARPACK_INTEGER *nev, ARPACK_DOUBLEREAL *tol, ARPACK_DOUBLEREAL *resid,
56  ARPACK_INTEGER *ncv, ARPACK_DOUBLEREAL *V, ARPACK_INTEGER *ldv,
57  ARPACK_INTEGER *iparam, ARPACK_INTEGER *ipntr,
58  ARPACK_DOUBLEREAL *workd, ARPACK_DOUBLEREAL *workl,
59  ARPACK_INTEGER *lworkl, ARPACK_INTEGER *info);
60 
61 
62 // single precision symmetric routines.
63 void pssaupd_(ARPACK_INTEGER *comm, ARPACK_INTEGER *ido, char *bmat, ARPACK_INTEGER *n, char *which,
64  ARPACK_INTEGER *nev, ARPACK_REAL *tol, ARPACK_REAL *resid,
65  ARPACK_INTEGER *ncv, ARPACK_REAL *V, ARPACK_INTEGER *ldv,
66  ARPACK_INTEGER *iparam, ARPACK_INTEGER *ipntr, ARPACK_REAL *workd,
67  ARPACK_REAL *workl, ARPACK_INTEGER *lworkl, ARPACK_INTEGER *info);
68 void psseupd_(ARPACK_INTEGER *comm, ARPACK_LOGICAL *rvec, char *HowMny, ARPACK_LOGICAL *select,
69  ARPACK_REAL *d, ARPACK_REAL *Z, ARPACK_INTEGER *ldz,
70  ARPACK_REAL *sigma, char *bmat, ARPACK_INTEGER *n,
71  char *which, ARPACK_INTEGER *nev, ARPACK_REAL *tol,
72  ARPACK_REAL *resid, ARPACK_INTEGER *ncv, ARPACK_REAL *V,
73  ARPACK_INTEGER *ldv, ARPACK_INTEGER *iparam, ARPACK_INTEGER *ipntr,
74  ARPACK_REAL *workd, ARPACK_REAL *workl,
75  ARPACK_INTEGER *lworkl, ARPACK_INTEGER *info);
76 
77 
78 // single precision nonsymmetric routines.
79 void psnaupd_(ARPACK_INTEGER *comm, ARPACK_INTEGER *ido, char *bmat, ARPACK_INTEGER *n, char *which,
80  ARPACK_INTEGER *nev, ARPACK_REAL *tol, ARPACK_REAL *resid,
81  ARPACK_INTEGER *ncv, ARPACK_REAL *V, ARPACK_INTEGER *ldv,
82  ARPACK_INTEGER *iparam, ARPACK_INTEGER *ipntr, ARPACK_REAL *workd,
83  ARPACK_REAL *workl, ARPACK_INTEGER *lworkl, ARPACK_INTEGER *info);
84 void psneupd_(ARPACK_INTEGER *comm, ARPACK_LOGICAL *rvec, char *HowMny, ARPACK_LOGICAL *select,
85  ARPACK_REAL *dr, ARPACK_REAL *di, ARPACK_REAL *Z,
86  ARPACK_INTEGER *ldz, ARPACK_REAL *sigmar,
87  ARPACK_REAL *sigmai, ARPACK_REAL *workev, char *bmat,
88  ARPACK_INTEGER *n, char *which, ARPACK_INTEGER *nev,
89  ARPACK_REAL *tol, ARPACK_REAL *resid, ARPACK_INTEGER *ncv,
90  ARPACK_REAL *V, ARPACK_INTEGER *ldv, ARPACK_INTEGER *iparam,
91  ARPACK_INTEGER *ipntr, ARPACK_REAL *workd, ARPACK_REAL *workl,
92  ARPACK_INTEGER *lworkl, ARPACK_INTEGER *info);
93 
94 // complex routines
95 void pznaupd_(int*, int*, char*, int*, char*, int*, double*, void*,
96  int*, void*, int*, int*, int*, void*, void*, int*, double*, int*);
97 
98 void pzneupd_(int*, int*, char*, int*, void*, void*, int*, void*, void*, char*, int*,
99  char*, int*, double*, void*, int*, void*, int*, int*, int*, void*,
100  void*, int*, double*, int*);
101 #endif
102 
103 // double precision symmetric routines.
104 void dsaupd_(ARPACK_INTEGER *ido, char *bmat, ARPACK_INTEGER *n, char *which,
105  ARPACK_INTEGER *nev, ARPACK_DOUBLEREAL *tol, ARPACK_DOUBLEREAL *resid,
106  ARPACK_INTEGER *ncv, ARPACK_DOUBLEREAL *V, ARPACK_INTEGER *ldv,
107  ARPACK_INTEGER *iparam, ARPACK_INTEGER *ipntr, ARPACK_DOUBLEREAL *workd,
108  ARPACK_DOUBLEREAL *workl, ARPACK_INTEGER *lworkl, ARPACK_INTEGER *info);
109 
110 void dseupd_(ARPACK_LOGICAL *rvec, char *HowMny, ARPACK_LOGICAL *select,
111  ARPACK_DOUBLEREAL *d, ARPACK_DOUBLEREAL *Z, ARPACK_INTEGER *ldz,
112  ARPACK_DOUBLEREAL *sigma, char *bmat, ARPACK_INTEGER *n,
113  char *which, ARPACK_INTEGER *nev, ARPACK_DOUBLEREAL *tol,
114  ARPACK_DOUBLEREAL *resid, ARPACK_INTEGER *ncv, ARPACK_DOUBLEREAL *V,
115  ARPACK_INTEGER *ldv, ARPACK_INTEGER *iparam, ARPACK_INTEGER *ipntr,
116  ARPACK_DOUBLEREAL *workd, ARPACK_DOUBLEREAL *workl,
117  ARPACK_INTEGER *lworkl, ARPACK_INTEGER *info);
118 
119 
120 // double precision nonsymmetric routines.
121 void dnaupd_(ARPACK_INTEGER *ido, char *bmat, ARPACK_INTEGER *n, char *which,
122  ARPACK_INTEGER *nev, ARPACK_DOUBLEREAL *tol, ARPACK_DOUBLEREAL *resid,
123  ARPACK_INTEGER *ncv, ARPACK_DOUBLEREAL *V, ARPACK_INTEGER *ldv,
124  ARPACK_INTEGER *iparam, ARPACK_INTEGER *ipntr, ARPACK_DOUBLEREAL *workd,
125  ARPACK_DOUBLEREAL *workl, ARPACK_INTEGER *lworkl, ARPACK_INTEGER *info);
126 void dneupd_(ARPACK_LOGICAL *rvec, char *HowMny, ARPACK_LOGICAL *select,
127  ARPACK_DOUBLEREAL *dr, ARPACK_DOUBLEREAL *di, ARPACK_DOUBLEREAL *Z,
128  ARPACK_INTEGER *ldz, ARPACK_DOUBLEREAL *sigmar,
129  ARPACK_DOUBLEREAL *sigmai, ARPACK_DOUBLEREAL *workev,
130  char *bmat, ARPACK_INTEGER *n, char *which,
131  ARPACK_INTEGER *nev, ARPACK_DOUBLEREAL *tol, ARPACK_DOUBLEREAL *resid,
132  ARPACK_INTEGER *ncv, ARPACK_DOUBLEREAL *V, ARPACK_INTEGER *ldv,
133  ARPACK_INTEGER *iparam, ARPACK_INTEGER *ipntr,
134  ARPACK_DOUBLEREAL *workd, ARPACK_DOUBLEREAL *workl,
135  ARPACK_INTEGER *lworkl, ARPACK_INTEGER *info);
136 
137 
138 // single precision symmetric routines.
139 void ssaupd_(ARPACK_INTEGER *ido, char *bmat, ARPACK_INTEGER *n, char *which,
140  ARPACK_INTEGER *nev, ARPACK_REAL *tol, ARPACK_REAL *resid,
141  ARPACK_INTEGER *ncv, ARPACK_REAL *V, ARPACK_INTEGER *ldv,
142  ARPACK_INTEGER *iparam, ARPACK_INTEGER *ipntr, ARPACK_REAL *workd,
143  ARPACK_REAL *workl, ARPACK_INTEGER *lworkl, ARPACK_INTEGER *info);
144 void sseupd_(ARPACK_LOGICAL *rvec, char *HowMny, ARPACK_LOGICAL *select,
145  ARPACK_REAL *d, ARPACK_REAL *Z, ARPACK_INTEGER *ldz,
146  ARPACK_REAL *sigma, char *bmat, ARPACK_INTEGER *n,
147  char *which, ARPACK_INTEGER *nev, ARPACK_REAL *tol,
148  ARPACK_REAL *resid, ARPACK_INTEGER *ncv, ARPACK_REAL *V,
149  ARPACK_INTEGER *ldv, ARPACK_INTEGER *iparam, ARPACK_INTEGER *ipntr,
150  ARPACK_REAL *workd, ARPACK_REAL *workl,
151  ARPACK_INTEGER *lworkl, ARPACK_INTEGER *info);
152 
153 
154 // single precision nonsymmetric routines.
155 void snaupd_(ARPACK_INTEGER *ido, char *bmat, ARPACK_INTEGER *n, char *which,
156  ARPACK_INTEGER *nev, ARPACK_REAL *tol, ARPACK_REAL *resid,
157  ARPACK_INTEGER *ncv, ARPACK_REAL *V, ARPACK_INTEGER *ldv,
158  ARPACK_INTEGER *iparam, ARPACK_INTEGER *ipntr, ARPACK_REAL *workd,
159  ARPACK_REAL *workl, ARPACK_INTEGER *lworkl, ARPACK_INTEGER *info);
160 void sneupd_(ARPACK_LOGICAL *rvec, char *HowMny, ARPACK_LOGICAL *select,
161  ARPACK_REAL *dr, ARPACK_REAL *di, ARPACK_REAL *Z,
162  ARPACK_INTEGER *ldz, ARPACK_REAL *sigmar,
163  ARPACK_REAL *sigmai, ARPACK_REAL *workev, char *bmat,
164  ARPACK_INTEGER *n, char *which, ARPACK_INTEGER *nev,
165  ARPACK_REAL *tol, ARPACK_REAL *resid, ARPACK_INTEGER *ncv,
166  ARPACK_REAL *V, ARPACK_INTEGER *ldv, ARPACK_INTEGER *iparam,
167  ARPACK_INTEGER *ipntr, ARPACK_REAL *workd, ARPACK_REAL *workl,
168  ARPACK_INTEGER *lworkl, ARPACK_INTEGER *info);
169 
170 // complex routines
171 void znaupd_(int*, char*, int*, char*, int*, double*, void*,
172  int*, void*, int*, int*, int*, void*, void*, int*, double*, int*);
173 
174 void zneupd_(int*, char*, int*, void*, void*, int*, void*, void*, char*, int*,
175  char*, int*, double*, void*, int*, void*, int*, int*, int*, void*,
176  void*, int*, double*, int*);
177 
178 
179 #endif /* __CARPACK_H */
ArpackLog
Definition: carpack.h:16