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