1 /*********************************************************************/
2 /* Copyright 2009, 2010 The University of Texas at Austin. */
3 /* All rights reserved. */
5 /* Redistribution and use in source and binary forms, with or */
6 /* without modification, are permitted provided that the following */
7 /* conditions are met: */
9 /* 1. Redistributions of source code must retain the above */
10 /* copyright notice, this list of conditions and the following */
13 /* 2. Redistributions in binary form must reproduce the above */
14 /* copyright notice, this list of conditions and the following */
15 /* disclaimer in the documentation and/or other materials */
16 /* provided with the distribution. */
18 /* THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY OF TEXAS AT */
19 /* AUSTIN ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, */
20 /* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
21 /* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE */
22 /* DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY OF TEXAS AT */
23 /* AUSTIN OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
24 /* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES */
25 /* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE */
26 /* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR */
27 /* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
28 /* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */
29 /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT */
30 /* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
31 /* POSSIBILITY OF SUCH DAMAGE. */
33 /* The views and conclusions contained in the software and */
34 /* documentation are those of the authors and should not be */
35 /* interpreted as representing official policies, either expressed */
36 /* or implied, of The University of Texas at Austin. */
37 /*********************************************************************/
43 /* Assume C declarations for C++ */
44 #endif /* __cplusplus */
46 int BLASFUNC(xerbla)(char *, blasint *info, blasint);
48 void openblas_set_num_threads_(int *);
50 FLOATRET BLASFUNC(sdot) (blasint *, float *, blasint *, float *, blasint *);
51 FLOATRET BLASFUNC(sdsdot)(blasint *, float *, float *, blasint *, float *, blasint *);
53 double BLASFUNC(dsdot) (blasint *, float *, blasint *, float *, blasint *);
54 double BLASFUNC(ddot) (blasint *, double *, blasint *, double *, blasint *);
55 xdouble BLASFUNC(qdot) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
57 float BLASFUNC(sbdot) (blasint *, bfloat16 *, blasint *, bfloat16 *, blasint *);
58 void BLASFUNC(sbstobf16) (blasint *, float *, blasint *, bfloat16 *, blasint *);
59 void BLASFUNC(sbdtobf16) (blasint *, double *, blasint *, bfloat16 *, blasint *);
60 void BLASFUNC(sbf16tos) (blasint *, bfloat16 *, blasint *, float *, blasint *);
61 void BLASFUNC(dbf16tod) (blasint *, bfloat16 *, blasint *, double *, blasint *);
63 #ifdef RETURN_BY_STRUCT
76 myccomplex_t BLASFUNC(cdotu) (blasint *, float *, blasint *, float *, blasint *);
77 myccomplex_t BLASFUNC(cdotc) (blasint *, float *, blasint *, float *, blasint *);
78 myzcomplex_t BLASFUNC(zdotu) (blasint *, double *, blasint *, double *, blasint *);
79 myzcomplex_t BLASFUNC(zdotc) (blasint *, double *, blasint *, double *, blasint *);
80 myxcomplex_t BLASFUNC(xdotu) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
81 myxcomplex_t BLASFUNC(xdotc) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
83 #elif defined RETURN_BY_STACK
84 void BLASFUNC(cdotu) (openblas_complex_float *, blasint *, float * , blasint *, float *, blasint *);
85 void BLASFUNC(cdotc) (openblas_complex_float *, blasint *, float *, blasint *, float *, blasint *);
86 void BLASFUNC(zdotu) (openblas_complex_double *, blasint *, double *, blasint *, double *, blasint *);
87 void BLASFUNC(zdotc) (openblas_complex_double *, blasint *, double *, blasint *, double *, blasint *);
88 void BLASFUNC(xdotu) (openblas_complex_xdouble *, blasint *, xdouble *, blasint *, xdouble *, blasint *);
89 void BLASFUNC(xdotc) (openblas_complex_xdouble *, blasint *, xdouble *, blasint *, xdouble *, blasint *);
91 openblas_complex_float BLASFUNC(cdotu) (blasint *, float *, blasint *, float *, blasint *);
92 openblas_complex_float BLASFUNC(cdotc) (blasint *, float *, blasint *, float *, blasint *);
93 openblas_complex_double BLASFUNC(zdotu) (blasint *, double *, blasint *, double *, blasint *);
94 openblas_complex_double BLASFUNC(zdotc) (blasint *, double *, blasint *, double *, blasint *);
95 openblas_complex_xdouble BLASFUNC(xdotu) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
96 openblas_complex_xdouble BLASFUNC(xdotc) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
99 void BLASFUNC(saxpy) (blasint *, float *, float *, blasint *, float *, blasint *);
100 void BLASFUNC(daxpy) (blasint *, double *, double *, blasint *, double *, blasint *);
101 void BLASFUNC(qaxpy) (blasint *, xdouble *, xdouble *, blasint *, xdouble *, blasint *);
102 void BLASFUNC(caxpy) (blasint *, float *, float *, blasint *, float *, blasint *);
103 void BLASFUNC(zaxpy) (blasint *, double *, double *, blasint *, double *, blasint *);
104 void BLASFUNC(xaxpy) (blasint *, xdouble *, xdouble *, blasint *, xdouble *, blasint *);
105 void BLASFUNC(caxpyc)(blasint *, float *, float *, blasint *, float *, blasint *);
106 void BLASFUNC(zaxpyc)(blasint *, double *, double *, blasint *, double *, blasint *);
107 void BLASFUNC(xaxpyc)(blasint *, xdouble *, xdouble *, blasint *, xdouble *, blasint *);
109 void BLASFUNC(scopy) (blasint *, float *, blasint *, float *, blasint *);
110 void BLASFUNC(dcopy) (blasint *, double *, blasint *, double *, blasint *);
111 void BLASFUNC(qcopy) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
112 void BLASFUNC(ccopy) (blasint *, float *, blasint *, float *, blasint *);
113 void BLASFUNC(zcopy) (blasint *, double *, blasint *, double *, blasint *);
114 void BLASFUNC(xcopy) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
116 void BLASFUNC(sswap) (blasint *, float *, blasint *, float *, blasint *);
117 void BLASFUNC(dswap) (blasint *, double *, blasint *, double *, blasint *);
118 void BLASFUNC(qswap) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
119 void BLASFUNC(cswap) (blasint *, float *, blasint *, float *, blasint *);
120 void BLASFUNC(zswap) (blasint *, double *, blasint *, double *, blasint *);
121 void BLASFUNC(xswap) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
123 FLOATRET BLASFUNC(sasum) (blasint *, float *, blasint *);
124 FLOATRET BLASFUNC(scasum)(blasint *, float *, blasint *);
125 double BLASFUNC(dasum) (blasint *, double *, blasint *);
126 xdouble BLASFUNC(qasum) (blasint *, xdouble *, blasint *);
127 double BLASFUNC(dzasum)(blasint *, double *, blasint *);
128 xdouble BLASFUNC(qxasum)(blasint *, xdouble *, blasint *);
130 FLOATRET BLASFUNC(ssum) (blasint *, float *, blasint *);
131 FLOATRET BLASFUNC(scsum)(blasint *, float *, blasint *);
132 double BLASFUNC(dsum) (blasint *, double *, blasint *);
133 xdouble BLASFUNC(qsum) (blasint *, xdouble *, blasint *);
134 double BLASFUNC(dzsum)(blasint *, double *, blasint *);
135 xdouble BLASFUNC(qxsum)(blasint *, xdouble *, blasint *);
137 blasint BLASFUNC(isamax)(blasint *, float *, blasint *);
138 blasint BLASFUNC(idamax)(blasint *, double *, blasint *);
139 blasint BLASFUNC(iqamax)(blasint *, xdouble *, blasint *);
140 blasint BLASFUNC(icamax)(blasint *, float *, blasint *);
141 blasint BLASFUNC(izamax)(blasint *, double *, blasint *);
142 blasint BLASFUNC(ixamax)(blasint *, xdouble *, blasint *);
144 blasint BLASFUNC(ismax) (blasint *, float *, blasint *);
145 blasint BLASFUNC(idmax) (blasint *, double *, blasint *);
146 blasint BLASFUNC(iqmax) (blasint *, xdouble *, blasint *);
147 blasint BLASFUNC(icmax) (blasint *, float *, blasint *);
148 blasint BLASFUNC(izmax) (blasint *, double *, blasint *);
149 blasint BLASFUNC(ixmax) (blasint *, xdouble *, blasint *);
151 blasint BLASFUNC(isamin)(blasint *, float *, blasint *);
152 blasint BLASFUNC(idamin)(blasint *, double *, blasint *);
153 blasint BLASFUNC(iqamin)(blasint *, xdouble *, blasint *);
154 blasint BLASFUNC(icamin)(blasint *, float *, blasint *);
155 blasint BLASFUNC(izamin)(blasint *, double *, blasint *);
156 blasint BLASFUNC(ixamin)(blasint *, xdouble *, blasint *);
158 blasint BLASFUNC(ismin)(blasint *, float *, blasint *);
159 blasint BLASFUNC(idmin)(blasint *, double *, blasint *);
160 blasint BLASFUNC(iqmin)(blasint *, xdouble *, blasint *);
161 blasint BLASFUNC(icmin)(blasint *, float *, blasint *);
162 blasint BLASFUNC(izmin)(blasint *, double *, blasint *);
163 blasint BLASFUNC(ixmin)(blasint *, xdouble *, blasint *);
165 FLOATRET BLASFUNC(samax) (blasint *, float *, blasint *);
166 double BLASFUNC(damax) (blasint *, double *, blasint *);
167 xdouble BLASFUNC(qamax) (blasint *, xdouble *, blasint *);
168 FLOATRET BLASFUNC(scamax)(blasint *, float *, blasint *);
169 double BLASFUNC(dzamax)(blasint *, double *, blasint *);
170 xdouble BLASFUNC(qxamax)(blasint *, xdouble *, blasint *);
172 FLOATRET BLASFUNC(samin) (blasint *, float *, blasint *);
173 double BLASFUNC(damin) (blasint *, double *, blasint *);
174 xdouble BLASFUNC(qamin) (blasint *, xdouble *, blasint *);
175 FLOATRET BLASFUNC(scamin)(blasint *, float *, blasint *);
176 double BLASFUNC(dzamin)(blasint *, double *, blasint *);
177 xdouble BLASFUNC(qxamin)(blasint *, xdouble *, blasint *);
179 FLOATRET BLASFUNC(smax) (blasint *, float *, blasint *);
180 double BLASFUNC(dmax) (blasint *, double *, blasint *);
181 xdouble BLASFUNC(qmax) (blasint *, xdouble *, blasint *);
182 FLOATRET BLASFUNC(scmax) (blasint *, float *, blasint *);
183 double BLASFUNC(dzmax) (blasint *, double *, blasint *);
184 xdouble BLASFUNC(qxmax) (blasint *, xdouble *, blasint *);
186 FLOATRET BLASFUNC(smin) (blasint *, float *, blasint *);
187 double BLASFUNC(dmin) (blasint *, double *, blasint *);
188 xdouble BLASFUNC(qmin) (blasint *, xdouble *, blasint *);
189 FLOATRET BLASFUNC(scmin) (blasint *, float *, blasint *);
190 double BLASFUNC(dzmin) (blasint *, double *, blasint *);
191 xdouble BLASFUNC(qxmin) (blasint *, xdouble *, blasint *);
193 void BLASFUNC(sscal) (blasint *, float *, float *, blasint *);
194 void BLASFUNC(dscal) (blasint *, double *, double *, blasint *);
195 void BLASFUNC(qscal) (blasint *, xdouble *, xdouble *, blasint *);
196 void BLASFUNC(cscal) (blasint *, float *, float *, blasint *);
197 void BLASFUNC(zscal) (blasint *, double *, double *, blasint *);
198 void BLASFUNC(xscal) (blasint *, xdouble *, xdouble *, blasint *);
199 void BLASFUNC(csscal)(blasint *, float *, float *, blasint *);
200 void BLASFUNC(zdscal)(blasint *, double *, double *, blasint *);
201 void BLASFUNC(xqscal)(blasint *, xdouble *, xdouble *, blasint *);
203 FLOATRET BLASFUNC(snrm2) (blasint *, float *, blasint *);
204 FLOATRET BLASFUNC(scnrm2)(blasint *, float *, blasint *);
206 double BLASFUNC(dnrm2) (blasint *, double *, blasint *);
207 xdouble BLASFUNC(qnrm2) (blasint *, xdouble *, blasint *);
208 double BLASFUNC(dznrm2)(blasint *, double *, blasint *);
209 xdouble BLASFUNC(qxnrm2)(blasint *, xdouble *, blasint *);
211 void BLASFUNC(srot) (blasint *, float *, blasint *, float *, blasint *, float *, float *);
212 void BLASFUNC(drot) (blasint *, double *, blasint *, double *, blasint *, double *, double *);
213 void BLASFUNC(qrot) (blasint *, xdouble *, blasint *, xdouble *, blasint *, xdouble *, xdouble *);
214 void BLASFUNC(csrot) (blasint *, float *, blasint *, float *, blasint *, float *, float *);
215 void BLASFUNC(zdrot) (blasint *, double *, blasint *, double *, blasint *, double *, double *);
216 void BLASFUNC(xqrot) (blasint *, xdouble *, blasint *, xdouble *, blasint *, xdouble *, xdouble *);
218 void BLASFUNC(srotg) (float *, float *, float *, float *);
219 void BLASFUNC(drotg) (double *, double *, double *, double *);
220 void BLASFUNC(qrotg) (xdouble *, xdouble *, xdouble *, xdouble *);
221 void BLASFUNC(crotg) (float *, float *, float *, float *);
222 void BLASFUNC(zrotg) (double *, double *, double *, double *);
223 void BLASFUNC(xrotg) (xdouble *, xdouble *, xdouble *, xdouble *);
225 void BLASFUNC(srotmg)(float *, float *, float *, float *, float *);
226 void BLASFUNC(drotmg)(double *, double *, double *, double *, double *);
228 void BLASFUNC(srotm) (blasint *, float *, blasint *, float *, blasint *, float *);
229 void BLASFUNC(drotm) (blasint *, double *, blasint *, double *, blasint *, double *);
230 void BLASFUNC(qrotm) (blasint *, xdouble *, blasint *, xdouble *, blasint *, xdouble *);
232 /* Level 2 routines */
234 void BLASFUNC(sger)(blasint *, blasint *, float *, float *, blasint *,
235 float *, blasint *, float *, blasint *);
236 void BLASFUNC(dger)(blasint *, blasint *, double *, double *, blasint *,
237 double *, blasint *, double *, blasint *);
238 void BLASFUNC(qger)(blasint *, blasint *, xdouble *, xdouble *, blasint *,
239 xdouble *, blasint *, xdouble *, blasint *);
240 void BLASFUNC(cgeru)(blasint *, blasint *, float *, float *, blasint *,
241 float *, blasint *, float *, blasint *);
242 void BLASFUNC(cgerc)(blasint *, blasint *, float *, float *, blasint *,
243 float *, blasint *, float *, blasint *);
244 void BLASFUNC(zgeru)(blasint *, blasint *, double *, double *, blasint *,
245 double *, blasint *, double *, blasint *);
246 void BLASFUNC(zgerc)(blasint *, blasint *, double *, double *, blasint *,
247 double *, blasint *, double *, blasint *);
248 void BLASFUNC(xgeru)(blasint *, blasint *, xdouble *, xdouble *, blasint *,
249 xdouble *, blasint *, xdouble *, blasint *);
250 void BLASFUNC(xgerc)(blasint *, blasint *, xdouble *, xdouble *, blasint *,
251 xdouble *, blasint *, xdouble *, blasint *);
253 void BLASFUNC(sbgemv)(char *, blasint *, blasint *, float *, bfloat16 *, blasint *,
254 bfloat16 *, blasint *, float *, float *, blasint *);
255 void BLASFUNC(sgemv)(char *, blasint *, blasint *, float *, float *, blasint *,
256 float *, blasint *, float *, float *, blasint *);
257 void BLASFUNC(dgemv)(char *, blasint *, blasint *, double *, double *, blasint *,
258 double *, blasint *, double *, double *, blasint *);
259 void BLASFUNC(qgemv)(char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
260 xdouble *, blasint *, xdouble *, xdouble *, blasint *);
261 void BLASFUNC(cgemv)(char *, blasint *, blasint *, float *, float *, blasint *,
262 float *, blasint *, float *, float *, blasint *);
263 void BLASFUNC(zgemv)(char *, blasint *, blasint *, double *, double *, blasint *,
264 double *, blasint *, double *, double *, blasint *);
265 void BLASFUNC(xgemv)(char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
266 xdouble *, blasint *, xdouble *, xdouble *, blasint *);
268 void BLASFUNC(strsv) (char *, char *, char *, blasint *, float *, blasint *,
270 void BLASFUNC(dtrsv) (char *, char *, char *, blasint *, double *, blasint *,
271 double *, blasint *);
272 void BLASFUNC(qtrsv) (char *, char *, char *, blasint *, xdouble *, blasint *,
273 xdouble *, blasint *);
274 void BLASFUNC(ctrsv) (char *, char *, char *, blasint *, float *, blasint *,
276 void BLASFUNC(ztrsv) (char *, char *, char *, blasint *, double *, blasint *,
277 double *, blasint *);
278 void BLASFUNC(xtrsv) (char *, char *, char *, blasint *, xdouble *, blasint *,
279 xdouble *, blasint *);
281 void BLASFUNC(strmv) (char *, char *, char *, blasint *, float *, blasint *,
283 void BLASFUNC(dtrmv) (char *, char *, char *, blasint *, double *, blasint *,
284 double *, blasint *);
285 void BLASFUNC(qtrmv) (char *, char *, char *, blasint *, xdouble *, blasint *,
286 xdouble *, blasint *);
287 void BLASFUNC(ctrmv) (char *, char *, char *, blasint *, float *, blasint *,
289 void BLASFUNC(ztrmv) (char *, char *, char *, blasint *, double *, blasint *,
290 double *, blasint *);
291 void BLASFUNC(xtrmv) (char *, char *, char *, blasint *, xdouble *, blasint *,
292 xdouble *, blasint *);
294 void BLASFUNC(stpsv) (char *, char *, char *, blasint *, float *, float *, blasint *);
295 void BLASFUNC(dtpsv) (char *, char *, char *, blasint *, double *, double *, blasint *);
296 void BLASFUNC(qtpsv) (char *, char *, char *, blasint *, xdouble *, xdouble *, blasint *);
297 void BLASFUNC(ctpsv) (char *, char *, char *, blasint *, float *, float *, blasint *);
298 void BLASFUNC(ztpsv) (char *, char *, char *, blasint *, double *, double *, blasint *);
299 void BLASFUNC(xtpsv) (char *, char *, char *, blasint *, xdouble *, xdouble *, blasint *);
301 void BLASFUNC(stpmv) (char *, char *, char *, blasint *, float *, float *, blasint *);
302 void BLASFUNC(dtpmv) (char *, char *, char *, blasint *, double *, double *, blasint *);
303 void BLASFUNC(qtpmv) (char *, char *, char *, blasint *, xdouble *, xdouble *, blasint *);
304 void BLASFUNC(ctpmv) (char *, char *, char *, blasint *, float *, float *, blasint *);
305 void BLASFUNC(ztpmv) (char *, char *, char *, blasint *, double *, double *, blasint *);
306 void BLASFUNC(xtpmv) (char *, char *, char *, blasint *, xdouble *, xdouble *, blasint *);
308 void BLASFUNC(stbmv) (char *, char *, char *, blasint *, blasint *, float *, blasint *, float *, blasint *);
309 void BLASFUNC(dtbmv) (char *, char *, char *, blasint *, blasint *, double *, blasint *, double *, blasint *);
310 void BLASFUNC(qtbmv) (char *, char *, char *, blasint *, blasint *, xdouble *, blasint *, xdouble *, blasint *);
311 void BLASFUNC(ctbmv) (char *, char *, char *, blasint *, blasint *, float *, blasint *, float *, blasint *);
312 void BLASFUNC(ztbmv) (char *, char *, char *, blasint *, blasint *, double *, blasint *, double *, blasint *);
313 void BLASFUNC(xtbmv) (char *, char *, char *, blasint *, blasint *, xdouble *, blasint *, xdouble *, blasint *);
315 void BLASFUNC(stbsv) (char *, char *, char *, blasint *, blasint *, float *, blasint *, float *, blasint *);
316 void BLASFUNC(dtbsv) (char *, char *, char *, blasint *, blasint *, double *, blasint *, double *, blasint *);
317 void BLASFUNC(qtbsv) (char *, char *, char *, blasint *, blasint *, xdouble *, blasint *, xdouble *, blasint *);
318 void BLASFUNC(ctbsv) (char *, char *, char *, blasint *, blasint *, float *, blasint *, float *, blasint *);
319 void BLASFUNC(ztbsv) (char *, char *, char *, blasint *, blasint *, double *, blasint *, double *, blasint *);
320 void BLASFUNC(xtbsv) (char *, char *, char *, blasint *, blasint *, xdouble *, blasint *, xdouble *, blasint *);
322 void BLASFUNC(ssymv) (char *, blasint *, float *, float *, blasint *,
323 float *, blasint *, float *, float *, blasint *);
324 void BLASFUNC(dsymv) (char *, blasint *, double *, double *, blasint *,
325 double *, blasint *, double *, double *, blasint *);
326 void BLASFUNC(qsymv) (char *, blasint *, xdouble *, xdouble *, blasint *,
327 xdouble *, blasint *, xdouble *, xdouble *, blasint *);
328 void BLASFUNC(csymv) (char *, blasint *, float *, float *, blasint *,
329 float *, blasint *, float *, float *, blasint *);
330 void BLASFUNC(zsymv) (char *, blasint *, double *, double *, blasint *,
331 double *, blasint *, double *, double *, blasint *);
332 void BLASFUNC(xsymv) (char *, blasint *, xdouble *, xdouble *, blasint *,
333 xdouble *, blasint *, xdouble *, xdouble *, blasint *);
335 void BLASFUNC(sspmv) (char *, blasint *, float *, float *,
336 float *, blasint *, float *, float *, blasint *);
337 void BLASFUNC(dspmv) (char *, blasint *, double *, double *,
338 double *, blasint *, double *, double *, blasint *);
339 void BLASFUNC(qspmv) (char *, blasint *, xdouble *, xdouble *,
340 xdouble *, blasint *, xdouble *, xdouble *, blasint *);
341 void BLASFUNC(cspmv) (char *, blasint *, float *, float *,
342 float *, blasint *, float *, float *, blasint *);
343 void BLASFUNC(zspmv) (char *, blasint *, double *, double *,
344 double *, blasint *, double *, double *, blasint *);
345 void BLASFUNC(xspmv) (char *, blasint *, xdouble *, xdouble *,
346 xdouble *, blasint *, xdouble *, xdouble *, blasint *);
348 void BLASFUNC(ssyr) (char *, blasint *, float *, float *, blasint *,
350 void BLASFUNC(dsyr) (char *, blasint *, double *, double *, blasint *,
351 double *, blasint *);
352 void BLASFUNC(qsyr) (char *, blasint *, xdouble *, xdouble *, blasint *,
353 xdouble *, blasint *);
354 void BLASFUNC(csyr) (char *, blasint *, float *, float *, blasint *,
356 void BLASFUNC(zsyr) (char *, blasint *, double *, double *, blasint *,
357 double *, blasint *);
358 void BLASFUNC(xsyr) (char *, blasint *, xdouble *, xdouble *, blasint *,
359 xdouble *, blasint *);
361 void BLASFUNC(ssyr2) (char *, blasint *, float *,
362 float *, blasint *, float *, blasint *, float *, blasint *);
363 void BLASFUNC(dsyr2) (char *, blasint *, double *,
364 double *, blasint *, double *, blasint *, double *, blasint *);
365 void BLASFUNC(qsyr2) (char *, blasint *, xdouble *,
366 xdouble *, blasint *, xdouble *, blasint *, xdouble *, blasint *);
367 void BLASFUNC(csyr2) (char *, blasint *, float *,
368 float *, blasint *, float *, blasint *, float *, blasint *);
369 void BLASFUNC(zsyr2) (char *, blasint *, double *,
370 double *, blasint *, double *, blasint *, double *, blasint *);
371 void BLASFUNC(xsyr2) (char *, blasint *, xdouble *,
372 xdouble *, blasint *, xdouble *, blasint *, xdouble *, blasint *);
374 void BLASFUNC(sspr) (char *, blasint *, float *, float *, blasint *,
376 void BLASFUNC(dspr) (char *, blasint *, double *, double *, blasint *,
378 void BLASFUNC(qspr) (char *, blasint *, xdouble *, xdouble *, blasint *,
380 void BLASFUNC(cspr) (char *, blasint *, float *, float *, blasint *,
382 void BLASFUNC(zspr) (char *, blasint *, double *, double *, blasint *,
384 void BLASFUNC(xspr) (char *, blasint *, xdouble *, xdouble *, blasint *,
387 void BLASFUNC(sspr2) (char *, blasint *, float *,
388 float *, blasint *, float *, blasint *, float *);
389 void BLASFUNC(dspr2) (char *, blasint *, double *,
390 double *, blasint *, double *, blasint *, double *);
391 void BLASFUNC(qspr2) (char *, blasint *, xdouble *,
392 xdouble *, blasint *, xdouble *, blasint *, xdouble *);
393 void BLASFUNC(cspr2) (char *, blasint *, float *,
394 float *, blasint *, float *, blasint *, float *);
395 void BLASFUNC(zspr2) (char *, blasint *, double *,
396 double *, blasint *, double *, blasint *, double *);
397 void BLASFUNC(xspr2) (char *, blasint *, xdouble *,
398 xdouble *, blasint *, xdouble *, blasint *, xdouble *);
400 void BLASFUNC(cher) (char *, blasint *, float *, float *, blasint *,
402 void BLASFUNC(zher) (char *, blasint *, double *, double *, blasint *,
403 double *, blasint *);
404 void BLASFUNC(xher) (char *, blasint *, xdouble *, xdouble *, blasint *,
405 xdouble *, blasint *);
407 void BLASFUNC(chpr) (char *, blasint *, float *, float *, blasint *, float *);
408 void BLASFUNC(zhpr) (char *, blasint *, double *, double *, blasint *, double *);
409 void BLASFUNC(xhpr) (char *, blasint *, xdouble *, xdouble *, blasint *, xdouble *);
411 void BLASFUNC(cher2) (char *, blasint *, float *,
412 float *, blasint *, float *, blasint *, float *, blasint *);
413 void BLASFUNC(zher2) (char *, blasint *, double *,
414 double *, blasint *, double *, blasint *, double *, blasint *);
415 void BLASFUNC(xher2) (char *, blasint *, xdouble *,
416 xdouble *, blasint *, xdouble *, blasint *, xdouble *, blasint *);
418 void BLASFUNC(chpr2) (char *, blasint *, float *,
419 float *, blasint *, float *, blasint *, float *);
420 void BLASFUNC(zhpr2) (char *, blasint *, double *,
421 double *, blasint *, double *, blasint *, double *);
422 void BLASFUNC(xhpr2) (char *, blasint *, xdouble *,
423 xdouble *, blasint *, xdouble *, blasint *, xdouble *);
425 void BLASFUNC(chemv) (char *, blasint *, float *, float *, blasint *,
426 float *, blasint *, float *, float *, blasint *);
427 void BLASFUNC(zhemv) (char *, blasint *, double *, double *, blasint *,
428 double *, blasint *, double *, double *, blasint *);
429 void BLASFUNC(xhemv) (char *, blasint *, xdouble *, xdouble *, blasint *,
430 xdouble *, blasint *, xdouble *, xdouble *, blasint *);
432 void BLASFUNC(chpmv) (char *, blasint *, float *, float *,
433 float *, blasint *, float *, float *, blasint *);
434 void BLASFUNC(zhpmv) (char *, blasint *, double *, double *,
435 double *, blasint *, double *, double *, blasint *);
436 void BLASFUNC(xhpmv) (char *, blasint *, xdouble *, xdouble *,
437 xdouble *, blasint *, xdouble *, xdouble *, blasint *);
439 int BLASFUNC(snorm)(char *, blasint *, blasint *, float *, blasint *);
440 int BLASFUNC(dnorm)(char *, blasint *, blasint *, double *, blasint *);
441 int BLASFUNC(cnorm)(char *, blasint *, blasint *, float *, blasint *);
442 int BLASFUNC(znorm)(char *, blasint *, blasint *, double *, blasint *);
444 void BLASFUNC(sgbmv)(char *, blasint *, blasint *, blasint *, blasint *, float *, float *, blasint *,
445 float *, blasint *, float *, float *, blasint *);
446 void BLASFUNC(dgbmv)(char *, blasint *, blasint *, blasint *, blasint *, double *, double *, blasint *,
447 double *, blasint *, double *, double *, blasint *);
448 void BLASFUNC(qgbmv)(char *, blasint *, blasint *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
449 xdouble *, blasint *, xdouble *, xdouble *, blasint *);
450 void BLASFUNC(cgbmv)(char *, blasint *, blasint *, blasint *, blasint *, float *, float *, blasint *,
451 float *, blasint *, float *, float *, blasint *);
452 void BLASFUNC(zgbmv)(char *, blasint *, blasint *, blasint *, blasint *, double *, double *, blasint *,
453 double *, blasint *, double *, double *, blasint *);
454 void BLASFUNC(xgbmv)(char *, blasint *, blasint *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
455 xdouble *, blasint *, xdouble *, xdouble *, blasint *);
457 void BLASFUNC(ssbmv)(char *, blasint *, blasint *, float *, float *, blasint *,
458 float *, blasint *, float *, float *, blasint *);
459 void BLASFUNC(dsbmv)(char *, blasint *, blasint *, double *, double *, blasint *,
460 double *, blasint *, double *, double *, blasint *);
461 void BLASFUNC(qsbmv)(char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
462 xdouble *, blasint *, xdouble *, xdouble *, blasint *);
463 void BLASFUNC(csbmv)(char *, blasint *, blasint *, float *, float *, blasint *,
464 float *, blasint *, float *, float *, blasint *);
465 void BLASFUNC(zsbmv)(char *, blasint *, blasint *, double *, double *, blasint *,
466 double *, blasint *, double *, double *, blasint *);
467 void BLASFUNC(xsbmv)(char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
468 xdouble *, blasint *, xdouble *, xdouble *, blasint *);
470 void BLASFUNC(chbmv)(char *, blasint *, blasint *, float *, float *, blasint *,
471 float *, blasint *, float *, float *, blasint *);
472 void BLASFUNC(zhbmv)(char *, blasint *, blasint *, double *, double *, blasint *,
473 double *, blasint *, double *, double *, blasint *);
474 void BLASFUNC(xhbmv)(char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
475 xdouble *, blasint *, xdouble *, xdouble *, blasint *);
477 /* Level 3 routines */
479 void BLASFUNC(sbgemm)(char *, char *, blasint *, blasint *, blasint *, float *,
480 bfloat16 *, blasint *, bfloat16 *, blasint *, float *, float *, blasint *);
481 void BLASFUNC(sgemm)(char *, char *, blasint *, blasint *, blasint *, float *,
482 float *, blasint *, float *, blasint *, float *, float *, blasint *);
483 void BLASFUNC(dgemm)(char *, char *, blasint *, blasint *, blasint *, double *,
484 double *, blasint *, double *, blasint *, double *, double *, blasint *);
485 void BLASFUNC(qgemm)(char *, char *, blasint *, blasint *, blasint *, xdouble *,
486 xdouble *, blasint *, xdouble *, blasint *, xdouble *, xdouble *, blasint *);
487 void BLASFUNC(cgemm)(char *, char *, blasint *, blasint *, blasint *, float *,
488 float *, blasint *, float *, blasint *, float *, float *, blasint *);
489 void BLASFUNC(zgemm)(char *, char *, blasint *, blasint *, blasint *, double *,
490 double *, blasint *, double *, blasint *, double *, double *, blasint *);
491 void BLASFUNC(xgemm)(char *, char *, blasint *, blasint *, blasint *, xdouble *,
492 xdouble *, blasint *, xdouble *, blasint *, xdouble *, xdouble *, blasint *);
494 void BLASFUNC(cgemm3m)(char *, char *, blasint *, blasint *, blasint *, float *,
495 float *, blasint *, float *, blasint *, float *, float *, blasint *);
496 void BLASFUNC(zgemm3m)(char *, char *, blasint *, blasint *, blasint *, double *,
497 double *, blasint *, double *, blasint *, double *, double *, blasint *);
498 void BLASFUNC(xgemm3m)(char *, char *, blasint *, blasint *, blasint *, xdouble *,
499 xdouble *, blasint *, xdouble *, blasint *, xdouble *, xdouble *, blasint *);
501 int BLASFUNC(sge2mm)(char *, char *, char *, blasint *, blasint *,
502 float *, float *, blasint *, float *, blasint *,
503 float *, float *, blasint *);
504 int BLASFUNC(dge2mm)(char *, char *, char *, blasint *, blasint *,
505 double *, double *, blasint *, double *, blasint *,
506 double *, double *, blasint *);
507 int BLASFUNC(cge2mm)(char *, char *, char *, blasint *, blasint *,
508 float *, float *, blasint *, float *, blasint *,
509 float *, float *, blasint *);
510 int BLASFUNC(zge2mm)(char *, char *, char *, blasint *, blasint *,
511 double *, double *, blasint *, double *, blasint *,
512 double *, double *, blasint *);
514 void BLASFUNC(strsm)(char *, char *, char *, char *, blasint *, blasint *,
515 float *, float *, blasint *, float *, blasint *);
516 void BLASFUNC(dtrsm)(char *, char *, char *, char *, blasint *, blasint *,
517 double *, double *, blasint *, double *, blasint *);
518 void BLASFUNC(qtrsm)(char *, char *, char *, char *, blasint *, blasint *,
519 xdouble *, xdouble *, blasint *, xdouble *, blasint *);
520 void BLASFUNC(ctrsm)(char *, char *, char *, char *, blasint *, blasint *,
521 float *, float *, blasint *, float *, blasint *);
522 void BLASFUNC(ztrsm)(char *, char *, char *, char *, blasint *, blasint *,
523 double *, double *, blasint *, double *, blasint *);
524 void BLASFUNC(xtrsm)(char *, char *, char *, char *, blasint *, blasint *,
525 xdouble *, xdouble *, blasint *, xdouble *, blasint *);
527 void BLASFUNC(strmm)(char *, char *, char *, char *, blasint *, blasint *,
528 float *, float *, blasint *, float *, blasint *);
529 void BLASFUNC(dtrmm)(char *, char *, char *, char *, blasint *, blasint *,
530 double *, double *, blasint *, double *, blasint *);
531 void BLASFUNC(qtrmm)(char *, char *, char *, char *, blasint *, blasint *,
532 xdouble *, xdouble *, blasint *, xdouble *, blasint *);
533 void BLASFUNC(ctrmm)(char *, char *, char *, char *, blasint *, blasint *,
534 float *, float *, blasint *, float *, blasint *);
535 void BLASFUNC(ztrmm)(char *, char *, char *, char *, blasint *, blasint *,
536 double *, double *, blasint *, double *, blasint *);
537 void BLASFUNC(xtrmm)(char *, char *, char *, char *, blasint *, blasint *,
538 xdouble *, xdouble *, blasint *, xdouble *, blasint *);
540 void BLASFUNC(ssymm)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
541 float *, blasint *, float *, float *, blasint *);
542 void BLASFUNC(dsymm)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
543 double *, blasint *, double *, double *, blasint *);
544 void BLASFUNC(qsymm)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
545 xdouble *, blasint *, xdouble *, xdouble *, blasint *);
546 void BLASFUNC(csymm)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
547 float *, blasint *, float *, float *, blasint *);
548 void BLASFUNC(zsymm)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
549 double *, blasint *, double *, double *, blasint *);
550 void BLASFUNC(xsymm)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
551 xdouble *, blasint *, xdouble *, xdouble *, blasint *);
553 void BLASFUNC(csymm3m)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
554 float *, blasint *, float *, float *, blasint *);
555 void BLASFUNC(zsymm3m)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
556 double *, blasint *, double *, double *, blasint *);
557 void BLASFUNC(xsymm3m)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
558 xdouble *, blasint *, xdouble *, xdouble *, blasint *);
560 void BLASFUNC(ssyrk)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
561 float *, float *, blasint *);
562 void BLASFUNC(dsyrk)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
563 double *, double *, blasint *);
564 void BLASFUNC(qsyrk)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
565 xdouble *, xdouble *, blasint *);
566 void BLASFUNC(csyrk)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
567 float *, float *, blasint *);
568 void BLASFUNC(zsyrk)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
569 double *, double *, blasint *);
570 void BLASFUNC(xsyrk)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
571 xdouble *, xdouble *, blasint *);
573 void BLASFUNC(ssyr2k)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
574 float *, blasint *, float *, float *, blasint *);
575 void BLASFUNC(dsyr2k)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
576 double*, blasint *, double *, double *, blasint *);
577 void BLASFUNC(qsyr2k)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
578 xdouble*, blasint *, xdouble *, xdouble *, blasint *);
579 void BLASFUNC(csyr2k)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
580 float *, blasint *, float *, float *, blasint *);
581 void BLASFUNC(zsyr2k)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
582 double*, blasint *, double *, double *, blasint *);
583 void BLASFUNC(xsyr2k)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
584 xdouble*, blasint *, xdouble *, xdouble *, blasint *);
586 void BLASFUNC(chemm)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
587 float *, blasint *, float *, float *, blasint *);
588 void BLASFUNC(zhemm)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
589 double *, blasint *, double *, double *, blasint *);
590 void BLASFUNC(xhemm)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
591 xdouble *, blasint *, xdouble *, xdouble *, blasint *);
593 void BLASFUNC(chemm3m)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
594 float *, blasint *, float *, float *, blasint *);
595 void BLASFUNC(zhemm3m)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
596 double *, blasint *, double *, double *, blasint *);
597 void BLASFUNC(xhemm3m)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
598 xdouble *, blasint *, xdouble *, xdouble *, blasint *);
600 void BLASFUNC(cherk)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
601 float *, float *, blasint *);
602 void BLASFUNC(zherk)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
603 double *, double *, blasint *);
604 void BLASFUNC(xherk)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
605 xdouble *, xdouble *, blasint *);
607 void BLASFUNC(cher2k)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
608 float *, blasint *, float *, float *, blasint *);
609 void BLASFUNC(zher2k)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
610 double*, blasint *, double *, double *, blasint *);
611 void BLASFUNC(xher2k)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
612 xdouble*, blasint *, xdouble *, xdouble *, blasint *);
614 int BLASFUNC(cher2m)(char *, char *, char *, blasint *, blasint *, float *, float *, blasint *,
615 float *, blasint *, float *, float *, blasint *);
616 int BLASFUNC(zher2m)(char *, char *, char *, blasint *, blasint *, double *, double *, blasint *,
617 double*, blasint *, double *, double *, blasint *);
618 int BLASFUNC(xher2m)(char *, char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
619 xdouble*, blasint *, xdouble *, xdouble *, blasint *);
621 int BLASFUNC(sgemt)(char *, blasint *, blasint *, float *, float *, blasint *,
623 int BLASFUNC(dgemt)(char *, blasint *, blasint *, double *, double *, blasint *,
624 double *, blasint *);
625 int BLASFUNC(cgemt)(char *, blasint *, blasint *, float *, float *, blasint *,
627 int BLASFUNC(zgemt)(char *, blasint *, blasint *, double *, double *, blasint *,
628 double *, blasint *);
630 int BLASFUNC(sgema)(char *, char *, blasint *, blasint *, float *,
631 float *, blasint *, float *, float *, blasint *, float *, blasint *);
632 int BLASFUNC(dgema)(char *, char *, blasint *, blasint *, double *,
633 double *, blasint *, double*, double *, blasint *, double*, blasint *);
634 int BLASFUNC(cgema)(char *, char *, blasint *, blasint *, float *,
635 float *, blasint *, float *, float *, blasint *, float *, blasint *);
636 int BLASFUNC(zgema)(char *, char *, blasint *, blasint *, double *,
637 double *, blasint *, double*, double *, blasint *, double*, blasint *);
639 int BLASFUNC(sgems)(char *, char *, blasint *, blasint *, float *,
640 float *, blasint *, float *, float *, blasint *, float *, blasint *);
641 int BLASFUNC(dgems)(char *, char *, blasint *, blasint *, double *,
642 double *, blasint *, double*, double *, blasint *, double*, blasint *);
643 int BLASFUNC(cgems)(char *, char *, blasint *, blasint *, float *,
644 float *, blasint *, float *, float *, blasint *, float *, blasint *);
645 int BLASFUNC(zgems)(char *, char *, blasint *, blasint *, double *,
646 double *, blasint *, double*, double *, blasint *, double*, blasint *);
648 int BLASFUNC(sgemc)(char *, char *, blasint *, blasint *, blasint *, float *,
649 float *, blasint *, float *, blasint *, float *, blasint *, float *, float *, blasint *);
650 int BLASFUNC(dgemc)(char *, char *, blasint *, blasint *, blasint *, double *,
651 double *, blasint *, double *, blasint *, double *, blasint *, double *, double *, blasint *);
652 int BLASFUNC(qgemc)(char *, char *, blasint *, blasint *, blasint *, xdouble *,
653 xdouble *, blasint *, xdouble *, blasint *, xdouble *, blasint *, xdouble *, xdouble *, blasint *);
654 int BLASFUNC(cgemc)(char *, char *, blasint *, blasint *, blasint *, float *,
655 float *, blasint *, float *, blasint *, float *, blasint *, float *, float *, blasint *);
656 int BLASFUNC(zgemc)(char *, char *, blasint *, blasint *, blasint *, double *,
657 double *, blasint *, double *, blasint *, double *, blasint *, double *, double *, blasint *);
658 int BLASFUNC(xgemc)(char *, char *, blasint *, blasint *, blasint *, xdouble *,
659 xdouble *, blasint *, xdouble *, blasint *, xdouble *, blasint *, xdouble *, xdouble *, blasint *);
661 /* Lapack routines */
663 int BLASFUNC(sgetf2)(blasint *, blasint *, float *, blasint *, blasint *, blasint *);
664 int BLASFUNC(dgetf2)(blasint *, blasint *, double *, blasint *, blasint *, blasint *);
665 int BLASFUNC(qgetf2)(blasint *, blasint *, xdouble *, blasint *, blasint *, blasint *);
666 int BLASFUNC(cgetf2)(blasint *, blasint *, float *, blasint *, blasint *, blasint *);
667 int BLASFUNC(zgetf2)(blasint *, blasint *, double *, blasint *, blasint *, blasint *);
668 int BLASFUNC(xgetf2)(blasint *, blasint *, xdouble *, blasint *, blasint *, blasint *);
670 int BLASFUNC(sgetrf)(blasint *, blasint *, float *, blasint *, blasint *, blasint *);
671 int BLASFUNC(dgetrf)(blasint *, blasint *, double *, blasint *, blasint *, blasint *);
672 int BLASFUNC(qgetrf)(blasint *, blasint *, xdouble *, blasint *, blasint *, blasint *);
673 int BLASFUNC(cgetrf)(blasint *, blasint *, float *, blasint *, blasint *, blasint *);
674 int BLASFUNC(zgetrf)(blasint *, blasint *, double *, blasint *, blasint *, blasint *);
675 int BLASFUNC(xgetrf)(blasint *, blasint *, xdouble *, blasint *, blasint *, blasint *);
677 int BLASFUNC(slaswp)(blasint *, float *, blasint *, blasint *, blasint *, blasint *, blasint *);
678 int BLASFUNC(dlaswp)(blasint *, double *, blasint *, blasint *, blasint *, blasint *, blasint *);
679 int BLASFUNC(qlaswp)(blasint *, xdouble *, blasint *, blasint *, blasint *, blasint *, blasint *);
680 int BLASFUNC(claswp)(blasint *, float *, blasint *, blasint *, blasint *, blasint *, blasint *);
681 int BLASFUNC(zlaswp)(blasint *, double *, blasint *, blasint *, blasint *, blasint *, blasint *);
682 int BLASFUNC(xlaswp)(blasint *, xdouble *, blasint *, blasint *, blasint *, blasint *, blasint *);
684 int BLASFUNC(sgetrs)(char *, blasint *, blasint *, float *, blasint *, blasint *, float *, blasint *, blasint *);
685 int BLASFUNC(dgetrs)(char *, blasint *, blasint *, double *, blasint *, blasint *, double *, blasint *, blasint *);
686 int BLASFUNC(qgetrs)(char *, blasint *, blasint *, xdouble *, blasint *, blasint *, xdouble *, blasint *, blasint *);
687 int BLASFUNC(cgetrs)(char *, blasint *, blasint *, float *, blasint *, blasint *, float *, blasint *, blasint *);
688 int BLASFUNC(zgetrs)(char *, blasint *, blasint *, double *, blasint *, blasint *, double *, blasint *, blasint *);
689 int BLASFUNC(xgetrs)(char *, blasint *, blasint *, xdouble *, blasint *, blasint *, xdouble *, blasint *, blasint *);
691 int BLASFUNC(sgesv)(blasint *, blasint *, float *, blasint *, blasint *, float *, blasint *, blasint *);
692 int BLASFUNC(dgesv)(blasint *, blasint *, double *, blasint *, blasint *, double*, blasint *, blasint *);
693 int BLASFUNC(qgesv)(blasint *, blasint *, xdouble *, blasint *, blasint *, xdouble*, blasint *, blasint *);
694 int BLASFUNC(cgesv)(blasint *, blasint *, float *, blasint *, blasint *, float *, blasint *, blasint *);
695 int BLASFUNC(zgesv)(blasint *, blasint *, double *, blasint *, blasint *, double*, blasint *, blasint *);
696 int BLASFUNC(xgesv)(blasint *, blasint *, xdouble *, blasint *, blasint *, xdouble*, blasint *, blasint *);
698 int BLASFUNC(spotf2)(char *, blasint *, float *, blasint *, blasint *);
699 int BLASFUNC(dpotf2)(char *, blasint *, double *, blasint *, blasint *);
700 int BLASFUNC(qpotf2)(char *, blasint *, xdouble *, blasint *, blasint *);
701 int BLASFUNC(cpotf2)(char *, blasint *, float *, blasint *, blasint *);
702 int BLASFUNC(zpotf2)(char *, blasint *, double *, blasint *, blasint *);
703 int BLASFUNC(xpotf2)(char *, blasint *, xdouble *, blasint *, blasint *);
705 int BLASFUNC(spotrf)(char *, blasint *, float *, blasint *, blasint *);
706 int BLASFUNC(dpotrf)(char *, blasint *, double *, blasint *, blasint *);
707 int BLASFUNC(qpotrf)(char *, blasint *, xdouble *, blasint *, blasint *);
708 int BLASFUNC(cpotrf)(char *, blasint *, float *, blasint *, blasint *);
709 int BLASFUNC(zpotrf)(char *, blasint *, double *, blasint *, blasint *);
710 int BLASFUNC(xpotrf)(char *, blasint *, xdouble *, blasint *, blasint *);
712 int BLASFUNC(spotri)(char *, blasint *, float *, blasint *, blasint *);
713 int BLASFUNC(dpotri)(char *, blasint *, double *, blasint *, blasint *);
714 int BLASFUNC(qpotri)(char *, blasint *, xdouble *, blasint *, blasint *);
715 int BLASFUNC(cpotri)(char *, blasint *, float *, blasint *, blasint *);
716 int BLASFUNC(zpotri)(char *, blasint *, double *, blasint *, blasint *);
717 int BLASFUNC(xpotri)(char *, blasint *, xdouble *, blasint *, blasint *);
719 int BLASFUNC(spotrs)(char *, blasint *, blasint *, float *, blasint *, float *, blasint *, blasint *);
720 int BLASFUNC(dpotrs)(char *, blasint *, blasint *, double *, blasint *, double *, blasint *, blasint *);
721 int BLASFUNC(qpotrs)(char *, blasint *, blasint *, xdouble *, blasint *, xdouble *, blasint *, blasint *);
722 int BLASFUNC(cpotrs)(char *, blasint *, blasint *, float *, blasint *, float *, blasint *, blasint *);
723 int BLASFUNC(zpotrs)(char *, blasint *, blasint *, double *, blasint *, double *, blasint *, blasint *);
724 int BLASFUNC(xpotrs)(char *, blasint *, blasint *, xdouble *, blasint *, xdouble *, blasint *, blasint *);
726 int BLASFUNC(slauu2)(char *, blasint *, float *, blasint *, blasint *);
727 int BLASFUNC(dlauu2)(char *, blasint *, double *, blasint *, blasint *);
728 int BLASFUNC(qlauu2)(char *, blasint *, xdouble *, blasint *, blasint *);
729 int BLASFUNC(clauu2)(char *, blasint *, float *, blasint *, blasint *);
730 int BLASFUNC(zlauu2)(char *, blasint *, double *, blasint *, blasint *);
731 int BLASFUNC(xlauu2)(char *, blasint *, xdouble *, blasint *, blasint *);
733 int BLASFUNC(slauum)(char *, blasint *, float *, blasint *, blasint *);
734 int BLASFUNC(dlauum)(char *, blasint *, double *, blasint *, blasint *);
735 int BLASFUNC(qlauum)(char *, blasint *, xdouble *, blasint *, blasint *);
736 int BLASFUNC(clauum)(char *, blasint *, float *, blasint *, blasint *);
737 int BLASFUNC(zlauum)(char *, blasint *, double *, blasint *, blasint *);
738 int BLASFUNC(xlauum)(char *, blasint *, xdouble *, blasint *, blasint *);
740 int BLASFUNC(strti2)(char *, char *, blasint *, float *, blasint *, blasint *);
741 int BLASFUNC(dtrti2)(char *, char *, blasint *, double *, blasint *, blasint *);
742 int BLASFUNC(qtrti2)(char *, char *, blasint *, xdouble *, blasint *, blasint *);
743 int BLASFUNC(ctrti2)(char *, char *, blasint *, float *, blasint *, blasint *);
744 int BLASFUNC(ztrti2)(char *, char *, blasint *, double *, blasint *, blasint *);
745 int BLASFUNC(xtrti2)(char *, char *, blasint *, xdouble *, blasint *, blasint *);
747 int BLASFUNC(strtri)(char *, char *, blasint *, float *, blasint *, blasint *);
748 int BLASFUNC(dtrtri)(char *, char *, blasint *, double *, blasint *, blasint *);
749 int BLASFUNC(qtrtri)(char *, char *, blasint *, xdouble *, blasint *, blasint *);
750 int BLASFUNC(ctrtri)(char *, char *, blasint *, float *, blasint *, blasint *);
751 int BLASFUNC(ztrtri)(char *, char *, blasint *, double *, blasint *, blasint *);
752 int BLASFUNC(xtrtri)(char *, char *, blasint *, xdouble *, blasint *, blasint *);
755 FLOATRET BLASFUNC(slamch)(char *);
756 double BLASFUNC(dlamch)(char *);
757 xdouble BLASFUNC(qlamch)(char *);
759 FLOATRET BLASFUNC(slamc3)(float *, float *);
760 double BLASFUNC(dlamc3)(double *, double *);
761 xdouble BLASFUNC(qlamc3)(xdouble *, xdouble *);
763 /* BLAS extensions */
765 void BLASFUNC(saxpby) (blasint *, float *, float *, blasint *, float *, float *, blasint *);
766 void BLASFUNC(daxpby) (blasint *, double *, double *, blasint *, double *, double *, blasint *);
767 void BLASFUNC(caxpby) (blasint *, float *, float *, blasint *, float *, float *, blasint *);
768 void BLASFUNC(zaxpby) (blasint *, double *, double *, blasint *, double *, double *, blasint *);
770 void BLASFUNC(somatcopy) (char *, char *, blasint *, blasint *, float *, float *, blasint *, float *, blasint *);
771 void BLASFUNC(domatcopy) (char *, char *, blasint *, blasint *, double *, double *, blasint *, double *, blasint *);
772 void BLASFUNC(comatcopy) (char *, char *, blasint *, blasint *, float *, float *, blasint *, float *, blasint *);
773 void BLASFUNC(zomatcopy) (char *, char *, blasint *, blasint *, double *, double *, blasint *, double *, blasint *);
775 void BLASFUNC(simatcopy) (char *, char *, blasint *, blasint *, float *, float *, blasint *, blasint *);
776 void BLASFUNC(dimatcopy) (char *, char *, blasint *, blasint *, double *, double *, blasint *, blasint *);
777 void BLASFUNC(cimatcopy) (char *, char *, blasint *, blasint *, float *, float *, blasint *, blasint *);
778 void BLASFUNC(zimatcopy) (char *, char *, blasint *, blasint *, double *, double *, blasint *, blasint *);
780 void BLASFUNC(sgeadd) (blasint *, blasint *, float *, float *, blasint *, float *, float *, blasint*);
781 void BLASFUNC(dgeadd) (blasint *, blasint *, double *, double *, blasint *, double *, double *, blasint*);
782 void BLASFUNC(cgeadd) (blasint *, blasint *, float *, float *, blasint *, float *, float *, blasint*);
783 void BLASFUNC(zgeadd) (blasint *, blasint *, double *, double *, blasint *, double *, double *, blasint*);
789 #endif /* __cplusplus */