1 #ifndef BLAS_WRAP_H
2 #define BLAS_WRAP_H
3 
4 extern int caxpy_(integer * n, complex * ca, complex * cx, integer * incx,
5 		  complex * cy, integer * incy);
6 extern int ccopy_(integer * n, complex * cx, integer * incx, complex * cy,
7 		  integer * incy);
8 extern C_f cdotc_(complex * ret_val, integer * n, complex * cx,
9 		  integer * incx, complex * cy, integer * incy);
10 extern C_f cdotu_(complex * ret_val, integer * n, complex * cx,
11 		  integer * incx, complex * cy, integer * incy);
12 extern int cgbmv_(char *trans, integer * m, integer * n, integer * kl,
13 		  integer * ku, complex * alpha, complex * a, integer * lda,
14 		  complex * x, integer * incx, complex * beta, complex * y,
15 		  integer * incy, ftnlen trans_len);
16 extern int cgemm_(char *transa, char *transb, integer * m, integer * n,
17 		  integer * k, complex * alpha, complex * a, integer * lda,
18 		  complex * b, integer * ldb, complex * beta, complex * c__,
19 		  integer * ldc, ftnlen transa_len, ftnlen transb_len);
20 extern int cgemv_(char *trans, integer * m, integer * n, complex * alpha,
21 		  complex * a, integer * lda, complex * x, integer * incx,
22 		  complex * beta, complex * y, integer * incy,
23 		  ftnlen trans_len);
24 extern int cgerc_(integer * m, integer * n, complex * alpha, complex * x,
25 		  integer * incx, complex * y, integer * incy, complex * a,
26 		  integer * lda);
27 extern int cgeru_(integer * m, integer * n, complex * alpha, complex * x,
28 		  integer * incx, complex * y, integer * incy, complex * a,
29 		  integer * lda);
30 extern int chbmv_(char *uplo, integer * n, integer * k, complex * alpha,
31 		  complex * a, integer * lda, complex * x, integer * incx,
32 		  complex * beta, complex * y, integer * incy,
33 		  ftnlen uplo_len);
34 extern int chemm_(char *side, char *uplo, integer * m, integer * n,
35 		  complex * alpha, complex * a, integer * lda, complex * b,
36 		  integer * ldb, complex * beta, complex * c__, integer * ldc,
37 		  ftnlen side_len, ftnlen uplo_len);
38 extern int chemv_(char *uplo, integer * n, complex * alpha, complex * a,
39 		  integer * lda, complex * x, integer * incx, complex * beta,
40 		  complex * y, integer * incy, ftnlen uplo_len);
41 extern int cher_(char *uplo, integer * n, real * alpha, complex * x,
42 		 integer * incx, complex * a, integer * lda, ftnlen uplo_len);
43 extern int cher2_(char *uplo, integer * n, complex * alpha, complex * x,
44 		  integer * incx, complex * y, integer * incy, complex * a,
45 		  integer * lda, ftnlen uplo_len);
46 extern int cher2k_(char *uplo, char *trans, integer * n, integer * k,
47 		   complex * alpha, complex * a, integer * lda, complex * b,
48 		   integer * ldb, real * beta, complex * c__, integer * ldc,
49 		   ftnlen uplo_len, ftnlen trans_len);
50 extern int cherk_(char *uplo, char *trans, integer * n, integer * k,
51 		  real * alpha, complex * a, integer * lda, real * beta,
52 		  complex * c__, integer * ldc, ftnlen uplo_len,
53 		  ftnlen trans_len);
54 extern int chpmv_(char *uplo, integer * n, complex * alpha, complex * ap,
55 		  complex * x, integer * incx, complex * beta, complex * y,
56 		  integer * incy, ftnlen uplo_len);
57 extern int chpr_(char *uplo, integer * n, real * alpha, complex * x,
58 		 integer * incx, complex * ap, ftnlen uplo_len);
59 extern int chpr2_(char *uplo, integer * n, complex * alpha, complex * x,
60 		  integer * incx, complex * y, integer * incy, complex * ap,
61 		  ftnlen uplo_len);
62 extern int crotg_(complex * ca, complex * cb, real * c__, complex * s);
63 extern int cscal_(integer * n, complex * ca, complex * cx, integer * incx);
64 extern int csrot_(integer * n, complex * cx, integer * incx, complex * cy,
65 		  integer * incy, real * c__, real * s);
66 extern int csscal_(integer * n, real * sa, complex * cx, integer * incx);
67 extern int cswap_(integer * n, complex * cx, integer * incx, complex * cy,
68 		  integer * incy);
69 extern int csymm_(char *side, char *uplo, integer * m, integer * n,
70 		  complex * alpha, complex * a, integer * lda, complex * b,
71 		  integer * ldb, complex * beta, complex * c__, integer * ldc,
72 		  ftnlen side_len, ftnlen uplo_len);
73 extern int csyr2k_(char *uplo, char *trans, integer * n, integer * k,
74 		   complex * alpha, complex * a, integer * lda, complex * b,
75 		   integer * ldb, complex * beta, complex * c__,
76 		   integer * ldc, ftnlen uplo_len, ftnlen trans_len);
77 extern int csyrk_(char *uplo, char *trans, integer * n, integer * k,
78 		  complex * alpha, complex * a, integer * lda, complex * beta,
79 		  complex * c__, integer * ldc, ftnlen uplo_len,
80 		  ftnlen trans_len);
81 extern int ctbmv_(char *uplo, char *trans, char *diag, integer * n,
82 		  integer * k, complex * a, integer * lda, complex * x,
83 		  integer * incx, ftnlen uplo_len, ftnlen trans_len,
84 		  ftnlen diag_len);
85 extern int ctbsv_(char *uplo, char *trans, char *diag, integer * n,
86 		  integer * k, complex * a, integer * lda, complex * x,
87 		  integer * incx, ftnlen uplo_len, ftnlen trans_len,
88 		  ftnlen diag_len);
89 extern int ctpmv_(char *uplo, char *trans, char *diag, integer * n,
90 		  complex * ap, complex * x, integer * incx, ftnlen uplo_len,
91 		  ftnlen trans_len, ftnlen diag_len);
92 extern int ctpsv_(char *uplo, char *trans, char *diag, integer * n,
93 		  complex * ap, complex * x, integer * incx, ftnlen uplo_len,
94 		  ftnlen trans_len, ftnlen diag_len);
95 extern int ctrmm_(char *side, char *uplo, char *transa, char *diag,
96 		  integer * m, integer * n, complex * alpha, complex * a,
97 		  integer * lda, complex * b, integer * ldb, ftnlen side_len,
98 		  ftnlen uplo_len, ftnlen transa_len, ftnlen diag_len);
99 extern int ctrmv_(char *uplo, char *trans, char *diag, integer * n,
100 		  complex * a, integer * lda, complex * x, integer * incx,
101 		  ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len);
102 extern int ctrsm_(char *side, char *uplo, char *transa, char *diag,
103 		  integer * m, integer * n, complex * alpha, complex * a,
104 		  integer * lda, complex * b, integer * ldb, ftnlen side_len,
105 		  ftnlen uplo_len, ftnlen transa_len, ftnlen diag_len);
106 extern int ctrsv_(char *uplo, char *trans, char *diag, integer * n,
107 		  complex * a, integer * lda, complex * x, integer * incx,
108 		  ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len);
109 extern doublereal dasum_(integer * n, doublereal * dx, integer * incx);
110 extern int daxpy_(integer * n, doublereal * da, doublereal * dx,
111 		  integer * incx, doublereal * dy, integer * incy);
112 extern doublereal dcabs1_(doublecomplex * z__);
113 extern int dcopy_(integer * n, doublereal * dx, integer * incx,
114 		  doublereal * dy, integer * incy);
115 extern doublereal ddot_(integer * n, doublereal * dx, integer * incx,
116 			doublereal * dy, integer * incy);
117 extern int dgbmv_(char *trans, integer * m, integer * n, integer * kl,
118 		  integer * ku, doublereal * alpha, doublereal * a,
119 		  integer * lda, doublereal * x, integer * incx,
120 		  doublereal * beta, doublereal * y, integer * incy,
121 		  ftnlen trans_len);
122 extern int dgemm_(char *transa, char *transb, integer * m, integer * n,
123 		  integer * k, doublereal * alpha, doublereal * a,
124 		  integer * lda, doublereal * b, integer * ldb,
125 		  doublereal * beta, doublereal * c__, integer * ldc);
126 extern int dgemv_(char *trans, integer * m, integer * n, doublereal * alpha,
127 		  doublereal * a, integer * lda, doublereal * x,
128 		  integer * incx, doublereal * beta, doublereal * y,
129 		  integer * incy, ftnlen trans_len);
130 extern int dger_(integer * m, integer * n, doublereal * alpha, doublereal * x,
131 		 integer * incx, doublereal * y, integer * incy,
132 		 doublereal * a, integer * lda);
133 extern doublereal dnrm2_(integer * n, doublereal * x, integer * incx);
134 extern int drot_(integer * n, doublereal * dx, integer * incx,
135 		 doublereal * dy, integer * incy, doublereal * c__,
136 		 doublereal * s);
137 extern int drotg_(doublereal * da, doublereal * db, doublereal * c__,
138 		  doublereal * s);
139 extern int drotm_(integer * n, doublereal * dx, integer * incx,
140 		  doublereal * dy, integer * incy, doublereal * dparam);
141 extern int drotmg_(doublereal * dd1, doublereal * dd2, doublereal * dx1,
142 		   doublereal * dy1, doublereal * dparam);
143 extern int dsbmv_(char *uplo, integer * n, integer * k, doublereal * alpha,
144 		  doublereal * a, integer * lda, doublereal * x,
145 		  integer * incx, doublereal * beta, doublereal * y,
146 		  integer * incy, ftnlen uplo_len);
147 extern int dscal_(integer * n, doublereal * da, doublereal * dx,
148 		  integer * incx);
149 extern doublereal dsdot_(integer * n, real * sx, integer * incx, real * sy,
150 			 integer * incy);
151 extern int dspmv_(char *uplo, integer * n, doublereal * alpha,
152 		  doublereal * ap, doublereal * x, integer * incx,
153 		  doublereal * beta, doublereal * y, integer * incy,
154 		  ftnlen uplo_len);
155 extern int dspr_(char *uplo, integer * n, doublereal * alpha, doublereal * x,
156 		 integer * incx, doublereal * ap, ftnlen uplo_len);
157 extern int dspr2_(char *uplo, integer * n, doublereal * alpha, doublereal * x,
158 		  integer * incx, doublereal * y, integer * incy,
159 		  doublereal * ap, ftnlen uplo_len);
160 extern int dswap_(integer * n, doublereal * dx, integer * incx,
161 		  doublereal * dy, integer * incy);
162 extern int dsymm_(char *side, char *uplo, integer * m, integer * n,
163 		  doublereal * alpha, doublereal * a, integer * lda,
164 		  doublereal * b, integer * ldb, doublereal * beta,
165 		  doublereal * c__, integer * ldc, ftnlen side_len,
166 		  ftnlen uplo_len);
167 extern int dsymv_(char *uplo, integer * n, doublereal * alpha, doublereal * a,
168 		  integer * lda, doublereal * x, integer * incx,
169 		  doublereal * beta, doublereal * y, integer * incy,
170 		  ftnlen uplo_len);
171 extern int dsyr_(char *uplo, integer * n, doublereal * alpha, doublereal * x,
172 		 integer * incx, doublereal * a, integer * lda,
173 		 ftnlen uplo_len);
174 extern int dsyr2_(char *uplo, integer * n, doublereal * alpha, doublereal * x,
175 		  integer * incx, doublereal * y, integer * incy,
176 		  doublereal * a, integer * lda, ftnlen uplo_len);
177 extern int dsyr2k_(char *uplo, char *trans, integer * n, integer * k,
178 		   doublereal * alpha, doublereal * a, integer * lda,
179 		   doublereal * b, integer * ldb, doublereal * beta,
180 		   doublereal * c__, integer * ldc, ftnlen uplo_len,
181 		   ftnlen trans_len);
182 extern int dsyrk_(char *uplo, char *trans, integer * n, integer * k,
183 		  doublereal * alpha, doublereal * a, integer * lda,
184 		  doublereal * beta, doublereal * c__, integer * ldc,
185 		  ftnlen uplo_len, ftnlen trans_len);
186 extern int dtbmv_(char *uplo, char *trans, char *diag, integer * n,
187 		  integer * k, doublereal * a, integer * lda, doublereal * x,
188 		  integer * incx, ftnlen uplo_len, ftnlen trans_len,
189 		  ftnlen diag_len);
190 extern int dtbsv_(char *uplo, char *trans, char *diag, integer * n,
191 		  integer * k, doublereal * a, integer * lda, doublereal * x,
192 		  integer * incx, ftnlen uplo_len, ftnlen trans_len,
193 		  ftnlen diag_len);
194 extern int dtpmv_(char *uplo, char *trans, char *diag, integer * n,
195 		  doublereal * ap, doublereal * x, integer * incx,
196 		  ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len);
197 extern int dtpsv_(char *uplo, char *trans, char *diag, integer * n,
198 		  doublereal * ap, doublereal * x, integer * incx,
199 		  ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len);
200 extern int dtrmm_(char *side, char *uplo, char *transa, char *diag,
201 		  integer * m, integer * n, doublereal * alpha,
202 		  doublereal * a, integer * lda, doublereal * b,
203 		  integer * ldb, ftnlen side_len, ftnlen uplo_len,
204 		  ftnlen transa_len, ftnlen diag_len);
205 extern int dtrmv_(char *uplo, char *trans, char *diag, integer * n,
206 		  doublereal * a, integer * lda, doublereal * x,
207 		  integer * incx, ftnlen uplo_len, ftnlen trans_len,
208 		  ftnlen diag_len);
209 extern int dtrsm_(char *side, char *uplo, char *transa, char *diag,
210 		  integer * m, integer * n, doublereal * alpha,
211 		  doublereal * a, integer * lda, doublereal * b,
212 		  integer * ldb, ftnlen side_len, ftnlen uplo_len,
213 		  ftnlen transa_len, ftnlen diag_len);
214 extern int dtrsv_(char *uplo, char *trans, char *diag, integer * n,
215 		  doublereal * a, integer * lda, doublereal * x,
216 		  integer * incx, ftnlen uplo_len, ftnlen trans_len,
217 		  ftnlen diag_len);
218 extern doublereal dzasum_(integer * n, doublecomplex * zx, integer * incx);
219 extern doublereal dznrm2_(integer * n, doublecomplex * x, integer * incx);
220 extern integer icamax_(integer * n, complex * cx, integer * incx);
221 extern integer idamax_(integer * n, doublereal * dx, integer * incx);
222 extern integer isamax_(integer * n, real * sx, integer * incx);
223 extern integer izamax_(integer * n, doublecomplex * zx, integer * incx);
224 extern logical lsame_(char *ca, char *cb, ftnlen ca_len, ftnlen cb_len);
225 extern E_f sasum_(integer * n, real * sx, integer * incx);
226 extern int saxpy_(integer * n, real * sa, real * sx, integer * incx,
227 		  real * sy, integer * incy);
228 extern E_f scasum_(integer * n, complex * cx, integer * incx);
229 extern E_f scnrm2_(integer * n, complex * x, integer * incx);
230 extern int scopy_(integer * n, real * sx, integer * incx, real * sy,
231 		  integer * incy);
232 extern E_f sdot_(integer * n, real * sx, integer * incx, real * sy,
233 		 integer * incy);
234 extern E_f sdsdot_(integer * n, real * sb, real * sx, integer * incx,
235 		   real * sy, integer * incy);
236 extern int sgbmv_(char *trans, integer * m, integer * n, integer * kl,
237 		  integer * ku, real * alpha, real * a, integer * lda,
238 		  real * x, integer * incx, real * beta, real * y,
239 		  integer * incy, ftnlen trans_len);
240 extern int sgemm_(char *transa, char *transb, integer * m, integer * n,
241 		  integer * k, real * alpha, real * a, integer * lda,
242 		  real * b, integer * ldb, real * beta, real * c__,
243 		  integer * ldc, ftnlen transa_len, ftnlen transb_len);
244 extern int sgemv_(char *trans, integer * m, integer * n, real * alpha,
245 		  real * a, integer * lda, real * x, integer * incx,
246 		  real * beta, real * y, integer * incy, ftnlen trans_len);
247 extern int sger_(integer * m, integer * n, real * alpha, real * x,
248 		 integer * incx, real * y, integer * incy, real * a,
249 		 integer * lda);
250 extern E_f snrm2_(integer * n, real * x, integer * incx);
251 extern int srot_(integer * n, real * sx, integer * incx, real * sy,
252 		 integer * incy, real * c__, real * s);
253 extern int srotg_(real * sa, real * sb, real * c__, real * s);
254 extern int srotm_(integer * n, real * sx, integer * incx, real * sy,
255 		  integer * incy, real * sparam);
256 extern int srotmg_(real * sd1, real * sd2, real * sx1, real * sy1,
257 		   real * sparam);
258 extern int ssbmv_(char *uplo, integer * n, integer * k, real * alpha,
259 		  real * a, integer * lda, real * x, integer * incx,
260 		  real * beta, real * y, integer * incy, ftnlen uplo_len);
261 extern int sscal_(integer * n, real * sa, real * sx, integer * incx);
262 extern int sspmv_(char *uplo, integer * n, real * alpha, real * ap, real * x,
263 		  integer * incx, real * beta, real * y, integer * incy,
264 		  ftnlen uplo_len);
265 extern int sspr_(char *uplo, integer * n, real * alpha, real * x,
266 		 integer * incx, real * ap, ftnlen uplo_len);
267 extern int sspr2_(char *uplo, integer * n, real * alpha, real * x,
268 		  integer * incx, real * y, integer * incy, real * ap,
269 		  ftnlen uplo_len);
270 extern int sswap_(integer * n, real * sx, integer * incx, real * sy,
271 		  integer * incy);
272 extern int ssymm_(char *side, char *uplo, integer * m, integer * n,
273 		  real * alpha, real * a, integer * lda, real * b,
274 		  integer * ldb, real * beta, real * c__, integer * ldc,
275 		  ftnlen side_len, ftnlen uplo_len);
276 extern int ssymv_(char *uplo, integer * n, real * alpha, real * a,
277 		  integer * lda, real * x, integer * incx, real * beta,
278 		  real * y, integer * incy, ftnlen uplo_len);
279 extern int ssyr_(char *uplo, integer * n, real * alpha, real * x,
280 		 integer * incx, real * a, integer * lda, ftnlen uplo_len);
281 extern int ssyr2_(char *uplo, integer * n, real * alpha, real * x,
282 		  integer * incx, real * y, integer * incy, real * a,
283 		  integer * lda, ftnlen uplo_len);
284 extern int ssyr2k_(char *uplo, char *trans, integer * n, integer * k,
285 		   real * alpha, real * a, integer * lda, real * b,
286 		   integer * ldb, real * beta, real * c__, integer * ldc,
287 		   ftnlen uplo_len, ftnlen trans_len);
288 extern int ssyrk_(char *uplo, char *trans, integer * n, integer * k,
289 		  real * alpha, real * a, integer * lda, real * beta,
290 		  real * c__, integer * ldc, ftnlen uplo_len,
291 		  ftnlen trans_len);
292 extern int stbmv_(char *uplo, char *trans, char *diag, integer * n,
293 		  integer * k, real * a, integer * lda, real * x,
294 		  integer * incx, ftnlen uplo_len, ftnlen trans_len,
295 		  ftnlen diag_len);
296 extern int stbsv_(char *uplo, char *trans, char *diag, integer * n,
297 		  integer * k, real * a, integer * lda, real * x,
298 		  integer * incx, ftnlen uplo_len, ftnlen trans_len,
299 		  ftnlen diag_len);
300 extern int stpmv_(char *uplo, char *trans, char *diag, integer * n, real * ap,
301 		  real * x, integer * incx, ftnlen uplo_len, ftnlen trans_len,
302 		  ftnlen diag_len);
303 extern int stpsv_(char *uplo, char *trans, char *diag, integer * n, real * ap,
304 		  real * x, integer * incx, ftnlen uplo_len, ftnlen trans_len,
305 		  ftnlen diag_len);
306 extern int strmm_(char *side, char *uplo, char *transa, char *diag,
307 		  integer * m, integer * n, real * alpha, real * a,
308 		  integer * lda, real * b, integer * ldb, ftnlen side_len,
309 		  ftnlen uplo_len, ftnlen transa_len, ftnlen diag_len);
310 extern int strmv_(char *uplo, char *trans, char *diag, integer * n, real * a,
311 		  integer * lda, real * x, integer * incx, ftnlen uplo_len,
312 		  ftnlen trans_len, ftnlen diag_len);
313 extern int strsm_(char *side, char *uplo, char *transa, char *diag,
314 		  integer * m, integer * n, real * alpha, real * a,
315 		  integer * lda, real * b, integer * ldb, ftnlen side_len,
316 		  ftnlen uplo_len, ftnlen transa_len, ftnlen diag_len);
317 extern int strsv_(char *uplo, char *trans, char *diag, integer * n, real * a,
318 		  integer * lda, real * x, integer * incx, ftnlen uplo_len,
319 		  ftnlen trans_len, ftnlen diag_len);
320 extern int xerbla_(char *srname, integer * info, ftnlen srname_len);
321 extern int zaxpy_(integer * n, doublecomplex * za, doublecomplex * zx,
322 		  integer * incx, doublecomplex * zy, integer * incy);
323 extern int zcopy_(integer * n, doublecomplex * zx, integer * incx,
324 		  doublecomplex * zy, integer * incy);
325 extern Z_f zdotc_(doublecomplex * ret_val, integer * n, doublecomplex * zx,
326 		  integer * incx, doublecomplex * zy, integer * incy);
327 extern Z_f zdotu_(doublecomplex * ret_val, integer * n, doublecomplex * zx,
328 		  integer * incx, doublecomplex * zy, integer * incy);
329 extern int zdrot_(integer * n, doublecomplex * zx, integer * incx,
330 		  doublecomplex * zy, integer * incy, doublereal * c__,
331 		  doublereal * s);
332 extern int zdscal_(integer * n, doublereal * da, doublecomplex * zx,
333 		   integer * incx);
334 extern int zgbmv_(char *trans, integer * m, integer * n, integer * kl,
335 		  integer * ku, doublecomplex * alpha, doublecomplex * a,
336 		  integer * lda, doublecomplex * x, integer * incx,
337 		  doublecomplex * beta, doublecomplex * y, integer * incy,
338 		  ftnlen trans_len);
339 extern int zgemm_(char *transa, char *transb, integer * m, integer * n,
340 		  integer * k, doublecomplex * alpha, doublecomplex * a,
341 		  integer * lda, doublecomplex * b, integer * ldb,
342 		  doublecomplex * beta, doublecomplex * c__, integer * ldc,
343 		  ftnlen transa_len, ftnlen transb_len);
344 extern int zgemv_(char *trans, integer * m, integer * n,
345 		  doublecomplex * alpha, doublecomplex * a, integer * lda,
346 		  doublecomplex * x, integer * incx, doublecomplex * beta,
347 		  doublecomplex * y, integer * incy, ftnlen trans_len);
348 extern int zgerc_(integer * m, integer * n, doublecomplex * alpha,
349 		  doublecomplex * x, integer * incx, doublecomplex * y,
350 		  integer * incy, doublecomplex * a, integer * lda);
351 extern int zgeru_(integer * m, integer * n, doublecomplex * alpha,
352 		  doublecomplex * x, integer * incx, doublecomplex * y,
353 		  integer * incy, doublecomplex * a, integer * lda);
354 extern int zhbmv_(char *uplo, integer * n, integer * k, doublecomplex * alpha,
355 		  doublecomplex * a, integer * lda, doublecomplex * x,
356 		  integer * incx, doublecomplex * beta, doublecomplex * y,
357 		  integer * incy, ftnlen uplo_len);
358 extern int zhemm_(char *side, char *uplo, integer * m, integer * n,
359 		  doublecomplex * alpha, doublecomplex * a, integer * lda,
360 		  doublecomplex * b, integer * ldb, doublecomplex * beta,
361 		  doublecomplex * c__, integer * ldc, ftnlen side_len,
362 		  ftnlen uplo_len);
363 extern int zhemv_(char *uplo, integer * n, doublecomplex * alpha,
364 		  doublecomplex * a, integer * lda, doublecomplex * x,
365 		  integer * incx, doublecomplex * beta, doublecomplex * y,
366 		  integer * incy, ftnlen uplo_len);
367 extern int zher_(char *uplo, integer * n, doublereal * alpha,
368 		 doublecomplex * x, integer * incx, doublecomplex * a,
369 		 integer * lda, ftnlen uplo_len);
370 extern int zher2_(char *uplo, integer * n, doublecomplex * alpha,
371 		  doublecomplex * x, integer * incx, doublecomplex * y,
372 		  integer * incy, doublecomplex * a, integer * lda,
373 		  ftnlen uplo_len);
374 extern int zher2k_(char *uplo, char *trans, integer * n, integer * k,
375 		   doublecomplex * alpha, doublecomplex * a, integer * lda,
376 		   doublecomplex * b, integer * ldb, doublereal * beta,
377 		   doublecomplex * c__, integer * ldc, ftnlen uplo_len,
378 		   ftnlen trans_len);
379 extern int zherk_(char *uplo, char *trans, integer * n, integer * k,
380 		  doublereal * alpha, doublecomplex * a, integer * lda,
381 		  doublereal * beta, doublecomplex * c__, integer * ldc,
382 		  ftnlen uplo_len, ftnlen trans_len);
383 extern int zhpmv_(char *uplo, integer * n, doublecomplex * alpha,
384 		  doublecomplex * ap, doublecomplex * x, integer * incx,
385 		  doublecomplex * beta, doublecomplex * y, integer * incy,
386 		  ftnlen uplo_len);
387 extern int zhpr_(char *uplo, integer * n, doublereal * alpha,
388 		 doublecomplex * x, integer * incx, doublecomplex * ap,
389 		 ftnlen uplo_len);
390 extern int zhpr2_(char *uplo, integer * n, doublecomplex * alpha,
391 		  doublecomplex * x, integer * incx, doublecomplex * y,
392 		  integer * incy, doublecomplex * ap, ftnlen uplo_len);
393 extern int zrotg_(doublecomplex * ca, doublecomplex * cb, doublereal * c__,
394 		  doublecomplex * s);
395 extern int zscal_(integer * n, doublecomplex * za, doublecomplex * zx,
396 		  integer * incx);
397 extern int zswap_(integer * n, doublecomplex * zx, integer * incx,
398 		  doublecomplex * zy, integer * incy);
399 extern int zsymm_(char *side, char *uplo, integer * m, integer * n,
400 		  doublecomplex * alpha, doublecomplex * a, integer * lda,
401 		  doublecomplex * b, integer * ldb, doublecomplex * beta,
402 		  doublecomplex * c__, integer * ldc, ftnlen side_len,
403 		  ftnlen uplo_len);
404 extern int zsyr2k_(char *uplo, char *trans, integer * n, integer * k,
405 		   doublecomplex * alpha, doublecomplex * a, integer * lda,
406 		   doublecomplex * b, integer * ldb, doublecomplex * beta,
407 		   doublecomplex * c__, integer * ldc, ftnlen uplo_len,
408 		   ftnlen trans_len);
409 extern int zsyrk_(char *uplo, char *trans, integer * n, integer * k,
410 		  doublecomplex * alpha, doublecomplex * a, integer * lda,
411 		  doublecomplex * beta, doublecomplex * c__, integer * ldc,
412 		  ftnlen uplo_len, ftnlen trans_len);
413 extern int ztbmv_(char *uplo, char *trans, char *diag, integer * n,
414 		  integer * k, doublecomplex * a, integer * lda,
415 		  doublecomplex * x, integer * incx, ftnlen uplo_len,
416 		  ftnlen trans_len, ftnlen diag_len);
417 extern int ztbsv_(char *uplo, char *trans, char *diag, integer * n,
418 		  integer * k, doublecomplex * a, integer * lda,
419 		  doublecomplex * x, integer * incx, ftnlen uplo_len,
420 		  ftnlen trans_len, ftnlen diag_len);
421 extern int ztpmv_(char *uplo, char *trans, char *diag, integer * n,
422 		  doublecomplex * ap, doublecomplex * x, integer * incx,
423 		  ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len);
424 extern int ztpsv_(char *uplo, char *trans, char *diag, integer * n,
425 		  doublecomplex * ap, doublecomplex * x, integer * incx,
426 		  ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len);
427 extern int ztrmm_(char *side, char *uplo, char *transa, char *diag,
428 		  integer * m, integer * n, doublecomplex * alpha,
429 		  doublecomplex * a, integer * lda, doublecomplex * b,
430 		  integer * ldb, ftnlen side_len, ftnlen uplo_len,
431 		  ftnlen transa_len, ftnlen diag_len);
432 extern int ztrmv_(char *uplo, char *trans, char *diag, integer * n,
433 		  doublecomplex * a, integer * lda, doublecomplex * x,
434 		  integer * incx, ftnlen uplo_len, ftnlen trans_len,
435 		  ftnlen diag_len);
436 extern int ztrsm_(char *side, char *uplo, char *transa, char *diag,
437 		  integer * m, integer * n, doublecomplex * alpha,
438 		  doublecomplex * a, integer * lda, doublecomplex * b,
439 		  integer * ldb, ftnlen side_len, ftnlen uplo_len,
440 		  ftnlen transa_len, ftnlen diag_len);
441 extern int ztrsv_(char *uplo, char *trans, char *diag, integer * n,
442 		  doublecomplex * a, integer * lda, doublecomplex * x,
443 		  integer * incx, ftnlen uplo_len, ftnlen trans_len,
444 		  ftnlen diag_len);
445 
446 #endif
447