1 USING: alien.fortran kernel math.blas.config namespaces ;
2 FROM: alien.libraries => deploy-library ;
6 "blas" blas-library blas-fortran-abi [ get ] bi@
9 deploy-blas? get [ "blas" deploy-library ] when
14 ! Level 1 BLAS (scalar-vector and vector-vector)
17 ( INTEGER N, REAL ALPHA, REAL(*) X, INTEGER INCX, REAL(*) Y, INTEGER INCY ) ;
18 FUNCTION: DOUBLE-PRECISION DSDOT
19 ( INTEGER N, DOUBLE-PRECISION(*) X, INTEGER INCX, REAL(*) Y, INTEGER INCY ) ;
21 ( INTEGER N, REAL(*) X, INTEGER INCX, REAL(*) Y, INTEGER INCY ) ;
22 FUNCTION: DOUBLE-PRECISION DDOT
23 ( INTEGER N, DOUBLE-PRECISION(*) X, INTEGER INCX, DOUBLE-PRECISION(*) Y, INTEGER INCY ) ;
25 FUNCTION: COMPLEX CDOTU
26 ( INTEGER N, COMPLEX(*) X, INTEGER INCX, COMPLEX(*) Y, INTEGER INCY ) ;
27 FUNCTION: COMPLEX CDOTC
28 ( INTEGER N, COMPLEX(*) X, INTEGER INCX, COMPLEX(*) Y, INTEGER INCY ) ;
30 FUNCTION: DOUBLE-COMPLEX ZDOTU
31 ( INTEGER N, DOUBLE-COMPLEX(*) X, INTEGER INCX, DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
32 FUNCTION: DOUBLE-COMPLEX ZDOTC
33 ( INTEGER N, DOUBLE-COMPLEX(*) X, INTEGER INCX, DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
36 ( INTEGER N, REAL(*) X, INTEGER INCX ) ;
38 ( INTEGER N, REAL(*) X, INTEGER INCX ) ;
40 FUNCTION: DOUBLE-PRECISION DNRM2
41 ( INTEGER N, DOUBLE-PRECISION(*) X, INTEGER INCX ) ;
42 FUNCTION: DOUBLE-PRECISION DASUM
43 ( INTEGER N, DOUBLE-PRECISION(*) X, INTEGER INCX ) ;
46 ( INTEGER N, COMPLEX(*) X, INTEGER INCX ) ;
48 ( INTEGER N, COMPLEX(*) X, INTEGER INCX ) ;
50 FUNCTION: DOUBLE-PRECISION DZNRM2
51 ( INTEGER N, DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
52 FUNCTION: DOUBLE-PRECISION DZASUM
53 ( INTEGER N, DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
55 FUNCTION: INTEGER ISAMAX
56 ( INTEGER N, REAL(*) X, INTEGER INCX ) ;
57 FUNCTION: INTEGER IDAMAX
58 ( INTEGER N, DOUBLE-PRECISION(*) X, INTEGER INCX ) ;
59 FUNCTION: INTEGER ICAMAX
60 ( INTEGER N, COMPLEX(*) X, INTEGER INCX ) ;
61 FUNCTION: INTEGER IZAMAX
62 ( INTEGER N, DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
65 ( INTEGER N, REAL(*) X, INTEGER INCX, REAL(*) Y, INTEGER INCY ) ;
67 ( INTEGER N, REAL(*) X, INTEGER INCX, REAL(*) Y, INTEGER INCY ) ;
69 ( INTEGER N, REAL ALPHA, REAL(*) X, INTEGER INCX, REAL(*) Y, INTEGER INCY ) ;
72 ( INTEGER N, DOUBLE-PRECISION(*) X, INTEGER INCX, DOUBLE-PRECISION(*) Y, INTEGER INCY ) ;
74 ( INTEGER N, DOUBLE-PRECISION(*) X, INTEGER INCX, DOUBLE-PRECISION(*) Y, INTEGER INCY ) ;
76 ( INTEGER N, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) X, INTEGER INCX, DOUBLE-PRECISION(*) Y, INTEGER INCY ) ;
79 ( INTEGER N, COMPLEX(*) X, INTEGER INCX, COMPLEX(*) Y, INTEGER INCY ) ;
81 ( INTEGER N, COMPLEX(*) X, INTEGER INCX, COMPLEX(*) Y, INTEGER INCY ) ;
83 ( INTEGER N, COMPLEX ALPHA, COMPLEX(*) X, INTEGER INCX, COMPLEX(*) Y, INTEGER INCY ) ;
86 ( INTEGER N, DOUBLE-COMPLEX(*) X, INTEGER INCX, DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
88 ( INTEGER N, DOUBLE-COMPLEX(*) X, INTEGER INCX, DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
90 ( INTEGER N, DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) X, INTEGER INCX, DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
93 ( INTEGER N, REAL ALPHA, REAL(*) X, INTEGER INCX ) ;
95 ( INTEGER N, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) X, INTEGER INCX ) ;
97 ( INTEGER N, COMPLEX ALPHA, COMPLEX(*) X, INTEGER INCX ) ;
99 ( INTEGER N, DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
101 ( INTEGER N, REAL ALPHA, COMPLEX(*) X, INTEGER INCX ) ;
103 ( INTEGER N, DOUBLE-PRECISION ALPHA, DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
106 ( REAL(*) A, REAL(*) B, REAL(*) C, REAL(*) S ) ;
108 ( REAL(*) D1, REAL(*) D2, REAL(*) B1, REAL B2, REAL(*) P ) ;
110 ( INTEGER N, REAL(*) X, INTEGER INCX, REAL(*) Y, INTEGER INCY, REAL C, REAL S ) ;
112 ( INTEGER N, REAL(*) X, INTEGER INCX, REAL(*) Y, INTEGER INCY, REAL(*) P ) ;
115 ( DOUBLE-PRECISION(*) A, DOUBLE-PRECISION(*) B, DOUBLE-PRECISION(*) C, DOUBLE-PRECISION(*) S ) ;
117 ( DOUBLE-PRECISION(*) D1, DOUBLE-PRECISION(*) D2, DOUBLE-PRECISION(*) B1, DOUBLE-PRECISION B2, DOUBLE-PRECISION(*) P ) ;
119 ( INTEGER N, DOUBLE-PRECISION(*) X, INTEGER INCX, DOUBLE-PRECISION(*) Y, INTEGER INCY, DOUBLE-PRECISION C, DOUBLE-PRECISION S ) ;
121 ( INTEGER N, DOUBLE-PRECISION(*) X, INTEGER INCX, DOUBLE-PRECISION(*) Y, INTEGER INCY, DOUBLE-PRECISION(*) P ) ;
123 ! LEVEL 2 BLAS (MATRIX-VECTOR)
125 SUBROUTINE: SGEMV ( CHARACTER*1 TRANSA, INTEGER M, INTEGER N,
126 REAL ALPHA, REAL(*) A, INTEGER LDA,
127 REAL(*) X, INTEGER INCX, REAL BETA,
128 REAL(*) Y, INTEGER INCY ) ;
129 SUBROUTINE: SGBMV ( CHARACTER*1 TRANSA, INTEGER M, INTEGER N,
130 INTEGER KL, INTEGER KU, REAL ALPHA,
131 REAL(*) A, INTEGER LDA, REAL(*) X,
132 INTEGER INCX, REAL BETA, REAL(*) Y, INTEGER INCY ) ;
133 SUBROUTINE: STRMV ( CHARACTER*1 UPLO,
134 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
135 INTEGER N, REAL(*) A, INTEGER LDA,
136 REAL(*) X, INTEGER INCX ) ;
137 SUBROUTINE: STBMV ( CHARACTER*1 UPLO,
138 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
139 INTEGER N, INTEGER K, REAL(*) A, INTEGER LDA,
140 REAL(*) X, INTEGER INCX ) ;
141 SUBROUTINE: STPMV ( CHARACTER*1 UPLO,
142 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
143 INTEGER N, REAL(*) AP, REAL(*) X, INTEGER INCX ) ;
144 SUBROUTINE: STRSV ( CHARACTER*1 UPLO,
145 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
146 INTEGER N, REAL(*) A, INTEGER LDA, REAL(*) X,
148 SUBROUTINE: STBSV ( CHARACTER*1 UPLO,
149 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
150 INTEGER N, INTEGER K, REAL(*) A, INTEGER LDA,
151 REAL(*) X, INTEGER INCX ) ;
152 SUBROUTINE: STPSV ( CHARACTER*1 UPLO,
153 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
154 INTEGER N, REAL(*) AP, REAL(*) X, INTEGER INCX ) ;
156 SUBROUTINE: DGEMV ( CHARACTER*1 TRANSA, INTEGER M, INTEGER N,
157 DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) A, INTEGER LDA,
158 DOUBLE-PRECISION(*) X, INTEGER INCX, DOUBLE-PRECISION BETA,
159 DOUBLE-PRECISION(*) Y, INTEGER INCY ) ;
160 SUBROUTINE: DGBMV ( CHARACTER*1 TRANSA, INTEGER M, INTEGER N,
161 INTEGER KL, INTEGER KU, DOUBLE-PRECISION ALPHA,
162 DOUBLE-PRECISION(*) A, INTEGER LDA, DOUBLE-PRECISION(*) X,
163 INTEGER INCX, DOUBLE-PRECISION BETA, DOUBLE-PRECISION(*) Y, INTEGER INCY ) ;
164 SUBROUTINE: DTRMV ( CHARACTER*1 UPLO,
165 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
166 INTEGER N, DOUBLE-PRECISION(*) A, INTEGER LDA,
167 DOUBLE-PRECISION(*) X, INTEGER INCX ) ;
168 SUBROUTINE: DTBMV ( CHARACTER*1 UPLO,
169 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
170 INTEGER N, INTEGER K, DOUBLE-PRECISION(*) A, INTEGER LDA,
171 DOUBLE-PRECISION(*) X, INTEGER INCX ) ;
172 SUBROUTINE: DTPMV ( CHARACTER*1 UPLO,
173 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
174 INTEGER N, DOUBLE-PRECISION(*) AP, DOUBLE-PRECISION(*) X, INTEGER INCX ) ;
175 SUBROUTINE: DTRSV ( CHARACTER*1 UPLO,
176 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
177 INTEGER N, DOUBLE-PRECISION(*) A, INTEGER LDA, DOUBLE-PRECISION(*) X,
179 SUBROUTINE: DTBSV ( CHARACTER*1 UPLO,
180 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
181 INTEGER N, INTEGER K, DOUBLE-PRECISION(*) A, INTEGER LDA,
182 DOUBLE-PRECISION(*) X, INTEGER INCX ) ;
183 SUBROUTINE: DTPSV ( CHARACTER*1 UPLO,
184 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
185 INTEGER N, DOUBLE-PRECISION(*) AP, DOUBLE-PRECISION(*) X, INTEGER INCX ) ;
187 SUBROUTINE: CGEMV ( CHARACTER*1 TRANSA, INTEGER M, INTEGER N,
188 COMPLEX ALPHA, COMPLEX(*) A, INTEGER LDA,
189 COMPLEX(*) X, INTEGER INCX, COMPLEX BETA,
190 COMPLEX(*) Y, INTEGER INCY ) ;
191 SUBROUTINE: CGBMV ( CHARACTER*1 TRANSA, INTEGER M, INTEGER N,
192 INTEGER KL, INTEGER KU, COMPLEX ALPHA,
193 COMPLEX(*) A, INTEGER LDA, COMPLEX(*) X,
194 INTEGER INCX, COMPLEX BETA, COMPLEX(*) Y, INTEGER INCY ) ;
195 SUBROUTINE: CTRMV ( CHARACTER*1 UPLO,
196 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
197 INTEGER N, COMPLEX(*) A, INTEGER LDA,
198 COMPLEX(*) X, INTEGER INCX ) ;
199 SUBROUTINE: CTBMV ( CHARACTER*1 UPLO,
200 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
201 INTEGER N, INTEGER K, COMPLEX(*) A, INTEGER LDA,
202 COMPLEX(*) X, INTEGER INCX ) ;
203 SUBROUTINE: CTPMV ( CHARACTER*1 UPLO,
204 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
205 INTEGER N, COMPLEX(*) AP, COMPLEX(*) X, INTEGER INCX ) ;
206 SUBROUTINE: CTRSV ( CHARACTER*1 UPLO,
207 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
208 INTEGER N, COMPLEX(*) A, INTEGER LDA, COMPLEX(*) X,
210 SUBROUTINE: CTBSV ( CHARACTER*1 UPLO,
211 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
212 INTEGER N, INTEGER K, COMPLEX(*) A, INTEGER LDA,
213 COMPLEX(*) X, INTEGER INCX ) ;
214 SUBROUTINE: CTPSV ( CHARACTER*1 UPLO,
215 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
216 INTEGER N, COMPLEX(*) AP, COMPLEX(*) X, INTEGER INCX ) ;
218 SUBROUTINE: ZGEMV ( CHARACTER*1 TRANSA, INTEGER M, INTEGER N,
219 DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A, INTEGER LDA,
220 DOUBLE-COMPLEX(*) X, INTEGER INCX, DOUBLE-COMPLEX BETA,
221 DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
222 SUBROUTINE: ZGBMV ( CHARACTER*1 TRANSA, INTEGER M, INTEGER N,
223 INTEGER KL, INTEGER KU, DOUBLE-COMPLEX ALPHA,
224 DOUBLE-COMPLEX(*) A, INTEGER LDA, DOUBLE-COMPLEX(*) X,
225 INTEGER INCX, DOUBLE-COMPLEX BETA, DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
226 SUBROUTINE: ZTRMV ( CHARACTER*1 UPLO,
227 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
228 INTEGER N, DOUBLE-COMPLEX(*) A, INTEGER LDA,
229 DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
230 SUBROUTINE: ZTBMV ( CHARACTER*1 UPLO,
231 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
232 INTEGER N, INTEGER K, DOUBLE-COMPLEX(*) A, INTEGER LDA,
233 DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
234 SUBROUTINE: ZTPMV ( CHARACTER*1 UPLO,
235 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
236 INTEGER N, DOUBLE-COMPLEX(*) AP, DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
237 SUBROUTINE: ZTRSV ( CHARACTER*1 UPLO,
238 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
239 INTEGER N, DOUBLE-COMPLEX(*) A, INTEGER LDA, DOUBLE-COMPLEX(*) X,
241 SUBROUTINE: ZTBSV ( CHARACTER*1 UPLO,
242 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
243 INTEGER N, INTEGER K, DOUBLE-COMPLEX(*) A, INTEGER LDA,
244 DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
245 SUBROUTINE: ZTPSV ( CHARACTER*1 UPLO,
246 CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
247 INTEGER N, DOUBLE-COMPLEX(*) AP, DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
250 SUBROUTINE: SSYMV ( CHARACTER*1 UPLO,
251 INTEGER N, REAL ALPHA, REAL(*) A,
252 INTEGER LDA, REAL(*) X, INTEGER INCX,
253 REAL BETA, REAL(*) Y, INTEGER INCY ) ;
254 SUBROUTINE: SSBMV ( CHARACTER*1 UPLO,
255 INTEGER N, INTEGER K, REAL ALPHA, REAL(*) A,
256 INTEGER LDA, REAL(*) X, INTEGER INCX,
257 REAL BETA, REAL(*) Y, INTEGER INCY ) ;
258 SUBROUTINE: SSPMV ( CHARACTER*1 UPLO,
259 INTEGER N, REAL ALPHA, REAL(*) AP,
260 REAL(*) X, INTEGER INCX,
261 REAL BETA, REAL(*) Y, INTEGER INCY ) ;
262 SUBROUTINE: SGER ( INTEGER M, INTEGER N,
263 REAL ALPHA, REAL(*) X, INTEGER INCX,
264 REAL(*) Y, INTEGER INCY, REAL(*) A, INTEGER LDA ) ;
265 SUBROUTINE: SSYR ( CHARACTER*1 UPLO,
266 INTEGER N, REAL ALPHA, REAL(*) X,
267 INTEGER INCX, REAL(*) A, INTEGER LDA ) ;
268 SUBROUTINE: SSPR ( CHARACTER*1 UPLO,
269 INTEGER N, REAL ALPHA, REAL(*) X,
270 INTEGER INCX, REAL(*) AP ) ;
271 SUBROUTINE: SSYR2 ( CHARACTER*1 UPLO,
272 INTEGER N, REAL ALPHA, REAL(*) X,
273 INTEGER INCX, REAL(*) Y, INTEGER INCY, REAL(*) A,
275 SUBROUTINE: SSPR2 ( CHARACTER*1 UPLO,
276 INTEGER N, REAL ALPHA, REAL(*) X,
277 INTEGER INCX, REAL(*) Y, INTEGER INCY, REAL(*) A ) ;
279 SUBROUTINE: DSYMV ( CHARACTER*1 UPLO,
280 INTEGER N, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) A,
281 INTEGER LDA, DOUBLE-PRECISION(*) X, INTEGER INCX,
282 DOUBLE-PRECISION BETA, DOUBLE-PRECISION(*) Y, INTEGER INCY ) ;
283 SUBROUTINE: DSBMV ( CHARACTER*1 UPLO,
284 INTEGER N, INTEGER K, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) A,
285 INTEGER LDA, DOUBLE-PRECISION(*) X, INTEGER INCX,
286 DOUBLE-PRECISION BETA, DOUBLE-PRECISION(*) Y, INTEGER INCY ) ;
287 SUBROUTINE: DSPMV ( CHARACTER*1 UPLO,
288 INTEGER N, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) AP,
289 DOUBLE-PRECISION(*) X, INTEGER INCX,
290 DOUBLE-PRECISION BETA, DOUBLE-PRECISION(*) Y, INTEGER INCY ) ;
291 SUBROUTINE: DGER ( INTEGER M, INTEGER N,
292 DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) X, INTEGER INCX,
293 DOUBLE-PRECISION(*) Y, INTEGER INCY, DOUBLE-PRECISION(*) A, INTEGER LDA ) ;
294 SUBROUTINE: DSYR ( CHARACTER*1 UPLO,
295 INTEGER N, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) X,
296 INTEGER INCX, DOUBLE-PRECISION(*) A, INTEGER LDA ) ;
297 SUBROUTINE: DSPR ( CHARACTER*1 UPLO,
298 INTEGER N, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) X,
299 INTEGER INCX, DOUBLE-PRECISION(*) AP ) ;
300 SUBROUTINE: DSYR2 ( CHARACTER*1 UPLO,
301 INTEGER N, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) X,
302 INTEGER INCX, DOUBLE-PRECISION(*) Y, INTEGER INCY, DOUBLE-PRECISION(*) A,
304 SUBROUTINE: DSPR2 ( CHARACTER*1 UPLO,
305 INTEGER N, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) X,
306 INTEGER INCX, DOUBLE-PRECISION(*) Y, INTEGER INCY, DOUBLE-PRECISION(*) A ) ;
309 SUBROUTINE: CHEMV ( CHARACTER*1 UPLO,
310 INTEGER N, COMPLEX ALPHA, COMPLEX(*) A,
311 INTEGER LDA, COMPLEX(*) X, INTEGER INCX,
312 COMPLEX BETA, COMPLEX(*) Y, INTEGER INCY ) ;
313 SUBROUTINE: CHBMV ( CHARACTER*1 UPLO,
314 INTEGER N, INTEGER K, COMPLEX ALPHA, COMPLEX(*) A,
315 INTEGER LDA, COMPLEX(*) X, INTEGER INCX,
316 COMPLEX BETA, COMPLEX(*) Y, INTEGER INCY ) ;
317 SUBROUTINE: CHPMV ( CHARACTER*1 UPLO,
318 INTEGER N, COMPLEX ALPHA, COMPLEX(*) AP,
319 COMPLEX(*) X, INTEGER INCX,
320 COMPLEX BETA, COMPLEX(*) Y, INTEGER INCY ) ;
321 SUBROUTINE: CGERU ( INTEGER M, INTEGER N,
322 COMPLEX ALPHA, COMPLEX(*) X, INTEGER INCX,
323 COMPLEX(*) Y, INTEGER INCY, COMPLEX(*) A, INTEGER LDA ) ;
324 SUBROUTINE: CGERC ( INTEGER M, INTEGER N,
325 COMPLEX ALPHA, COMPLEX(*) X, INTEGER INCX,
326 COMPLEX(*) Y, INTEGER INCY, COMPLEX(*) A, INTEGER LDA ) ;
327 SUBROUTINE: CHER ( CHARACTER*1 UPLO,
328 INTEGER N, REAL ALPHA, COMPLEX(*) X, INTEGER INCX,
329 COMPLEX(*) A, INTEGER LDA ) ;
330 SUBROUTINE: CHPR ( CHARACTER*1 UPLO,
331 INTEGER N, REAL ALPHA, COMPLEX(*) X,
332 INTEGER INCX, COMPLEX(*) A ) ;
333 SUBROUTINE: CHER2 ( CHARACTER*1 UPLO, INTEGER N,
334 COMPLEX ALPHA, COMPLEX(*) X, INTEGER INCX,
335 COMPLEX(*) Y, INTEGER INCY, COMPLEX(*) A, INTEGER LDA ) ;
336 SUBROUTINE: CHPR2 ( CHARACTER*1 UPLO, INTEGER N,
337 COMPLEX ALPHA, COMPLEX(*) X, INTEGER INCX,
338 COMPLEX(*) Y, INTEGER INCY, COMPLEX(*) AP ) ;
340 SUBROUTINE: ZHEMV ( CHARACTER*1 UPLO,
341 INTEGER N, DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A,
342 INTEGER LDA, DOUBLE-COMPLEX(*) X, INTEGER INCX,
343 DOUBLE-COMPLEX BETA, DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
344 SUBROUTINE: ZHBMV ( CHARACTER*1 UPLO,
345 INTEGER N, INTEGER K, DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A,
346 INTEGER LDA, DOUBLE-COMPLEX(*) X, INTEGER INCX,
347 DOUBLE-COMPLEX BETA, DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
348 SUBROUTINE: ZHPMV ( CHARACTER*1 UPLO,
349 INTEGER N, DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) AP,
350 DOUBLE-COMPLEX(*) X, INTEGER INCX,
351 DOUBLE-COMPLEX BETA, DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
352 SUBROUTINE: ZGERU ( INTEGER M, INTEGER N,
353 DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) X, INTEGER INCX,
354 DOUBLE-COMPLEX(*) Y, INTEGER INCY, DOUBLE-COMPLEX(*) A, INTEGER LDA ) ;
355 SUBROUTINE: ZGERC ( INTEGER M, INTEGER N,
356 DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) X, INTEGER INCX,
357 DOUBLE-COMPLEX(*) Y, INTEGER INCY, DOUBLE-COMPLEX(*) A, INTEGER LDA ) ;
358 SUBROUTINE: ZHER ( CHARACTER*1 UPLO,
359 INTEGER N, REAL ALPHA, DOUBLE-COMPLEX(*) X, INTEGER INCX,
360 DOUBLE-COMPLEX(*) A, INTEGER LDA ) ;
361 SUBROUTINE: ZHPR ( CHARACTER*1 UPLO,
362 INTEGER N, REAL ALPHA, DOUBLE-COMPLEX(*) X,
363 INTEGER INCX, DOUBLE-COMPLEX(*) A ) ;
364 SUBROUTINE: ZHER2 ( CHARACTER*1 UPLO, INTEGER N,
365 DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) X, INTEGER INCX,
366 DOUBLE-COMPLEX(*) Y, INTEGER INCY, DOUBLE-COMPLEX(*) A, INTEGER LDA ) ;
367 SUBROUTINE: ZHPR2 ( CHARACTER*1 UPLO, INTEGER N,
368 DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) X, INTEGER INCX,
369 DOUBLE-COMPLEX(*) Y, INTEGER INCY, DOUBLE-COMPLEX(*) AP ) ;
371 ! LEVEL 3 BLAS (MATRIX-MATRIX)
373 SUBROUTINE: SGEMM ( CHARACTER*1 TRANSA,
374 CHARACTER*1 TRANSB, INTEGER M, INTEGER N,
375 INTEGER K, REAL ALPHA, REAL(*) A,
376 INTEGER LDA, REAL(*) B, INTEGER LDB,
377 REAL BETA, REAL(*) C, INTEGER LDC ) ;
378 SUBROUTINE: SSYMM ( CHARACTER*1 SIDE,
379 CHARACTER*1 UPLO, INTEGER M, INTEGER N,
380 REAL ALPHA, REAL(*) A, INTEGER LDA,
381 REAL(*) B, INTEGER LDB, REAL BETA,
382 REAL(*) C, INTEGER LDC ) ;
383 SUBROUTINE: SSYRK ( CHARACTER*1 UPLO,
384 CHARACTER*1 TRANS, INTEGER N, INTEGER K,
385 REAL ALPHA, REAL(*) A, INTEGER LDA,
386 REAL BETA, REAL(*) C, INTEGER LDC ) ;
387 SUBROUTINE: SSYR2K ( CHARACTER*1 UPLO,
388 CHARACTER*1 TRANS, INTEGER N, INTEGER K,
389 REAL ALPHA, REAL(*) A, INTEGER LDA,
390 REAL(*) B, INTEGER LDB, REAL BETA,
391 REAL(*) C, INTEGER LDC ) ;
392 SUBROUTINE: STRMM ( CHARACTER*1 SIDE,
393 CHARACTER*1 UPLO, CHARACTER*1 TRANSA,
394 CHARACTER*1 DIAG, INTEGER M, INTEGER N,
395 REAL ALPHA, REAL(*) A, INTEGER LDA,
396 REAL(*) B, INTEGER LDB ) ;
397 SUBROUTINE: STRSM ( CHARACTER*1 SIDE,
398 CHARACTER*1 UPLO, CHARACTER*1 TRANSA,
399 CHARACTER*1 DIAG, INTEGER M, INTEGER N,
400 REAL ALPHA, REAL(*) A, INTEGER LDA,
401 REAL(*) B, INTEGER LDB ) ;
403 SUBROUTINE: DGEMM ( CHARACTER*1 TRANSA,
404 CHARACTER*1 TRANSB, INTEGER M, INTEGER N,
405 INTEGER K, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) A,
406 INTEGER LDA, DOUBLE-PRECISION(*) B, INTEGER LDB,
407 DOUBLE-PRECISION BETA, DOUBLE-PRECISION(*) C, INTEGER LDC ) ;
408 SUBROUTINE: DSYMM ( CHARACTER*1 SIDE,
409 CHARACTER*1 UPLO, INTEGER M, INTEGER N,
410 DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) A, INTEGER LDA,
411 DOUBLE-PRECISION(*) B, INTEGER LDB, DOUBLE-PRECISION BETA,
412 DOUBLE-PRECISION(*) C, INTEGER LDC ) ;
413 SUBROUTINE: DSYRK ( CHARACTER*1 UPLO,
414 CHARACTER*1 TRANS, INTEGER N, INTEGER K,
415 DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) A, INTEGER LDA,
416 DOUBLE-PRECISION BETA, DOUBLE-PRECISION(*) C, INTEGER LDC ) ;
417 SUBROUTINE: DSYR2K ( CHARACTER*1 UPLO,
418 CHARACTER*1 TRANS, INTEGER N, INTEGER K,
419 DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) A, INTEGER LDA,
420 DOUBLE-PRECISION(*) B, INTEGER LDB, DOUBLE-PRECISION BETA,
421 DOUBLE-PRECISION(*) C, INTEGER LDC ) ;
422 SUBROUTINE: DTRMM ( CHARACTER*1 SIDE,
423 CHARACTER*1 UPLO, CHARACTER*1 TRANSA,
424 CHARACTER*1 DIAG, INTEGER M, INTEGER N,
425 DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) A, INTEGER LDA,
426 DOUBLE-PRECISION(*) B, INTEGER LDB ) ;
427 SUBROUTINE: DTRSM ( CHARACTER*1 SIDE,
428 CHARACTER*1 UPLO, CHARACTER*1 TRANSA,
429 CHARACTER*1 DIAG, INTEGER M, INTEGER N,
430 DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) A, INTEGER LDA,
431 DOUBLE-PRECISION(*) B, INTEGER LDB ) ;
433 SUBROUTINE: CGEMM ( CHARACTER*1 TRANSA,
434 CHARACTER*1 TRANSB, INTEGER M, INTEGER N,
435 INTEGER K, COMPLEX ALPHA, COMPLEX(*) A,
436 INTEGER LDA, COMPLEX(*) B, INTEGER LDB,
437 COMPLEX BETA, COMPLEX(*) C, INTEGER LDC ) ;
438 SUBROUTINE: CSYMM ( CHARACTER*1 SIDE,
439 CHARACTER*1 UPLO, INTEGER M, INTEGER N,
440 COMPLEX ALPHA, COMPLEX(*) A, INTEGER LDA,
441 COMPLEX(*) B, INTEGER LDB, COMPLEX BETA,
442 COMPLEX(*) C, INTEGER LDC ) ;
443 SUBROUTINE: CSYRK ( CHARACTER*1 UPLO,
444 CHARACTER*1 TRANS, INTEGER N, INTEGER K,
445 COMPLEX ALPHA, COMPLEX(*) A, INTEGER LDA,
446 COMPLEX BETA, COMPLEX(*) C, INTEGER LDC ) ;
447 SUBROUTINE: CSYR2K ( CHARACTER*1 UPLO,
448 CHARACTER*1 TRANS, INTEGER N, INTEGER K,
449 COMPLEX ALPHA, COMPLEX(*) A, INTEGER LDA,
450 COMPLEX(*) B, INTEGER LDB, COMPLEX BETA,
451 COMPLEX(*) C, INTEGER LDC ) ;
452 SUBROUTINE: CTRMM ( CHARACTER*1 SIDE,
453 CHARACTER*1 UPLO, CHARACTER*1 TRANSA,
454 CHARACTER*1 DIAG, INTEGER M, INTEGER N,
455 COMPLEX ALPHA, COMPLEX(*) A, INTEGER LDA,
456 COMPLEX(*) B, INTEGER LDB ) ;
457 SUBROUTINE: CTRSM ( CHARACTER*1 SIDE,
458 CHARACTER*1 UPLO, CHARACTER*1 TRANSA,
459 CHARACTER*1 DIAG, INTEGER M, INTEGER N,
460 COMPLEX ALPHA, COMPLEX(*) A, INTEGER LDA,
461 COMPLEX(*) B, INTEGER LDB ) ;
463 SUBROUTINE: ZGEMM ( CHARACTER*1 TRANSA,
464 CHARACTER*1 TRANSB, INTEGER M, INTEGER N,
465 INTEGER K, DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A,
466 INTEGER LDA, DOUBLE-COMPLEX(*) B, INTEGER LDB,
467 DOUBLE-COMPLEX BETA, DOUBLE-COMPLEX(*) C, INTEGER LDC ) ;
468 SUBROUTINE: ZSYMM ( CHARACTER*1 SIDE,
469 CHARACTER*1 UPLO, INTEGER M, INTEGER N,
470 DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A, INTEGER LDA,
471 DOUBLE-COMPLEX(*) B, INTEGER LDB, DOUBLE-COMPLEX BETA,
472 DOUBLE-COMPLEX(*) C, INTEGER LDC ) ;
473 SUBROUTINE: ZSYRK ( CHARACTER*1 UPLO,
474 CHARACTER*1 TRANS, INTEGER N, INTEGER K,
475 DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A, INTEGER LDA,
476 DOUBLE-COMPLEX BETA, DOUBLE-COMPLEX(*) C, INTEGER LDC ) ;
477 SUBROUTINE: ZSYR2K ( CHARACTER*1 UPLO,
478 CHARACTER*1 TRANS, INTEGER N, INTEGER K,
479 DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A, INTEGER LDA,
480 DOUBLE-COMPLEX(*) B, INTEGER LDB, DOUBLE-COMPLEX BETA,
481 DOUBLE-COMPLEX(*) C, INTEGER LDC ) ;
482 SUBROUTINE: ZTRMM ( CHARACTER*1 SIDE,
483 CHARACTER*1 UPLO, CHARACTER*1 TRANSA,
484 CHARACTER*1 DIAG, INTEGER M, INTEGER N,
485 DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A, INTEGER LDA,
486 DOUBLE-COMPLEX(*) B, INTEGER LDB ) ;
487 SUBROUTINE: ZTRSM ( CHARACTER*1 SIDE,
488 CHARACTER*1 UPLO, CHARACTER*1 TRANSA,
489 CHARACTER*1 DIAG, INTEGER M, INTEGER N,
490 DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A, INTEGER LDA,
491 DOUBLE-COMPLEX(*) B, INTEGER LDB ) ;
493 SUBROUTINE: CHEMM ( CHARACTER*1 SIDE,
494 CHARACTER*1 UPLO, INTEGER M, INTEGER N,
495 COMPLEX ALPHA, COMPLEX(*) A, INTEGER LDA,
496 COMPLEX(*) B, INTEGER LDB, COMPLEX BETA,
497 COMPLEX(*) C, INTEGER LDC ) ;
498 SUBROUTINE: CHERK ( CHARACTER*1 UPLO,
499 CHARACTER*1 TRANS, INTEGER N, INTEGER K,
500 REAL ALPHA, COMPLEX(*) A, INTEGER LDA,
501 REAL BETA, COMPLEX(*) C, INTEGER LDC ) ;
502 SUBROUTINE: CHER2K ( CHARACTER*1 UPLO,
503 CHARACTER*1 TRANS, INTEGER N, INTEGER K,
504 COMPLEX ALPHA, COMPLEX(*) A, INTEGER LDA,
505 COMPLEX(*) B, INTEGER LDB, REAL BETA,
506 COMPLEX(*) C, INTEGER LDC ) ;
507 SUBROUTINE: ZHEMM ( CHARACTER*1 SIDE,
508 CHARACTER*1 UPLO, INTEGER M, INTEGER N,
509 DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A, INTEGER LDA,
510 DOUBLE-COMPLEX(*) B, INTEGER LDB, DOUBLE-COMPLEX BETA,
511 DOUBLE-COMPLEX(*) C, INTEGER LDC ) ;
512 SUBROUTINE: ZHERK ( CHARACTER*1 UPLO,
513 CHARACTER*1 TRANS, INTEGER N, INTEGER K,
514 REAL ALPHA, DOUBLE-COMPLEX(*) A, INTEGER LDA,
515 REAL BETA, DOUBLE-COMPLEX(*) C, INTEGER LDC ) ;
516 SUBROUTINE: ZHER2K ( CHARACTER*1 UPLO,
517 CHARACTER*1 TRANS, INTEGER N, INTEGER K,
518 DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A, INTEGER LDA,
519 DOUBLE-COMPLEX(*) B, INTEGER LDB, REAL BETA,
520 DOUBLE-COMPLEX(*) C, INTEGER LDC ) ;