OpenRadioss 2025.1.11
OpenRadioss project
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 * 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
530extern "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
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