LAPACK  3.10.0
LAPACK: Linear Algebra PACKage
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  */
8 
9 #ifndef CBLAS_F77_H
10 #define CBLAS_F77_H
11 
12 #include <stdarg.h>
13 
14 /* It seems all current Fortran compilers put strlen at end.
15 * Some historical compilers put strlen after the str argument
16 * or make the str argument into a struct. */
17 #define BLAS_FORTRAN_STRLEN_END
18 
19 #ifdef CRAY
20  #include <fortran.h>
21  #define F77_CHAR _fcd
22  #define C2F_CHAR(a) ( _cptofcd( (a), 1 ) )
23  #define C2F_STR(a, i) ( _cptofcd( (a), (i) ) )
24  #define F77_STRLEN(a) (_fcdlen)
25 #endif
26 
27 #ifdef WeirdNEC
28  #define F77_INT long
29 #else
30  #define F77_INT int
31 #endif
32 
33 #ifdef F77_CHAR
34  #define FCHAR F77_CHAR
35 #else
36  #define FCHAR char *
37 #endif
38 
39 #define FINT const F77_INT *
40 #define FINT2 F77_INT *
41 
42 /*
43  * Level 1 BLAS
44  */
45 
46 #define F77_xerbla_base F77_GLOBAL(xerbla,XERBLA)
47 #define F77_srotg_base F77_GLOBAL(srotg,SROTG)
48 #define F77_srotmg_base F77_GLOBAL(srotmg,SROTMG)
49 #define F77_srot_base F77_GLOBAL(srot,SROT)
50 #define F77_srotm_base F77_GLOBAL(srotm,SROTM)
51 #define F77_drotg_base F77_GLOBAL(drotg,DROTG)
52 #define F77_drotmg_base F77_GLOBAL(drotmg,DROTMG)
53 #define F77_drot_base F77_GLOBAL(drot,DROT)
54 #define F77_drotm_base F77_GLOBAL(drotm,DROTM)
55 #define F77_sswap_base F77_GLOBAL(sswap,SSWAP)
56 #define F77_scopy_base F77_GLOBAL(scopy,SCOPY)
57 #define F77_saxpy_base F77_GLOBAL(saxpy,SAXPY)
58 #define F77_isamax_sub_base F77_GLOBAL(isamaxsub,ISAMAXSUB)
59 #define F77_dswap_base F77_GLOBAL(dswap,DSWAP)
60 #define F77_dcopy_base F77_GLOBAL(dcopy,DCOPY)
61 #define F77_daxpy_base F77_GLOBAL(daxpy,DAXPY)
62 #define F77_idamax_sub_base F77_GLOBAL(idamaxsub,IDAMAXSUB)
63 #define F77_cswap_base F77_GLOBAL(cswap,CSWAP)
64 #define F77_ccopy_base F77_GLOBAL(ccopy,CCOPY)
65 #define F77_caxpy_base F77_GLOBAL(caxpy,CAXPY)
66 #define F77_icamax_sub_base F77_GLOBAL(icamaxsub,ICAMAXSUB)
67 #define F77_zswap_base F77_GLOBAL(zswap,ZSWAP)
68 #define F77_zcopy_base F77_GLOBAL(zcopy,ZCOPY)
69 #define F77_zaxpy_base F77_GLOBAL(zaxpy,ZAXPY)
70 #define F77_izamax_sub_base F77_GLOBAL(izamaxsub,IZAMAXSUB)
71 #define F77_sdot_sub_base F77_GLOBAL(sdotsub,SDOTSUB)
72 #define F77_ddot_sub_base F77_GLOBAL(ddotsub,DDOTSUB)
73 #define F77_dsdot_sub_base F77_GLOBAL(dsdotsub,DSDOTSUB)
74 #define F77_sscal_base F77_GLOBAL(sscal,SSCAL)
75 #define F77_dscal_base F77_GLOBAL(dscal,DSCAL)
76 #define F77_cscal_base F77_GLOBAL(cscal,CSCAL)
77 #define F77_zscal_base F77_GLOBAL(zscal,ZSCAL)
78 #define F77_csscal_base F77_GLOBAL(csscal,CSSCAL)
79 #define F77_zdscal_base F77_GLOBAL(zdscal,ZDSCAL)
80 #define F77_cdotu_sub_base F77_GLOBAL(cdotusub,CDOTUSUB)
81 #define F77_cdotc_sub_base F77_GLOBAL(cdotcsub,CDOTCSUB)
82 #define F77_zdotu_sub_base F77_GLOBAL(zdotusub,ZDOTUSUB)
83 #define F77_zdotc_sub_base F77_GLOBAL(zdotcsub,ZDOTCSUB)
84 #define F77_snrm2_sub_base F77_GLOBAL(snrm2sub,SNRM2SUB)
85 #define F77_sasum_sub_base F77_GLOBAL(sasumsub,SASUMSUB)
86 #define F77_dnrm2_sub_base F77_GLOBAL(dnrm2sub,DNRM2SUB)
87 #define F77_dasum_sub_base F77_GLOBAL(dasumsub,DASUMSUB)
88 #define F77_scnrm2_sub_base F77_GLOBAL(scnrm2sub,SCNRM2SUB)
89 #define F77_scasum_sub_base F77_GLOBAL(scasumsub,SCASUMSUB)
90 #define F77_dznrm2_sub_base F77_GLOBAL(dznrm2sub,DZNRM2SUB)
91 #define F77_dzasum_sub_base F77_GLOBAL(dzasumsub,DZASUMSUB)
92 #define F77_sdsdot_sub_base F77_GLOBAL(sdsdotsub,SDSDOTSUB)
93 /*
94  * Level 2 BLAS
95  */
96 #define F77_ssymv_base F77_GLOBAL(ssymv,SSYMV)
97 #define F77_ssbmv_base F77_GLOBAL(ssbmv,SSBMV)
98 #define F77_sspmv_base F77_GLOBAL(sspmv,SSPMV)
99 #define F77_sger_base F77_GLOBAL(sger,SGER)
100 #define F77_ssyr_base F77_GLOBAL(ssyr,SSYR)
101 #define F77_sspr_base F77_GLOBAL(sspr,SSPR)
102 #define F77_ssyr2_base F77_GLOBAL(ssyr2,SSYR2)
103 #define F77_sspr2_base F77_GLOBAL(sspr2,SSPR2)
104 #define F77_dsymv_base F77_GLOBAL(dsymv,DSYMV)
105 #define F77_dsbmv_base F77_GLOBAL(dsbmv,DSBMV)
106 #define F77_dspmv_base F77_GLOBAL(dspmv,DSPMV)
107 #define F77_dger_base F77_GLOBAL(dger,DGER)
108 #define F77_dsyr_base F77_GLOBAL(dsyr,DSYR)
109 #define F77_dspr_base F77_GLOBAL(dspr,DSPR)
110 #define F77_dsyr2_base F77_GLOBAL(dsyr2,DSYR2)
111 #define F77_dspr2_base F77_GLOBAL(dspr2,DSPR2)
112 #define F77_chemv_base F77_GLOBAL(chemv,CHEMV)
113 #define F77_chbmv_base F77_GLOBAL(chbmv,CHBMV)
114 #define F77_chpmv_base F77_GLOBAL(chpmv,CHPMV)
115 #define F77_cgeru_base F77_GLOBAL(cgeru,CGERU)
116 #define F77_cgerc_base F77_GLOBAL(cgerc,CGERC)
117 #define F77_cher_base F77_GLOBAL(cher,CHER)
118 #define F77_chpr_base F77_GLOBAL(chpr,CHPR)
119 #define F77_cher2_base F77_GLOBAL(cher2,CHER2)
120 #define F77_chpr2_base F77_GLOBAL(chpr2,CHPR2)
121 #define F77_zhemv_base F77_GLOBAL(zhemv,ZHEMV)
122 #define F77_zhbmv_base F77_GLOBAL(zhbmv,ZHBMV)
123 #define F77_zhpmv_base F77_GLOBAL(zhpmv,ZHPMV)
124 #define F77_zgeru_base F77_GLOBAL(zgeru,ZGERU)
125 #define F77_zgerc_base F77_GLOBAL(zgerc,ZGERC)
126 #define F77_zher_base F77_GLOBAL(zher,ZHER)
127 #define F77_zhpr_base F77_GLOBAL(zhpr,ZHPR)
128 #define F77_zher2_base F77_GLOBAL(zher2,ZHER2)
129 #define F77_zhpr2_base F77_GLOBAL(zhpr2,ZHPR2)
130 #define F77_sgemv_base F77_GLOBAL(sgemv,SGEMV)
131 #define F77_sgbmv_base F77_GLOBAL(sgbmv,SGBMV)
132 #define F77_strmv_base F77_GLOBAL(strmv,STRMV)
133 #define F77_stbmv_base F77_GLOBAL(stbmv,STBMV)
134 #define F77_stpmv_base F77_GLOBAL(stpmv,STPMV)
135 #define F77_strsv_base F77_GLOBAL(strsv,STRSV)
136 #define F77_stbsv_base F77_GLOBAL(stbsv,STBSV)
137 #define F77_stpsv_base F77_GLOBAL(stpsv,STPSV)
138 #define F77_dgemv_base F77_GLOBAL(dgemv,DGEMV)
139 #define F77_dgbmv_base F77_GLOBAL(dgbmv,DGBMV)
140 #define F77_dtrmv_base F77_GLOBAL(dtrmv,DTRMV)
141 #define F77_dtbmv_base F77_GLOBAL(dtbmv,DTBMV)
142 #define F77_dtpmv_base F77_GLOBAL(dtpmv,DTPMV)
143 #define F77_dtrsv_base F77_GLOBAL(dtrsv,DTRSV)
144 #define F77_dtbsv_base F77_GLOBAL(dtbsv,DTBSV)
145 #define F77_dtpsv_base F77_GLOBAL(dtpsv,DTPSV)
146 #define F77_cgemv_base F77_GLOBAL(cgemv,CGEMV)
147 #define F77_cgbmv_base F77_GLOBAL(cgbmv,CGBMV)
148 #define F77_ctrmv_base F77_GLOBAL(ctrmv,CTRMV)
149 #define F77_ctbmv_base F77_GLOBAL(ctbmv,CTBMV)
150 #define F77_ctpmv_base F77_GLOBAL(ctpmv,CTPMV)
151 #define F77_ctrsv_base F77_GLOBAL(ctrsv,CTRSV)
152 #define F77_ctbsv_base F77_GLOBAL(ctbsv,CTBSV)
153 #define F77_ctpsv_base F77_GLOBAL(ctpsv,CTPSV)
154 #define F77_zgemv_base F77_GLOBAL(zgemv,ZGEMV)
155 #define F77_zgbmv_base F77_GLOBAL(zgbmv,ZGBMV)
156 #define F77_ztrmv_base F77_GLOBAL(ztrmv,ZTRMV)
157 #define F77_ztbmv_base F77_GLOBAL(ztbmv,ZTBMV)
158 #define F77_ztpmv_base F77_GLOBAL(ztpmv,ZTPMV)
159 #define F77_ztrsv_base F77_GLOBAL(ztrsv,ZTRSV)
160 #define F77_ztbsv_base F77_GLOBAL(ztbsv,ZTBSV)
161 #define F77_ztpsv_base F77_GLOBAL(ztpsv,ZTPSV)
162 /*
163  * Level 3 BLAS
164  */
165 #define F77_chemm_base F77_GLOBAL(chemm,CHEMM)
166 #define F77_cherk_base F77_GLOBAL(cherk,CHERK)
167 #define F77_cher2k_base F77_GLOBAL(cher2k,CHER2K)
168 #define F77_zhemm_base F77_GLOBAL(zhemm,ZHEMM)
169 #define F77_zherk_base F77_GLOBAL(zherk,ZHERK)
170 #define F77_zher2k_base F77_GLOBAL(zher2k,ZHER2K)
171 #define F77_sgemm_base F77_GLOBAL(sgemm,SGEMM)
172 #define F77_ssymm_base F77_GLOBAL(ssymm,SSYMM)
173 #define F77_ssyrk_base F77_GLOBAL(ssyrk,SSYRK)
174 #define F77_ssyr2k_base F77_GLOBAL(ssyr2k,SSYR2K)
175 #define F77_strmm_base F77_GLOBAL(strmm,STRMM)
176 #define F77_strsm_base F77_GLOBAL(strsm,STRSM)
177 #define F77_dgemm_base F77_GLOBAL(dgemm,DGEMM)
178 #define F77_dsymm_base F77_GLOBAL(dsymm,DSYMM)
179 #define F77_dsyrk_base F77_GLOBAL(dsyrk,DSYRK)
180 #define F77_dsyr2k_base F77_GLOBAL(dsyr2k,DSYR2K)
181 #define F77_dtrmm_base F77_GLOBAL(dtrmm,DTRMM)
182 #define F77_dtrsm_base F77_GLOBAL(dtrsm,DTRSM)
183 #define F77_cgemm_base F77_GLOBAL(cgemm,CGEMM)
184 #define F77_csymm_base F77_GLOBAL(csymm,CSYMM)
185 #define F77_csyrk_base F77_GLOBAL(csyrk,CSYRK)
186 #define F77_csyr2k_base F77_GLOBAL(csyr2k,CSYR2K)
187 #define F77_ctrmm_base F77_GLOBAL(ctrmm,CTRMM)
188 #define F77_ctrsm_base F77_GLOBAL(ctrsm,CTRSM)
189 #define F77_zgemm_base F77_GLOBAL(zgemm,ZGEMM)
190 #define F77_zsymm_base F77_GLOBAL(zsymm,ZSYMM)
191 #define F77_zsyrk_base F77_GLOBAL(zsyrk,ZSYRK)
192 #define F77_zsyr2k_base F77_GLOBAL(zsyr2k,ZSYR2K)
193 #define F77_ztrmm_base F77_GLOBAL(ztrmm,ZTRMM)
194 #define F77_ztrsm_base F77_GLOBAL(ztrsm,ZTRSM)
195 
196 /*
197  * Level 1 Fortran variadic definitions
198  */
199 
200 /* Single Precision */
201 
202  #define F77_srot(...) F77_srot_base(__VA_ARGS__)
203  #define F77_srotg(...) F77_srotg_base(__VA_ARGS__)
204  #define F77_srotm(...) F77_srotm_base(__VA_ARGS__)
205  #define F77_srotmg(...) F77_srotmg_base(__VA_ARGS__)
206  #define F77_sswap(...) F77_sswap_base(__VA_ARGS__)
207  #define F77_scopy(...) F77_scopy_base(__VA_ARGS__)
208  #define F77_saxpy(...) F77_saxpy_base(__VA_ARGS__)
209  #define F77_sdot_sub(...) F77_sdot_sub_base(__VA_ARGS__)
210  #define F77_sdsdot_sub(...) F77_sdsdot_sub_base(__VA_ARGS__)
211  #define F77_sscal(...) F77_sscal_base(__VA_ARGS__)
212  #define F77_snrm2_sub(...) F77_snrm2_sub_base(__VA_ARGS__)
213  #define F77_sasum_sub(...) F77_sasum_sub_base(__VA_ARGS__)
214  #define F77_isamax_sub(...) F77_isamax_sub_base(__VA_ARGS__)
215 
216 /* Double Precision */
217 
218  #define F77_drot(...) F77_drot_base(__VA_ARGS__)
219  #define F77_drotg(...) F77_drotg_base(__VA_ARGS__)
220  #define F77_drotm(...) F77_drotm_base(__VA_ARGS__)
221  #define F77_drotmg(...) F77_drotmg_base(__VA_ARGS__)
222  #define F77_dswap(...) F77_dswap_base(__VA_ARGS__)
223  #define F77_dcopy(...) F77_dcopy_base(__VA_ARGS__)
224  #define F77_daxpy(...) F77_daxpy_base(__VA_ARGS__)
225  #define F77_dswap(...) F77_dswap_base(__VA_ARGS__)
226  #define F77_dsdot_sub(...) F77_dsdot_sub_base(__VA_ARGS__)
227  #define F77_ddot_sub(...) F77_ddot_sub_base(__VA_ARGS__)
228  #define F77_dscal(...) F77_dscal_base(__VA_ARGS__)
229  #define F77_dnrm2_sub(...) F77_dnrm2_sub_base(__VA_ARGS__)
230  #define F77_dasum_sub(...) F77_dasum_sub_base(__VA_ARGS__)
231  #define F77_idamax_sub(...) F77_idamax_sub_base(__VA_ARGS__)
232 
233 /* Single Complex Precision */
234 
235  #define F77_cswap(...) F77_cswap_base(__VA_ARGS__)
236  #define F77_ccopy(...) F77_ccopy_base(__VA_ARGS__)
237  #define F77_caxpy(...) F77_caxpy_base(__VA_ARGS__)
238  #define F77_cswap(...) F77_cswap_base(__VA_ARGS__)
239  #define F77_cdotc_sub(...) F77_cdotc_sub_base(__VA_ARGS__)
240  #define F77_cdotu_sub(...) F77_cdotu_sub_base(__VA_ARGS__)
241  #define F77_cscal(...) F77_cscal_base(__VA_ARGS__)
242  #define F77_icamax_sub(...) F77_icamax_sub_base(__VA_ARGS__)
243  #define F77_csscal(...) F77_csscal_base(__VA_ARGS__)
244  #define F77_scnrm2_sub(...) F77_scnrm2_sub_base(__VA_ARGS__)
245  #define F77_scasum_sub(...) F77_scasum_sub_base(__VA_ARGS__)
246 
247 /* Double Complex Precision */
248 
249  #define F77_zswap(...) F77_zswap_base(__VA_ARGS__)
250  #define F77_zcopy(...) F77_zcopy_base(__VA_ARGS__)
251  #define F77_zaxpy(...) F77_zaxpy_base(__VA_ARGS__)
252  #define F77_zswap(...) F77_zswap_base(__VA_ARGS__)
253  #define F77_zdotc_sub(...) F77_zdotc_sub_base(__VA_ARGS__)
254  #define F77_zdotu_sub(...) F77_zdotu_sub_base(__VA_ARGS__)
255  #define F77_zdscal(...) F77_zdscal_base(__VA_ARGS__)
256  #define F77_zscal(...) F77_zscal_base(__VA_ARGS__)
257  #define F77_dznrm2_sub(...) F77_dznrm2_sub_base(__VA_ARGS__)
258  #define F77_dzasum_sub(...) F77_dzasum_sub_base(__VA_ARGS__)
259  #define F77_izamax_sub(...) F77_izamax_sub_base(__VA_ARGS__)
260 
261 /*
262  * Level 2 Fortran variadic definitions without FCHAR
263  */
264 
265  #define F77_sger(...) F77_sger_base(__VA_ARGS__)
266  #define F77_dger(...) F77_dger_base(__VA_ARGS__)
267  #define F77_cgerc(...) F77_cgerc_base(__VA_ARGS__)
268  #define F77_cgeru(...) F77_cgeru_base(__VA_ARGS__)
269  #define F77_zgerc(...) F77_zgerc_base(__VA_ARGS__)
270  #define F77_zgeru(...) F77_zgeru_base(__VA_ARGS__)
271 
272 #ifdef BLAS_FORTRAN_STRLEN_END
273 
274  /*
275  * Level 2 Fortran variadic definitions with BLAS_FORTRAN_STRLEN_END
276  */
277 
278  /* Single Precision */
279 
280  #define F77_sgemv(...) F77_sgemv_base(__VA_ARGS__, 1)
281  #define F77_sgbmv(...) F77_sgbmv_base(__VA_ARGS__, 1)
282  #define F77_ssymv(...) F77_ssymv_base(__VA_ARGS__, 1)
283  #define F77_ssbmv(...) F77_ssbmv_base(__VA_ARGS__, 1)
284  #define F77_sspmv(...) F77_sspmv_base(__VA_ARGS__, 1)
285  #define F77_strmv(...) F77_strmv_base(__VA_ARGS__, 1, 1, 1)
286  #define F77_stbmv(...) F77_stbmv_base(__VA_ARGS__, 1, 1, 1)
287  #define F77_strsv(...) F77_strsv_base(__VA_ARGS__, 1, 1, 1)
288  #define F77_stbsv(...) F77_stbsv_base(__VA_ARGS__, 1, 1, 1)
289  #define F77_stpmv(...) F77_stpmv_base(__VA_ARGS__, 1, 1, 1)
290  #define F77_stpsv(...) F77_stpsv_base(__VA_ARGS__, 1, 1, 1)
291  #define F77_ssyr(...) F77_ssyr_base(__VA_ARGS__, 1)
292  #define F77_sspr(...) F77_sspr_base(__VA_ARGS__, 1)
293  #define F77_sspr2(...) F77_sspr2_base(__VA_ARGS__, 1)
294  #define F77_ssyr2(...) F77_ssyr2_base(__VA_ARGS__, 1)
295 
296  /* Double Precision */
297 
298  #define F77_dgemv(...) F77_dgemv_base(__VA_ARGS__, 1)
299  #define F77_dgbmv(...) F77_dgbmv_base(__VA_ARGS__, 1)
300  #define F77_dsymv(...) F77_dsymv_base(__VA_ARGS__, 1)
301  #define F77_dsbmv(...) F77_dsbmv_base(__VA_ARGS__, 1)
302  #define F77_dspmv(...) F77_dspmv_base(__VA_ARGS__, 1)
303  #define F77_dtrmv(...) F77_dtrmv_base(__VA_ARGS__, 1, 1, 1)
304  #define F77_dtbmv(...) F77_dtbmv_base(__VA_ARGS__, 1, 1, 1)
305  #define F77_dtrsv(...) F77_dtrsv_base(__VA_ARGS__, 1, 1, 1)
306  #define F77_dtbsv(...) F77_dtbsv_base(__VA_ARGS__, 1, 1, 1)
307  #define F77_dtpmv(...) F77_dtpmv_base(__VA_ARGS__, 1, 1, 1)
308  #define F77_dtpsv(...) F77_dtpsv_base(__VA_ARGS__, 1, 1, 1)
309  #define F77_dsyr(...) F77_dsyr_base(__VA_ARGS__, 1)
310  #define F77_dspr(...) F77_dspr_base(__VA_ARGS__, 1)
311  #define F77_dspr2(...) F77_dspr2_base(__VA_ARGS__, 1)
312  #define F77_dsyr2(...) F77_dsyr2_base(__VA_ARGS__, 1)
313 
314  /* Single Complex Precision */
315 
316  #define F77_cgemv(...) F77_cgemv_base(__VA_ARGS__, 1)
317  #define F77_cgbmv(...) F77_cgbmv_base(__VA_ARGS__, 1)
318  #define F77_chemv(...) F77_chemv_base(__VA_ARGS__, 1)
319  #define F77_chbmv(...) F77_chbmv_base(__VA_ARGS__, 1)
320  #define F77_chpmv(...) F77_chpmv_base(__VA_ARGS__, 1)
321  #define F77_ctrmv(...) F77_ctrmv_base(__VA_ARGS__, 1, 1, 1)
322  #define F77_ctbmv(...) F77_ctbmv_base(__VA_ARGS__, 1, 1, 1)
323  #define F77_ctpmv(...) F77_ctpmv_base(__VA_ARGS__, 1, 1, 1)
324  #define F77_ctrsv(...) F77_ctrsv_base(__VA_ARGS__, 1, 1, 1)
325  #define F77_ctbsv(...) F77_ctbsv_base(__VA_ARGS__, 1, 1, 1)
326  #define F77_ctpsv(...) F77_ctpsv_base(__VA_ARGS__, 1, 1, 1)
327  #define F77_cher(...) F77_cher_base(__VA_ARGS__, 1)
328  #define F77_cher2(...) F77_cher2_base(__VA_ARGS__, 1)
329  #define F77_chpr(...) F77_chpr_base(__VA_ARGS__, 1)
330  #define F77_chpr2(...) F77_chpr2_base(__VA_ARGS__, 1)
331 
332  /* Double Complex Precision */
333 
334  #define F77_zgemv(...) F77_zgemv_base(__VA_ARGS__, 1)
335  #define F77_zgbmv(...) F77_zgbmv_base(__VA_ARGS__, 1)
336  #define F77_zhemv(...) F77_zhemv_base(__VA_ARGS__, 1)
337  #define F77_zhbmv(...) F77_zhbmv_base(__VA_ARGS__, 1)
338  #define F77_zhpmv(...) F77_zhpmv_base(__VA_ARGS__, 1)
339  #define F77_ztrmv(...) F77_ztrmv_base(__VA_ARGS__, 1, 1, 1)
340  #define F77_ztbmv(...) F77_ztbmv_base(__VA_ARGS__, 1, 1, 1)
341  #define F77_ztpmv(...) F77_ztpmv_base(__VA_ARGS__, 1, 1, 1)
342  #define F77_ztrsv(...) F77_ztrsv_base(__VA_ARGS__, 1, 1, 1)
343  #define F77_ztbsv(...) F77_ztbsv_base(__VA_ARGS__, 1, 1, 1)
344  #define F77_ztpsv(...) F77_ztpsv_base(__VA_ARGS__, 1, 1, 1)
345  #define F77_zher(...) F77_zher_base(__VA_ARGS__, 1)
346  #define F77_zher2(...) F77_zher2_base(__VA_ARGS__, 1)
347  #define F77_zhpr(...) F77_zhpr_base(__VA_ARGS__, 1)
348  #define F77_zhpr2(...) F77_zhpr2_base(__VA_ARGS__, 1)
349 
350  /*
351  * Level 3 Fortran variadic definitions with BLAS_FORTRAN_STRLEN_END
352  */
353 
354  /* Single Precision */
355 
356  #define F77_sgemm(...) F77_sgemm_base(__VA_ARGS__, 1, 1)
357  #define F77_ssymm(...) F77_ssymm_base(__VA_ARGS__, 1, 1)
358  #define F77_ssyrk(...) F77_ssyrk_base(__VA_ARGS__, 1, 1)
359  #define F77_ssyr2k(...) F77_ssyr2k_base(__VA_ARGS__, 1, 1)
360  #define F77_strmm(...) F77_strmm_base(__VA_ARGS__, 1, 1, 1, 1)
361  #define F77_strsm(...) F77_strsm_base(__VA_ARGS__, 1, 1, 1, 1)
362 
363  /* Double Precision */
364 
365  #define F77_dgemm(...) F77_dgemm_base(__VA_ARGS__, 1, 1)
366  #define F77_dsymm(...) F77_dsymm_base(__VA_ARGS__, 1, 1)
367  #define F77_dsyrk(...) F77_dsyrk_base(__VA_ARGS__, 1, 1)
368  #define F77_dsyr2k(...) F77_dsyr2k_base(__VA_ARGS__, 1, 1)
369  #define F77_dtrmm(...) F77_dtrmm_base(__VA_ARGS__, 1, 1, 1, 1)
370  #define F77_dtrsm(...) F77_dtrsm_base(__VA_ARGS__, 1, 1, 1, 1)
371 
372  /* Single Complex Precision */
373 
374  #define F77_cgemm(...) F77_cgemm_base(__VA_ARGS__, 1, 1)
375  #define F77_csymm(...) F77_csymm_base(__VA_ARGS__, 1, 1)
376  #define F77_chemm(...) F77_chemm_base(__VA_ARGS__, 1, 1)
377  #define F77_csyrk(...) F77_csyrk_base(__VA_ARGS__, 1, 1)
378  #define F77_cherk(...) F77_cherk_base(__VA_ARGS__, 1, 1)
379  #define F77_csyr2k(...) F77_csyr2k_base(__VA_ARGS__, 1, 1)
380  #define F77_cher2k(...) F77_cher2k_base(__VA_ARGS__, 1, 1)
381  #define F77_ctrmm(...) F77_ctrmm_base(__VA_ARGS__, 1, 1, 1, 1)
382  #define F77_ctrsm(...) F77_ctrsm_base(__VA_ARGS__, 1, 1, 1, 1)
383 
384  /* Double Complex Precision */
385 
386  #define F77_zgemm(...) F77_zgemm_base(__VA_ARGS__, 1, 1)
387  #define F77_zsymm(...) F77_zsymm_base(__VA_ARGS__, 1, 1)
388  #define F77_zhemm(...) F77_zhemm_base(__VA_ARGS__, 1, 1)
389  #define F77_zsyrk(...) F77_zsyrk_base(__VA_ARGS__, 1, 1)
390  #define F77_zherk(...) F77_zherk_base(__VA_ARGS__, 1, 1)
391  #define F77_zsyr2k(...) F77_zsyr2k_base(__VA_ARGS__, 1, 1)
392  #define F77_zher2k(...) F77_zher2k_base(__VA_ARGS__, 1, 1)
393  #define F77_ztrmm(...) F77_ztrmm_base(__VA_ARGS__, 1, 1, 1, 1)
394  #define F77_ztrsm(...) F77_ztrsm_base(__VA_ARGS__, 1, 1, 1, 1)
395 
396 #else
397 
398  /*
399  * Level 2 Fortran variadic definitions without BLAS_FORTRAN_STRLEN_END
400  */
401 
402  /* Single Precision */
403 
404  #define F77_sgemv(...) F77_sgemv_base(__VA_ARGS__)
405  #define F77_sgbmv(...) F77_sgbmv_base(__VA_ARGS__)
406  #define F77_ssymv(...) F77_ssymv_base(__VA_ARGS__)
407  #define F77_ssbmv(...) F77_ssbmv_base(__VA_ARGS__)
408  #define F77_sspmv(...) F77_sspmv_base(__VA_ARGS__)
409  #define F77_strmv(...) F77_strmv_base(__VA_ARGS__)
410  #define F77_stbmv(...) F77_stbmv_base(__VA_ARGS__)
411  #define F77_strsv(...) F77_strsv_base(__VA_ARGS__)
412  #define F77_stbsv(...) F77_stbsv_base(__VA_ARGS__)
413  #define F77_stpmv(...) F77_stpmv_base(__VA_ARGS__)
414  #define F77_stpsv(...) F77_stpsv_base(__VA_ARGS__)
415  #define F77_ssyr(...) F77_ssyr_base(__VA_ARGS__)
416  #define F77_sspr(...) F77_sspr_base(__VA_ARGS__)
417  #define F77_sspr2(...) F77_sspr2_base(__VA_ARGS__)
418  #define F77_ssyr2(...) F77_ssyr2_base(__VA_ARGS__)
419 
420  /* Double Precision */
421 
422  #define F77_dgemv(...) F77_dgemv_base(__VA_ARGS__)
423  #define F77_dgbmv(...) F77_dgbmv_base(__VA_ARGS__)
424  #define F77_dsymv(...) F77_dsymv_base(__VA_ARGS__)
425  #define F77_dsbmv(...) F77_dsbmv_base(__VA_ARGS__)
426  #define F77_dspmv(...) F77_dspmv_base(__VA_ARGS__)
427  #define F77_dtrmv(...) F77_dtrmv_base(__VA_ARGS__)
428  #define F77_dtbmv(...) F77_dtbmv_base(__VA_ARGS__)
429  #define F77_dtrsv(...) F77_dtrsv_base(__VA_ARGS__)
430  #define F77_dtbsv(...) F77_dtbsv_base(__VA_ARGS__)
431  #define F77_dtpmv(...) F77_dtpmv_base(__VA_ARGS__)
432  #define F77_dtpsv(...) F77_dtpsv_base(__VA_ARGS__)
433  #define F77_dsyr(...) F77_dsyr_base(__VA_ARGS__)
434  #define F77_dspr(...) F77_dspr_base(__VA_ARGS__)
435  #define F77_dspr2(...) F77_dspr2_base(__VA_ARGS__)
436  #define F77_dsyr2(...) F77_dsyr2_base(__VA_ARGS__)
437 
438  /* Single Complex Precision */
439 
440  #define F77_cgemv(...) F77_cgemv_base(__VA_ARGS__)
441  #define F77_cgbmv(...) F77_cgbmv_base(__VA_ARGS__)
442  #define F77_chemv(...) F77_chemv_base(__VA_ARGS__)
443  #define F77_chbmv(...) F77_chbmv_base(__VA_ARGS__)
444  #define F77_chpmv(...) F77_chpmv_base(__VA_ARGS__)
445  #define F77_ctrmv(...) F77_ctrmv_base(__VA_ARGS__)
446  #define F77_ctbmv(...) F77_ctbmv_base(__VA_ARGS__)
447  #define F77_ctpmv(...) F77_ctpmv_base(__VA_ARGS__)
448  #define F77_ctrsv(...) F77_ctrsv_base(__VA_ARGS__)
449  #define F77_ctbsv(...) F77_ctbsv_base(__VA_ARGS__)
450  #define F77_ctpsv(...) F77_ctpsv_base(__VA_ARGS__)
451  #define F77_cher(...) F77_cher_base(__VA_ARGS__)
452  #define F77_cher2(...) F77_cher2_base(__VA_ARGS__)
453  #define F77_chpr(...) F77_chpr_base(__VA_ARGS__)
454  #define F77_chpr2(...) F77_chpr2_base(__VA_ARGS__)
455 
456  /* Double Complex Precision */
457 
458  #define F77_zgemv(...) F77_zgemv_base(__VA_ARGS__)
459  #define F77_zgbmv(...) F77_zgbmv_base(__VA_ARGS__)
460  #define F77_zhemv(...) F77_zhemv_base(__VA_ARGS__)
461  #define F77_zhbmv(...) F77_zhbmv_base(__VA_ARGS__)
462  #define F77_zhpmv(...) F77_zhpmv_base(__VA_ARGS__)
463  #define F77_ztrmv(...) F77_ztrmv_base(__VA_ARGS__)
464  #define F77_ztbmv(...) F77_ztbmv_base(__VA_ARGS__)
465  #define F77_ztpmv(...) F77_ztpmv_base(__VA_ARGS__)
466  #define F77_ztrsv(...) F77_ztrsv_base(__VA_ARGS__)
467  #define F77_ztbsv(...) F77_ztbsv_base(__VA_ARGS__)
468  #define F77_ztpsv(...) F77_ztpsv_base(__VA_ARGS__)
469  #define F77_zher(...) F77_zher_base(__VA_ARGS__)
470  #define F77_zher2(...) F77_zher2_base(__VA_ARGS__)
471  #define F77_zhpr(...) F77_zhpr_base(__VA_ARGS__)
472  #define F77_zhpr2(...) F77_zhpr2_base(__VA_ARGS__)
473 
474  /*
475  * Level 3 Fortran variadic definitions without BLAS_FORTRAN_STRLEN_END
476  */
477 
478  /* Single Precision */
479 
480  #define F77_sgemm(...) F77_sgemm_base(__VA_ARGS__)
481  #define F77_ssymm(...) F77_ssymm_base(__VA_ARGS__)
482  #define F77_ssyrk(...) F77_ssyrk_base(__VA_ARGS__)
483  #define F77_ssyr2k(...) F77_ssyr2k_base(__VA_ARGS__)
484  #define F77_strmm(...) F77_strmm_base(__VA_ARGS__)
485  #define F77_strsm(...) F77_strsm_base(__VA_ARGS__)
486 
487  /* Double Precision */
488 
489  #define F77_dgemm(...) F77_dgemm_base(__VA_ARGS__)
490  #define F77_dsymm(...) F77_dsymm_base(__VA_ARGS__)
491  #define F77_dsyrk(...) F77_dsyrk_base(__VA_ARGS__)
492  #define F77_dsyr2k(...) F77_dsyr2k_base(__VA_ARGS__)
493  #define F77_dtrmm(...) F77_dtrmm_base(__VA_ARGS__)
494  #define F77_dtrsm(...) F77_dtrsm_base(__VA_ARGS__)
495 
496  /* Single Complex Precision */
497 
498  #define F77_cgemm(...) F77_cgemm_base(__VA_ARGS__)
499  #define F77_csymm(...) F77_csymm_base(__VA_ARGS__)
500  #define F77_chemm(...) F77_chemm_base(__VA_ARGS__)
501  #define F77_csyrk(...) F77_csyrk_base(__VA_ARGS__)
502  #define F77_cherk(...) F77_cherk_base(__VA_ARGS__)
503  #define F77_csyr2k(...) F77_csyr2k_base(__VA_ARGS__)
504  #define F77_cher2k(...) F77_cher2k_base(__VA_ARGS__)
505  #define F77_ctrmm(...) F77_ctrmm_base(__VA_ARGS__)
506  #define F77_ctrsm(...) F77_ctrsm_base(__VA_ARGS__)
507 
508  /* Double Complex Precision */
509 
510  #define F77_zgemm(...) F77_zgemm_base(__VA_ARGS__)
511  #define F77_zsymm(...) F77_zsymm_base(__VA_ARGS__)
512  #define F77_zhemm(...) F77_zhemm_base(__VA_ARGS__)
513  #define F77_zsyrk(...) F77_zsyrk_base(__VA_ARGS__)
514  #define F77_zherk(...) F77_zherk_base(__VA_ARGS__)
515  #define F77_zsyr2k(...) F77_zsyr2k_base(__VA_ARGS__)
516  #define F77_zher2k(...) F77_zher2k_base(__VA_ARGS__)
517  #define F77_ztrmm(...) F77_ztrmm_base(__VA_ARGS__)
518  #define F77_ztrsm(...) F77_ztrsm_base(__VA_ARGS__)
519 
520 #endif
521 
522 /*
523  * Base function prototypes
524  */
525 
526 #ifdef __cplusplus
527 extern "C" {
528 #endif
529 
530 #ifdef BLAS_FORTRAN_STRLEN_END
531  #define F77_xerbla(...) F77_xerbla_base(__VA_ARGS__, 1)
532 #else
533  #define F77_xerbla(...) F77_xerbla_base(__VA_ARGS__)
534 #endif
535 void F77_xerbla_base(FCHAR, void *
536  #ifdef BLAS_FORTRAN_STRLEN_END
537  , size_t
538  #endif
539  );
540 /*
541  * Level 1 Fortran Prototypes
542  */
543 
544 /* Single Precision */
545 
546  void F77_srot_base(FINT, float *, FINT, float *, FINT, const float *, const float *);
547  void F77_srotg_base(float *,float *,float *,float *);
548  void F77_srotm_base( FINT, float *, FINT, float *, FINT, const float *);
549  void F77_srotmg_base(float *,float *,float *,const float *, float *);
550  void F77_sswap_base( FINT, float *, FINT, float *, FINT);
551  void F77_scopy_base( FINT, const float *, FINT, float *, FINT);
552  void F77_saxpy_base( FINT, const float *, const float *, FINT, float *, FINT);
553  void F77_sdot_sub_base(FINT, const float *, FINT, const float *, FINT, float *);
554  void F77_sdsdot_sub_base( FINT, const float *, const float *, FINT, const float *, FINT, float *);
555  void F77_sscal_base( FINT, const float *, float *, FINT);
556  void F77_snrm2_sub_base( FINT, const float *, FINT, float *);
557  void F77_sasum_sub_base( FINT, const float *, FINT, float *);
558  void F77_isamax_sub_base( FINT, const float * , FINT, FINT2);
559 
560 /* Double Precision */
561 
562  void F77_drot_base(FINT, double *, FINT, double *, FINT, const double *, const double *);
563  void F77_drotg_base(double *,double *,double *,double *);
564  void F77_drotm_base( FINT, double *, FINT, double *, FINT, const double *);
565  void F77_drotmg_base(double *,double *,double *,const double *, double *);
566  void F77_dswap_base( FINT, double *, FINT, double *, FINT);
567  void F77_dcopy_base( FINT, const double *, FINT, double *, FINT);
568  void F77_daxpy_base( FINT, const double *, const double *, FINT, double *, FINT);
569  void F77_dswap_base( FINT, double *, FINT, double *, FINT);
570  void F77_dsdot_sub_base(FINT, const float *, FINT, const float *, FINT, double *);
571  void F77_ddot_sub_base( FINT, const double *, FINT, const double *, FINT, double *);
572  void F77_dscal_base( FINT, const double *, double *, FINT);
573  void F77_dnrm2_sub_base( FINT, const double *, FINT, double *);
574  void F77_dasum_sub_base( FINT, const double *, FINT, double *);
575  void F77_idamax_sub_base( FINT, const double * , FINT, FINT2);
576 
577 /* Single Complex Precision */
578 
579  void F77_cswap_base( FINT, void *, FINT, void *, FINT);
580  void F77_ccopy_base( FINT, const void *, FINT, void *, FINT);
581  void F77_caxpy_base( FINT, const void *, const void *, FINT, void *, FINT);
582  void F77_cswap_base( FINT, void *, FINT, void *, FINT);
583  void F77_cdotc_sub_base( FINT, const void *, FINT, const void *, FINT, void *);
584  void F77_cdotu_sub_base( FINT, const void *, FINT, const void *, FINT, void *);
585  void F77_cscal_base( FINT, const void *, void *, FINT);
586  void F77_icamax_sub_base( FINT, const void *, FINT, FINT2);
587  void F77_csscal_base( FINT, const float *, void *, FINT);
588  void F77_scnrm2_sub_base( FINT, const void *, FINT, float *);
589  void F77_scasum_sub_base( FINT, const void *, FINT, float *);
590 
591 /* Double Complex Precision */
592 
593  void F77_zswap_base( FINT, void *, FINT, void *, FINT);
594  void F77_zcopy_base( FINT, const void *, FINT, void *, FINT);
595  void F77_zaxpy_base( FINT, const void *, const void *, FINT, void *, FINT);
596  void F77_zswap_base( FINT, void *, FINT, void *, FINT);
597  void F77_zdotc_sub_base( FINT, const void *, FINT, const void *, FINT, void *);
598  void F77_zdotu_sub_base( FINT, const void *, FINT, const void *, FINT, void *);
599  void F77_zdscal_base( FINT, const double *, void *, FINT);
600  void F77_zscal_base( FINT, const void *, void *, FINT);
601  void F77_dznrm2_sub_base( FINT, const void *, FINT, double *);
602  void F77_dzasum_sub_base( FINT, const void *, FINT, double *);
603  void F77_izamax_sub_base( FINT, const void *, FINT, FINT2);
604 
605 /*
606  * Level 2 Fortran Prototypes
607  */
608 
609 /* Single Precision */
610 
611  void F77_sgemv_base(FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT
612  #ifdef BLAS_FORTRAN_STRLEN_END
613  , size_t
614  #endif
615  );
616  void F77_sgbmv_base(FCHAR, FINT, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT
617  #ifdef BLAS_FORTRAN_STRLEN_END
618  , size_t
619  #endif
620  );
621  void F77_ssymv_base(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT
622  #ifdef BLAS_FORTRAN_STRLEN_END
623  , size_t
624  #endif
625  );
626  void F77_ssbmv_base(FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT
627  #ifdef BLAS_FORTRAN_STRLEN_END
628  , size_t
629  #endif
630  );
631  void F77_sspmv_base(FCHAR, FINT, const float *, const float *, const float *, FINT, const float *, float *, FINT
632  #ifdef BLAS_FORTRAN_STRLEN_END
633  , size_t
634  #endif
635  );
636  void F77_strmv_base(FCHAR, FCHAR, FCHAR, FINT, const float *, FINT, float *, FINT
637  #ifdef BLAS_FORTRAN_STRLEN_END
638  , size_t, size_t, size_t
639  #endif
640  );
641  void F77_stbmv_base(FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, FINT, float *, FINT
642  #ifdef BLAS_FORTRAN_STRLEN_END
643  , size_t, size_t, size_t
644  #endif
645  );
646  void F77_strsv_base(FCHAR, FCHAR, FCHAR, FINT, const float *, FINT, float *, FINT
647  #ifdef BLAS_FORTRAN_STRLEN_END
648  , size_t, size_t, size_t
649  #endif
650  );
651  void F77_stbsv_base(FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, FINT, float *, FINT
652  #ifdef BLAS_FORTRAN_STRLEN_END
653  , size_t, size_t, size_t
654  #endif
655  );
656  void F77_stpmv_base(FCHAR, FCHAR, FCHAR, FINT, const float *, float *, FINT
657  #ifdef BLAS_FORTRAN_STRLEN_END
658  , size_t, size_t, size_t
659  #endif
660  );
661  void F77_stpsv_base(FCHAR, FCHAR, FCHAR, FINT, const float *, float *, FINT
662  #ifdef BLAS_FORTRAN_STRLEN_END
663  , size_t, size_t, size_t
664  #endif
665  );
666  void F77_sger_base( FINT, FINT, const float *, const float *, FINT, const float *, FINT, float *, FINT);
667  void F77_ssyr_base(FCHAR, FINT, const float *, const float *, FINT, float *, FINT
668  #ifdef BLAS_FORTRAN_STRLEN_END
669  , size_t
670  #endif
671  );
672  void F77_sspr_base(FCHAR, FINT, const float *, const float *, FINT, float *
673  #ifdef BLAS_FORTRAN_STRLEN_END
674  , size_t
675  #endif
676  );
677  void F77_sspr2_base(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, float *
678  #ifdef BLAS_FORTRAN_STRLEN_END
679  , size_t
680  #endif
681  );
682  void F77_ssyr2_base(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, float *, FINT
683  #ifdef BLAS_FORTRAN_STRLEN_END
684  , size_t
685  #endif
686  );
687 
688 /* Double Precision */
689 
690  void F77_dgemv_base(FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT
691  #ifdef BLAS_FORTRAN_STRLEN_END
692  , size_t
693  #endif
694  );
695  void F77_dgbmv_base(FCHAR, FINT, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT
696  #ifdef BLAS_FORTRAN_STRLEN_END
697  , size_t
698  #endif
699  );
700  void F77_dsymv_base(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT
701  #ifdef BLAS_FORTRAN_STRLEN_END
702  , size_t
703  #endif
704  );
705  void F77_dsbmv_base(FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT
706  #ifdef BLAS_FORTRAN_STRLEN_END
707  , size_t
708  #endif
709  );
710  void F77_dspmv_base(FCHAR, FINT, const double *, const double *, const double *, FINT, const double *, double *, FINT
711  #ifdef BLAS_FORTRAN_STRLEN_END
712  , size_t
713  #endif
714  );
715  void F77_dtrmv_base(FCHAR, FCHAR, FCHAR, FINT, const double *, FINT, double *, FINT
716  #ifdef BLAS_FORTRAN_STRLEN_END
717  , size_t, size_t, size_t
718  #endif
719  );
720  void F77_dtbmv_base(FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, FINT, double *, FINT
721  #ifdef BLAS_FORTRAN_STRLEN_END
722  , size_t, size_t, size_t
723  #endif
724  );
725  void F77_dtrsv_base(FCHAR, FCHAR, FCHAR, FINT, const double *, FINT, double *, FINT
726  #ifdef BLAS_FORTRAN_STRLEN_END
727  , size_t, size_t, size_t
728  #endif
729  );
730  void F77_dtbsv_base(FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, FINT, double *, FINT
731  #ifdef BLAS_FORTRAN_STRLEN_END
732  , size_t, size_t, size_t
733  #endif
734  );
735  void F77_dtpmv_base(FCHAR, FCHAR, FCHAR, FINT, const double *, double *, FINT
736  #ifdef BLAS_FORTRAN_STRLEN_END
737  , size_t, size_t, size_t
738  #endif
739  );
740  void F77_dtpsv_base(FCHAR, FCHAR, FCHAR, FINT, const double *, double *, FINT
741  #ifdef BLAS_FORTRAN_STRLEN_END
742  , size_t, size_t, size_t
743  #endif
744  );
745  void F77_dger_base( FINT, FINT, const double *, const double *, FINT, const double *, FINT, double *, FINT);
746  void F77_dsyr_base(FCHAR, FINT, const double *, const double *, FINT, double *, FINT
747  #ifdef BLAS_FORTRAN_STRLEN_END
748  , size_t
749  #endif
750  );
751  void F77_dspr_base(FCHAR, FINT, const double *, const double *, FINT, double *
752  #ifdef BLAS_FORTRAN_STRLEN_END
753  , size_t
754  #endif
755  );
756  void F77_dspr2_base(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, double *
757  #ifdef BLAS_FORTRAN_STRLEN_END
758  , size_t
759  #endif
760  );
761  void F77_dsyr2_base(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, double *, FINT
762  #ifdef BLAS_FORTRAN_STRLEN_END
763  , size_t
764  #endif
765  );
766 
767 /* Single Complex Precision */
768 
769  void F77_cgemv_base(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT
770  #ifdef BLAS_FORTRAN_STRLEN_END
771  , size_t
772  #endif
773  );
774  void F77_cgbmv_base(FCHAR, FINT, FINT, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT
775  #ifdef BLAS_FORTRAN_STRLEN_END
776  , size_t
777  #endif
778  );
779  void F77_chemv_base(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT
780  #ifdef BLAS_FORTRAN_STRLEN_END
781  , size_t
782  #endif
783  );
784  void F77_chbmv_base(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT
785  #ifdef BLAS_FORTRAN_STRLEN_END
786  , size_t
787  #endif
788  );
789  void F77_chpmv_base(FCHAR, FINT, const void *, const void *, const void *, FINT, const void *, void *, FINT
790  #ifdef BLAS_FORTRAN_STRLEN_END
791  , size_t
792  #endif
793  );
794  void F77_ctrmv_base(FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT
795  #ifdef BLAS_FORTRAN_STRLEN_END
796  , size_t, size_t, size_t
797  #endif
798  );
799  void F77_ctbmv_base(FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT
800  #ifdef BLAS_FORTRAN_STRLEN_END
801  , size_t, size_t, size_t
802  #endif
803  );
804  void F77_ctpmv_base(FCHAR, FCHAR, FCHAR, FINT, const void *, void *, FINT
805  #ifdef BLAS_FORTRAN_STRLEN_END
806  , size_t, size_t, size_t
807  #endif
808  );
809  void F77_ctrsv_base(FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT
810  #ifdef BLAS_FORTRAN_STRLEN_END
811  , size_t, size_t, size_t
812  #endif
813  );
814  void F77_ctbsv_base(FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT
815  #ifdef BLAS_FORTRAN_STRLEN_END
816  , size_t, size_t, size_t
817  #endif
818  );
819  void F77_ctpsv_base(FCHAR, FCHAR, FCHAR, FINT, const void *, void *,FINT
820  #ifdef BLAS_FORTRAN_STRLEN_END
821  , size_t, size_t, size_t
822  #endif
823  );
824  void F77_cgerc_base( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
825  void F77_cgeru_base( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
826  void F77_cher_base(FCHAR, FINT, const float *, const void *, FINT, void *, FINT
827  #ifdef BLAS_FORTRAN_STRLEN_END
828  , size_t
829  #endif
830  );
831  void F77_cher2_base(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT
832  #ifdef BLAS_FORTRAN_STRLEN_END
833  , size_t
834  #endif
835  );
836  void F77_chpr_base(FCHAR, FINT, const float *, const void *, FINT, void *
837  #ifdef BLAS_FORTRAN_STRLEN_END
838  , size_t
839  #endif
840  );
841  void F77_chpr2_base(FCHAR, FINT, const float *, const void *, FINT, const void *, FINT, void *
842  #ifdef BLAS_FORTRAN_STRLEN_END
843  , size_t
844  #endif
845  );
846 
847 /* Double Complex Precision */
848 
849  void F77_zgemv_base(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT
850  #ifdef BLAS_FORTRAN_STRLEN_END
851  , size_t
852  #endif
853  );
854  void F77_zgbmv_base(FCHAR, FINT, FINT, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT
855  #ifdef BLAS_FORTRAN_STRLEN_END
856  , size_t
857  #endif
858  );
859  void F77_zhemv_base(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT
860  #ifdef BLAS_FORTRAN_STRLEN_END
861  , size_t
862  #endif
863  );
864  void F77_zhbmv_base(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT
865  #ifdef BLAS_FORTRAN_STRLEN_END
866  , size_t
867  #endif
868  );
869  void F77_zhpmv_base(FCHAR, FINT, const void *, const void *, const void *, FINT, const void *, void *, FINT
870  #ifdef BLAS_FORTRAN_STRLEN_END
871  , size_t
872  #endif
873  );
874  void F77_ztrmv_base(FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT
875  #ifdef BLAS_FORTRAN_STRLEN_END
876  , size_t, size_t, size_t
877  #endif
878  );
879  void F77_ztbmv_base(FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT
880  #ifdef BLAS_FORTRAN_STRLEN_END
881  , size_t, size_t, size_t
882  #endif
883  );
884  void F77_ztpmv_base(FCHAR, FCHAR, FCHAR, FINT, const void *, void *, FINT
885  #ifdef BLAS_FORTRAN_STRLEN_END
886  , size_t, size_t, size_t
887  #endif
888  );
889  void F77_ztrsv_base(FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT
890  #ifdef BLAS_FORTRAN_STRLEN_END
891  , size_t, size_t, size_t
892  #endif
893  );
894  void F77_ztbsv_base(FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT
895  #ifdef BLAS_FORTRAN_STRLEN_END
896  , size_t, size_t, size_t
897  #endif
898  );
899  void F77_ztpsv_base(FCHAR, FCHAR, FCHAR, FINT, const void *, void *,FINT
900  #ifdef BLAS_FORTRAN_STRLEN_END
901  , size_t, size_t, size_t
902  #endif
903  );
904  void F77_zgerc_base( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
905  void F77_zgeru_base( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
906  void F77_zher_base(FCHAR, FINT, const double *, const void *, FINT, void *, FINT
907  #ifdef BLAS_FORTRAN_STRLEN_END
908  , size_t
909  #endif
910  );
911  void F77_zher2_base(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT
912  #ifdef BLAS_FORTRAN_STRLEN_END
913  , size_t
914  #endif
915  );
916  void F77_zhpr_base(FCHAR, FINT, const double *, const void *, FINT, void *
917  #ifdef BLAS_FORTRAN_STRLEN_END
918  , size_t
919  #endif
920  );
921  void F77_zhpr2_base(FCHAR, FINT, const double *, const void *, FINT, const void *, FINT, void *
922  #ifdef BLAS_FORTRAN_STRLEN_END
923  , size_t
924  #endif
925  );
926 
927 /*
928  * Level 3 Fortran Prototypes
929  */
930 
931 /* Single Precision */
932 
933  void F77_sgemm_base(FCHAR, FCHAR, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT
934  #ifdef BLAS_FORTRAN_STRLEN_END
935  , size_t, size_t
936  #endif
937  );
938  void F77_ssymm_base(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT
939  #ifdef BLAS_FORTRAN_STRLEN_END
940  , size_t, size_t
941  #endif
942  );
943  void F77_ssyrk_base(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT
944  #ifdef BLAS_FORTRAN_STRLEN_END
945  , size_t, size_t
946  #endif
947  );
948  void F77_ssyr2k_base(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT
949  #ifdef BLAS_FORTRAN_STRLEN_END
950  , size_t, size_t
951  #endif
952  );
953  void F77_strmm_base(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT
954  #ifdef BLAS_FORTRAN_STRLEN_END
955  , size_t, size_t, size_t, size_t
956  #endif
957  );
958  void F77_strsm_base(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT
959  #ifdef BLAS_FORTRAN_STRLEN_END
960  , size_t, size_t, size_t, size_t
961  #endif
962  );
963 
964 /* Double Precision */
965 
966  void F77_dgemm_base(FCHAR, FCHAR, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT
967  #ifdef BLAS_FORTRAN_STRLEN_END
968  , size_t, size_t
969  #endif
970  );
971  void F77_dsymm_base(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT
972  #ifdef BLAS_FORTRAN_STRLEN_END
973  , size_t, size_t
974  #endif
975  );
976  void F77_dsyrk_base(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT
977  #ifdef BLAS_FORTRAN_STRLEN_END
978  , size_t, size_t
979  #endif
980  );
981  void F77_dsyr2k_base(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT
982  #ifdef BLAS_FORTRAN_STRLEN_END
983  , size_t, size_t
984  #endif
985  );
986  void F77_dtrmm_base(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT
987  #ifdef BLAS_FORTRAN_STRLEN_END
988  , size_t, size_t, size_t, size_t
989  #endif
990  );
991  void F77_dtrsm_base(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT
992  #ifdef BLAS_FORTRAN_STRLEN_END
993  , size_t, size_t, size_t, size_t
994  #endif
995  );
996 
997 /* Single Complex Precision */
998 
999  void F77_cgemm_base(FCHAR, FCHAR, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT
1000  #ifdef BLAS_FORTRAN_STRLEN_END
1001  , size_t, size_t
1002  #endif
1003  );
1004  void F77_csymm_base(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT
1005  #ifdef BLAS_FORTRAN_STRLEN_END
1006  , size_t, size_t
1007  #endif
1008  );
1009  void F77_chemm_base(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT
1010  #ifdef BLAS_FORTRAN_STRLEN_END
1011  , size_t, size_t
1012  #endif
1013  );
1014  void F77_csyrk_base(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT
1015  #ifdef BLAS_FORTRAN_STRLEN_END
1016  , size_t, size_t
1017  #endif
1018  );
1019  void F77_cherk_base(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT
1020  #ifdef BLAS_FORTRAN_STRLEN_END
1021  , size_t, size_t
1022  #endif
1023  );
1024  void F77_csyr2k_base(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT
1025  #ifdef BLAS_FORTRAN_STRLEN_END
1026  , size_t, size_t
1027  #endif
1028  );
1029  void F77_cher2k_base(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT
1030  #ifdef BLAS_FORTRAN_STRLEN_END
1031  , size_t, size_t
1032  #endif
1033  );
1034  void F77_ctrmm_base(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT
1035  #ifdef BLAS_FORTRAN_STRLEN_END
1036  , size_t, size_t, size_t, size_t
1037  #endif
1038  );
1039  void F77_ctrsm_base(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT
1040  #ifdef BLAS_FORTRAN_STRLEN_END
1041  , size_t, size_t, size_t, size_t
1042  #endif
1043  );
1044 
1045 /* Double Complex Precision */
1046 
1047  void F77_zgemm_base(FCHAR, FCHAR, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT
1048  #ifdef BLAS_FORTRAN_STRLEN_END
1049  , size_t, size_t
1050  #endif
1051  );
1052  void F77_zsymm_base(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT
1053  #ifdef BLAS_FORTRAN_STRLEN_END
1054  , size_t, size_t
1055  #endif
1056  );
1057  void F77_zhemm_base(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT
1058  #ifdef BLAS_FORTRAN_STRLEN_END
1059  , size_t, size_t
1060  #endif
1061  );
1062  void F77_zsyrk_base(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT
1063  #ifdef BLAS_FORTRAN_STRLEN_END
1064  , size_t, size_t
1065  #endif
1066  );
1067  void F77_zherk_base(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT
1068  #ifdef BLAS_FORTRAN_STRLEN_END
1069  , size_t, size_t
1070  #endif
1071  );
1072  void F77_zsyr2k_base(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT
1073  #ifdef BLAS_FORTRAN_STRLEN_END
1074  , size_t, size_t
1075  #endif
1076  );
1077  void F77_zher2k_base(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT
1078  #ifdef BLAS_FORTRAN_STRLEN_END
1079  , size_t, size_t
1080  #endif
1081  );
1082  void F77_ztrmm_base(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT
1083  #ifdef BLAS_FORTRAN_STRLEN_END
1084  , size_t, size_t, size_t, size_t
1085  #endif
1086  );
1087  void F77_ztrsm_base(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT
1088  #ifdef BLAS_FORTRAN_STRLEN_END
1089  , size_t, size_t, size_t, size_t
1090  #endif
1091  );
1092 
1093 #ifdef __cplusplus
1094 }
1095 #endif
1096 
1097 #endif /* CBLAS_F77_H */