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 /*
39  * Level 1 BLAS
40  */
41 
42 #define F77_xerbla 		F77_GLOBAL(xerbla,XERBLA)
43 #define F77_srotg 		F77_GLOBAL(srotg,SROTG)
44 #define F77_srotmg 		F77_GLOBAL(srotmg,SROTMG)
45 #define F77_srot 		F77_GLOBAL(srot,SROT)
46 #define F77_srotm 		F77_GLOBAL(srotm,SROTM)
47 #define F77_drotg 		F77_GLOBAL(drotg,DROTG)
48 #define F77_drotmg 		F77_GLOBAL(drotmg,DROTMG)
49 #define F77_drot 		F77_GLOBAL(drot,DROT)
50 #define F77_drotm 		F77_GLOBAL(drotm,DROTM)
51 #define F77_sswap 		F77_GLOBAL(sswap,SSWAP)
52 #define F77_scopy 		F77_GLOBAL(scopy,SCOPY)
53 #define F77_saxpy 		F77_GLOBAL(saxpy,SAXPY)
54 #define F77_isamax_sub 	F77_GLOBAL(isamaxsub,ISAMAXSUB)
55 #define F77_dswap 		F77_GLOBAL(dswap,DSWAP)
56 #define F77_dcopy 		F77_GLOBAL(dcopy,DCOPY)
57 #define F77_daxpy 		F77_GLOBAL(daxpy,DAXPY)
58 #define F77_idamax_sub 	F77_GLOBAL(idamaxsub,IDAMAXSUB)
59 #define F77_cswap 		F77_GLOBAL(cswap,CSWAP)
60 #define F77_ccopy 		F77_GLOBAL(ccopy,CCOPY)
61 #define F77_caxpy 		F77_GLOBAL(caxpy,CAXPY)
62 #define F77_icamax_sub 	F77_GLOBAL(icamaxsub,ICAMAXSUB)
63 #define F77_zswap 		F77_GLOBAL(zswap,ZSWAP)
64 #define F77_zcopy 		F77_GLOBAL(zcopy,ZCOPY)
65 #define F77_zaxpy 		F77_GLOBAL(zaxpy,ZAXPY)
66 #define F77_izamax_sub 	F77_GLOBAL(izamaxsub,IZAMAXSUB)
67 #define F77_sdot_sub 	F77_GLOBAL(sdotsub,SDOTSUB)
68 #define F77_ddot_sub 	F77_GLOBAL(ddotsub,DDOTSUB)
69 #define F77_dsdot_sub 	F77_GLOBAL(dsdotsub,DSDOTSUB)
70 #define F77_sscal 		F77_GLOBAL(sscal,SSCAL)
71 #define F77_dscal 		F77_GLOBAL(dscal,DSCAL)
72 #define F77_cscal 		F77_GLOBAL(cscal,CSCAL)
73 #define F77_zscal 		F77_GLOBAL(zscal,ZSCAL)
74 #define F77_csscal 		F77_GLOBAL(csscal,CSSCAL)
75 #define F77_zdscal 		F77_GLOBAL(zdscal,ZDSCAL)
76 #define F77_cdotu_sub 	F77_GLOBAL(cdotusub,CDOTUSUB)
77 #define F77_cdotc_sub 	F77_GLOBAL(cdotcsub,CDOTCSUB)
78 #define F77_zdotu_sub 	F77_GLOBAL(zdotusub,ZDOTUSUB)
79 #define F77_zdotc_sub 	F77_GLOBAL(zdotcsub,ZDOTCSUB)
80 #define F77_snrm2_sub 	F77_GLOBAL(snrm2sub,SNRM2SUB)
81 #define F77_sasum_sub 	F77_GLOBAL(sasumsub,SASUMSUB)
82 #define F77_dnrm2_sub 	F77_GLOBAL(dnrm2sub,DNRM2SUB)
83 #define F77_dasum_sub 	F77_GLOBAL(dasumsub,DASUMSUB)
84 #define F77_scnrm2_sub 	F77_GLOBAL(scnrm2sub,SCNRM2SUB)
85 #define F77_scasum_sub 	F77_GLOBAL(scasumsub,SCASUMSUB)
86 #define F77_dznrm2_sub 	F77_GLOBAL(dznrm2sub,DZNRM2SUB)
87 #define F77_dzasum_sub 	F77_GLOBAL(dzasumsub,DZASUMSUB)
88 #define F77_sdsdot_sub 	F77_GLOBAL(sdsdotsub,SDSDOTSUB)
89 /*
90  * Level 2 BLAS
91  */
92 #define F77_ssymv 		F77_GLOBAL(ssymv,SSYMY)
93 #define F77_ssbmv 		F77_GLOBAL(ssbmv,SSMBV)
94 #define F77_sspmv 		F77_GLOBAL(sspmv,SSPMV)
95 #define F77_sger 		F77_GLOBAL(sger,SGER)
96 #define F77_ssyr 		F77_GLOBAL(ssyr,SSYR)
97 #define F77_sspr 		F77_GLOBAL(sspr,SSPR)
98 #define F77_ssyr2 		F77_GLOBAL(ssyr2,SSYR2)
99 #define F77_sspr2 		F77_GLOBAL(sspr2,SSPR2)
100 #define F77_dsymv 		F77_GLOBAL(dsymv,DSYMV)
101 #define F77_dsbmv 		F77_GLOBAL(dsbmv,DSBMV)
102 #define F77_dspmv 		F77_GLOBAL(dspmv,DSPMV)
103 #define F77_dger 		F77_GLOBAL(dger,DGER)
104 #define F77_dsyr 		F77_GLOBAL(dsyr,DSYR)
105 #define F77_dspr 		F77_GLOBAL(dspr,DSPR)
106 #define F77_dsyr2 		F77_GLOBAL(dsyr2,DSYR2)
107 #define F77_dspr2 		F77_GLOBAL(dspr2,DSPR2)
108 #define F77_chemv 		F77_GLOBAL(chemv,CHEMV)
109 #define F77_chbmv 		F77_GLOBAL(chbmv,CHBMV)
110 #define F77_chpmv 		F77_GLOBAL(chpmv,CHPMV)
111 #define F77_cgeru 		F77_GLOBAL(cgeru,CGERU)
112 #define F77_cgerc 		F77_GLOBAL(cgerc,CGERC)
113 #define F77_cher 		F77_GLOBAL(cher,CHER)
114 #define F77_chpr 		F77_GLOBAL(chpr,CHPR)
115 #define F77_cher2 		F77_GLOBAL(cher2,CHER2)
116 #define F77_chpr2 		F77_GLOBAL(chpr2,CHPR2)
117 #define F77_zhemv 		F77_GLOBAL(zhemv,ZHEMV)
118 #define F77_zhbmv 		F77_GLOBAL(zhbmv,ZHBMV)
119 #define F77_zhpmv 		F77_GLOBAL(zhpmv,ZHPMV)
120 #define F77_zgeru 		F77_GLOBAL(zgeru,ZGERU)
121 #define F77_zgerc 		F77_GLOBAL(zgerc,ZGERC)
122 #define F77_zher 		F77_GLOBAL(zher,ZHER)
123 #define F77_zhpr 		F77_GLOBAL(zhpr,ZHPR)
124 #define F77_zher2 		F77_GLOBAL(zher2,ZHER2)
125 #define F77_zhpr2 		F77_GLOBAL(zhpr2,ZHPR2)
126 #define F77_sgemv 		F77_GLOBAL(sgemv,SGEMV)
127 #define F77_sgbmv 		F77_GLOBAL(sgbmv,SGBMV)
128 #define F77_strmv 		F77_GLOBAL(strmv,STRMV)
129 #define F77_stbmv 		F77_GLOBAL(stbmv,STBMV)
130 #define F77_stpmv 		F77_GLOBAL(stpmv,STPMV)
131 #define F77_strsv 		F77_GLOBAL(strsv,STRSV)
132 #define F77_stbsv 		F77_GLOBAL(stbsv,STBSV)
133 #define F77_stpsv 		F77_GLOBAL(stpsv,STPSV)
134 #define F77_dgemv 		F77_GLOBAL(dgemv,DGEMV)
135 #define F77_dgbmv 		F77_GLOBAL(dgbmv,DGBMV)
136 #define F77_dtrmv 		F77_GLOBAL(dtrmv,DTRMV)
137 #define F77_dtbmv 		F77_GLOBAL(dtbmv,DTBMV)
138 #define F77_dtpmv 		F77_GLOBAL(dtpmv,DTRMV)
139 #define F77_dtrsv 		F77_GLOBAL(dtrsv,DTRSV)
140 #define F77_dtbsv 		F77_GLOBAL(dtbsv,DTBSV)
141 #define F77_dtpsv 		F77_GLOBAL(dtpsv,DTPSV)
142 #define F77_cgemv 		F77_GLOBAL(cgemv,CGEMV)
143 #define F77_cgbmv 		F77_GLOBAL(cgbmv,CGBMV)
144 #define F77_ctrmv 		F77_GLOBAL(ctrmv,CTRMV)
145 #define F77_ctbmv 		F77_GLOBAL(ctbmv,CTBMV)
146 #define F77_ctpmv 		F77_GLOBAL(ctpmv,CTPMV)
147 #define F77_ctrsv 		F77_GLOBAL(ctrsv,CTRSV)
148 #define F77_ctbsv 		F77_GLOBAL(ctbsv,CTBSV)
149 #define F77_ctpsv 		F77_GLOBAL(ctpsv,CTPSV)
150 #define F77_zgemv 		F77_GLOBAL(zgemv,ZGEMV)
151 #define F77_zgbmv 		F77_GLOBAL(zgbmv,ZGBMV)
152 #define F77_ztrmv 		F77_GLOBAL(ztrmv,ZTRMV)
153 #define F77_ztbmv 		F77_GLOBAL(ztbmv,ZTBMV)
154 #define F77_ztpmv 		F77_GLOBAL(ztpmv,ZTPMV)
155 #define F77_ztrsv 		F77_GLOBAL(ztrsv,ZTRSV)
156 #define F77_ztbsv 		F77_GLOBAL(ztbsv,ZTBSV)
157 #define F77_ztpsv 		F77_GLOBAL(ztpsv,ZTPSV)
158 /*
159  * Level 3 BLAS
160  */
161 #define F77_chemm 		F77_GLOBAL(chemm,CHEMM)
162 #define F77_cherk 		F77_GLOBAL(cherk,CHERK)
163 #define F77_cher2k 		F77_GLOBAL(cher2k,CHER2K)
164 #define F77_zhemm 		F77_GLOBAL(zhemm,ZHEMM)
165 #define F77_zherk 		F77_GLOBAL(zherk,ZHERK)
166 #define F77_zher2k 		F77_GLOBAL(zher2k,ZHER2K)
167 #define F77_sgemm 		F77_GLOBAL(sgemm,SGEMM)
168 #define F77_ssymm 		F77_GLOBAL(ssymm,SSYMM)
169 #define F77_ssyrk 		F77_GLOBAL(ssyrk,SSYRK)
170 #define F77_ssyr2k 		F77_GLOBAL(ssyr2k,SSYR2K)
171 #define F77_strmm 		F77_GLOBAL(strmm,STRMM)
172 #define F77_strsm 		F77_GLOBAL(strsm,STRSM)
173 #define F77_dgemm 		F77_GLOBAL(dgemm,DGEMM)
174 #define F77_dsymm 		F77_GLOBAL(dsymm,DSYMM)
175 #define F77_dsyrk 		F77_GLOBAL(dsyrk,DSYRK)
176 #define F77_dsyr2k 		F77_GLOBAL(dsyr2k,DSYR2K)
177 #define F77_dtrmm 		F77_GLOBAL(dtrmm,DTRMM)
178 #define F77_dtrsm 		F77_GLOBAL(dtrsm,DTRSM)
179 #define F77_cgemm 		F77_GLOBAL(cgemm,CGEMM)
180 #define F77_csymm 		F77_GLOBAL(csymm,CSYMM)
181 #define F77_csyrk 		F77_GLOBAL(csyrk,CSYRK)
182 #define F77_csyr2k 		F77_GLOBAL(csyr2k,CSYR2K)
183 #define F77_ctrmm 		F77_GLOBAL(ctrmm,CTRMM)
184 #define F77_ctrsm 		F77_GLOBAL(ctrsm,CTRSM)
185 #define F77_zgemm 		F77_GLOBAL(zgemm,ZGEMM)
186 #define F77_zsymm 		F77_GLOBAL(zsymm,ZSYMM)
187 #define F77_zsyrk 		F77_GLOBAL(zsyrk,ZSYRK)
188 #define F77_zsyr2k 		F77_GLOBAL(zsyr2k,ZSYR2K)
189 #define F77_ztrmm 		F77_GLOBAL(ztrmm,ZTRMM)
190 #define F77_ztrsm 		F77_GLOBAL(ztrsm,ZTRSM)
191 
192 #ifdef __cplusplus
193 extern "C" {
194 #endif
195 
196 void F77_xerbla(FCHAR, void *);
197 /*
198  * Level 1 Fortran Prototypes
199  */
200 
201 /* Single Precision */
202 
203    void F77_srot(FINT, float *, FINT, float *, FINT, const float *, const float *);
204    void F77_srotg(float *,float *,float *,float *);
205    void F77_srotm( FINT, float *, FINT, float *, FINT, const float *);
206    void F77_srotmg(float *,float *,float *,const float *, float *);
207    void F77_sswap( FINT, float *, FINT, float *, FINT);
208    void F77_scopy( FINT, const float *, FINT, float *, FINT);
209    void F77_saxpy( FINT, const float *, const float *, FINT, float *, FINT);
210    void F77_sdot_sub(FINT, const float *, FINT, const float *, FINT, float *);
211    void F77_sdsdot_sub( FINT, const float *, const float *, FINT, const float *, FINT, float *);
212    void F77_sscal( FINT, const float *, float *, FINT);
213    void F77_snrm2_sub( FINT, const float *, FINT, float *);
214    void F77_sasum_sub( FINT, const float *, FINT, float *);
215    void F77_isamax_sub( FINT, const float * , FINT, FINT2);
216 
217 /* Double Precision */
218 
219    void F77_drot(FINT, double *, FINT, double *, FINT, const double *, const double *);
220    void F77_drotg(double *,double *,double *,double *);
221    void F77_drotm( FINT, double *, FINT, double *, FINT, const double *);
222    void F77_drotmg(double *,double *,double *,const double *, double *);
223    void F77_dswap( FINT, double *, FINT, double *, FINT);
224    void F77_dcopy( FINT, const double *, FINT, double *, FINT);
225    void F77_daxpy( FINT, const double *, const double *, FINT, double *, FINT);
226    void F77_dswap( FINT, double *, FINT, double *, FINT);
227    void F77_dsdot_sub(FINT, const float *, FINT, const float *, FINT, double *);
228    void F77_ddot_sub( FINT, const double *, FINT, const double *, FINT, double *);
229    void F77_dscal( FINT, const double *, double *, FINT);
230    void F77_dnrm2_sub( FINT, const double *, FINT, double *);
231    void F77_dasum_sub( FINT, const double *, FINT, double *);
232    void F77_idamax_sub( FINT, const double * , FINT, FINT2);
233 
234 /* Single Complex Precision */
235 
236    void F77_cswap( FINT, void *, FINT, void *, FINT);
237    void F77_ccopy( FINT, const void *, FINT, void *, FINT);
238    void F77_caxpy( FINT, const void *, const void *, FINT, void *, FINT);
239    void F77_cswap( FINT, void *, FINT, void *, FINT);
240    void F77_cdotc_sub( FINT, const void *, FINT, const void *, FINT, void *);
241    void F77_cdotu_sub( FINT, const void *, FINT, const void *, FINT, void *);
242    void F77_cscal( FINT, const void *, void *, FINT);
243    void F77_icamax_sub( FINT, const void *, FINT, FINT2);
244    void F77_csscal( FINT, const float *, void *, FINT);
245    void F77_scnrm2_sub( FINT, const void *, FINT, float *);
246    void F77_scasum_sub( FINT, const void *, FINT, float *);
247 
248 /* Double Complex Precision */
249 
250    void F77_zswap( FINT, void *, FINT, void *, FINT);
251    void F77_zcopy( FINT, const void *, FINT, void *, FINT);
252    void F77_zaxpy( FINT, const void *, const void *, FINT, void *, FINT);
253    void F77_zswap( FINT, void *, FINT, void *, FINT);
254    void F77_zdotc_sub( FINT, const void *, FINT, const void *, FINT, void *);
255    void F77_zdotu_sub( FINT, const void *, FINT, const void *, FINT, void *);
256    void F77_zdscal( FINT, const double *, void *, FINT);
257    void F77_zscal( FINT, const void *, void *, FINT);
258    void F77_dznrm2_sub( FINT, const void *, FINT, double *);
259    void F77_dzasum_sub( FINT, const void *, FINT, double *);
260    void F77_izamax_sub( FINT, const void *, FINT, FINT2);
261 
262 /*
263  * Level 2 Fortran Prototypes
264  */
265 
266 /* Single Precision */
267 
268    void F77_sgemv(FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
269    void F77_sgbmv(FCHAR, FINT, FINT, FINT, FINT, const float *,  const float *, FINT, const float *, FINT, const float *, float *, FINT);
270    void F77_ssymv(FCHAR, FINT, const float *, const float *, FINT, const float *,  FINT, const float *, float *, FINT);
271    void F77_ssbmv(FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
272    void F77_sspmv(FCHAR, FINT, const float *, const float *, const float *, FINT, const float *, float *, FINT);
273    void F77_strmv( FCHAR, FCHAR, FCHAR, FINT, const float *, FINT, float *, FINT);
274    void F77_stbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, FINT, float *, FINT);
275    void F77_strsv( FCHAR, FCHAR, FCHAR, FINT, const float *, FINT, float *, FINT);
276    void F77_stbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, FINT, float *, FINT);
277    void F77_stpmv( FCHAR, FCHAR, FCHAR, FINT, const float *, float *, FINT);
278    void F77_stpsv( FCHAR, FCHAR, FCHAR, FINT, const float *, float *, FINT);
279    void F77_sger( FINT, FINT, const float *, const float *, FINT, const float *, FINT, float *, FINT);
280    void F77_ssyr(FCHAR, FINT, const float *, const float *, FINT, float *, FINT);
281    void F77_sspr(FCHAR, FINT, const float *, const float *, FINT, float *);
282    void F77_sspr2(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT,  float *);
283    void F77_ssyr2(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT,  float *, FINT);
284 
285 /* Double Precision */
286 
287    void F77_dgemv(FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
288    void F77_dgbmv(FCHAR, FINT, FINT, FINT, FINT, const double *,  const double *, FINT, const double *, FINT, const double *, double *, FINT);
289    void F77_dsymv(FCHAR, FINT, const double *, const double *, FINT, const double *,  FINT, const double *, double *, FINT);
290    void F77_dsbmv(FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
291    void F77_dspmv(FCHAR, FINT, const double *, const double *, const double *, FINT, const double *, double *, FINT);
292    void F77_dtrmv( FCHAR, FCHAR, FCHAR, FINT, const double *, FINT, double *, FINT);
293    void F77_dtbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, FINT, double *, FINT);
294    void F77_dtrsv( FCHAR, FCHAR, FCHAR, FINT, const double *, FINT, double *, FINT);
295    void F77_dtbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, FINT, double *, FINT);
296    void F77_dtpmv( FCHAR, FCHAR, FCHAR, FINT, const double *, double *, FINT);
297    void F77_dtpsv( FCHAR, FCHAR, FCHAR, FINT, const double *, double *, FINT);
298    void F77_dger( FINT, FINT, const double *, const double *, FINT, const double *, FINT, double *, FINT);
299    void F77_dsyr(FCHAR, FINT, const double *, const double *, FINT, double *, FINT);
300    void F77_dspr(FCHAR, FINT, const double *, const double *, FINT, double *);
301    void F77_dspr2(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT,  double *);
302    void F77_dsyr2(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT,  double *, FINT);
303 
304 /* Single Complex Precision */
305 
306    void F77_cgemv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
307    void F77_cgbmv(FCHAR, FINT, FINT, FINT, FINT, const void *,  const void *, FINT, const void *, FINT, const void *, void *, FINT);
308    void F77_chemv(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
309    void F77_chbmv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
310    void F77_chpmv(FCHAR, FINT, const void *, const void *, const void *, FINT, const void *, void *, FINT);
311    void F77_ctrmv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
312    void F77_ctbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
313    void F77_ctpmv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *, FINT);
314    void F77_ctrsv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
315    void F77_ctbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
316    void F77_ctpsv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *,FINT);
317    void F77_cgerc( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
318    void F77_cgeru( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *,  FINT);
319    void F77_cher(FCHAR, FINT, const float *, const void *, FINT, void *, FINT);
320    void F77_cher2(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
321    void F77_chpr(FCHAR, FINT, const float *, const void *, FINT, void *);
322    void F77_chpr2(FCHAR, FINT, const float *, const void *, FINT, const void *, FINT, void *);
323 
324 /* Double Complex Precision */
325 
326    void F77_zgemv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
327    void F77_zgbmv(FCHAR, FINT, FINT, FINT, FINT, const void *,  const void *, FINT, const void *, FINT, const void *, void *, FINT);
328    void F77_zhemv(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
329    void F77_zhbmv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
330    void F77_zhpmv(FCHAR, FINT, const void *, const void *, const void *, FINT, const void *, void *, FINT);
331    void F77_ztrmv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
332    void F77_ztbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
333    void F77_ztpmv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *, FINT);
334    void F77_ztrsv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
335    void F77_ztbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
336    void F77_ztpsv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *,FINT);
337    void F77_zgerc( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
338    void F77_zgeru( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *,  FINT);
339    void F77_zher(FCHAR, FINT, const double *, const void *, FINT, void *, FINT);
340    void F77_zher2(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
341    void F77_zhpr(FCHAR, FINT, const double *, const void *, FINT, void *);
342    void F77_zhpr2(FCHAR, FINT, const double *, const void *, FINT, const void *, FINT, void *);
343 
344 /*
345  * Level 3 Fortran Prototypes
346  */
347 
348 /* Single Precision */
349 
350    void F77_sgemm(FCHAR, FCHAR, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
351    void F77_ssymm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
352    void F77_ssyrk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT);
353    void F77_ssyr2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
354    void F77_strmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
355    void F77_strsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
356 
357 /* Double Precision */
358 
359    void F77_dgemm(FCHAR, FCHAR, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
360    void F77_dsymm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
361    void F77_dsyrk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT);
362    void F77_dsyr2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
363    void F77_dtrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
364    void F77_dtrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
365 
366 /* Single Complex Precision */
367 
368    void F77_cgemm(FCHAR, FCHAR, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
369    void F77_csymm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
370    void F77_chemm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
371    void F77_csyrk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT);
372    void F77_cherk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT);
373    void F77_csyr2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
374    void F77_cher2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
375    void F77_ctrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
376    void F77_ctrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
377 
378 /* Double Complex Precision */
379 
380    void F77_zgemm(FCHAR, FCHAR, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
381    void F77_zsymm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
382    void F77_zhemm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
383    void F77_zsyrk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT);
384    void F77_zherk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT);
385    void F77_zsyr2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
386    void F77_zher2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
387    void F77_ztrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
388    void F77_ztrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
389 
390 #ifdef __cplusplus
391 }
392 #endif
393 
394 #endif /*  CBLAS_F77_H */
395