1#ifndef BLAS_H
2#define BLAS_H
3
4#define BLASFUNC(FUNC) FUNC##_
5
6#ifdef __WIN64__
7typedef long long BLASLONG;
8typedef unsigned long long BLASULONG;
9#else
10typedef long BLASLONG;
11typedef unsigned long BLASULONG;
12#endif
13
14int    BLASFUNC(xerbla)(const char *, int *info, int);
15
16float  BLASFUNC(sdot)  (int *, float  *, int *, float  *, int *);
17float  BLASFUNC(sdsdot)(int *, float  *,        float  *, int *, float  *, int *);
18
19double BLASFUNC(dsdot) (int *, float  *, int *, float  *, int *);
20double BLASFUNC(ddot)  (int *, double *, int *, double *, int *);
21double BLASFUNC(qdot)  (int *, double *, int *, double *, int *);
22
23#if defined(F_INTERFACE_GFORT) && !defined(__64BIT__)
24int   BLASFUNC(cdotu)  (int *, float  * , int *, float  *,  int *);
25int   BLASFUNC(cdotc)  (int *, float  *,  int *, float  *,  int *);
26void  BLASFUNC(zdotu)  (double *, int *, double  *, int *, double  *, int *);
27void  BLASFUNC(zdotc)  (double *, int *, double  *, int *, double  *, int *);
28void  BLASFUNC(xdotu)  (double *, int *, double  *, int *, double  *, int *);
29void  BLASFUNC(xdotc)  (double *, int *, double  *, int *, double  *, int *);
30#elif  defined(F_INTERFACE_F2C) || \
31     defined(F_INTERFACE_PGI) || \
32     defined(F_INTERFACE_GFORT) || \
33    (defined(F_INTERFACE_PATHSCALE) && defined(__64BIT__))
34void  BLASFUNC(cdotu)  (float *,  int *, float  * , int *, float  *,  int *);
35void  BLASFUNC(cdotc)  (float *,  int *, float  *,  int *, float  *,  int *);
36void  BLASFUNC(zdotu)  (double *, int *, double  *, int *, double  *, int *);
37void  BLASFUNC(zdotc)  (double *, int *, double  *, int *, double  *, int *);
38void  BLASFUNC(xdotu)  (double *, int *, double  *, int *, double  *, int *);
39void  BLASFUNC(xdotc)  (double *, int *, double  *, int *, double  *, int *);
40#else
41std::complex<float>   BLASFUNC(cdotu)  (int *, float  *, int *, float  *, int *);
42std::complex<float>   BLASFUNC(cdotc)  (int *, float  *, int *, float  *, int *);
43std::complex<double>  BLASFUNC(zdotu)  (int *, double  *, int *, double  *, int *);
44std::complex<double>  BLASFUNC(zdotc)  (int *, double  *, int *, double  *, int *);
45double  BLASFUNC(xdotu)  (int *, double  *, int *, double  *, int *);
46double  BLASFUNC(xdotc)  (int *, double  *, int *, double  *, int *);
47#endif
48
49int  BLASFUNC(cdotuw)  (int *, float  *, int *, float  *, int *, float*);
50int  BLASFUNC(cdotcw)  (int *, float  *, int *, float  *, int *, float*);
51int  BLASFUNC(zdotuw)  (int *, double  *, int *, double  *, int *, double*);
52int  BLASFUNC(zdotcw)  (int *, double  *, int *, double  *, int *, double*);
53
54int    BLASFUNC(saxpy) (int *, float  *, float  *, int *, float  *, int *);
55int    BLASFUNC(daxpy) (int *, double *, double *, int *, double *, int *);
56int    BLASFUNC(qaxpy) (int *, double *, double *, int *, double *, int *);
57int    BLASFUNC(caxpy) (int *, float  *, float  *, int *, float  *, int *);
58int    BLASFUNC(zaxpy) (int *, double *, double *, int *, double *, int *);
59int    BLASFUNC(xaxpy) (int *, double *, double *, int *, double *, int *);
60int    BLASFUNC(caxpyc)(int *, float  *, float  *, int *, float  *, int *);
61int    BLASFUNC(zaxpyc)(int *, double *, double *, int *, double *, int *);
62int    BLASFUNC(xaxpyc)(int *, double *, double *, int *, double *, int *);
63
64int    BLASFUNC(scopy) (int *, float  *, int *, float  *, int *);
65int    BLASFUNC(dcopy) (int *, double *, int *, double *, int *);
66int    BLASFUNC(qcopy) (int *, double *, int *, double *, int *);
67int    BLASFUNC(ccopy) (int *, float  *, int *, float  *, int *);
68int    BLASFUNC(zcopy) (int *, double *, int *, double *, int *);
69int    BLASFUNC(xcopy) (int *, double *, int *, double *, int *);
70
71int    BLASFUNC(sswap) (int *, float  *, int *, float  *, int *);
72int    BLASFUNC(dswap) (int *, double *, int *, double *, int *);
73int    BLASFUNC(qswap) (int *, double *, int *, double *, int *);
74int    BLASFUNC(cswap) (int *, float  *, int *, float  *, int *);
75int    BLASFUNC(zswap) (int *, double *, int *, double *, int *);
76int    BLASFUNC(xswap) (int *, double *, int *, double *, int *);
77
78float  BLASFUNC(sasum) (int *, float  *, int *);
79float  BLASFUNC(scasum)(int *, float  *, int *);
80double BLASFUNC(dasum) (int *, double *, int *);
81double BLASFUNC(qasum) (int *, double *, int *);
82double BLASFUNC(dzasum)(int *, double *, int *);
83double BLASFUNC(qxasum)(int *, double *, int *);
84
85int    BLASFUNC(isamax)(int *, float  *, int *);
86int    BLASFUNC(idamax)(int *, double *, int *);
87int    BLASFUNC(iqamax)(int *, double *, int *);
88int    BLASFUNC(icamax)(int *, float  *, int *);
89int    BLASFUNC(izamax)(int *, double *, int *);
90int    BLASFUNC(ixamax)(int *, double *, int *);
91
92int    BLASFUNC(ismax) (int *, float  *, int *);
93int    BLASFUNC(idmax) (int *, double *, int *);
94int    BLASFUNC(iqmax) (int *, double *, int *);
95int    BLASFUNC(icmax) (int *, float  *, int *);
96int    BLASFUNC(izmax) (int *, double *, int *);
97int    BLASFUNC(ixmax) (int *, double *, int *);
98
99int    BLASFUNC(isamin)(int *, float  *, int *);
100int    BLASFUNC(idamin)(int *, double *, int *);
101int    BLASFUNC(iqamin)(int *, double *, int *);
102int    BLASFUNC(icamin)(int *, float  *, int *);
103int    BLASFUNC(izamin)(int *, double *, int *);
104int    BLASFUNC(ixamin)(int *, double *, int *);
105
106int    BLASFUNC(ismin)(int *, float  *, int *);
107int    BLASFUNC(idmin)(int *, double *, int *);
108int    BLASFUNC(iqmin)(int *, double *, int *);
109int    BLASFUNC(icmin)(int *, float  *, int *);
110int    BLASFUNC(izmin)(int *, double *, int *);
111int    BLASFUNC(ixmin)(int *, double *, int *);
112
113float  BLASFUNC(samax) (int *, float  *, int *);
114double BLASFUNC(damax) (int *, double *, int *);
115double BLASFUNC(qamax) (int *, double *, int *);
116float  BLASFUNC(scamax)(int *, float  *, int *);
117double BLASFUNC(dzamax)(int *, double *, int *);
118double BLASFUNC(qxamax)(int *, double *, int *);
119
120float  BLASFUNC(samin) (int *, float  *, int *);
121double BLASFUNC(damin) (int *, double *, int *);
122double BLASFUNC(qamin) (int *, double *, int *);
123float  BLASFUNC(scamin)(int *, float  *, int *);
124double BLASFUNC(dzamin)(int *, double *, int *);
125double BLASFUNC(qxamin)(int *, double *, int *);
126
127float  BLASFUNC(smax)  (int *, float  *, int *);
128double BLASFUNC(dmax)  (int *, double *, int *);
129double BLASFUNC(qmax)  (int *, double *, int *);
130float  BLASFUNC(scmax) (int *, float  *, int *);
131double BLASFUNC(dzmax) (int *, double *, int *);
132double BLASFUNC(qxmax) (int *, double *, int *);
133
134float  BLASFUNC(smin)  (int *, float  *, int *);
135double BLASFUNC(dmin)  (int *, double *, int *);
136double BLASFUNC(qmin)  (int *, double *, int *);
137float  BLASFUNC(scmin) (int *, float  *, int *);
138double BLASFUNC(dzmin) (int *, double *, int *);
139double BLASFUNC(qxmin) (int *, double *, int *);
140
141int    BLASFUNC(sscal) (int *,  float  *, float  *, int *);
142int    BLASFUNC(dscal) (int *,  double *, double *, int *);
143int    BLASFUNC(qscal) (int *,  double *, double *, int *);
144int    BLASFUNC(cscal) (int *,  float  *, float  *, int *);
145int    BLASFUNC(zscal) (int *,  double *, double *, int *);
146int    BLASFUNC(xscal) (int *,  double *, double *, int *);
147int    BLASFUNC(csscal)(int *,  float  *, float  *, int *);
148int    BLASFUNC(zdscal)(int *,  double *, double *, int *);
149int    BLASFUNC(xqscal)(int *,  double *, double *, int *);
150
151float  BLASFUNC(snrm2) (int *, float  *, int *);
152float  BLASFUNC(scnrm2)(int *, float  *, int *);
153
154double BLASFUNC(dnrm2) (int *, double *, int *);
155double BLASFUNC(qnrm2) (int *, double *, int *);
156double BLASFUNC(dznrm2)(int *, double *, int *);
157double BLASFUNC(qxnrm2)(int *, double *, int *);
158
159int    BLASFUNC(srot)  (int *, float  *, int *, float  *, int *, float  *, float  *);
160int    BLASFUNC(drot)  (int *, double *, int *, double *, int *, double *, double *);
161int    BLASFUNC(qrot)  (int *, double *, int *, double *, int *, double *, double *);
162int    BLASFUNC(csrot) (int *, float  *, int *, float  *, int *, float  *, float  *);
163int    BLASFUNC(zdrot) (int *, double *, int *, double *, int *, double *, double *);
164int    BLASFUNC(xqrot) (int *, double *, int *, double *, int *, double *, double *);
165
166int    BLASFUNC(srotg) (float  *, float  *, float  *, float  *);
167int    BLASFUNC(drotg) (double *, double *, double *, double *);
168int    BLASFUNC(qrotg) (double *, double *, double *, double *);
169int    BLASFUNC(crotg) (float  *, float  *, float  *, float  *);
170int    BLASFUNC(zrotg) (double *, double *, double *, double *);
171int    BLASFUNC(xrotg) (double *, double *, double *, double *);
172
173int    BLASFUNC(srotmg)(float  *, float  *, float  *, float  *, float  *);
174int    BLASFUNC(drotmg)(double *, double *, double *, double *, double *);
175
176int    BLASFUNC(srotm) (int *, float  *, int *, float  *, int *, float  *);
177int    BLASFUNC(drotm) (int *, double *, int *, double *, int *, double *);
178int    BLASFUNC(qrotm) (int *, double *, int *, double *, int *, double *);
179
180/* Level 2 routines */
181
182int BLASFUNC(sger)(int *,    int *, float *,  float *, int *,
183		   float *,  int *, float *,  int *);
184int BLASFUNC(dger)(int *,    int *, double *, double *, int *,
185		   double *, int *, double *, int *);
186int BLASFUNC(qger)(int *,    int *, double *, double *, int *,
187		   double *, int *, double *, int *);
188int BLASFUNC(cgeru)(int *,    int *, float *,  float *, int *,
189		    float *,  int *, float *,  int *);
190int BLASFUNC(cgerc)(int *,    int *, float *,  float *, int *,
191		    float *,  int *, float *,  int *);
192int BLASFUNC(zgeru)(int *,    int *, double *, double *, int *,
193		    double *, int *, double *, int *);
194int BLASFUNC(zgerc)(int *,    int *, double *, double *, int *,
195		    double *, int *, double *, int *);
196int BLASFUNC(xgeru)(int *,    int *, double *, double *, int *,
197		    double *, int *, double *, int *);
198int BLASFUNC(xgerc)(int *,    int *, double *, double *, int *,
199		    double *, int *, double *, int *);
200
201int BLASFUNC(sgemv)(char *, int *, int *, float  *, float  *, int *,
202		    float  *, int *, float  *, float  *, int *);
203int BLASFUNC(dgemv)(char *, int *, int *, double *, double *, int *,
204		    double *, int *, double *, double *, int *);
205int BLASFUNC(qgemv)(char *, int *, int *, double *, double *, int *,
206		    double *, int *, double *, double *, int *);
207int BLASFUNC(cgemv)(char *, int *, int *, float  *, float  *, int *,
208		    float  *, int *, float  *, float  *, int *);
209int BLASFUNC(zgemv)(char *, int *, int *, double *, double *, int *,
210		    double *, int *, double *, double *, int *);
211int BLASFUNC(xgemv)(char *, int *, int *, double *, double *, int *,
212		    double *, int *, double *, double *, int *);
213
214int BLASFUNC(strsv) (char *, char *, char *, int *, float  *, int *,
215		     float  *, int *);
216int BLASFUNC(dtrsv) (char *, char *, char *, int *, double *, int *,
217		     double *, int *);
218int BLASFUNC(qtrsv) (char *, char *, char *, int *, double *, int *,
219		     double *, int *);
220int BLASFUNC(ctrsv) (char *, char *, char *, int *, float  *, int *,
221		     float  *, int *);
222int BLASFUNC(ztrsv) (char *, char *, char *, int *, double *, int *,
223		     double *, int *);
224int BLASFUNC(xtrsv) (char *, char *, char *, int *, double *, int *,
225		     double *, int *);
226
227int BLASFUNC(stpsv) (char *, char *, char *, int *, float  *, float  *, int *);
228int BLASFUNC(dtpsv) (char *, char *, char *, int *, double *, double *, int *);
229int BLASFUNC(qtpsv) (char *, char *, char *, int *, double *, double *, int *);
230int BLASFUNC(ctpsv) (char *, char *, char *, int *, float  *, float  *, int *);
231int BLASFUNC(ztpsv) (char *, char *, char *, int *, double *, double *, int *);
232int BLASFUNC(xtpsv) (char *, char *, char *, int *, double *, double *, int *);
233
234int BLASFUNC(strmv) (char *, char *, char *, int *, float  *, int *,
235		     float  *, int *);
236int BLASFUNC(dtrmv) (char *, char *, char *, int *, double *, int *,
237		     double *, int *);
238int BLASFUNC(qtrmv) (char *, char *, char *, int *, double *, int *,
239		     double *, int *);
240int BLASFUNC(ctrmv) (char *, char *, char *, int *, float  *, int *,
241		     float  *, int *);
242int BLASFUNC(ztrmv) (char *, char *, char *, int *, double *, int *,
243		     double *, int *);
244int BLASFUNC(xtrmv) (char *, char *, char *, int *, double *, int *,
245		     double *, int *);
246
247int BLASFUNC(stpmv) (char *, char *, char *, int *, float  *, float  *, int *);
248int BLASFUNC(dtpmv) (char *, char *, char *, int *, double *, double *, int *);
249int BLASFUNC(qtpmv) (char *, char *, char *, int *, double *, double *, int *);
250int BLASFUNC(ctpmv) (char *, char *, char *, int *, float  *, float  *, int *);
251int BLASFUNC(ztpmv) (char *, char *, char *, int *, double *, double *, int *);
252int BLASFUNC(xtpmv) (char *, char *, char *, int *, double *, double *, int *);
253
254int BLASFUNC(stbmv) (char *, char *, char *, int *, int *, float  *, int *, float  *, int *);
255int BLASFUNC(dtbmv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
256int BLASFUNC(qtbmv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
257int BLASFUNC(ctbmv) (char *, char *, char *, int *, int *, float  *, int *, float  *, int *);
258int BLASFUNC(ztbmv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
259int BLASFUNC(xtbmv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
260
261int BLASFUNC(stbsv) (char *, char *, char *, int *, int *, float  *, int *, float  *, int *);
262int BLASFUNC(dtbsv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
263int BLASFUNC(qtbsv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
264int BLASFUNC(ctbsv) (char *, char *, char *, int *, int *, float  *, int *, float  *, int *);
265int BLASFUNC(ztbsv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
266int BLASFUNC(xtbsv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
267
268int BLASFUNC(ssymv) (char *, int *, float  *, float *, int *,
269		     float  *, int *, float *, float *, int *);
270int BLASFUNC(dsymv) (char *, int *, double  *, double *, int *,
271		     double  *, int *, double *, double *, int *);
272int BLASFUNC(qsymv) (char *, int *, double  *, double *, int *,
273		     double  *, int *, double *, double *, int *);
274int BLASFUNC(csymv) (char *, int *, float  *, float *, int *,
275		     float  *, int *, float *, float *, int *);
276int BLASFUNC(zsymv) (char *, int *, double  *, double *, int *,
277		     double  *, int *, double *, double *, int *);
278int BLASFUNC(xsymv) (char *, int *, double  *, double *, int *,
279		     double  *, int *, double *, double *, int *);
280
281int BLASFUNC(sspmv) (char *, int *, float  *, float *,
282		     float  *, int *, float *, float *, int *);
283int BLASFUNC(dspmv) (char *, int *, double  *, double *,
284		     double  *, int *, double *, double *, int *);
285int BLASFUNC(qspmv) (char *, int *, double  *, double *,
286		     double  *, int *, double *, double *, int *);
287int BLASFUNC(cspmv) (char *, int *, float  *, float *,
288		     float  *, int *, float *, float *, int *);
289int BLASFUNC(zspmv) (char *, int *, double  *, double *,
290		     double  *, int *, double *, double *, int *);
291int BLASFUNC(xspmv) (char *, int *, double  *, double *,
292		     double  *, int *, double *, double *, int *);
293
294int BLASFUNC(ssyr) (char *, int *, float   *, float  *, int *,
295		    float  *, int *);
296int BLASFUNC(dsyr) (char *, int *, double  *, double *, int *,
297		    double *, int *);
298int BLASFUNC(qsyr) (char *, int *, double  *, double *, int *,
299		    double *, int *);
300int BLASFUNC(csyr) (char *, int *, float   *, float  *, int *,
301		    float  *, int *);
302int BLASFUNC(zsyr) (char *, int *, double  *, double *, int *,
303		    double *, int *);
304int BLASFUNC(xsyr) (char *, int *, double  *, double *, int *,
305		    double *, int *);
306
307int BLASFUNC(ssyr2) (char *, int *, float   *,
308		     float  *, int *, float  *, int *, float  *, int *);
309int BLASFUNC(dsyr2) (char *, int *, double  *,
310		     double *, int *, double *, int *, double *, int *);
311int BLASFUNC(qsyr2) (char *, int *, double  *,
312		     double *, int *, double *, int *, double *, int *);
313int BLASFUNC(csyr2) (char *, int *, float   *,
314		     float  *, int *, float  *, int *, float  *, int *);
315int BLASFUNC(zsyr2) (char *, int *, double  *,
316		     double *, int *, double *, int *, double *, int *);
317int BLASFUNC(xsyr2) (char *, int *, double  *,
318		     double *, int *, double *, int *, double *, int *);
319
320int BLASFUNC(sspr) (char *, int *, float   *, float  *, int *,
321		    float  *);
322int BLASFUNC(dspr) (char *, int *, double  *, double *, int *,
323		    double *);
324int BLASFUNC(qspr) (char *, int *, double  *, double *, int *,
325		    double *);
326int BLASFUNC(cspr) (char *, int *, float   *, float  *, int *,
327		    float  *);
328int BLASFUNC(zspr) (char *, int *, double  *, double *, int *,
329		    double *);
330int BLASFUNC(xspr) (char *, int *, double  *, double *, int *,
331		    double *);
332
333int BLASFUNC(sspr2) (char *, int *, float   *,
334		     float  *, int *, float  *, int *, float  *);
335int BLASFUNC(dspr2) (char *, int *, double  *,
336		     double *, int *, double *, int *, double *);
337int BLASFUNC(qspr2) (char *, int *, double  *,
338		     double *, int *, double *, int *, double *);
339int BLASFUNC(cspr2) (char *, int *, float   *,
340		     float  *, int *, float  *, int *, float  *);
341int BLASFUNC(zspr2) (char *, int *, double  *,
342		     double *, int *, double *, int *, double *);
343int BLASFUNC(xspr2) (char *, int *, double  *,
344		     double *, int *, double *, int *, double *);
345
346int BLASFUNC(cher) (char *, int *, float   *, float  *, int *,
347		    float  *, int *);
348int BLASFUNC(zher) (char *, int *, double  *, double *, int *,
349		    double *, int *);
350int BLASFUNC(xher) (char *, int *, double  *, double *, int *,
351		    double *, int *);
352
353int BLASFUNC(chpr) (char *, int *, float   *, float  *, int *, float  *);
354int BLASFUNC(zhpr) (char *, int *, double  *, double *, int *, double *);
355int BLASFUNC(xhpr) (char *, int *, double  *, double *, int *, double *);
356
357int BLASFUNC(cher2) (char *, int *, float   *,
358		     float  *, int *, float  *, int *, float  *, int *);
359int BLASFUNC(zher2) (char *, int *, double  *,
360		     double *, int *, double *, int *, double *, int *);
361int BLASFUNC(xher2) (char *, int *, double  *,
362		     double *, int *, double *, int *, double *, int *);
363
364int BLASFUNC(chpr2) (char *, int *, float   *,
365		     float  *, int *, float  *, int *, float  *);
366int BLASFUNC(zhpr2) (char *, int *, double  *,
367		     double *, int *, double *, int *, double *);
368int BLASFUNC(xhpr2) (char *, int *, double  *,
369		     double *, int *, double *, int *, double *);
370
371int BLASFUNC(chemv) (char *, int *, float  *, float *, int *,
372		     float  *, int *, float *, float *, int *);
373int BLASFUNC(zhemv) (char *, int *, double  *, double *, int *,
374		     double  *, int *, double *, double *, int *);
375int BLASFUNC(xhemv) (char *, int *, double  *, double *, int *,
376		     double  *, int *, double *, double *, int *);
377
378int BLASFUNC(chpmv) (char *, int *, float  *, float *,
379		     float  *, int *, float *, float *, int *);
380int BLASFUNC(zhpmv) (char *, int *, double  *, double *,
381		     double  *, int *, double *, double *, int *);
382int BLASFUNC(xhpmv) (char *, int *, double  *, double *,
383		     double  *, int *, double *, double *, int *);
384
385int BLASFUNC(snorm)(char *, int *, int *, float  *, int *);
386int BLASFUNC(dnorm)(char *, int *, int *, double *, int *);
387int BLASFUNC(cnorm)(char *, int *, int *, float  *, int *);
388int BLASFUNC(znorm)(char *, int *, int *, double *, int *);
389
390int BLASFUNC(sgbmv)(char *, int *, int *, int *, int *, float  *, float  *, int *,
391		    float  *, int *, float  *, float  *, int *);
392int BLASFUNC(dgbmv)(char *, int *, int *, int *, int *, double *, double *, int *,
393		    double *, int *, double *, double *, int *);
394int BLASFUNC(qgbmv)(char *, int *, int *, int *, int *, double *, double *, int *,
395		    double *, int *, double *, double *, int *);
396int BLASFUNC(cgbmv)(char *, int *, int *, int *, int *, float  *, float  *, int *,
397		    float  *, int *, float  *, float  *, int *);
398int BLASFUNC(zgbmv)(char *, int *, int *, int *, int *, double *, double *, int *,
399		    double *, int *, double *, double *, int *);
400int BLASFUNC(xgbmv)(char *, int *, int *, int *, int *, double *, double *, int *,
401		    double *, int *, double *, double *, int *);
402
403int BLASFUNC(ssbmv)(char *, int *, int *, float  *, float  *, int *,
404		    float  *, int *, float  *, float  *, int *);
405int BLASFUNC(dsbmv)(char *, int *, int *, double *, double *, int *,
406		    double *, int *, double *, double *, int *);
407int BLASFUNC(qsbmv)(char *, int *, int *, double *, double *, int *,
408		    double *, int *, double *, double *, int *);
409int BLASFUNC(csbmv)(char *, int *, int *, float  *, float  *, int *,
410		    float  *, int *, float  *, float  *, int *);
411int BLASFUNC(zsbmv)(char *, int *, int *, double *, double *, int *,
412		    double *, int *, double *, double *, int *);
413int BLASFUNC(xsbmv)(char *, int *, int *, double *, double *, int *,
414		    double *, int *, double *, double *, int *);
415
416int BLASFUNC(chbmv)(char *, int *, int *, float  *, float  *, int *,
417		    float  *, int *, float  *, float  *, int *);
418int BLASFUNC(zhbmv)(char *, int *, int *, double *, double *, int *,
419		    double *, int *, double *, double *, int *);
420int BLASFUNC(xhbmv)(char *, int *, int *, double *, double *, int *,
421		    double *, int *, double *, double *, int *);
422
423/* Level 3 routines */
424
425int BLASFUNC(sgemm)(char *, char *, int *, int *, int *, float *,
426	   float  *, int *, float  *, int *, float  *, float  *, int *);
427int BLASFUNC(dgemm)(char *, char *, int *, int *, int *, double *,
428	   double *, int *, double *, int *, double *, double *, int *);
429int BLASFUNC(qgemm)(char *, char *, int *, int *, int *, double *,
430	   double *, int *, double *, int *, double *, double *, int *);
431int BLASFUNC(cgemm)(char *, char *, int *, int *, int *, float *,
432	   float  *, int *, float  *, int *, float  *, float  *, int *);
433int BLASFUNC(zgemm)(char *, char *, int *, int *, int *, double *,
434	   double *, int *, double *, int *, double *, double *, int *);
435int BLASFUNC(xgemm)(char *, char *, int *, int *, int *, double *,
436	   double *, int *, double *, int *, double *, double *, int *);
437
438int BLASFUNC(cgemm3m)(char *, char *, int *, int *, int *, float *,
439	   float  *, int *, float  *, int *, float  *, float  *, int *);
440int BLASFUNC(zgemm3m)(char *, char *, int *, int *, int *, double *,
441	   double *, int *, double *, int *, double *, double *, int *);
442int BLASFUNC(xgemm3m)(char *, char *, int *, int *, int *, double *,
443	   double *, int *, double *, int *, double *, double *, int *);
444
445int BLASFUNC(sge2mm)(char *, char *, char *, int *, int *,
446		     float *, float  *, int *, float  *, int *,
447		     float *, float  *, int *);
448int BLASFUNC(dge2mm)(char *, char *, char *, int *, int *,
449		     double *, double  *, int *, double  *, int *,
450		     double *, double  *, int *);
451int BLASFUNC(cge2mm)(char *, char *, char *, int *, int *,
452		     float *, float  *, int *, float  *, int *,
453		     float *, float  *, int *);
454int BLASFUNC(zge2mm)(char *, char *, char *, int *, int *,
455		     double *, double  *, int *, double  *, int *,
456		     double *, double  *, int *);
457
458int BLASFUNC(strsm)(char *, char *, char *, char *, int *, int *,
459	   float *,  float *, int *, float *, int *);
460int BLASFUNC(dtrsm)(char *, char *, char *, char *, int *, int *,
461	   double *,  double *, int *, double *, int *);
462int BLASFUNC(qtrsm)(char *, char *, char *, char *, int *, int *,
463	   double *,  double *, int *, double *, int *);
464int BLASFUNC(ctrsm)(char *, char *, char *, char *, int *, int *,
465	   float *,  float *, int *, float *, int *);
466int BLASFUNC(ztrsm)(char *, char *, char *, char *, int *, int *,
467	   double *,  double *, int *, double *, int *);
468int BLASFUNC(xtrsm)(char *, char *, char *, char *, int *, int *,
469	   double *,  double *, int *, double *, int *);
470
471int BLASFUNC(strmm)(char *, char *, char *, char *, int *, int *,
472	   float *,  float *, int *, float *, int *);
473int BLASFUNC(dtrmm)(char *, char *, char *, char *, int *, int *,
474	   double *,  double *, int *, double *, int *);
475int BLASFUNC(qtrmm)(char *, char *, char *, char *, int *, int *,
476	   double *,  double *, int *, double *, int *);
477int BLASFUNC(ctrmm)(char *, char *, char *, char *, int *, int *,
478	   float *,  float *, int *, float *, int *);
479int BLASFUNC(ztrmm)(char *, char *, char *, char *, int *, int *,
480	   double *,  double *, int *, double *, int *);
481int BLASFUNC(xtrmm)(char *, char *, char *, char *, int *, int *,
482	   double *,  double *, int *, double *, int *);
483
484int BLASFUNC(ssymm)(char *, char *, int *, int *, float  *, float  *, int *,
485	   float  *, int *, float  *, float  *, int *);
486int BLASFUNC(dsymm)(char *, char *, int *, int *, double *, double *, int *,
487	   double *, int *, double *, double *, int *);
488int BLASFUNC(qsymm)(char *, char *, int *, int *, double *, double *, int *,
489	   double *, int *, double *, double *, int *);
490int BLASFUNC(csymm)(char *, char *, int *, int *, float  *, float  *, int *,
491	   float  *, int *, float  *, float  *, int *);
492int BLASFUNC(zsymm)(char *, char *, int *, int *, double *, double *, int *,
493	   double *, int *, double *, double *, int *);
494int BLASFUNC(xsymm)(char *, char *, int *, int *, double *, double *, int *,
495	   double *, int *, double *, double *, int *);
496
497int BLASFUNC(csymm3m)(char *, char *, int *, int *, float  *, float  *, int *,
498	   float  *, int *, float  *, float  *, int *);
499int BLASFUNC(zsymm3m)(char *, char *, int *, int *, double *, double *, int *,
500	   double *, int *, double *, double *, int *);
501int BLASFUNC(xsymm3m)(char *, char *, int *, int *, double *, double *, int *,
502	   double *, int *, double *, double *, int *);
503
504int BLASFUNC(ssyrk)(char *, char *, int *, int *, float  *, float  *, int *,
505	   float  *, float  *, int *);
506int BLASFUNC(dsyrk)(char *, char *, int *, int *, double *, double *, int *,
507	   double *, double *, int *);
508int BLASFUNC(qsyrk)(char *, char *, int *, int *, double *, double *, int *,
509	   double *, double *, int *);
510int BLASFUNC(csyrk)(char *, char *, int *, int *, float  *, float  *, int *,
511	   float  *, float  *, int *);
512int BLASFUNC(zsyrk)(char *, char *, int *, int *, double *, double *, int *,
513	   double *, double *, int *);
514int BLASFUNC(xsyrk)(char *, char *, int *, int *, double *, double *, int *,
515	   double *, double *, int *);
516
517int BLASFUNC(ssyr2k)(char *, char *, int *, int *, float  *, float  *, int *,
518	   float *, int *, float  *, float  *, int *);
519int BLASFUNC(dsyr2k)(char *, char *, int *, int *, double *, double *, int *,
520	   double*, int *, double *, double *, int *);
521int BLASFUNC(qsyr2k)(char *, char *, int *, int *, double *, double *, int *,
522	   double*, int *, double *, double *, int *);
523int BLASFUNC(csyr2k)(char *, char *, int *, int *, float  *, float  *, int *,
524	   float *, int *, float  *, float  *, int *);
525int BLASFUNC(zsyr2k)(char *, char *, int *, int *, double *, double *, int *,
526	   double*, int *, double *, double *, int *);
527int BLASFUNC(xsyr2k)(char *, char *, int *, int *, double *, double *, int *,
528	   double*, int *, double *, double *, int *);
529
530int BLASFUNC(chemm)(char *, char *, int *, int *, float  *, float  *, int *,
531	   float  *, int *, float  *, float  *, int *);
532int BLASFUNC(zhemm)(char *, char *, int *, int *, double *, double *, int *,
533	   double *, int *, double *, double *, int *);
534int BLASFUNC(xhemm)(char *, char *, int *, int *, double *, double *, int *,
535	   double *, int *, double *, double *, int *);
536
537int BLASFUNC(chemm3m)(char *, char *, int *, int *, float  *, float  *, int *,
538	   float  *, int *, float  *, float  *, int *);
539int BLASFUNC(zhemm3m)(char *, char *, int *, int *, double *, double *, int *,
540	   double *, int *, double *, double *, int *);
541int BLASFUNC(xhemm3m)(char *, char *, int *, int *, double *, double *, int *,
542	   double *, int *, double *, double *, int *);
543
544int BLASFUNC(cherk)(char *, char *, int *, int *, float  *, float  *, int *,
545	   float  *, float  *, int *);
546int BLASFUNC(zherk)(char *, char *, int *, int *, double *, double *, int *,
547	   double *, double *, int *);
548int BLASFUNC(xherk)(char *, char *, int *, int *, double *, double *, int *,
549	   double *, double *, int *);
550
551int BLASFUNC(cher2k)(char *, char *, int *, int *, float  *, float  *, int *,
552	   float *, int *, float  *, float  *, int *);
553int BLASFUNC(zher2k)(char *, char *, int *, int *, double *, double *, int *,
554	   double*, int *, double *, double *, int *);
555int BLASFUNC(xher2k)(char *, char *, int *, int *, double *, double *, int *,
556	   double*, int *, double *, double *, int *);
557int BLASFUNC(cher2m)(char *, char *, char *, int *, int *, float  *, float  *, int *,
558	   float *, int *, float  *, float  *, int *);
559int BLASFUNC(zher2m)(char *, char *, char *, int *, int *, double *, double *, int *,
560	   double*, int *, double *, double *, int *);
561int BLASFUNC(xher2m)(char *, char *, char *, int *, int *, double *, double *, int *,
562	   double*, int *, double *, double *, int *);
563
564int BLASFUNC(sgemt)(char *, int *, int *, float  *, float  *, int *,
565		    float  *, int *);
566int BLASFUNC(dgemt)(char *, int *, int *, double *, double *, int *,
567		    double *, int *);
568int BLASFUNC(cgemt)(char *, int *, int *, float  *, float  *, int *,
569		    float  *, int *);
570int BLASFUNC(zgemt)(char *, int *, int *, double *, double *, int *,
571		    double *, int *);
572
573int BLASFUNC(sgema)(char *, char *, int *, int *, float  *,
574		    float  *, int *, float *, float  *, int *, float *, int *);
575int BLASFUNC(dgema)(char *, char *, int *, int *, double *,
576		    double *, int *, double*, double *, int *, double*, int *);
577int BLASFUNC(cgema)(char *, char *, int *, int *, float  *,
578		    float  *, int *, float *, float  *, int *, float *, int *);
579int BLASFUNC(zgema)(char *, char *, int *, int *, double *,
580		    double *, int *, double*, double *, int *, double*, int *);
581
582int BLASFUNC(sgems)(char *, char *, int *, int *, float  *,
583		    float  *, int *, float *, float  *, int *, float *, int *);
584int BLASFUNC(dgems)(char *, char *, int *, int *, double *,
585		    double *, int *, double*, double *, int *, double*, int *);
586int BLASFUNC(cgems)(char *, char *, int *, int *, float  *,
587		    float  *, int *, float *, float  *, int *, float *, int *);
588int BLASFUNC(zgems)(char *, char *, int *, int *, double *,
589		    double *, int *, double*, double *, int *, double*, int *);
590
591int BLASFUNC(sgetf2)(int *, int *, float  *, int *, int *, int *);
592int BLASFUNC(dgetf2)(int *, int *, double *, int *, int *, int *);
593int BLASFUNC(qgetf2)(int *, int *, double *, int *, int *, int *);
594int BLASFUNC(cgetf2)(int *, int *, float  *, int *, int *, int *);
595int BLASFUNC(zgetf2)(int *, int *, double *, int *, int *, int *);
596int BLASFUNC(xgetf2)(int *, int *, double *, int *, int *, int *);
597
598int BLASFUNC(sgetrf)(int *, int *, float  *, int *, int *, int *);
599int BLASFUNC(dgetrf)(int *, int *, double *, int *, int *, int *);
600int BLASFUNC(qgetrf)(int *, int *, double *, int *, int *, int *);
601int BLASFUNC(cgetrf)(int *, int *, float  *, int *, int *, int *);
602int BLASFUNC(zgetrf)(int *, int *, double *, int *, int *, int *);
603int BLASFUNC(xgetrf)(int *, int *, double *, int *, int *, int *);
604
605int BLASFUNC(slaswp)(int *, float  *, int *, int *, int *, int *, int *);
606int BLASFUNC(dlaswp)(int *, double *, int *, int *, int *, int *, int *);
607int BLASFUNC(qlaswp)(int *, double *, int *, int *, int *, int *, int *);
608int BLASFUNC(claswp)(int *, float  *, int *, int *, int *, int *, int *);
609int BLASFUNC(zlaswp)(int *, double *, int *, int *, int *, int *, int *);
610int BLASFUNC(xlaswp)(int *, double *, int *, int *, int *, int *, int *);
611
612int BLASFUNC(sgetrs)(char *, int *, int *, float  *, int *, int *, float  *, int *, int *);
613int BLASFUNC(dgetrs)(char *, int *, int *, double *, int *, int *, double *, int *, int *);
614int BLASFUNC(qgetrs)(char *, int *, int *, double *, int *, int *, double *, int *, int *);
615int BLASFUNC(cgetrs)(char *, int *, int *, float  *, int *, int *, float  *, int *, int *);
616int BLASFUNC(zgetrs)(char *, int *, int *, double *, int *, int *, double *, int *, int *);
617int BLASFUNC(xgetrs)(char *, int *, int *, double *, int *, int *, double *, int *, int *);
618
619int BLASFUNC(sgesv)(int *, int *, float  *, int *, int *, float *, int *, int *);
620int BLASFUNC(dgesv)(int *, int *, double *, int *, int *, double*, int *, int *);
621int BLASFUNC(qgesv)(int *, int *, double *, int *, int *, double*, int *, int *);
622int BLASFUNC(cgesv)(int *, int *, float  *, int *, int *, float *, int *, int *);
623int BLASFUNC(zgesv)(int *, int *, double *, int *, int *, double*, int *, int *);
624int BLASFUNC(xgesv)(int *, int *, double *, int *, int *, double*, int *, int *);
625
626int BLASFUNC(spotf2)(char *, int *, float  *, int *, int *);
627int BLASFUNC(dpotf2)(char *, int *, double *, int *, int *);
628int BLASFUNC(qpotf2)(char *, int *, double *, int *, int *);
629int BLASFUNC(cpotf2)(char *, int *, float  *, int *, int *);
630int BLASFUNC(zpotf2)(char *, int *, double *, int *, int *);
631int BLASFUNC(xpotf2)(char *, int *, double *, int *, int *);
632
633int BLASFUNC(spotrf)(char *, int *, float  *, int *, int *);
634int BLASFUNC(dpotrf)(char *, int *, double *, int *, int *);
635int BLASFUNC(qpotrf)(char *, int *, double *, int *, int *);
636int BLASFUNC(cpotrf)(char *, int *, float  *, int *, int *);
637int BLASFUNC(zpotrf)(char *, int *, double *, int *, int *);
638int BLASFUNC(xpotrf)(char *, int *, double *, int *, int *);
639
640int BLASFUNC(slauu2)(char *, int *, float  *, int *, int *);
641int BLASFUNC(dlauu2)(char *, int *, double *, int *, int *);
642int BLASFUNC(qlauu2)(char *, int *, double *, int *, int *);
643int BLASFUNC(clauu2)(char *, int *, float  *, int *, int *);
644int BLASFUNC(zlauu2)(char *, int *, double *, int *, int *);
645int BLASFUNC(xlauu2)(char *, int *, double *, int *, int *);
646
647int BLASFUNC(slauum)(char *, int *, float  *, int *, int *);
648int BLASFUNC(dlauum)(char *, int *, double *, int *, int *);
649int BLASFUNC(qlauum)(char *, int *, double *, int *, int *);
650int BLASFUNC(clauum)(char *, int *, float  *, int *, int *);
651int BLASFUNC(zlauum)(char *, int *, double *, int *, int *);
652int BLASFUNC(xlauum)(char *, int *, double *, int *, int *);
653
654int BLASFUNC(strti2)(char *, char *, int *, float  *, int *, int *);
655int BLASFUNC(dtrti2)(char *, char *, int *, double *, int *, int *);
656int BLASFUNC(qtrti2)(char *, char *, int *, double *, int *, int *);
657int BLASFUNC(ctrti2)(char *, char *, int *, float  *, int *, int *);
658int BLASFUNC(ztrti2)(char *, char *, int *, double *, int *, int *);
659int BLASFUNC(xtrti2)(char *, char *, int *, double *, int *, int *);
660
661int BLASFUNC(strtri)(char *, char *, int *, float  *, int *, int *);
662int BLASFUNC(dtrtri)(char *, char *, int *, double *, int *, int *);
663int BLASFUNC(qtrtri)(char *, char *, int *, double *, int *, int *);
664int BLASFUNC(ctrtri)(char *, char *, int *, float  *, int *, int *);
665int BLASFUNC(ztrtri)(char *, char *, int *, double *, int *, int *);
666int BLASFUNC(xtrtri)(char *, char *, int *, double *, int *, int *);
667
668int BLASFUNC(spotri)(char *, int *, float  *, int *, int *);
669int BLASFUNC(dpotri)(char *, int *, double *, int *, int *);
670int BLASFUNC(qpotri)(char *, int *, double *, int *, int *);
671int BLASFUNC(cpotri)(char *, int *, float  *, int *, int *);
672int BLASFUNC(zpotri)(char *, int *, double *, int *, int *);
673int BLASFUNC(xpotri)(char *, int *, double *, int *, int *);
674
675#endif
676