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