]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - dense-linear-algebra-libraries/linalg.git/blob - blis/frame/compat/cblas/src/cblas_f77.h
Consolidate all git repos of linalg into one.
[dense-linear-algebra-libraries/linalg.git] / blis / frame / compat / cblas / src / cblas_f77.h
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  */
9 #ifndef CBLAS_F77_H
10 #define CBLAS_f77_H
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
20 #ifdef WeirdNEC
21    #define F77_INT long
22 #endif
24 #ifdef  F77_CHAR
25    #define FCHAR F77_CHAR
26 #else
27    #define FCHAR char *
28 #endif
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
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
499 #ifdef __cplusplus
500 extern "C" {
501 #endif
503    void F77_xerbla(FCHAR, void *);
504 /*
505  * Level 1 Fortran Prototypes
506  */
508 /* Single Precision */
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);
524 /* Double Precision */
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);
541 /* Single Complex Precision */
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 *);
555 /* Double Complex Precision */
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);
569 /*
570  * Level 2 Fortran Prototypes
571  */
573 /* Single Precision */
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);
592 /* Double Precision */
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);
611 /* Single Complex Precision */
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 *);
631 /* Double Complex Precision */
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 *);
651 /*
652  * Level 3 Fortran Prototypes
653  */
655 /* Single Precision */
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);
664 /* Double Precision */
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);
673 /* Single Complex Precision */
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);
685 /* Double Complex Precision */
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);
697 #ifdef __cplusplus
699 #endif
701 #endif /*  CBLAS_F77_H */