TRIQS/nda 1.3.0
Multi-dimensional array library for C++
Loading...
Searching...
No Matches
cblas_f77.h
1/*
2 * cblas_f77.h
3 * Written by Keita Teranishi
4 *
5 * Updated by Jeff Horner
6 * Merged cblas_f77.h and cblas_fortran_header.h
7 *
8 *
9 * ******************************************************************************
10 *
11 * Copyright (c) 1992-2017 The University of Tennessee and The University
12 * of Tennessee Research Foundation. All rights
13 * reserved.
14 * Copyright (c) 2000-2017 The University of California Berkeley. All
15 * rights reserved.
16 * Copyright (c) 2006-2017 The University of Colorado Denver. All rights
17 * reserved.
18 *
19 * Additional copyrights may follow
20 *
21 * Redistribution and use in source and binary forms, with or without
22 * modification, are permitted provided that the following conditions are
23 * met:
24 *
25 * - Redistributions of source code must retain the above copyright
26 * notice, this list of conditions and the following disclaimer.
27 *
28 * - Redistributions in binary form must reproduce the above copyright
29 * notice, this list of conditions and the following disclaimer listed
30 * in this license in the documentation and/or other materials
31 * provided with the distribution.
32 *
33 * - Neither the name of the copyright holders nor the names of its
34 * contributors may be used to endorse or promote products derived from
35 * this software without specific prior written permission.
36 *
37 * The copyright holders provide no reassurances that the source code
38 * provided does not infringe any patent, copyright, or any other
39 * intellectual property rights of third parties. The copyright holders
40 * disclaim any liability to any recipient for claims brought against
41 * recipient by any third party for infringement of that parties
42 * intellectual property rights.
43 *
44 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
45 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
46 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
47 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
48 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
49 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
50 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
51 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
52 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
53 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
54 *
55 ******************************************************************************
56 *
57 */
58
59#include "cblas_mangling_with_flags.h"
60
61#ifndef CBLAS_F77_H
62#define CBLAS_F77_H
63
64#ifdef CRAY
65#include <fortran.h>
66#define F77_CHAR _fcd
67#define C2F_CHAR(a) (_cptofcd((a), 1))
68#define C2F_STR(a, i) (_cptofcd((a), (i)))
69#define F77_STRLEN(a) (_fcdlen)
70#endif
71
72#ifdef WeirdNEC
73#define F77_INT long
74#endif
75
76#ifdef F77_CHAR
77#define FCHAR F77_CHAR
78#else
79#define FCHAR char *
80#endif
81
82#ifdef F77_INT
83#define FINT const F77_INT *
84#define FINT2 F77_INT *
85#else
86#define FINT const int *
87#define FINT2 int *
88#endif
89
90/*
91 * Level 1 BLAS
92 */
93
94#define F77_xerbla F77_GLOBAL(xerbla, XERBLA)
95#define F77_srotg F77_GLOBAL(srotg, SROTG)
96#define F77_srotmg F77_GLOBAL(srotmg, SROTMG)
97#define F77_srot F77_GLOBAL(srot, SROT)
98#define F77_srotm F77_GLOBAL(srotm, SROTM)
99#define F77_drotg F77_GLOBAL(drotg, DROTG)
100#define F77_drotmg F77_GLOBAL(drotmg, DROTMG)
101#define F77_drot F77_GLOBAL(drot, DROT)
102#define F77_drotm F77_GLOBAL(drotm, DROTM)
103#define F77_sswap F77_GLOBAL(sswap, SSWAP)
104#define F77_scopy F77_GLOBAL(scopy, SCOPY)
105#define F77_saxpy F77_GLOBAL(saxpy, SAXPY)
106#define F77_isamax_sub F77_GLOBAL(isamaxsub, ISAMAXSUB)
107#define F77_dswap F77_GLOBAL(dswap, DSWAP)
108#define F77_dcopy F77_GLOBAL(dcopy, DCOPY)
109#define F77_daxpy F77_GLOBAL(daxpy, DAXPY)
110#define F77_idamax_sub F77_GLOBAL(idamaxsub, IDAMAXSUB)
111#define F77_cswap F77_GLOBAL(cswap, CSWAP)
112#define F77_ccopy F77_GLOBAL(ccopy, CCOPY)
113#define F77_caxpy F77_GLOBAL(caxpy, CAXPY)
114#define F77_icamax_sub F77_GLOBAL(icamaxsub, ICAMAXSUB)
115#define F77_zswap F77_GLOBAL(zswap, ZSWAP)
116#define F77_zcopy F77_GLOBAL(zcopy, ZCOPY)
117#define F77_zaxpy F77_GLOBAL(zaxpy, ZAXPY)
118#define F77_izamax_sub F77_GLOBAL(izamaxsub, IZAMAXSUB)
119#define F77_sdot_sub F77_GLOBAL(sdotsub, SDOTSUB)
120#define F77_ddot_sub F77_GLOBAL(ddotsub, DDOTSUB)
121#define F77_dsdot_sub F77_GLOBAL(dsdotsub, DSDOTSUB)
122#define F77_sscal F77_GLOBAL(sscal, SSCAL)
123#define F77_dscal F77_GLOBAL(dscal, DSCAL)
124#define F77_cscal F77_GLOBAL(cscal, CSCAL)
125#define F77_zscal F77_GLOBAL(zscal, ZSCAL)
126#define F77_csscal F77_GLOBAL(csscal, CSSCAL)
127#define F77_zdscal F77_GLOBAL(zdscal, ZDSCAL)
128#define F77_cdotu_sub F77_GLOBAL(cdotusub, CDOTUSUB)
129#define F77_cdotc_sub F77_GLOBAL(cdotcsub, CDOTCSUB)
130#define F77_zdotu_sub F77_GLOBAL(zdotusub, ZDOTUSUB)
131#define F77_zdotc_sub F77_GLOBAL(zdotcsub, ZDOTCSUB)
132#define F77_snrm2_sub F77_GLOBAL(snrm2sub, SNRM2SUB)
133#define F77_sasum_sub F77_GLOBAL(sasumsub, SASUMSUB)
134#define F77_dnrm2_sub F77_GLOBAL(dnrm2sub, DNRM2SUB)
135#define F77_dasum_sub F77_GLOBAL(dasumsub, DASUMSUB)
136#define F77_scnrm2_sub F77_GLOBAL(scnrm2sub, SCNRM2SUB)
137#define F77_scasum_sub F77_GLOBAL(scasumsub, SCASUMSUB)
138#define F77_dznrm2_sub F77_GLOBAL(dznrm2sub, DZNRM2SUB)
139#define F77_dzasum_sub F77_GLOBAL(dzasumsub, DZASUMSUB)
140#define F77_sdsdot_sub F77_GLOBAL(sdsdotsub, SDSDOTSUB)
141/*
142 * Level 2 BLAS
143 */
144#define F77_ssymv F77_GLOBAL(ssymv, SSYMV)
145#define F77_ssbmv F77_GLOBAL(ssbmv, SSBMV)
146#define F77_sspmv F77_GLOBAL(sspmv, SSPMV)
147#define F77_sger F77_GLOBAL(sger, SGER)
148#define F77_ssyr F77_GLOBAL(ssyr, SSYR)
149#define F77_sspr F77_GLOBAL(sspr, SSPR)
150#define F77_ssyr2 F77_GLOBAL(ssyr2, SSYR2)
151#define F77_sspr2 F77_GLOBAL(sspr2, SSPR2)
152#define F77_dsymv F77_GLOBAL(dsymv, DSYMV)
153#define F77_dsbmv F77_GLOBAL(dsbmv, DSBMV)
154#define F77_dspmv F77_GLOBAL(dspmv, DSPMV)
155#define F77_dger F77_GLOBAL(dger, DGER)
156#define F77_dsyr F77_GLOBAL(dsyr, DSYR)
157#define F77_dspr F77_GLOBAL(dspr, DSPR)
158#define F77_dsyr2 F77_GLOBAL(dsyr2, DSYR2)
159#define F77_dspr2 F77_GLOBAL(dspr2, DSPR2)
160#define F77_chemv F77_GLOBAL(chemv, CHEMV)
161#define F77_chbmv F77_GLOBAL(chbmv, CHBMV)
162#define F77_chpmv F77_GLOBAL(chpmv, CHPMV)
163#define F77_cgeru F77_GLOBAL(cgeru, CGERU)
164#define F77_cgerc F77_GLOBAL(cgerc, CGERC)
165#define F77_cher F77_GLOBAL(cher, CHER)
166#define F77_chpr F77_GLOBAL(chpr, CHPR)
167#define F77_cher2 F77_GLOBAL(cher2, CHER2)
168#define F77_chpr2 F77_GLOBAL(chpr2, CHPR2)
169#define F77_zhemv F77_GLOBAL(zhemv, ZHEMV)
170#define F77_zhbmv F77_GLOBAL(zhbmv, ZHBMV)
171#define F77_zhpmv F77_GLOBAL(zhpmv, ZHPMV)
172#define F77_zgeru F77_GLOBAL(zgeru, ZGERU)
173#define F77_zgerc F77_GLOBAL(zgerc, ZGERC)
174#define F77_zher F77_GLOBAL(zher, ZHER)
175#define F77_zhpr F77_GLOBAL(zhpr, ZHPR)
176#define F77_zher2 F77_GLOBAL(zher2, ZHER2)
177#define F77_zhpr2 F77_GLOBAL(zhpr2, ZHPR2)
178#define F77_sgemv F77_GLOBAL(sgemv, SGEMV)
179#define F77_sgbmv F77_GLOBAL(sgbmv, SGBMV)
180#define F77_strmv F77_GLOBAL(strmv, STRMV)
181#define F77_stbmv F77_GLOBAL(stbmv, STBMV)
182#define F77_stpmv F77_GLOBAL(stpmv, STPMV)
183#define F77_strsv F77_GLOBAL(strsv, STRSV)
184#define F77_stbsv F77_GLOBAL(stbsv, STBSV)
185#define F77_stpsv F77_GLOBAL(stpsv, STPSV)
186#define F77_dgemv F77_GLOBAL(dgemv, DGEMV)
187#define F77_dgbmv F77_GLOBAL(dgbmv, DGBMV)
188#define F77_dtrmv F77_GLOBAL(dtrmv, DTRMV)
189#define F77_dtbmv F77_GLOBAL(dtbmv, DTBMV)
190#define F77_dtpmv F77_GLOBAL(dtpmv, DTPMV)
191#define F77_dtrsv F77_GLOBAL(dtrsv, DTRSV)
192#define F77_dtbsv F77_GLOBAL(dtbsv, DTBSV)
193#define F77_dtpsv F77_GLOBAL(dtpsv, DTPSV)
194#define F77_cgemv F77_GLOBAL(cgemv, CGEMV)
195#define F77_cgbmv F77_GLOBAL(cgbmv, CGBMV)
196#define F77_ctrmv F77_GLOBAL(ctrmv, CTRMV)
197#define F77_ctbmv F77_GLOBAL(ctbmv, CTBMV)
198#define F77_ctpmv F77_GLOBAL(ctpmv, CTPMV)
199#define F77_ctrsv F77_GLOBAL(ctrsv, CTRSV)
200#define F77_ctbsv F77_GLOBAL(ctbsv, CTBSV)
201#define F77_ctpsv F77_GLOBAL(ctpsv, CTPSV)
202#define F77_zgemv F77_GLOBAL(zgemv, ZGEMV)
203#define F77_zgbmv F77_GLOBAL(zgbmv, ZGBMV)
204#define F77_ztrmv F77_GLOBAL(ztrmv, ZTRMV)
205#define F77_ztbmv F77_GLOBAL(ztbmv, ZTBMV)
206#define F77_ztpmv F77_GLOBAL(ztpmv, ZTPMV)
207#define F77_ztrsv F77_GLOBAL(ztrsv, ZTRSV)
208#define F77_ztbsv F77_GLOBAL(ztbsv, ZTBSV)
209#define F77_ztpsv F77_GLOBAL(ztpsv, ZTPSV)
210/*
211 * Level 3 BLAS
212 */
213#define F77_chemm F77_GLOBAL(chemm, CHEMM)
214#define F77_cherk F77_GLOBAL(cherk, CHERK)
215#define F77_cher2k F77_GLOBAL(cher2k, CHER2K)
216#define F77_zhemm F77_GLOBAL(zhemm, ZHEMM)
217#define F77_zherk F77_GLOBAL(zherk, ZHERK)
218#define F77_zher2k F77_GLOBAL(zher2k, ZHER2K)
219#define F77_sgemm F77_GLOBAL(sgemm, SGEMM)
220#define F77_ssymm F77_GLOBAL(ssymm, SSYMM)
221#define F77_ssyrk F77_GLOBAL(ssyrk, SSYRK)
222#define F77_ssyr2k F77_GLOBAL(ssyr2k, SSYR2K)
223#define F77_strmm F77_GLOBAL(strmm, STRMM)
224#define F77_strsm F77_GLOBAL(strsm, STRSM)
225#define F77_dgemm F77_GLOBAL(dgemm, DGEMM)
226#define F77_dsymm F77_GLOBAL(dsymm, DSYMM)
227#define F77_dsyrk F77_GLOBAL(dsyrk, DSYRK)
228#define F77_dsyr2k F77_GLOBAL(dsyr2k, DSYR2K)
229#define F77_dtrmm F77_GLOBAL(dtrmm, DTRMM)
230#define F77_dtrsm F77_GLOBAL(dtrsm, DTRSM)
231#define F77_cgemm F77_GLOBAL(cgemm, CGEMM)
232#define F77_csymm F77_GLOBAL(csymm, CSYMM)
233#define F77_csyrk F77_GLOBAL(csyrk, CSYRK)
234#define F77_csyr2k F77_GLOBAL(csyr2k, CSYR2K)
235#define F77_ctrmm F77_GLOBAL(ctrmm, CTRMM)
236#define F77_ctrsm F77_GLOBAL(ctrsm, CTRSM)
237#define F77_zgemm F77_GLOBAL(zgemm, ZGEMM)
238#define F77_zsymm F77_GLOBAL(zsymm, ZSYMM)
239#define F77_zsyrk F77_GLOBAL(zsyrk, ZSYRK)
240#define F77_zsyr2k F77_GLOBAL(zsyr2k, ZSYR2K)
241#define F77_ztrmm F77_GLOBAL(ztrmm, ZTRMM)
242#define F77_ztrsm F77_GLOBAL(ztrsm, ZTRSM)
243
244#ifdef __cplusplus
245extern "C" {
246#endif
247
248void F77_xerbla(FCHAR, void *);
249/*
250 * Level 1 Fortran Prototypes
251 */
252
253/* Single Precision */
254
255void F77_srot(FINT, float *, FINT, float *, FINT, const float *, const float *);
256void F77_srotg(float *, float *, float *, float *);
257void F77_srotm(FINT, float *, FINT, float *, FINT, const float *);
258void F77_srotmg(float *, float *, float *, const float *, float *);
259void F77_sswap(FINT, float *, FINT, float *, FINT);
260void F77_scopy(FINT, const float *, FINT, float *, FINT);
261void F77_saxpy(FINT, const float *, const float *, FINT, float *, FINT);
262void F77_sdot_sub(FINT, const float *, FINT, const float *, FINT, float *);
263void F77_sdsdot_sub(FINT, const float *, const float *, FINT, const float *, FINT, float *);
264void F77_sscal(FINT, const float *, float *, FINT);
265void F77_snrm2_sub(FINT, const float *, FINT, float *);
266void F77_sasum_sub(FINT, const float *, FINT, float *);
267void F77_isamax_sub(FINT, const float *, FINT, FINT2);
268
269/* Double Precision */
270
271void F77_drot(FINT, double *, FINT, double *, FINT, const double *, const double *);
272void F77_drotg(double *, double *, double *, double *);
273void F77_drotm(FINT, double *, FINT, double *, FINT, const double *);
274void F77_drotmg(double *, double *, double *, const double *, double *);
275void F77_dswap(FINT, double *, FINT, double *, FINT);
276void F77_dcopy(FINT, const double *, FINT, double *, FINT);
277void F77_daxpy(FINT, const double *, const double *, FINT, double *, FINT);
278void F77_dswap(FINT, double *, FINT, double *, FINT);
279void F77_dsdot_sub(FINT, const float *, FINT, const float *, FINT, double *);
280void F77_ddot_sub(FINT, const double *, FINT, const double *, FINT, double *);
281
282void F77_dscal(FINT, const double *, double *, FINT);
283void F77_dnrm2_sub(FINT, const double *, FINT, double *);
284void F77_dasum_sub(FINT, const double *, FINT, double *);
285void F77_idamax_sub(FINT, const double *, FINT, FINT2);
286
287/* Single Complex Precision */
288
289void F77_cswap(FINT, void *, FINT, void *, FINT);
290void F77_ccopy(FINT, const void *, FINT, void *, FINT);
291void F77_caxpy(FINT, const void *, const void *, FINT, void *, FINT);
292void F77_cswap(FINT, void *, FINT, void *, FINT);
293void F77_cdotc_sub(FINT, const void *, FINT, const void *, FINT, void *);
294void F77_cdotu_sub(FINT, const void *, FINT, const void *, FINT, void *);
295void F77_cscal(FINT, const void *, void *, FINT);
296void F77_icamax_sub(FINT, const void *, FINT, FINT2);
297void F77_csscal(FINT, const float *, void *, FINT);
298void F77_scnrm2_sub(FINT, const void *, FINT, float *);
299void F77_scasum_sub(FINT, const void *, FINT, float *);
300
301/* Double Complex Precision */
302
303void F77_zswap(FINT, void *, FINT, void *, FINT);
304void F77_zcopy(FINT, const void *, FINT, void *, FINT);
305void F77_zaxpy(FINT, const void *, const void *, FINT, void *, FINT);
306void F77_zswap(FINT, void *, FINT, void *, FINT);
307void F77_zdotc_sub(FINT, const void *, FINT, const void *, FINT, void *);
308void F77_zdotu_sub(FINT, const void *, FINT, const void *, FINT, void *);
309void F77_zdscal(FINT, const double *, void *, FINT);
310void F77_zscal(FINT, const void *, void *, FINT);
311void F77_dznrm2_sub(FINT, const void *, FINT, double *);
312void F77_dzasum_sub(FINT, const void *, FINT, double *);
313void F77_izamax_sub(FINT, const void *, FINT, FINT2);
314
315/*
316 * Level 2 Fortran Prototypes
317 */
318
319/* Single Precision */
320
321void F77_sgemv(FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
322void F77_sgbmv(FCHAR, FINT, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
323void F77_ssymv(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
324void F77_ssbmv(FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
325void F77_sspmv(FCHAR, FINT, const float *, const float *, const float *, FINT, const float *, float *, FINT);
326void F77_strmv(FCHAR, FCHAR, FCHAR, FINT, const float *, FINT, float *, FINT);
327void F77_stbmv(FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, FINT, float *, FINT);
328void F77_strsv(FCHAR, FCHAR, FCHAR, FINT, const float *, FINT, float *, FINT);
329void F77_stbsv(FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, FINT, float *, FINT);
330void F77_stpmv(FCHAR, FCHAR, FCHAR, FINT, const float *, float *, FINT);
331void F77_stpsv(FCHAR, FCHAR, FCHAR, FINT, const float *, float *, FINT);
332void F77_sger(FINT, FINT, const float *, const float *, FINT, const float *, FINT, float *, FINT);
333void F77_ssyr(FCHAR, FINT, const float *, const float *, FINT, float *, FINT);
334void F77_sspr(FCHAR, FINT, const float *, const float *, FINT, float *);
335void F77_sspr2(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, float *);
336void F77_ssyr2(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, float *, FINT);
337
338/* Double Precision */
339
340void F77_dgemv(FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
341void F77_dgbmv(FCHAR, FINT, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
342void F77_dsymv(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
343void F77_dsbmv(FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
344void F77_dspmv(FCHAR, FINT, const double *, const double *, const double *, FINT, const double *, double *, FINT);
345void F77_dtrmv(FCHAR, FCHAR, FCHAR, FINT, const double *, FINT, double *, FINT);
346void F77_dtbmv(FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, FINT, double *, FINT);
347void F77_dtrsv(FCHAR, FCHAR, FCHAR, FINT, const double *, FINT, double *, FINT);
348void F77_dtbsv(FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, FINT, double *, FINT);
349void F77_dtpmv(FCHAR, FCHAR, FCHAR, FINT, const double *, double *, FINT);
350void F77_dtpsv(FCHAR, FCHAR, FCHAR, FINT, const double *, double *, FINT);
351void F77_dger(FINT, FINT, const double *, const double *, FINT, const double *, FINT, double *, FINT);
352void F77_dsyr(FCHAR, FINT, const double *, const double *, FINT, double *, FINT);
353void F77_dspr(FCHAR, FINT, const double *, const double *, FINT, double *);
354void F77_dspr2(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, double *);
355void F77_dsyr2(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, double *, FINT);
356
357/* Single Complex Precision */
358
359void F77_cgemv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
360void F77_cgbmv(FCHAR, FINT, FINT, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
361void F77_chemv(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
362void F77_chbmv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
363void F77_chpmv(FCHAR, FINT, const void *, const void *, const void *, FINT, const void *, void *, FINT);
364void F77_ctrmv(FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
365void F77_ctbmv(FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
366void F77_ctpmv(FCHAR, FCHAR, FCHAR, FINT, const void *, void *, FINT);
367void F77_ctrsv(FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
368void F77_ctbsv(FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
369void F77_ctpsv(FCHAR, FCHAR, FCHAR, FINT, const void *, void *, FINT);
370void F77_cgerc(FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
371void F77_cgeru(FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
372void F77_cher(FCHAR, FINT, const float *, const void *, FINT, void *, FINT);
373void F77_cher2(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
374void F77_chpr(FCHAR, FINT, const float *, const void *, FINT, void *);
375void F77_chpr2(FCHAR, FINT, const float *, const void *, FINT, const void *, FINT, void *);
376
377/* Double Complex Precision */
378
379void F77_zgemv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
380void F77_zgbmv(FCHAR, FINT, FINT, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
381void F77_zhemv(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
382void F77_zhbmv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
383void F77_zhpmv(FCHAR, FINT, const void *, const void *, const void *, FINT, const void *, void *, FINT);
384void F77_ztrmv(FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
385void F77_ztbmv(FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
386void F77_ztpmv(FCHAR, FCHAR, FCHAR, FINT, const void *, void *, FINT);
387void F77_ztrsv(FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
388void F77_ztbsv(FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
389void F77_ztpsv(FCHAR, FCHAR, FCHAR, FINT, const void *, void *, FINT);
390void F77_zgerc(FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
391void F77_zgeru(FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
392void F77_zher(FCHAR, FINT, const double *, const void *, FINT, void *, FINT);
393void F77_zher2(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
394void F77_zhpr(FCHAR, FINT, const double *, const void *, FINT, void *);
395void F77_zhpr2(FCHAR, FINT, const double *, const void *, FINT, const void *, FINT, void *);
396
397/*
398 * Level 3 Fortran Prototypes
399 */
400
401/* Single Precision */
402
403void F77_sgemm(FCHAR, FCHAR, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
404void F77_ssymm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
405void F77_ssyrk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT);
406void F77_ssyr2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
407void F77_strmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
408void F77_strsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
409
410/* Double Precision */
411
412void F77_dgemm(FCHAR, FCHAR, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
413void F77_dsymm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
414void F77_dsyrk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT);
415void F77_dsyr2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
416void F77_dtrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
417void F77_dtrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
418
419/* Single Complex Precision */
420
421void F77_cgemm(FCHAR, FCHAR, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
422void F77_csymm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
423void F77_chemm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
424void F77_csyrk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT);
425void F77_cherk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT);
426void F77_csyr2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
427void F77_cher2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
428void F77_ctrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
429void F77_ctrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
430
431/* Double Complex Precision */
432
433void F77_zgemm(FCHAR, FCHAR, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
434void F77_zsymm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
435void F77_zhemm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
436void F77_zsyrk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT);
437void F77_zherk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT);
438void F77_zsyr2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
439void F77_zher2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
440void F77_ztrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
441void F77_ztrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
442
443#ifdef __cplusplus
444}
445#endif
446
447#endif /* CBLAS_F77_H */