GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
lo-blas-proto.h
Go to the documentation of this file.
1 /*
2 
3 Copyright (C) 2016-2017 John W. Eaton
4 
5 This file is part of Octave.
6 
7 Octave is free software; you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by the
9 Free Software Foundation; either version 3 of the License, or (at your
10 option) any later version.
11 
12 Octave is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with Octave; see the file COPYING. If not, see
19 <http://www.gnu.org/licenses/>.
20 
21 */
22 
23 #if ! defined (octave_lo_blas_proto_h)
24 #define octave_lo_blas_proto_h 1
25 
26 #include "octave-config.h"
27 
28 #include "f77-fcn.h"
29 
30 extern "C"
31 {
32  // DOT (liboctave/cruft/blas-xtra)
33 
34  F77_RET_T
35  F77_FUNC (xddot, XDDOT) (const F77_INT&, const F77_DBLE*,
36  const F77_INT&, const F77_DBLE*,
37  const F77_INT&, F77_DBLE&);
38 
39  F77_RET_T
40  F77_FUNC (xsdot, XSDOT) (const F77_INT&, const F77_REAL*,
41  const F77_INT&, const F77_REAL*,
42  const F77_INT&, F77_REAL&);
43 
44  // DOT3
45 
46  F77_RET_T
47  F77_FUNC (ddot3, DDOT3) (const F77_INT&, const F77_INT&,
48  const F77_INT&, const F77_DBLE*,
49  const F77_DBLE*, F77_DBLE*);
50 
51  F77_RET_T
52  F77_FUNC (sdot3, SDOT3) (const F77_INT&, const F77_INT&,
53  const F77_INT&, const F77_REAL*,
54  const F77_REAL*, F77_REAL*);
55 
56  // DOTC (liboctave/cruft/blas-xtra)
57 
58  F77_RET_T
59  F77_FUNC (xcdotc, XCDOTC) (const F77_INT&, const F77_CMPLX*,
60  const F77_INT&, const F77_CMPLX*,
61  const F77_INT&, F77_CMPLX*);
62 
63  F77_RET_T
64  F77_FUNC (xzdotc, XZDOTC) (const F77_INT&, const F77_DBLE_CMPLX*,
65  const F77_INT&, const F77_DBLE_CMPLX*,
66  const F77_INT&, F77_DBLE_CMPLX*);
67 
68  // DOTC3
69 
70  F77_RET_T
71  F77_FUNC (cdotc3, CDOTC3) (const F77_INT&, const F77_INT&,
72  const F77_INT&, const F77_CMPLX*,
73  const F77_CMPLX*, F77_CMPLX*);
74 
75  F77_RET_T
76  F77_FUNC (zdotc3, ZDOTC3) (const F77_INT&, const F77_INT&,
77  const F77_INT&, const F77_DBLE_CMPLX*,
78  const F77_DBLE_CMPLX*, F77_DBLE_CMPLX*);
79 
80  // DOTU (liboctave/cruft/blas-xtra)
81 
82  F77_RET_T
83  F77_FUNC (xcdotu, XCDOTU) (const F77_INT&, const F77_CMPLX*,
84  const F77_INT&, const F77_CMPLX*,
85  const F77_INT&, F77_CMPLX*);
86 
87  F77_RET_T
88  F77_FUNC (xzdotu, XZDOTU) (const F77_INT&, const F77_DBLE_CMPLX*,
89  const F77_INT&, const F77_DBLE_CMPLX*,
90  const F77_INT&, F77_DBLE_CMPLX*);
91 
92  // GEMM
93 
94  F77_RET_T
95  F77_FUNC (cgemm, CGEMM) (F77_CONST_CHAR_ARG_DECL,
97  const F77_INT&, const F77_INT&,
98  const F77_INT&, const F77_CMPLX&,
99  const F77_CMPLX*, const F77_INT&,
100  const F77_CMPLX*, const F77_INT&,
101  const F77_CMPLX&, F77_CMPLX*,
102  const F77_INT&
105 
106  F77_RET_T
107  F77_FUNC (dgemm, DGEMM) (F77_CONST_CHAR_ARG_DECL,
109  const F77_INT&, const F77_INT&,
110  const F77_INT&, const F77_DBLE&,
111  const F77_DBLE*, const F77_INT&,
112  const F77_DBLE*, const F77_INT&,
113  const F77_DBLE&, F77_DBLE*, const F77_INT&
116 
117  F77_RET_T
118  F77_FUNC (sgemm, SGEMM) (F77_CONST_CHAR_ARG_DECL,
120  const F77_INT&, const F77_INT&,
121  const F77_INT&, const F77_REAL&,
122  const F77_REAL*, const F77_INT&,
123  const F77_REAL*, const F77_INT&,
124  const F77_REAL&, F77_REAL*,
125  const F77_INT&
128 
129  F77_RET_T
130  F77_FUNC (zgemm, ZGEMM) (F77_CONST_CHAR_ARG_DECL,
132  const F77_INT&, const F77_INT&,
133  const F77_INT&, const F77_DBLE_CMPLX&,
134  const F77_DBLE_CMPLX*, const F77_INT&,
135  const F77_DBLE_CMPLX*, const F77_INT&,
136  const F77_DBLE_CMPLX&, F77_DBLE_CMPLX*, const F77_INT&
139 
140  // GEMV
141 
142  F77_RET_T
143  F77_FUNC (cgemv, CGEMV) (F77_CONST_CHAR_ARG_DECL,
144  const F77_INT&, const F77_INT&,
145  const F77_CMPLX&, const F77_CMPLX*,
146  const F77_INT&, const F77_CMPLX*,
147  const F77_INT&, const F77_CMPLX&,
148  F77_CMPLX*, const F77_INT&
150 
151  F77_RET_T
152  F77_FUNC (dgemv, DGEMV) (F77_CONST_CHAR_ARG_DECL,
153  const F77_INT&, const F77_INT&,
154  const F77_DBLE&, const F77_DBLE*,
155  const F77_INT&, const F77_DBLE*,
156  const F77_INT&, const F77_DBLE&,
157  F77_DBLE*, const F77_INT&
159 
160  F77_RET_T
161  F77_FUNC (sgemv, SGEMV) (F77_CONST_CHAR_ARG_DECL,
162  const F77_INT&, const F77_INT&,
163  const F77_REAL&, const F77_REAL*,
164  const F77_INT&, const F77_REAL*,
165  const F77_INT&, const F77_REAL&,
166  F77_REAL*, const F77_INT&
168 
169  F77_RET_T
170  F77_FUNC (zgemv, ZGEMV) (F77_CONST_CHAR_ARG_DECL,
171  const F77_INT&, const F77_INT&,
172  const F77_DBLE_CMPLX&, const F77_DBLE_CMPLX*,
173  const F77_INT&, const F77_DBLE_CMPLX*,
174  const F77_INT&, const F77_DBLE_CMPLX&,
175  F77_DBLE_CMPLX*, const F77_INT&
177 
178  // MATM3
179 
180  F77_RET_T
181  F77_FUNC (cmatm3, CMATM3) (const F77_INT&, const F77_INT&,
182  const F77_INT&, const F77_INT&,
183  const F77_CMPLX*, const F77_CMPLX*,
184  F77_CMPLX*);
185  F77_RET_T
186  F77_FUNC (dmatm3, DMATM3) (const F77_INT&, const F77_INT&,
187  const F77_INT&, const F77_INT&,
188  const F77_DBLE*, const F77_DBLE*, F77_DBLE*);
189 
190  F77_RET_T
191  F77_FUNC (smatm3, SMATM3) (const F77_INT&, const F77_INT&,
192  const F77_INT&, const F77_INT&,
193  const F77_REAL*, const F77_REAL*, F77_REAL*);
194 
195  F77_RET_T
196  F77_FUNC (zmatm3, ZMATM3) (const F77_INT&, const F77_INT&,
197  const F77_INT&, const F77_INT&,
198  const F77_DBLE_CMPLX*, const F77_DBLE_CMPLX*,
199  F77_DBLE_CMPLX*);
200 
201  // XERBLA
202 
203  F77_RET_T
204  F77_FUNC (xerbla, XERBLA) (F77_CONST_CHAR_ARG_DECL, const F77_INT&
206 }
207 
208 #endif
subroutine xerbla(SRNAME, INFO)
Definition: xerbla.f:1
subroutine xddot(n, dx, incx, dy, incy, retval)
Definition: xddot.f:1
subroutine cmatm3(m, n, k, np, a, b, c)
Definition: cmatm3.f:21
subroutine cdotc3(m, n, k, a, b, c)
Definition: cdotc3.f:21
subroutine smatm3(m, n, k, np, a, b, c)
Definition: smatm3.f:21
F77_RET_T const F77_DBLE const F77_INT const F77_DBLE const F77_INT F77_DBLE &F77_RET_T const F77_REAL const F77_INT const F77_REAL const F77_INT F77_REAL &F77_RET_T const F77_INT const F77_INT const F77_DBLE const F77_DBLE F77_DBLE *F77_RET_T const F77_INT const F77_INT const F77_REAL const F77_REAL F77_REAL *F77_RET_T const F77_CMPLX const F77_INT const F77_CMPLX const F77_INT F77_CMPLX *F77_RET_T const F77_DBLE_CMPLX const F77_INT const F77_DBLE_CMPLX const F77_INT F77_DBLE_CMPLX *F77_RET_T const F77_INT const F77_INT const F77_CMPLX const F77_CMPLX F77_CMPLX *F77_RET_T const F77_INT const F77_INT const F77_DBLE_CMPLX const F77_DBLE_CMPLX F77_DBLE_CMPLX *F77_RET_T const F77_CMPLX const F77_INT const F77_CMPLX const F77_INT F77_CMPLX *F77_RET_T const F77_DBLE_CMPLX const F77_INT const F77_DBLE_CMPLX const F77_INT F77_DBLE_CMPLX *F77_RET_T const F77_INT const F77_INT const F77_INT const F77_CMPLX const F77_CMPLX const F77_INT const F77_CMPLX const F77_INT const F77_CMPLX F77_CMPLX const F77_INT &F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL
Definition: lo-blas-proto.h:96
F77_RET_T F77_FUNC(xddot, XDDOT)(const F77_INT &
#define F77_REAL
Definition: f77-fcn.h:332
subroutine xzdotu(n, zx, incx, zy, incy, retval)
Definition: xzdotu.f:1
subroutine dmatm3(m, n, k, np, a, b, c)
Definition: dmatm3.f:21
#define F77_CMPLX
Definition: f77-fcn.h:334
subroutine xsdot(n, dx, incx, dy, incy, retval)
Definition: xsdot.f:1
subroutine zmatm3(m, n, k, np, a, b, c)
Definition: zmatm3.f:21
#define F77_INT
Definition: f77-fcn.h:335
subroutine sdot3(m, n, k, a, b, c)
Definition: sdot3.f:21
F77_RET_T const F77_DBLE const F77_INT const F77_DBLE const F77_INT F77_DBLE &F77_RET_T const F77_REAL const F77_INT const F77_REAL const F77_INT F77_REAL &F77_RET_T const F77_INT const F77_INT const F77_DBLE const F77_DBLE F77_DBLE *F77_RET_T const F77_INT const F77_INT const F77_REAL const F77_REAL F77_REAL *F77_RET_T const F77_CMPLX const F77_INT const F77_CMPLX const F77_INT F77_CMPLX *F77_RET_T const F77_DBLE_CMPLX const F77_INT const F77_DBLE_CMPLX const F77_INT F77_DBLE_CMPLX *F77_RET_T const F77_INT const F77_INT const F77_CMPLX const F77_CMPLX F77_CMPLX *F77_RET_T const F77_INT const F77_INT const F77_DBLE_CMPLX const F77_DBLE_CMPLX F77_DBLE_CMPLX *F77_RET_T const F77_CMPLX const F77_INT const F77_CMPLX const F77_INT F77_CMPLX *F77_RET_T const F77_DBLE_CMPLX const F77_INT const F77_DBLE_CMPLX const F77_INT F77_DBLE_CMPLX *F77_RET_T F77_CONST_CHAR_ARG_DECL
Definition: lo-blas-proto.h:96
subroutine xzdotc(n, zx, incx, zy, incy, retval)
Definition: xzdotc.f:1
subroutine xcdotc(n, zx, incx, zy, incy, retval)
Definition: xcdotc.f:1
#define F77_DBLE_CMPLX
Definition: f77-fcn.h:333
subroutine ddot3(m, n, k, a, b, c)
Definition: ddot3.f:21
subroutine xcdotu(n, zx, incx, zy, incy, retval)
Definition: xcdotu.f:1
#define F77_DBLE
Definition: f77-fcn.h:331
subroutine zdotc3(m, n, k, a, b, c)
Definition: zdotc3.f:21