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