1 /*
2 * cblas_f77.h
3 * Written by Keita Teranishi
4 *
5 * Updated by Jeff Horner
6 * Merged cblas_f77.h and cblas_fortran_header.h
7 */
8
9 #ifndef CBLAS_F77_H
10 #define CBLAS_f77_H
11
12 #ifdef CRAY
13 #include <fortran.h>
14 #define F77_CHAR _fcd
15 #define C2F_CHAR(a) ( _cptofcd( (a), 1 ) )
16 #define C2F_STR(a, i) ( _cptofcd( (a), (i) ) )
17 #define F77_STRLEN(a) (_fcdlen)
18 #endif
19
20 #ifdef WeirdNEC
21 #define F77_INT long
22 #endif
23
24 #ifdef F77_CHAR
25 #define FCHAR F77_CHAR
26 #else
27 #define FCHAR char *
28 #endif
29
30 #ifdef F77_INT
31 #define FINT const F77_INT *
32 #define FINT2 F77_INT *
33 #else
34 #define FINT const int *
35 #define FINT2 int *
36 #endif
37
38 #if defined(ADD_)
39 /*
40 * Level 1 BLAS
41 */
42 #define F77_xerbla xerbla_
43 #define F77_srotg srotg_
44 #define F77_srotmg srotmg_
45 #define F77_srot srot_
46 #define F77_srotm srotm_
47 #define F77_drotg drotg_
48 #define F77_drotmg drotmg_
49 #define F77_drot drot_
50 #define F77_drotm drotm_
51 #define F77_sswap sswap_
52 #define F77_scopy scopy_
53 #define F77_saxpy saxpy_
54 #define F77_isamax_sub isamaxsub_
55 #define F77_dswap dswap_
56 #define F77_dcopy dcopy_
57 #define F77_daxpy daxpy_
58 #define F77_idamax_sub idamaxsub_
59 #define F77_cswap cswap_
60 #define F77_ccopy ccopy_
61 #define F77_caxpy caxpy_
62 #define F77_icamax_sub icamaxsub_
63 #define F77_zswap zswap_
64 #define F77_zcopy zcopy_
65 #define F77_zaxpy zaxpy_
66 #define F77_izamax_sub izamaxsub_
67 #define F77_sdot_sub sdotsub_
68 #define F77_ddot_sub ddotsub_
69 #define F77_dsdot_sub dsdotsub_
70 #define F77_sscal sscal_
71 #define F77_dscal dscal_
72 #define F77_cscal cscal_
73 #define F77_zscal zscal_
74 #define F77_csscal csscal_
75 #define F77_zdscal zdscal_
76 #define F77_cdotu_sub cdotusub_
77 #define F77_cdotc_sub cdotcsub_
78 #define F77_zdotu_sub zdotusub_
79 #define F77_zdotc_sub zdotcsub_
80 #define F77_snrm2_sub snrm2sub_
81 #define F77_sasum_sub sasumsub_
82 #define F77_dnrm2_sub dnrm2sub_
83 #define F77_dasum_sub dasumsub_
84 #define F77_scnrm2_sub scnrm2sub_
85 #define F77_scasum_sub scasumsub_
86 #define F77_dznrm2_sub dznrm2sub_
87 #define F77_dzasum_sub dzasumsub_
88 #define F77_sdsdot_sub sdsdotsub_
89 /*
90 * Level 2 BLAS
91 */
92 #define F77_ssymv ssymv_
93 #define F77_ssbmv ssbmv_
94 #define F77_sspmv sspmv_
95 #define F77_sger sger_
96 #define F77_ssyr ssyr_
97 #define F77_sspr sspr_
98 #define F77_ssyr2 ssyr2_
99 #define F77_sspr2 sspr2_
100 #define F77_dsymv dsymv_
101 #define F77_dsbmv dsbmv_
102 #define F77_dspmv dspmv_
103 #define F77_dger dger_
104 #define F77_dsyr dsyr_
105 #define F77_dspr dspr_
106 #define F77_dsyr2 dsyr2_
107 #define F77_dspr2 dspr2_
108 #define F77_chemv chemv_
109 #define F77_chbmv chbmv_
110 #define F77_chpmv chpmv_
111 #define F77_cgeru cgeru_
112 #define F77_cgerc cgerc_
113 #define F77_cher cher_
114 #define F77_chpr chpr_
115 #define F77_cher2 cher2_
116 #define F77_chpr2 chpr2_
117 #define F77_zhemv zhemv_
118 #define F77_zhbmv zhbmv_
119 #define F77_zhpmv zhpmv_
120 #define F77_zgeru zgeru_
121 #define F77_zgerc zgerc_
122 #define F77_zher zher_
123 #define F77_zhpr zhpr_
124 #define F77_zher2 zher2_
125 #define F77_zhpr2 zhpr2_
126 #define F77_sgemv sgemv_
127 #define F77_sgbmv sgbmv_
128 #define F77_strmv strmv_
129 #define F77_stbmv stbmv_
130 #define F77_stpmv stpmv_
131 #define F77_strsv strsv_
132 #define F77_stbsv stbsv_
133 #define F77_stpsv stpsv_
134 #define F77_dgemv dgemv_
135 #define F77_dgbmv dgbmv_
136 #define F77_dtrmv dtrmv_
137 #define F77_dtbmv dtbmv_
138 #define F77_dtpmv dtpmv_
139 #define F77_dtrsv dtrsv_
140 #define F77_dtbsv dtbsv_
141 #define F77_dtpsv dtpsv_
142 #define F77_cgemv cgemv_
143 #define F77_cgbmv cgbmv_
144 #define F77_ctrmv ctrmv_
145 #define F77_ctbmv ctbmv_
146 #define F77_ctpmv ctpmv_
147 #define F77_ctrsv ctrsv_
148 #define F77_ctbsv ctbsv_
149 #define F77_ctpsv ctpsv_
150 #define F77_zgemv zgemv_
151 #define F77_zgbmv zgbmv_
152 #define F77_ztrmv ztrmv_
153 #define F77_ztbmv ztbmv_
154 #define F77_ztpmv ztpmv_
155 #define F77_ztrsv ztrsv_
156 #define F77_ztbsv ztbsv_
157 #define F77_ztpsv ztpsv_
158 /*
159 * Level 3 BLAS
160 */
161 #define F77_chemm chemm_
162 #define F77_cherk cherk_
163 #define F77_cher2k cher2k_
164 #define F77_zhemm zhemm_
165 #define F77_zherk zherk_
166 #define F77_zher2k zher2k_
167 #define F77_sgemm sgemm_
168 #define F77_ssymm ssymm_
169 #define F77_ssyrk ssyrk_
170 #define F77_ssyr2k ssyr2k_
171 #define F77_strmm strmm_
172 #define F77_strsm strsm_
173 #define F77_dgemm dgemm_
174 #define F77_dsymm dsymm_
175 #define F77_dsyrk dsyrk_
176 #define F77_dsyr2k dsyr2k_
177 #define F77_dtrmm dtrmm_
178 #define F77_dtrsm dtrsm_
179 #define F77_cgemm cgemm_
180 #define F77_csymm csymm_
181 #define F77_csyrk csyrk_
182 #define F77_csyr2k csyr2k_
183 #define F77_ctrmm ctrmm_
184 #define F77_ctrsm ctrsm_
185 #define F77_zgemm zgemm_
186 #define F77_zsymm zsymm_
187 #define F77_zsyrk zsyrk_
188 #define F77_zsyr2k zsyr2k_
189 #define F77_ztrmm ztrmm_
190 #define F77_ztrsm ztrsm_
191 #elif defined(UPCASE)
192 /*
193 * Level 1 BLAS
194 */
195 #define F77_xerbla XERBLA
196 #define F77_srotg SROTG
197 #define F77_srotmg SROTMG
198 #define F77_srot SROT
199 #define F77_srotm SROTM
200 #define F77_drotg DROTG
201 #define F77_drotmg DROTMG
202 #define F77_drot DROT
203 #define F77_drotm DROTM
204 #define F77_sswap SSWAP
205 #define F77_scopy SCOPY
206 #define F77_saxpy SAXPY
207 #define F77_isamax_sub ISAMAXSUB
208 #define F77_dswap DSWAP
209 #define F77_dcopy DCOPY
210 #define F77_daxpy DAXPY
211 #define F77_idamax_sub IDAMAXSUB
212 #define F77_cswap CSWAP
213 #define F77_ccopy CCOPY
214 #define F77_caxpy CAXPY
215 #define F77_icamax_sub ICAMAXSUB
216 #define F77_zswap ZSWAP
217 #define F77_zcopy ZCOPY
218 #define F77_zaxpy ZAXPY
219 #define F77_izamax_sub IZAMAXSUB
220 #define F77_sdot_sub SDOTSUB
221 #define F77_ddot_sub DDOTSUB
222 #define F77_dsdot_sub DSDOTSUB
223 #define F77_sscal SSCAL
224 #define F77_dscal DSCAL
225 #define F77_cscal CSCAL
226 #define F77_zscal ZSCAL
227 #define F77_csscal CSSCAL
228 #define F77_zdscal ZDSCAL
229 #define F77_cdotu_sub CDOTUSUB
230 #define F77_cdotc_sub CDOTCSUB
231 #define F77_zdotu_sub ZDOTUSUB
232 #define F77_zdotc_sub ZDOTCSUB
233 #define F77_snrm2_sub SNRM2SUB
234 #define F77_sasum_sub SASUMSUB
235 #define F77_dnrm2_sub DNRM2SUB
236 #define F77_dasum_sub DASUMSUB
237 #define F77_scnrm2_sub SCNRM2SUB
238 #define F77_scasum_sub SCASUMSUB
239 #define F77_dznrm2_sub DZNRM2SUB
240 #define F77_dzasum_sub DZASUMSUB
241 #define F77_sdsdot_sub SDSDOTSUB
242 /*
243 * Level 2 BLAS
244 */
245 #define F77_ssymv SSYMV
246 #define F77_ssbmv SSBMV
247 #define F77_sspmv SSPMV
248 #define F77_sger SGER
249 #define F77_ssyr SSYR
250 #define F77_sspr SSPR
251 #define F77_ssyr2 SSYR2
252 #define F77_sspr2 SSPR2
253 #define F77_dsymv DSYMV
254 #define F77_dsbmv DSBMV
255 #define F77_dspmv DSPMV
256 #define F77_dger DGER
257 #define F77_dsyr DSYR
258 #define F77_dspr DSPR
259 #define F77_dsyr2 DSYR2
260 #define F77_dspr2 DSPR2
261 #define F77_chemv CHEMV
262 #define F77_chbmv CHBMV
263 #define F77_chpmv CHPMV
264 #define F77_cgeru CGERU
265 #define F77_cgerc CGERC
266 #define F77_cher CHER
267 #define F77_chpr CHPR
268 #define F77_cher2 CHER2
269 #define F77_chpr2 CHPR2
270 #define F77_zhemv ZHEMV
271 #define F77_zhbmv ZHBMV
272 #define F77_zhpmv ZHPMV
273 #define F77_zgeru ZGERU
274 #define F77_zgerc ZGERC
275 #define F77_zher ZHER
276 #define F77_zhpr ZHPR
277 #define F77_zher2 ZHER2
278 #define F77_zhpr2 ZHPR2
279 #define F77_sgemv SGEMV
280 #define F77_sgbmv SGBMV
281 #define F77_strmv STRMV
282 #define F77_stbmv STBMV
283 #define F77_stpmv STPMV
284 #define F77_strsv STRSV
285 #define F77_stbsv STBSV
286 #define F77_stpsv STPSV
287 #define F77_dgemv DGEMV
288 #define F77_dgbmv DGBMV
289 #define F77_dtrmv DTRMV
290 #define F77_dtbmv DTBMV
291 #define F77_dtpmv DTPMV
292 #define F77_dtrsv DTRSV
293 #define F77_dtbsv DTBSV
294 #define F77_dtpsv DTPSV
295 #define F77_cgemv CGEMV
296 #define F77_cgbmv CGBMV
297 #define F77_ctrmv CTRMV
298 #define F77_ctbmv CTBMV
299 #define F77_ctpmv CTPMV
300 #define F77_ctrsv CTRSV
301 #define F77_ctbsv CTBSV
302 #define F77_ctpsv CTPSV
303 #define F77_zgemv ZGEMV
304 #define F77_zgbmv ZGBMV
305 #define F77_ztrmv ZTRMV
306 #define F77_ztbmv ZTBMV
307 #define F77_ztpmv ZTPMV
308 #define F77_ztrsv ZTRSV
309 #define F77_ztbsv ZTBSV
310 #define F77_ztpsv ZTPSV
311 /*
312 * Level 3 BLAS
313 */
314 #define F77_chemm CHEMM
315 #define F77_cherk CHERK
316 #define F77_cher2k CHER2K
317 #define F77_zhemm ZHEMM
318 #define F77_zherk ZHERK
319 #define F77_zher2k ZHER2K
320 #define F77_sgemm SGEMM
321 #define F77_ssymm SSYMM
322 #define F77_ssyrk SSYRK
323 #define F77_ssyr2k SSYR2K
324 #define F77_strmm STRMM
325 #define F77_strsm STRSM
326 #define F77_dgemm DGEMM
327 #define F77_dsymm DSYMM
328 #define F77_dsyrk DSYRK
329 #define F77_dsyr2k DSYR2K
330 #define F77_dtrmm DTRMM
331 #define F77_dtrsm DTRSM
332 #define F77_cgemm CGEMM
333 #define F77_csymm CSYMM
334 #define F77_csyrk CSYRK
335 #define F77_csyr2k CSYR2K
336 #define F77_ctrmm CTRMM
337 #define F77_ctrsm CTRSM
338 #define F77_zgemm ZGEMM
339 #define F77_zsymm ZSYMM
340 #define F77_zsyrk ZSYRK
341 #define F77_zsyr2k ZSYR2K
342 #define F77_ztrmm ZTRMM
343 #define F77_ztrsm ZTRSM
344 #elif defined(NOCHANGE)
345 /*
346 * Level 1 BLAS
347 */
348 #define F77_xerbla xerbla
349 #define F77_srotg srotg
350 #define F77_srotmg srotmg
351 #define F77_srot srot
352 #define F77_srotm srotm
353 #define F77_drotg drotg
354 #define F77_drotmg drotmg
355 #define F77_drot drot
356 #define F77_drotm drotm
357 #define F77_sswap sswap
358 #define F77_scopy scopy
359 #define F77_saxpy saxpy
360 #define F77_isamax_sub isamaxsub
361 #define F77_dswap dswap
362 #define F77_dcopy dcopy
363 #define F77_daxpy daxpy
364 #define F77_idamax_sub idamaxsub
365 #define F77_cswap cswap
366 #define F77_ccopy ccopy
367 #define F77_caxpy caxpy
368 #define F77_icamax_sub icamaxsub
369 #define F77_zswap zswap
370 #define F77_zcopy zcopy
371 #define F77_zaxpy zaxpy
372 #define F77_izamax_sub izamaxsub
373 #define F77_sdot_sub sdotsub
374 #define F77_ddot_sub ddotsub
375 #define F77_dsdot_sub dsdotsub
376 #define F77_sscal sscal
377 #define F77_dscal dscal
378 #define F77_cscal cscal
379 #define F77_zscal zscal
380 #define F77_csscal csscal
381 #define F77_zdscal zdscal
382 #define F77_cdotu_sub cdotusub
383 #define F77_cdotc_sub cdotcsub
384 #define F77_zdotu_sub zdotusub
385 #define F77_zdotc_sub zdotcsub
386 #define F77_snrm2_sub snrm2sub
387 #define F77_sasum_sub sasumsub
388 #define F77_dnrm2_sub dnrm2sub
389 #define F77_dasum_sub dasumsub
390 #define F77_scnrm2_sub scnrm2sub
391 #define F77_scasum_sub scasumsub
392 #define F77_dznrm2_sub dznrm2sub
393 #define F77_dzasum_sub dzasumsub
394 #define F77_sdsdot_sub sdsdotsub
395 /*
396 * Level 2 BLAS
397 */
398 #define F77_ssymv ssymv
399 #define F77_ssbmv ssbmv
400 #define F77_sspmv sspmv
401 #define F77_sger sger
402 #define F77_ssyr ssyr
403 #define F77_sspr sspr
404 #define F77_ssyr2 ssyr2
405 #define F77_sspr2 sspr2
406 #define F77_dsymv dsymv
407 #define F77_dsbmv dsbmv
408 #define F77_dspmv dspmv
409 #define F77_dger dger
410 #define F77_dsyr dsyr
411 #define F77_dspr dspr
412 #define F77_dsyr2 dsyr2
413 #define F77_dspr2 dspr2
414 #define F77_chemv chemv
415 #define F77_chbmv chbmv
416 #define F77_chpmv chpmv
417 #define F77_cgeru cgeru
418 #define F77_cgerc cgerc
419 #define F77_cher cher
420 #define F77_chpr chpr
421 #define F77_cher2 cher2
422 #define F77_chpr2 chpr2
423 #define F77_zhemv zhemv
424 #define F77_zhbmv zhbmv
425 #define F77_zhpmv zhpmv
426 #define F77_zgeru zgeru
427 #define F77_zgerc zgerc
428 #define F77_zher zher
429 #define F77_zhpr zhpr
430 #define F77_zher2 zher2
431 #define F77_zhpr2 zhpr2
432 #define F77_sgemv sgemv
433 #define F77_sgbmv sgbmv
434 #define F77_strmv strmv
435 #define F77_stbmv stbmv
436 #define F77_stpmv stpmv
437 #define F77_strsv strsv
438 #define F77_stbsv stbsv
439 #define F77_stpsv stpsv
440 #define F77_dgemv dgemv
441 #define F77_dgbmv dgbmv
442 #define F77_dtrmv dtrmv
443 #define F77_dtbmv dtbmv
444 #define F77_dtpmv dtpmv
445 #define F77_dtrsv dtrsv
446 #define F77_dtbsv dtbsv
447 #define F77_dtpsv dtpsv
448 #define F77_cgemv cgemv
449 #define F77_cgbmv cgbmv
450 #define F77_ctrmv ctrmv
451 #define F77_ctbmv ctbmv
452 #define F77_ctpmv ctpmv
453 #define F77_ctrsv ctrsv
454 #define F77_ctbsv ctbsv
455 #define F77_ctpsv ctpsv
456 #define F77_zgemv zgemv
457 #define F77_zgbmv zgbmv
458 #define F77_ztrmv ztrmv
459 #define F77_ztbmv ztbmv
460 #define F77_ztpmv ztpmv
461 #define F77_ztrsv ztrsv
462 #define F77_ztbsv ztbsv
463 #define F77_ztpsv ztpsv
464 /*
465 * Level 3 BLAS
466 */
467 #define F77_chemm chemm
468 #define F77_cherk cherk
469 #define F77_cher2k cher2k
470 #define F77_zhemm zhemm
471 #define F77_zherk zherk
472 #define F77_zher2k zher2k
473 #define F77_sgemm sgemm
474 #define F77_ssymm ssymm
475 #define F77_ssyrk ssyrk
476 #define F77_ssyr2k ssyr2k
477 #define F77_strmm strmm
478 #define F77_strsm strsm
479 #define F77_dgemm dgemm
480 #define F77_dsymm dsymm
481 #define F77_dsyrk dsyrk
482 #define F77_dsyr2k dsyr2k
483 #define F77_dtrmm dtrmm
484 #define F77_dtrsm dtrsm
485 #define F77_cgemm cgemm
486 #define F77_csymm csymm
487 #define F77_csyrk csyrk
488 #define F77_csyr2k csyr2k
489 #define F77_ctrmm ctrmm
490 #define F77_ctrsm ctrsm
491 #define F77_zgemm zgemm
492 #define F77_zsymm zsymm
493 #define F77_zsyrk zsyrk
494 #define F77_zsyr2k zsyr2k
495 #define F77_ztrmm ztrmm
496 #define F77_ztrsm ztrsm
497 #endif
498
499 #ifdef __cplusplus
500 extern "C" {
501 #endif
502
503 void F77_xerbla(FCHAR, void *);
504 /*
505 * Level 1 Fortran Prototypes
506 */
507
508 /* Single Precision */
509
510 void F77_srot(FINT, float *, FINT, float *, FINT, const float *, const float *);
511 void F77_srotg(float *,float *,float *,float *);
512 void F77_srotm( FINT, float *, FINT, float *, FINT, const float *);
513 void F77_srotmg(float *,float *,float *,const float *, float *);
514 void F77_sswap( FINT, float *, FINT, float *, FINT);
515 void F77_scopy( FINT, const float *, FINT, float *, FINT);
516 void F77_saxpy( FINT, const float *, const float *, FINT, float *, FINT);
517 void F77_sdot_sub(FINT, const float *, FINT, const float *, FINT, float *);
518 void F77_sdsdot_sub( FINT, const float *, const float *, FINT, const float *, FINT, float *);
519 void F77_sscal( FINT, const float *, float *, FINT);
520 void F77_snrm2_sub( FINT, const float *, FINT, float *);
521 void F77_sasum_sub( FINT, const float *, FINT, float *);
522 void F77_isamax_sub( FINT, const float * , FINT, FINT2);
523
524 /* Double Precision */
525
526 void F77_drot(FINT, double *, FINT, double *, FINT, const double *, const double *);
527 void F77_drotg(double *,double *,double *,double *);
528 void F77_drotm( FINT, double *, FINT, double *, FINT, const double *);
529 void F77_drotmg(double *,double *,double *,const double *, double *);
530 void F77_dswap( FINT, double *, FINT, double *, FINT);
531 void F77_dcopy( FINT, const double *, FINT, double *, FINT);
532 void F77_daxpy( FINT, const double *, const double *, FINT, double *, FINT);
533 void F77_dswap( FINT, double *, FINT, double *, FINT);
534 void F77_dsdot_sub(FINT, const float *, FINT, const float *, FINT, double *);
535 void F77_ddot_sub( FINT, const double *, FINT, const double *, FINT, double *);
536 void F77_dscal( FINT, const double *, double *, FINT);
537 void F77_dnrm2_sub( FINT, const double *, FINT, double *);
538 void F77_dasum_sub( FINT, const double *, FINT, double *);
539 void F77_idamax_sub( FINT, const double * , FINT, FINT2);
540
541 /* Single Complex Precision */
542
543 void F77_cswap( FINT, void *, FINT, void *, FINT);
544 void F77_ccopy( FINT, const void *, FINT, void *, FINT);
545 void F77_caxpy( FINT, const void *, const void *, FINT, void *, FINT);
546 void F77_cswap( FINT, void *, FINT, void *, FINT);
547 void F77_cdotc_sub( FINT, const void *, FINT, const void *, FINT, void *);
548 void F77_cdotu_sub( FINT, const void *, FINT, const void *, FINT, void *);
549 void F77_cscal( FINT, const void *, void *, FINT);
550 void F77_icamax_sub( FINT, const void *, FINT, FINT2);
551 void F77_csscal( FINT, const float *, void *, FINT);
552 void F77_scnrm2_sub( FINT, const void *, FINT, float *);
553 void F77_scasum_sub( FINT, const void *, FINT, float *);
554
555 /* Double Complex Precision */
556
557 void F77_zswap( FINT, void *, FINT, void *, FINT);
558 void F77_zcopy( FINT, const void *, FINT, void *, FINT);
559 void F77_zaxpy( FINT, const void *, const void *, FINT, void *, FINT);
560 void F77_zswap( FINT, void *, FINT, void *, FINT);
561 void F77_zdotc_sub( FINT, const void *, FINT, const void *, FINT, void *);
562 void F77_zdotu_sub( FINT, const void *, FINT, const void *, FINT, void *);
563 void F77_zdscal( FINT, const double *, void *, FINT);
564 void F77_zscal( FINT, const void *, void *, FINT);
565 void F77_dznrm2_sub( FINT, const void *, FINT, double *);
566 void F77_dzasum_sub( FINT, const void *, FINT, double *);
567 void F77_izamax_sub( FINT, const void *, FINT, FINT2);
568
569 /*
570 * Level 2 Fortran Prototypes
571 */
572
573 /* Single Precision */
574
575 void F77_sgemv(FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
576 void F77_sgbmv(FCHAR, FINT, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
577 void F77_ssymv(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
578 void F77_ssbmv(FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
579 void F77_sspmv(FCHAR, FINT, const float *, const float *, const float *, FINT, const float *, float *, FINT);
580 void F77_strmv( FCHAR, FCHAR, FCHAR, FINT, const float *, FINT, float *, FINT);
581 void F77_stbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, FINT, float *, FINT);
582 void F77_strsv( FCHAR, FCHAR, FCHAR, FINT, const float *, FINT, float *, FINT);
583 void F77_stbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, FINT, float *, FINT);
584 void F77_stpmv( FCHAR, FCHAR, FCHAR, FINT, const float *, float *, FINT);
585 void F77_stpsv( FCHAR, FCHAR, FCHAR, FINT, const float *, float *, FINT);
586 void F77_sger( FINT, FINT, const float *, const float *, FINT, const float *, FINT, float *, FINT);
587 void F77_ssyr(FCHAR, FINT, const float *, const float *, FINT, float *, FINT);
588 void F77_sspr(FCHAR, FINT, const float *, const float *, FINT, float *);
589 void F77_sspr2(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, float *);
590 void F77_ssyr2(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, float *, FINT);
591
592 /* Double Precision */
593
594 void F77_dgemv(FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
595 void F77_dgbmv(FCHAR, FINT, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
596 void F77_dsymv(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
597 void F77_dsbmv(FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
598 void F77_dspmv(FCHAR, FINT, const double *, const double *, const double *, FINT, const double *, double *, FINT);
599 void F77_dtrmv( FCHAR, FCHAR, FCHAR, FINT, const double *, FINT, double *, FINT);
600 void F77_dtbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, FINT, double *, FINT);
601 void F77_dtrsv( FCHAR, FCHAR, FCHAR, FINT, const double *, FINT, double *, FINT);
602 void F77_dtbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, FINT, double *, FINT);
603 void F77_dtpmv( FCHAR, FCHAR, FCHAR, FINT, const double *, double *, FINT);
604 void F77_dtpsv( FCHAR, FCHAR, FCHAR, FINT, const double *, double *, FINT);
605 void F77_dger( FINT, FINT, const double *, const double *, FINT, const double *, FINT, double *, FINT);
606 void F77_dsyr(FCHAR, FINT, const double *, const double *, FINT, double *, FINT);
607 void F77_dspr(FCHAR, FINT, const double *, const double *, FINT, double *);
608 void F77_dspr2(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, double *);
609 void F77_dsyr2(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, double *, FINT);
610
611 /* Single Complex Precision */
612
613 void F77_cgemv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
614 void F77_cgbmv(FCHAR, FINT, FINT, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
615 void F77_chemv(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
616 void F77_chbmv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
617 void F77_chpmv(FCHAR, FINT, const void *, const void *, const void *, FINT, const void *, void *, FINT);
618 void F77_ctrmv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
619 void F77_ctbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
620 void F77_ctpmv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *, FINT);
621 void F77_ctrsv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
622 void F77_ctbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
623 void F77_ctpsv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *,FINT);
624 void F77_cgerc( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
625 void F77_cgeru( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
626 void F77_cher(FCHAR, FINT, const float *, const void *, FINT, void *, FINT);
627 void F77_cher2(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
628 void F77_chpr(FCHAR, FINT, const float *, const void *, FINT, void *);
629 void F77_chpr2(FCHAR, FINT, const float *, const void *, FINT, const void *, FINT, void *);
630
631 /* Double Complex Precision */
632
633 void F77_zgemv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
634 void F77_zgbmv(FCHAR, FINT, FINT, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
635 void F77_zhemv(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
636 void F77_zhbmv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
637 void F77_zhpmv(FCHAR, FINT, const void *, const void *, const void *, FINT, const void *, void *, FINT);
638 void F77_ztrmv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
639 void F77_ztbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
640 void F77_ztpmv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *, FINT);
641 void F77_ztrsv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
642 void F77_ztbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
643 void F77_ztpsv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *,FINT);
644 void F77_zgerc( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
645 void F77_zgeru( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
646 void F77_zher(FCHAR, FINT, const double *, const void *, FINT, void *, FINT);
647 void F77_zher2(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
648 void F77_zhpr(FCHAR, FINT, const double *, const void *, FINT, void *);
649 void F77_zhpr2(FCHAR, FINT, const double *, const void *, FINT, const void *, FINT, void *);
650
651 /*
652 * Level 3 Fortran Prototypes
653 */
654
655 /* Single Precision */
656
657 void F77_sgemm(FCHAR, FCHAR, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
658 void F77_ssymm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
659 void F77_ssyrk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT);
660 void F77_ssyr2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
661 void F77_strmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
662 void F77_strsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
663
664 /* Double Precision */
665
666 void F77_dgemm(FCHAR, FCHAR, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
667 void F77_dsymm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
668 void F77_dsyrk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT);
669 void F77_dsyr2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
670 void F77_dtrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
671 void F77_dtrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
672
673 /* Single Complex Precision */
674
675 void F77_cgemm(FCHAR, FCHAR, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
676 void F77_csymm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
677 void F77_chemm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
678 void F77_csyrk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT);
679 void F77_cherk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT);
680 void F77_csyr2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
681 void F77_cher2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
682 void F77_ctrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
683 void F77_ctrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
684
685 /* Double Complex Precision */
686
687 void F77_zgemm(FCHAR, FCHAR, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
688 void F77_zsymm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
689 void F77_zhemm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
690 void F77_zsyrk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT);
691 void F77_zherk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT);
692 void F77_zsyr2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
693 void F77_zher2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
694 void F77_ztrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
695 void F77_ztrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
696
697 #ifdef __cplusplus
698 }
699 #endif
700
701 #endif /* CBLAS_F77_H */
2 * cblas_f77.h
3 * Written by Keita Teranishi
4 *
5 * Updated by Jeff Horner
6 * Merged cblas_f77.h and cblas_fortran_header.h
7 */
8
9 #ifndef CBLAS_F77_H
10 #define CBLAS_f77_H
11
12 #ifdef CRAY
13 #include <fortran.h>
14 #define F77_CHAR _fcd
15 #define C2F_CHAR(a) ( _cptofcd( (a), 1 ) )
16 #define C2F_STR(a, i) ( _cptofcd( (a), (i) ) )
17 #define F77_STRLEN(a) (_fcdlen)
18 #endif
19
20 #ifdef WeirdNEC
21 #define F77_INT long
22 #endif
23
24 #ifdef F77_CHAR
25 #define FCHAR F77_CHAR
26 #else
27 #define FCHAR char *
28 #endif
29
30 #ifdef F77_INT
31 #define FINT const F77_INT *
32 #define FINT2 F77_INT *
33 #else
34 #define FINT const int *
35 #define FINT2 int *
36 #endif
37
38 #if defined(ADD_)
39 /*
40 * Level 1 BLAS
41 */
42 #define F77_xerbla xerbla_
43 #define F77_srotg srotg_
44 #define F77_srotmg srotmg_
45 #define F77_srot srot_
46 #define F77_srotm srotm_
47 #define F77_drotg drotg_
48 #define F77_drotmg drotmg_
49 #define F77_drot drot_
50 #define F77_drotm drotm_
51 #define F77_sswap sswap_
52 #define F77_scopy scopy_
53 #define F77_saxpy saxpy_
54 #define F77_isamax_sub isamaxsub_
55 #define F77_dswap dswap_
56 #define F77_dcopy dcopy_
57 #define F77_daxpy daxpy_
58 #define F77_idamax_sub idamaxsub_
59 #define F77_cswap cswap_
60 #define F77_ccopy ccopy_
61 #define F77_caxpy caxpy_
62 #define F77_icamax_sub icamaxsub_
63 #define F77_zswap zswap_
64 #define F77_zcopy zcopy_
65 #define F77_zaxpy zaxpy_
66 #define F77_izamax_sub izamaxsub_
67 #define F77_sdot_sub sdotsub_
68 #define F77_ddot_sub ddotsub_
69 #define F77_dsdot_sub dsdotsub_
70 #define F77_sscal sscal_
71 #define F77_dscal dscal_
72 #define F77_cscal cscal_
73 #define F77_zscal zscal_
74 #define F77_csscal csscal_
75 #define F77_zdscal zdscal_
76 #define F77_cdotu_sub cdotusub_
77 #define F77_cdotc_sub cdotcsub_
78 #define F77_zdotu_sub zdotusub_
79 #define F77_zdotc_sub zdotcsub_
80 #define F77_snrm2_sub snrm2sub_
81 #define F77_sasum_sub sasumsub_
82 #define F77_dnrm2_sub dnrm2sub_
83 #define F77_dasum_sub dasumsub_
84 #define F77_scnrm2_sub scnrm2sub_
85 #define F77_scasum_sub scasumsub_
86 #define F77_dznrm2_sub dznrm2sub_
87 #define F77_dzasum_sub dzasumsub_
88 #define F77_sdsdot_sub sdsdotsub_
89 /*
90 * Level 2 BLAS
91 */
92 #define F77_ssymv ssymv_
93 #define F77_ssbmv ssbmv_
94 #define F77_sspmv sspmv_
95 #define F77_sger sger_
96 #define F77_ssyr ssyr_
97 #define F77_sspr sspr_
98 #define F77_ssyr2 ssyr2_
99 #define F77_sspr2 sspr2_
100 #define F77_dsymv dsymv_
101 #define F77_dsbmv dsbmv_
102 #define F77_dspmv dspmv_
103 #define F77_dger dger_
104 #define F77_dsyr dsyr_
105 #define F77_dspr dspr_
106 #define F77_dsyr2 dsyr2_
107 #define F77_dspr2 dspr2_
108 #define F77_chemv chemv_
109 #define F77_chbmv chbmv_
110 #define F77_chpmv chpmv_
111 #define F77_cgeru cgeru_
112 #define F77_cgerc cgerc_
113 #define F77_cher cher_
114 #define F77_chpr chpr_
115 #define F77_cher2 cher2_
116 #define F77_chpr2 chpr2_
117 #define F77_zhemv zhemv_
118 #define F77_zhbmv zhbmv_
119 #define F77_zhpmv zhpmv_
120 #define F77_zgeru zgeru_
121 #define F77_zgerc zgerc_
122 #define F77_zher zher_
123 #define F77_zhpr zhpr_
124 #define F77_zher2 zher2_
125 #define F77_zhpr2 zhpr2_
126 #define F77_sgemv sgemv_
127 #define F77_sgbmv sgbmv_
128 #define F77_strmv strmv_
129 #define F77_stbmv stbmv_
130 #define F77_stpmv stpmv_
131 #define F77_strsv strsv_
132 #define F77_stbsv stbsv_
133 #define F77_stpsv stpsv_
134 #define F77_dgemv dgemv_
135 #define F77_dgbmv dgbmv_
136 #define F77_dtrmv dtrmv_
137 #define F77_dtbmv dtbmv_
138 #define F77_dtpmv dtpmv_
139 #define F77_dtrsv dtrsv_
140 #define F77_dtbsv dtbsv_
141 #define F77_dtpsv dtpsv_
142 #define F77_cgemv cgemv_
143 #define F77_cgbmv cgbmv_
144 #define F77_ctrmv ctrmv_
145 #define F77_ctbmv ctbmv_
146 #define F77_ctpmv ctpmv_
147 #define F77_ctrsv ctrsv_
148 #define F77_ctbsv ctbsv_
149 #define F77_ctpsv ctpsv_
150 #define F77_zgemv zgemv_
151 #define F77_zgbmv zgbmv_
152 #define F77_ztrmv ztrmv_
153 #define F77_ztbmv ztbmv_
154 #define F77_ztpmv ztpmv_
155 #define F77_ztrsv ztrsv_
156 #define F77_ztbsv ztbsv_
157 #define F77_ztpsv ztpsv_
158 /*
159 * Level 3 BLAS
160 */
161 #define F77_chemm chemm_
162 #define F77_cherk cherk_
163 #define F77_cher2k cher2k_
164 #define F77_zhemm zhemm_
165 #define F77_zherk zherk_
166 #define F77_zher2k zher2k_
167 #define F77_sgemm sgemm_
168 #define F77_ssymm ssymm_
169 #define F77_ssyrk ssyrk_
170 #define F77_ssyr2k ssyr2k_
171 #define F77_strmm strmm_
172 #define F77_strsm strsm_
173 #define F77_dgemm dgemm_
174 #define F77_dsymm dsymm_
175 #define F77_dsyrk dsyrk_
176 #define F77_dsyr2k dsyr2k_
177 #define F77_dtrmm dtrmm_
178 #define F77_dtrsm dtrsm_
179 #define F77_cgemm cgemm_
180 #define F77_csymm csymm_
181 #define F77_csyrk csyrk_
182 #define F77_csyr2k csyr2k_
183 #define F77_ctrmm ctrmm_
184 #define F77_ctrsm ctrsm_
185 #define F77_zgemm zgemm_
186 #define F77_zsymm zsymm_
187 #define F77_zsyrk zsyrk_
188 #define F77_zsyr2k zsyr2k_
189 #define F77_ztrmm ztrmm_
190 #define F77_ztrsm ztrsm_
191 #elif defined(UPCASE)
192 /*
193 * Level 1 BLAS
194 */
195 #define F77_xerbla XERBLA
196 #define F77_srotg SROTG
197 #define F77_srotmg SROTMG
198 #define F77_srot SROT
199 #define F77_srotm SROTM
200 #define F77_drotg DROTG
201 #define F77_drotmg DROTMG
202 #define F77_drot DROT
203 #define F77_drotm DROTM
204 #define F77_sswap SSWAP
205 #define F77_scopy SCOPY
206 #define F77_saxpy SAXPY
207 #define F77_isamax_sub ISAMAXSUB
208 #define F77_dswap DSWAP
209 #define F77_dcopy DCOPY
210 #define F77_daxpy DAXPY
211 #define F77_idamax_sub IDAMAXSUB
212 #define F77_cswap CSWAP
213 #define F77_ccopy CCOPY
214 #define F77_caxpy CAXPY
215 #define F77_icamax_sub ICAMAXSUB
216 #define F77_zswap ZSWAP
217 #define F77_zcopy ZCOPY
218 #define F77_zaxpy ZAXPY
219 #define F77_izamax_sub IZAMAXSUB
220 #define F77_sdot_sub SDOTSUB
221 #define F77_ddot_sub DDOTSUB
222 #define F77_dsdot_sub DSDOTSUB
223 #define F77_sscal SSCAL
224 #define F77_dscal DSCAL
225 #define F77_cscal CSCAL
226 #define F77_zscal ZSCAL
227 #define F77_csscal CSSCAL
228 #define F77_zdscal ZDSCAL
229 #define F77_cdotu_sub CDOTUSUB
230 #define F77_cdotc_sub CDOTCSUB
231 #define F77_zdotu_sub ZDOTUSUB
232 #define F77_zdotc_sub ZDOTCSUB
233 #define F77_snrm2_sub SNRM2SUB
234 #define F77_sasum_sub SASUMSUB
235 #define F77_dnrm2_sub DNRM2SUB
236 #define F77_dasum_sub DASUMSUB
237 #define F77_scnrm2_sub SCNRM2SUB
238 #define F77_scasum_sub SCASUMSUB
239 #define F77_dznrm2_sub DZNRM2SUB
240 #define F77_dzasum_sub DZASUMSUB
241 #define F77_sdsdot_sub SDSDOTSUB
242 /*
243 * Level 2 BLAS
244 */
245 #define F77_ssymv SSYMV
246 #define F77_ssbmv SSBMV
247 #define F77_sspmv SSPMV
248 #define F77_sger SGER
249 #define F77_ssyr SSYR
250 #define F77_sspr SSPR
251 #define F77_ssyr2 SSYR2
252 #define F77_sspr2 SSPR2
253 #define F77_dsymv DSYMV
254 #define F77_dsbmv DSBMV
255 #define F77_dspmv DSPMV
256 #define F77_dger DGER
257 #define F77_dsyr DSYR
258 #define F77_dspr DSPR
259 #define F77_dsyr2 DSYR2
260 #define F77_dspr2 DSPR2
261 #define F77_chemv CHEMV
262 #define F77_chbmv CHBMV
263 #define F77_chpmv CHPMV
264 #define F77_cgeru CGERU
265 #define F77_cgerc CGERC
266 #define F77_cher CHER
267 #define F77_chpr CHPR
268 #define F77_cher2 CHER2
269 #define F77_chpr2 CHPR2
270 #define F77_zhemv ZHEMV
271 #define F77_zhbmv ZHBMV
272 #define F77_zhpmv ZHPMV
273 #define F77_zgeru ZGERU
274 #define F77_zgerc ZGERC
275 #define F77_zher ZHER
276 #define F77_zhpr ZHPR
277 #define F77_zher2 ZHER2
278 #define F77_zhpr2 ZHPR2
279 #define F77_sgemv SGEMV
280 #define F77_sgbmv SGBMV
281 #define F77_strmv STRMV
282 #define F77_stbmv STBMV
283 #define F77_stpmv STPMV
284 #define F77_strsv STRSV
285 #define F77_stbsv STBSV
286 #define F77_stpsv STPSV
287 #define F77_dgemv DGEMV
288 #define F77_dgbmv DGBMV
289 #define F77_dtrmv DTRMV
290 #define F77_dtbmv DTBMV
291 #define F77_dtpmv DTPMV
292 #define F77_dtrsv DTRSV
293 #define F77_dtbsv DTBSV
294 #define F77_dtpsv DTPSV
295 #define F77_cgemv CGEMV
296 #define F77_cgbmv CGBMV
297 #define F77_ctrmv CTRMV
298 #define F77_ctbmv CTBMV
299 #define F77_ctpmv CTPMV
300 #define F77_ctrsv CTRSV
301 #define F77_ctbsv CTBSV
302 #define F77_ctpsv CTPSV
303 #define F77_zgemv ZGEMV
304 #define F77_zgbmv ZGBMV
305 #define F77_ztrmv ZTRMV
306 #define F77_ztbmv ZTBMV
307 #define F77_ztpmv ZTPMV
308 #define F77_ztrsv ZTRSV
309 #define F77_ztbsv ZTBSV
310 #define F77_ztpsv ZTPSV
311 /*
312 * Level 3 BLAS
313 */
314 #define F77_chemm CHEMM
315 #define F77_cherk CHERK
316 #define F77_cher2k CHER2K
317 #define F77_zhemm ZHEMM
318 #define F77_zherk ZHERK
319 #define F77_zher2k ZHER2K
320 #define F77_sgemm SGEMM
321 #define F77_ssymm SSYMM
322 #define F77_ssyrk SSYRK
323 #define F77_ssyr2k SSYR2K
324 #define F77_strmm STRMM
325 #define F77_strsm STRSM
326 #define F77_dgemm DGEMM
327 #define F77_dsymm DSYMM
328 #define F77_dsyrk DSYRK
329 #define F77_dsyr2k DSYR2K
330 #define F77_dtrmm DTRMM
331 #define F77_dtrsm DTRSM
332 #define F77_cgemm CGEMM
333 #define F77_csymm CSYMM
334 #define F77_csyrk CSYRK
335 #define F77_csyr2k CSYR2K
336 #define F77_ctrmm CTRMM
337 #define F77_ctrsm CTRSM
338 #define F77_zgemm ZGEMM
339 #define F77_zsymm ZSYMM
340 #define F77_zsyrk ZSYRK
341 #define F77_zsyr2k ZSYR2K
342 #define F77_ztrmm ZTRMM
343 #define F77_ztrsm ZTRSM
344 #elif defined(NOCHANGE)
345 /*
346 * Level 1 BLAS
347 */
348 #define F77_xerbla xerbla
349 #define F77_srotg srotg
350 #define F77_srotmg srotmg
351 #define F77_srot srot
352 #define F77_srotm srotm
353 #define F77_drotg drotg
354 #define F77_drotmg drotmg
355 #define F77_drot drot
356 #define F77_drotm drotm
357 #define F77_sswap sswap
358 #define F77_scopy scopy
359 #define F77_saxpy saxpy
360 #define F77_isamax_sub isamaxsub
361 #define F77_dswap dswap
362 #define F77_dcopy dcopy
363 #define F77_daxpy daxpy
364 #define F77_idamax_sub idamaxsub
365 #define F77_cswap cswap
366 #define F77_ccopy ccopy
367 #define F77_caxpy caxpy
368 #define F77_icamax_sub icamaxsub
369 #define F77_zswap zswap
370 #define F77_zcopy zcopy
371 #define F77_zaxpy zaxpy
372 #define F77_izamax_sub izamaxsub
373 #define F77_sdot_sub sdotsub
374 #define F77_ddot_sub ddotsub
375 #define F77_dsdot_sub dsdotsub
376 #define F77_sscal sscal
377 #define F77_dscal dscal
378 #define F77_cscal cscal
379 #define F77_zscal zscal
380 #define F77_csscal csscal
381 #define F77_zdscal zdscal
382 #define F77_cdotu_sub cdotusub
383 #define F77_cdotc_sub cdotcsub
384 #define F77_zdotu_sub zdotusub
385 #define F77_zdotc_sub zdotcsub
386 #define F77_snrm2_sub snrm2sub
387 #define F77_sasum_sub sasumsub
388 #define F77_dnrm2_sub dnrm2sub
389 #define F77_dasum_sub dasumsub
390 #define F77_scnrm2_sub scnrm2sub
391 #define F77_scasum_sub scasumsub
392 #define F77_dznrm2_sub dznrm2sub
393 #define F77_dzasum_sub dzasumsub
394 #define F77_sdsdot_sub sdsdotsub
395 /*
396 * Level 2 BLAS
397 */
398 #define F77_ssymv ssymv
399 #define F77_ssbmv ssbmv
400 #define F77_sspmv sspmv
401 #define F77_sger sger
402 #define F77_ssyr ssyr
403 #define F77_sspr sspr
404 #define F77_ssyr2 ssyr2
405 #define F77_sspr2 sspr2
406 #define F77_dsymv dsymv
407 #define F77_dsbmv dsbmv
408 #define F77_dspmv dspmv
409 #define F77_dger dger
410 #define F77_dsyr dsyr
411 #define F77_dspr dspr
412 #define F77_dsyr2 dsyr2
413 #define F77_dspr2 dspr2
414 #define F77_chemv chemv
415 #define F77_chbmv chbmv
416 #define F77_chpmv chpmv
417 #define F77_cgeru cgeru
418 #define F77_cgerc cgerc
419 #define F77_cher cher
420 #define F77_chpr chpr
421 #define F77_cher2 cher2
422 #define F77_chpr2 chpr2
423 #define F77_zhemv zhemv
424 #define F77_zhbmv zhbmv
425 #define F77_zhpmv zhpmv
426 #define F77_zgeru zgeru
427 #define F77_zgerc zgerc
428 #define F77_zher zher
429 #define F77_zhpr zhpr
430 #define F77_zher2 zher2
431 #define F77_zhpr2 zhpr2
432 #define F77_sgemv sgemv
433 #define F77_sgbmv sgbmv
434 #define F77_strmv strmv
435 #define F77_stbmv stbmv
436 #define F77_stpmv stpmv
437 #define F77_strsv strsv
438 #define F77_stbsv stbsv
439 #define F77_stpsv stpsv
440 #define F77_dgemv dgemv
441 #define F77_dgbmv dgbmv
442 #define F77_dtrmv dtrmv
443 #define F77_dtbmv dtbmv
444 #define F77_dtpmv dtpmv
445 #define F77_dtrsv dtrsv
446 #define F77_dtbsv dtbsv
447 #define F77_dtpsv dtpsv
448 #define F77_cgemv cgemv
449 #define F77_cgbmv cgbmv
450 #define F77_ctrmv ctrmv
451 #define F77_ctbmv ctbmv
452 #define F77_ctpmv ctpmv
453 #define F77_ctrsv ctrsv
454 #define F77_ctbsv ctbsv
455 #define F77_ctpsv ctpsv
456 #define F77_zgemv zgemv
457 #define F77_zgbmv zgbmv
458 #define F77_ztrmv ztrmv
459 #define F77_ztbmv ztbmv
460 #define F77_ztpmv ztpmv
461 #define F77_ztrsv ztrsv
462 #define F77_ztbsv ztbsv
463 #define F77_ztpsv ztpsv
464 /*
465 * Level 3 BLAS
466 */
467 #define F77_chemm chemm
468 #define F77_cherk cherk
469 #define F77_cher2k cher2k
470 #define F77_zhemm zhemm
471 #define F77_zherk zherk
472 #define F77_zher2k zher2k
473 #define F77_sgemm sgemm
474 #define F77_ssymm ssymm
475 #define F77_ssyrk ssyrk
476 #define F77_ssyr2k ssyr2k
477 #define F77_strmm strmm
478 #define F77_strsm strsm
479 #define F77_dgemm dgemm
480 #define F77_dsymm dsymm
481 #define F77_dsyrk dsyrk
482 #define F77_dsyr2k dsyr2k
483 #define F77_dtrmm dtrmm
484 #define F77_dtrsm dtrsm
485 #define F77_cgemm cgemm
486 #define F77_csymm csymm
487 #define F77_csyrk csyrk
488 #define F77_csyr2k csyr2k
489 #define F77_ctrmm ctrmm
490 #define F77_ctrsm ctrsm
491 #define F77_zgemm zgemm
492 #define F77_zsymm zsymm
493 #define F77_zsyrk zsyrk
494 #define F77_zsyr2k zsyr2k
495 #define F77_ztrmm ztrmm
496 #define F77_ztrsm ztrsm
497 #endif
498
499 #ifdef __cplusplus
500 extern "C" {
501 #endif
502
503 void F77_xerbla(FCHAR, void *);
504 /*
505 * Level 1 Fortran Prototypes
506 */
507
508 /* Single Precision */
509
510 void F77_srot(FINT, float *, FINT, float *, FINT, const float *, const float *);
511 void F77_srotg(float *,float *,float *,float *);
512 void F77_srotm( FINT, float *, FINT, float *, FINT, const float *);
513 void F77_srotmg(float *,float *,float *,const float *, float *);
514 void F77_sswap( FINT, float *, FINT, float *, FINT);
515 void F77_scopy( FINT, const float *, FINT, float *, FINT);
516 void F77_saxpy( FINT, const float *, const float *, FINT, float *, FINT);
517 void F77_sdot_sub(FINT, const float *, FINT, const float *, FINT, float *);
518 void F77_sdsdot_sub( FINT, const float *, const float *, FINT, const float *, FINT, float *);
519 void F77_sscal( FINT, const float *, float *, FINT);
520 void F77_snrm2_sub( FINT, const float *, FINT, float *);
521 void F77_sasum_sub( FINT, const float *, FINT, float *);
522 void F77_isamax_sub( FINT, const float * , FINT, FINT2);
523
524 /* Double Precision */
525
526 void F77_drot(FINT, double *, FINT, double *, FINT, const double *, const double *);
527 void F77_drotg(double *,double *,double *,double *);
528 void F77_drotm( FINT, double *, FINT, double *, FINT, const double *);
529 void F77_drotmg(double *,double *,double *,const double *, double *);
530 void F77_dswap( FINT, double *, FINT, double *, FINT);
531 void F77_dcopy( FINT, const double *, FINT, double *, FINT);
532 void F77_daxpy( FINT, const double *, const double *, FINT, double *, FINT);
533 void F77_dswap( FINT, double *, FINT, double *, FINT);
534 void F77_dsdot_sub(FINT, const float *, FINT, const float *, FINT, double *);
535 void F77_ddot_sub( FINT, const double *, FINT, const double *, FINT, double *);
536 void F77_dscal( FINT, const double *, double *, FINT);
537 void F77_dnrm2_sub( FINT, const double *, FINT, double *);
538 void F77_dasum_sub( FINT, const double *, FINT, double *);
539 void F77_idamax_sub( FINT, const double * , FINT, FINT2);
540
541 /* Single Complex Precision */
542
543 void F77_cswap( FINT, void *, FINT, void *, FINT);
544 void F77_ccopy( FINT, const void *, FINT, void *, FINT);
545 void F77_caxpy( FINT, const void *, const void *, FINT, void *, FINT);
546 void F77_cswap( FINT, void *, FINT, void *, FINT);
547 void F77_cdotc_sub( FINT, const void *, FINT, const void *, FINT, void *);
548 void F77_cdotu_sub( FINT, const void *, FINT, const void *, FINT, void *);
549 void F77_cscal( FINT, const void *, void *, FINT);
550 void F77_icamax_sub( FINT, const void *, FINT, FINT2);
551 void F77_csscal( FINT, const float *, void *, FINT);
552 void F77_scnrm2_sub( FINT, const void *, FINT, float *);
553 void F77_scasum_sub( FINT, const void *, FINT, float *);
554
555 /* Double Complex Precision */
556
557 void F77_zswap( FINT, void *, FINT, void *, FINT);
558 void F77_zcopy( FINT, const void *, FINT, void *, FINT);
559 void F77_zaxpy( FINT, const void *, const void *, FINT, void *, FINT);
560 void F77_zswap( FINT, void *, FINT, void *, FINT);
561 void F77_zdotc_sub( FINT, const void *, FINT, const void *, FINT, void *);
562 void F77_zdotu_sub( FINT, const void *, FINT, const void *, FINT, void *);
563 void F77_zdscal( FINT, const double *, void *, FINT);
564 void F77_zscal( FINT, const void *, void *, FINT);
565 void F77_dznrm2_sub( FINT, const void *, FINT, double *);
566 void F77_dzasum_sub( FINT, const void *, FINT, double *);
567 void F77_izamax_sub( FINT, const void *, FINT, FINT2);
568
569 /*
570 * Level 2 Fortran Prototypes
571 */
572
573 /* Single Precision */
574
575 void F77_sgemv(FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
576 void F77_sgbmv(FCHAR, FINT, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
577 void F77_ssymv(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
578 void F77_ssbmv(FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
579 void F77_sspmv(FCHAR, FINT, const float *, const float *, const float *, FINT, const float *, float *, FINT);
580 void F77_strmv( FCHAR, FCHAR, FCHAR, FINT, const float *, FINT, float *, FINT);
581 void F77_stbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, FINT, float *, FINT);
582 void F77_strsv( FCHAR, FCHAR, FCHAR, FINT, const float *, FINT, float *, FINT);
583 void F77_stbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, FINT, float *, FINT);
584 void F77_stpmv( FCHAR, FCHAR, FCHAR, FINT, const float *, float *, FINT);
585 void F77_stpsv( FCHAR, FCHAR, FCHAR, FINT, const float *, float *, FINT);
586 void F77_sger( FINT, FINT, const float *, const float *, FINT, const float *, FINT, float *, FINT);
587 void F77_ssyr(FCHAR, FINT, const float *, const float *, FINT, float *, FINT);
588 void F77_sspr(FCHAR, FINT, const float *, const float *, FINT, float *);
589 void F77_sspr2(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, float *);
590 void F77_ssyr2(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, float *, FINT);
591
592 /* Double Precision */
593
594 void F77_dgemv(FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
595 void F77_dgbmv(FCHAR, FINT, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
596 void F77_dsymv(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
597 void F77_dsbmv(FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
598 void F77_dspmv(FCHAR, FINT, const double *, const double *, const double *, FINT, const double *, double *, FINT);
599 void F77_dtrmv( FCHAR, FCHAR, FCHAR, FINT, const double *, FINT, double *, FINT);
600 void F77_dtbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, FINT, double *, FINT);
601 void F77_dtrsv( FCHAR, FCHAR, FCHAR, FINT, const double *, FINT, double *, FINT);
602 void F77_dtbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, FINT, double *, FINT);
603 void F77_dtpmv( FCHAR, FCHAR, FCHAR, FINT, const double *, double *, FINT);
604 void F77_dtpsv( FCHAR, FCHAR, FCHAR, FINT, const double *, double *, FINT);
605 void F77_dger( FINT, FINT, const double *, const double *, FINT, const double *, FINT, double *, FINT);
606 void F77_dsyr(FCHAR, FINT, const double *, const double *, FINT, double *, FINT);
607 void F77_dspr(FCHAR, FINT, const double *, const double *, FINT, double *);
608 void F77_dspr2(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, double *);
609 void F77_dsyr2(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, double *, FINT);
610
611 /* Single Complex Precision */
612
613 void F77_cgemv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
614 void F77_cgbmv(FCHAR, FINT, FINT, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
615 void F77_chemv(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
616 void F77_chbmv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
617 void F77_chpmv(FCHAR, FINT, const void *, const void *, const void *, FINT, const void *, void *, FINT);
618 void F77_ctrmv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
619 void F77_ctbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
620 void F77_ctpmv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *, FINT);
621 void F77_ctrsv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
622 void F77_ctbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
623 void F77_ctpsv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *,FINT);
624 void F77_cgerc( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
625 void F77_cgeru( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
626 void F77_cher(FCHAR, FINT, const float *, const void *, FINT, void *, FINT);
627 void F77_cher2(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
628 void F77_chpr(FCHAR, FINT, const float *, const void *, FINT, void *);
629 void F77_chpr2(FCHAR, FINT, const float *, const void *, FINT, const void *, FINT, void *);
630
631 /* Double Complex Precision */
632
633 void F77_zgemv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
634 void F77_zgbmv(FCHAR, FINT, FINT, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
635 void F77_zhemv(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
636 void F77_zhbmv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
637 void F77_zhpmv(FCHAR, FINT, const void *, const void *, const void *, FINT, const void *, void *, FINT);
638 void F77_ztrmv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
639 void F77_ztbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
640 void F77_ztpmv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *, FINT);
641 void F77_ztrsv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
642 void F77_ztbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
643 void F77_ztpsv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *,FINT);
644 void F77_zgerc( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
645 void F77_zgeru( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
646 void F77_zher(FCHAR, FINT, const double *, const void *, FINT, void *, FINT);
647 void F77_zher2(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
648 void F77_zhpr(FCHAR, FINT, const double *, const void *, FINT, void *);
649 void F77_zhpr2(FCHAR, FINT, const double *, const void *, FINT, const void *, FINT, void *);
650
651 /*
652 * Level 3 Fortran Prototypes
653 */
654
655 /* Single Precision */
656
657 void F77_sgemm(FCHAR, FCHAR, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
658 void F77_ssymm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
659 void F77_ssyrk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT);
660 void F77_ssyr2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
661 void F77_strmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
662 void F77_strsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
663
664 /* Double Precision */
665
666 void F77_dgemm(FCHAR, FCHAR, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
667 void F77_dsymm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
668 void F77_dsyrk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT);
669 void F77_dsyr2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
670 void F77_dtrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
671 void F77_dtrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
672
673 /* Single Complex Precision */
674
675 void F77_cgemm(FCHAR, FCHAR, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
676 void F77_csymm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
677 void F77_chemm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
678 void F77_csyrk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT);
679 void F77_cherk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT);
680 void F77_csyr2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
681 void F77_cher2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
682 void F77_ctrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
683 void F77_ctrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
684
685 /* Double Complex Precision */
686
687 void F77_zgemm(FCHAR, FCHAR, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
688 void F77_zsymm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
689 void F77_zhemm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
690 void F77_zsyrk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT);
691 void F77_zherk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT);
692 void F77_zsyr2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
693 void F77_zher2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
694 void F77_ztrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
695 void F77_ztrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
696
697 #ifdef __cplusplus
698 }
699 #endif
700
701 #endif /* CBLAS_F77_H */