GNU Octave 10.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 
Loading...
Searching...
No Matches
lo-blas-proto.h
Go to the documentation of this file.
1////////////////////////////////////////////////////////////////////////
2//
3// Copyright (C) 2016-2025 The Octave Project Developers
4//
5// See the file COPYRIGHT.md in the top-level directory of this
6// distribution or <https://octave.org/copyright/>.
7//
8// This file is part of Octave.
9//
10// Octave is free software: you can redistribute it and/or modify it
11// under the terms of the GNU General Public License as published by
12// the Free Software Foundation, either version 3 of the License, or
13// (at your option) any later version.
14//
15// Octave is distributed in the hope that it will be useful, but
16// WITHOUT ANY WARRANTY; without even the implied warranty of
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18// GNU General Public License for more details.
19//
20// You should have received a copy of the GNU General Public License
21// along with Octave; see the file COPYING. If not, see
22// <https://www.gnu.org/licenses/>.
23//
24////////////////////////////////////////////////////////////////////////
25
26#if ! defined (octave_lo_blas_proto_h)
27#define octave_lo_blas_proto_h 1
28
29#include "octave-config.h"
30
31#include "f77-fcn.h"
32
33extern "C"
34{
35 // DOT (liboctave/external/blas-xtra)
36
38 F77_FUNC (xddot, XDDOT) (const F77_INT&, const F77_DBLE *,
39 const F77_INT&, const F77_DBLE *,
40 const F77_INT&, F77_DBLE&);
41
43 F77_FUNC (xsdot, XSDOT) (const F77_INT&, const F77_REAL *,
44 const F77_INT&, const F77_REAL *,
45 const F77_INT&, F77_REAL&);
46
47 // DOT3
48
50 F77_FUNC (ddot3, DDOT3) (const F77_INT&, const F77_INT&,
51 const F77_INT&, const F77_DBLE *,
52 const F77_DBLE *, F77_DBLE *);
53
55 F77_FUNC (sdot3, SDOT3) (const F77_INT&, const F77_INT&,
56 const F77_INT&, const F77_REAL *,
57 const F77_REAL *, F77_REAL *);
58
59 // DOTC (liboctave/external/blas-xtra)
60
62 F77_FUNC (xcdotc, XCDOTC) (const F77_INT&, const F77_CMPLX *,
63 const F77_INT&, const F77_CMPLX *,
64 const F77_INT&, F77_CMPLX *);
65
67 F77_FUNC (xzdotc, XZDOTC) (const F77_INT&, const F77_DBLE_CMPLX *,
68 const F77_INT&, const F77_DBLE_CMPLX *,
69 const F77_INT&, F77_DBLE_CMPLX *);
70
71 // DOTC3
72
74 F77_FUNC (cdotc3, CDOTC3) (const F77_INT&, const F77_INT&,
75 const F77_INT&, const F77_CMPLX *,
76 const F77_CMPLX *, F77_CMPLX *);
77
79 F77_FUNC (zdotc3, ZDOTC3) (const F77_INT&, const F77_INT&,
80 const F77_INT&, const F77_DBLE_CMPLX *,
82
83 // DOTU (liboctave/external/blas-xtra)
84
86 F77_FUNC (xcdotu, XCDOTU) (const F77_INT&, const F77_CMPLX *,
87 const F77_INT&, const F77_CMPLX *,
88 const F77_INT&, F77_CMPLX *);
89
91 F77_FUNC (xzdotu, XZDOTU) (const F77_INT&, const F77_DBLE_CMPLX *,
92 const F77_INT&, const F77_DBLE_CMPLX *,
93 const F77_INT&, F77_DBLE_CMPLX *);
94
95 // GEMM
96
100 const F77_INT&, const F77_INT&,
101 const F77_INT&, const F77_CMPLX&,
102 const F77_CMPLX *, const F77_INT&,
103 const F77_CMPLX *, const F77_INT&,
104 const F77_CMPLX&, F77_CMPLX *,
105 const F77_INT&
108
112 const F77_INT&, const F77_INT&,
113 const F77_INT&, const F77_DBLE&,
114 const F77_DBLE *, const F77_INT&,
115 const F77_DBLE *, const F77_INT&,
116 const F77_DBLE&, F77_DBLE *,
117 const F77_INT&
120
124 const F77_INT&, const F77_INT&,
125 const F77_INT&, const F77_REAL&,
126 const F77_REAL *, const F77_INT&,
127 const F77_REAL *, const F77_INT&,
128 const F77_REAL&, F77_REAL *,
129 const F77_INT&
132
136 const F77_INT&, const F77_INT&,
137 const F77_INT&, const F77_DBLE_CMPLX&,
138 const F77_DBLE_CMPLX *, const F77_INT&,
139 const F77_DBLE_CMPLX *, const F77_INT&,
141 const F77_INT&
144
145 // GEMV
146
149 const F77_INT&, const F77_INT&,
150 const F77_CMPLX&, const F77_CMPLX *,
151 const F77_INT&, const F77_CMPLX *,
152 const F77_INT&, const F77_CMPLX&,
153 F77_CMPLX *, const F77_INT&
155
158 const F77_INT&, const F77_INT&,
159 const F77_DBLE&, const F77_DBLE *,
160 const F77_INT&, const F77_DBLE *,
161 const F77_INT&, const F77_DBLE&,
162 F77_DBLE *, const F77_INT&
164
167 const F77_INT&, const F77_INT&,
168 const F77_REAL&, const F77_REAL *,
169 const F77_INT&, const F77_REAL *,
170 const F77_INT&, const F77_REAL&,
171 F77_REAL *, const F77_INT&
173
176 const F77_INT&, const F77_INT&,
177 const F77_DBLE_CMPLX&, const F77_DBLE_CMPLX *,
178 const F77_INT&, const F77_DBLE_CMPLX *,
179 const F77_INT&, const F77_DBLE_CMPLX&,
180 F77_DBLE_CMPLX *, const F77_INT&
182
183 // MATM3
184
186 F77_FUNC (cmatm3, CMATM3) (const F77_INT&, const F77_INT&,
187 const F77_INT&, const F77_INT&,
188 const F77_CMPLX *, const F77_CMPLX *,
189 F77_CMPLX *);
191 F77_FUNC (dmatm3, DMATM3) (const F77_INT&, const F77_INT&,
192 const F77_INT&, const F77_INT&,
193 const F77_DBLE *, const F77_DBLE *, F77_DBLE *);
194
196 F77_FUNC (smatm3, SMATM3) (const F77_INT&, const F77_INT&,
197 const F77_INT&, const F77_INT&,
198 const F77_REAL *, const F77_REAL *, F77_REAL *);
199
201 F77_FUNC (zmatm3, ZMATM3) (const F77_INT&, const F77_INT&,
202 const F77_INT&, const F77_INT&,
203 const F77_DBLE_CMPLX *, const F77_DBLE_CMPLX *,
205
206 // XERBLA
207
210 F77_FUNC (xerbla, XERBLA) (F77_CONST_CHAR_ARG_DECL, const F77_INT&
212}
213
214#endif
subroutine cdotc3(m, n, k, a, b, c)
Definition cdotc3.f:23
subroutine cmatm3(m, n, k, np, a, b, c)
Definition cmatm3.f:21
subroutine ddot3(m, n, k, a, b, c)
Definition ddot3.f:23
subroutine dmatm3(m, n, k, np, a, b, c)
Definition dmatm3.f:23
float F77_REAL
Definition f77-fcn.h:303
double F77_DBLE
Definition f77-fcn.h:302
double _Complex F77_DBLE_CMPLX
Definition f77-fcn.h:304
octave_f77_int_type F77_INT
Definition f77-fcn.h:306
float _Complex F77_CMPLX
Definition f77-fcn.h:305
F77_RET_T F77_FUNC(xddot, XDDOT)(const F77_INT &
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
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
F77_RET_T(F77_CONST_CHAR_ARG_DECL, F77_CONST_CHAR_ARG_DECL, F77_CONST_CHAR_ARG_DECL, const F77_INT &, const F77_INT &, const F77_INT &, F77_INT &, F77_INT &, F77_DBLE *, const F77_INT &, F77_DBLE *, const F77_INT &, F77_DBLE *, F77_DBLE *, F77_DBLE *, const F77_INT &, F77_DBLE *, const F77_INT &, F77_DBLE *, const F77_INT &, F77_DBLE *, F77_INT *, F77_INT &F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL)
#define OCTAVE_API
Definition main.in.cc:55
subroutine sdot3(m, n, k, a, b, c)
Definition sdot3.f:23
subroutine smatm3(m, n, k, np, a, b, c)
Definition smatm3.f:23
subroutine xcdotc(n, zx, incx, zy, incy, retval)
Definition xcdotc.f:2
subroutine xcdotu(n, zx, incx, zy, incy, retval)
Definition xcdotu.f:2
subroutine xddot(n, dx, incx, dy, incy, retval)
Definition xddot.f:2
subroutine xsdot(n, dx, incx, dy, incy, retval)
Definition xsdot.f:2
subroutine xzdotc(n, zx, incx, zy, incy, retval)
Definition xzdotc.f:2
subroutine xzdotu(n, zx, incx, zy, incy, retval)
Definition xzdotu.f:2
subroutine zdotc3(m, n, k, a, b, c)
Definition zdotc3.f:23
subroutine zmatm3(m, n, k, np, a, b, c)
Definition zmatm3.f:23