GNU Octave  8.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
lo-qrupdate-proto.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 //
3 // Copyright (C) 2016-2023 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_qrupdate_proto_h)
27 #define octave_lo_qrupdate_proto_h 1
28 
29 #include "octave-config.h"
30 
31 #include "f77-fcn.h"
32 
33 extern "C"
34 {
35 
36 #if defined (HAVE_QRUPDATE)
37 
38  // CH1DN
39 
40  F77_RET_T
41  F77_FUNC (cch1dn, CCH1DN) (const F77_INT&, F77_CMPLX *,
42  const F77_INT&, F77_CMPLX *,
43  F77_REAL *, F77_INT&);
44 
45  F77_RET_T
46  F77_FUNC (dch1dn, DCH1DN) (const F77_INT&, F77_DBLE *,
47  const F77_INT&, F77_DBLE *,
48  F77_DBLE *, F77_INT&);
49 
50  F77_RET_T
51  F77_FUNC (sch1dn, SCH1DN) (const F77_INT&, F77_REAL *,
52  const F77_INT&, F77_REAL *,
53  F77_REAL *, F77_INT&);
54 
55  F77_RET_T
56  F77_FUNC (zch1dn, ZCH1DN) (const F77_INT&, F77_DBLE_CMPLX *,
57  const F77_INT&, F77_DBLE_CMPLX *,
58  F77_DBLE *, F77_INT&);
59 
60  // CH1UP
61 
62  F77_RET_T
63  F77_FUNC (cch1up, CCH1UP) (const F77_INT&, F77_CMPLX *,
64  const F77_INT&, F77_CMPLX *, F77_REAL *);
65 
66  F77_RET_T
67  F77_FUNC (dch1up, DCH1UP) (const F77_INT&, F77_DBLE *,
68  const F77_INT&, F77_DBLE *, F77_DBLE *);
69 
70  F77_RET_T
71  F77_FUNC (sch1up, SCH1UP) (const F77_INT&, F77_REAL *,
72  const F77_INT&, F77_REAL *, F77_REAL *);
73 
74  F77_RET_T
75  F77_FUNC (zch1up, ZCH1UP) (const F77_INT&, F77_DBLE_CMPLX *,
76  const F77_INT&, F77_DBLE_CMPLX *, F77_DBLE *);
77 
78  // CHDEX
79 
80  F77_RET_T
81  F77_FUNC (dchdex, DCHDEX) (const F77_INT&, F77_DBLE *,
82  const F77_INT&, const F77_INT&,
83  F77_DBLE *);
84 
85  F77_RET_T
86  F77_FUNC (schdex, SCHDEX) (const F77_INT&, F77_REAL *,
87  const F77_INT&, const F77_INT&,
88  F77_REAL *);
89 
90  F77_RET_T
91  F77_FUNC (cchdex, CCHDEX) (const F77_INT&, F77_CMPLX *,
92  const F77_INT&, const F77_INT&,
93  F77_REAL *);
94 
95  F77_RET_T
96  F77_FUNC (zchdex, ZCHDEX) (const F77_INT&, F77_DBLE_CMPLX *,
97  const F77_INT&, const F77_INT&,
98  F77_DBLE *);
99 
100  // CHINX
101 
102  F77_RET_T
103  F77_FUNC (cchinx, CCHINX) (const F77_INT&, F77_CMPLX *,
104  const F77_INT&, const F77_INT&,
105  F77_CMPLX *, F77_REAL *, F77_INT&);
106 
107  F77_RET_T
108  F77_FUNC (dchinx, DCHINX) (const F77_INT&, F77_DBLE *,
109  const F77_INT&, const F77_INT&,
110  F77_DBLE *, F77_DBLE *, F77_INT&);
111 
112  F77_RET_T
113  F77_FUNC (schinx, SCHINX) (const F77_INT&, F77_REAL *,
114  const F77_INT&, const F77_INT&,
115  F77_REAL *, F77_REAL *, F77_INT&);
116 
117  F77_RET_T
118  F77_FUNC (zchinx, ZCHINX) (const F77_INT&, F77_DBLE_CMPLX *,
119  const F77_INT&, const F77_INT&,
121 
122  // CHSHX
123 
124  F77_RET_T
125  F77_FUNC (cchshx, CCHSHX) (const F77_INT&, F77_CMPLX *,
126  const F77_INT&, const F77_INT&,
127  const F77_INT&, F77_CMPLX *, F77_REAL *);
128 
129  F77_RET_T
130  F77_FUNC (dchshx, DCHSHX) (const F77_INT&, F77_DBLE *,
131  const F77_INT&, const F77_INT&,
132  const F77_INT&, F77_DBLE *);
133 
134  F77_RET_T
135  F77_FUNC (schshx, SCHSHX) (const F77_INT&, F77_REAL *,
136  const F77_INT&, const F77_INT&,
137  const F77_INT&, F77_REAL *);
138 
139  F77_RET_T
140  F77_FUNC (zchshx, ZCHSHX) (const F77_INT&, F77_DBLE_CMPLX *,
141  const F77_INT&, const F77_INT&,
142  const F77_INT&, F77_DBLE_CMPLX *, F77_DBLE *);
143 
144  // QR1UP
145 
146  F77_RET_T
147  F77_FUNC (cqr1up, CQR1UP) (const F77_INT&, const F77_INT&,
148  const F77_INT&, F77_CMPLX *,
149  const F77_INT&, F77_CMPLX *,
150  const F77_INT&, F77_CMPLX *,
151  F77_CMPLX *, F77_CMPLX *, F77_REAL *);
152 
153  F77_RET_T
154  F77_FUNC (dqr1up, DQR1UP) (const F77_INT&, const F77_INT&,
155  const F77_INT&, F77_DBLE *,
156  const F77_INT&, F77_DBLE *,
157  const F77_INT&, F77_DBLE *, F77_DBLE *, F77_DBLE *);
158 
159  F77_RET_T
160  F77_FUNC (sqr1up, SQR1UP) (const F77_INT&, const F77_INT&,
161  const F77_INT&, F77_REAL *,
162  const F77_INT&, F77_REAL *,
163  const F77_INT&, F77_REAL *, F77_REAL *, F77_REAL *);
164 
165  F77_RET_T
166  F77_FUNC (zqr1up, ZQR1UP) (const F77_INT&, const F77_INT&,
167  const F77_INT&, F77_DBLE_CMPLX *,
168  const F77_INT&, F77_DBLE_CMPLX *,
169  const F77_INT&, F77_DBLE_CMPLX *,
171 
172  // QRDEC
173 
174  F77_RET_T
175  F77_FUNC (cqrdec, CQRDEC) (const F77_INT&, const F77_INT&,
176  const F77_INT&, F77_CMPLX *,
177  const F77_INT&, F77_CMPLX *,
178  const F77_INT&, const F77_INT&,
179  F77_REAL *);
180 
181  F77_RET_T
182  F77_FUNC (dqrdec, DQRDEC) (const F77_INT&, const F77_INT&,
183  const F77_INT&, F77_DBLE *,
184  const F77_INT&, F77_DBLE *,
185  const F77_INT&, const F77_INT&,
186  F77_DBLE *);
187 
188  F77_RET_T
189  F77_FUNC (sqrdec, SQRDEC) (const F77_INT&, const F77_INT&,
190  const F77_INT&, F77_REAL *,
191  const F77_INT&, F77_REAL *,
192  const F77_INT&, const F77_INT&,
193  F77_REAL *);
194 
195  F77_RET_T
196  F77_FUNC (zqrdec, ZQRDEC) (const F77_INT&, const F77_INT&,
197  const F77_INT&, F77_DBLE_CMPLX *,
198  const F77_INT&, F77_DBLE_CMPLX *,
199  const F77_INT&, const F77_INT&,
200  F77_DBLE *);
201 
202  // QRDER
203 
204  F77_RET_T
205  F77_FUNC (cqrder, CQRDER) (const F77_INT&, const F77_INT&,
206  F77_CMPLX *, const F77_INT&,
207  F77_CMPLX *, const F77_INT&,
208  const F77_INT&, F77_CMPLX *, F77_REAL *);
209 
210  F77_RET_T
211  F77_FUNC (dqrder, DQRDER) (const F77_INT&, const F77_INT&,
212  F77_DBLE *, const F77_INT&,
213  F77_DBLE *, const F77_INT&,
214  const F77_INT&, F77_DBLE *);
215 
216  F77_RET_T
217  F77_FUNC (sqrder, SQRDER) (const F77_INT&, const F77_INT&,
218  F77_REAL *, const F77_INT&,
219  F77_REAL *, const F77_INT&,
220  const F77_INT&, F77_REAL *);
221 
222  F77_RET_T
223  F77_FUNC (zqrder, ZQRDER) (const F77_INT&, const F77_INT&,
224  F77_DBLE_CMPLX *, const F77_INT&,
225  F77_DBLE_CMPLX *, const F77_INT&,
226  const F77_INT&, F77_DBLE_CMPLX *, F77_DBLE *);
227 
228  // QRINC
229 
230  F77_RET_T
231  F77_FUNC (cqrinc, CQRINC) (const F77_INT&, const F77_INT&,
232  const F77_INT&, F77_CMPLX *,
233  const F77_INT&, F77_CMPLX *,
234  const F77_INT&, const F77_INT&,
235  const F77_CMPLX *, F77_REAL *);
236 
237  F77_RET_T
238  F77_FUNC (dqrinc, DQRINC) (const F77_INT&, const F77_INT&,
239  const F77_INT&, F77_DBLE *,
240  const F77_INT&, F77_DBLE *,
241  const F77_INT&, const F77_INT&,
242  const F77_DBLE *, F77_DBLE *);
243 
244  F77_RET_T
245  F77_FUNC (sqrinc, SQRINC) (const F77_INT&, const F77_INT&,
246  const F77_INT&, F77_REAL *,
247  const F77_INT&, F77_REAL *,
248  const F77_INT&, const F77_INT&,
249  const F77_REAL *, F77_REAL *);
250 
251  F77_RET_T
252  F77_FUNC (zqrinc, ZQRINC) (const F77_INT&, const F77_INT&,
253  const F77_INT&, F77_DBLE_CMPLX *,
254  const F77_INT&, F77_DBLE_CMPLX *,
255  const F77_INT&, const F77_INT&,
256  const F77_DBLE_CMPLX *, F77_DBLE *);
257 
258  // QRINR
259 
260  F77_RET_T
261  F77_FUNC (cqrinr, CQRINR) (const F77_INT&, const F77_INT&,
262  F77_CMPLX *, const F77_INT&,
263  F77_CMPLX *, const F77_INT&,
264  const F77_INT&, const F77_CMPLX *,
265  F77_REAL *);
266 
267  F77_RET_T
268  F77_FUNC (dqrinr, DQRINR) (const F77_INT&, const F77_INT&,
269  F77_DBLE *, const F77_INT&,
270  F77_DBLE *, const F77_INT&,
271  const F77_INT&, const F77_DBLE *,
272  F77_DBLE *);
273 
274  F77_RET_T
275  F77_FUNC (sqrinr, SQRINR) (const F77_INT&, const F77_INT&,
276  F77_REAL *, const F77_INT&,
277  F77_REAL *, const F77_INT&,
278  const F77_INT&, const F77_REAL *,
279  F77_REAL *);
280 
281  F77_RET_T
282  F77_FUNC (zqrinr, ZQRINR) (const F77_INT&, const F77_INT&,
283  F77_DBLE_CMPLX *, const F77_INT&,
284  F77_DBLE_CMPLX *, const F77_INT&,
285  const F77_INT&, const F77_DBLE_CMPLX *,
286  F77_DBLE *);
287 
288  // QRSHC
289 
290  F77_RET_T
291  F77_FUNC (cqrshc, CQRSHC) (const F77_INT&, const F77_INT&,
292  const F77_INT&, F77_CMPLX *,
293  const F77_INT&, F77_CMPLX *,
294  const F77_INT&, const F77_INT&,
295  const F77_INT&,
296  F77_CMPLX *, F77_REAL *);
297  F77_RET_T
298  F77_FUNC (dqrshc, DQRSHC) (const F77_INT&, const F77_INT&,
299  const F77_INT&, F77_DBLE *,
300  const F77_INT&, F77_DBLE *,
301  const F77_INT&, const F77_INT&,
302  const F77_INT&,
303  F77_DBLE *);
304 
305  F77_RET_T
306  F77_FUNC (sqrshc, SQRSHC) (const F77_INT&, const F77_INT&,
307  const F77_INT&, F77_REAL *,
308  const F77_INT&, F77_REAL *,
309  const F77_INT&, const F77_INT&,
310  const F77_INT&,
311  F77_REAL *);
312 
313  F77_RET_T
314  F77_FUNC (zqrshc, ZQRSHC) (const F77_INT&, const F77_INT&,
315  const F77_INT&, F77_DBLE_CMPLX *,
316  const F77_INT&, F77_DBLE_CMPLX *,
317  const F77_INT&, const F77_INT&,
318  const F77_INT&,
319  F77_DBLE_CMPLX *, F77_DBLE *);
320 
321 #endif
322 
323 #if defined (HAVE_QRUPDATE_LUU)
324 
325  // LU1UP
326 
327  F77_RET_T
328  F77_FUNC (clu1up, CLU1UP) (const F77_INT&, const F77_INT&,
329  F77_CMPLX *, const F77_INT&,
330  F77_CMPLX *, const F77_INT&,
331  F77_CMPLX *, F77_CMPLX *);
332 
333  F77_RET_T
334  F77_FUNC (dlu1up, DLU1UP) (const F77_INT&, const F77_INT&,
335  F77_DBLE *, const F77_INT&,
336  F77_DBLE *, const F77_INT&,
337  F77_DBLE *, F77_DBLE *);
338 
339  F77_RET_T
340  F77_FUNC (slu1up, SLU1UP) (const F77_INT&, const F77_INT&,
341  F77_REAL *, const F77_INT&,
342  F77_REAL *, const F77_INT&,
343  F77_REAL *, F77_REAL *);
344 
345  F77_RET_T
346  F77_FUNC (zlu1up, ZLU1UP) (const F77_INT&, const F77_INT&,
347  F77_DBLE_CMPLX *, const F77_INT&,
348  F77_DBLE_CMPLX *, const F77_INT&,
350 
351  // LUP1UP
352 
353  F77_RET_T
354  F77_FUNC (clup1up, CLUP1UP) (const F77_INT&, const F77_INT&,
355  F77_CMPLX *, const F77_INT&,
356  F77_CMPLX *, const F77_INT&,
357  F77_INT *, const F77_CMPLX *,
358  const F77_CMPLX *, F77_CMPLX *);
359  F77_RET_T
360  F77_FUNC (dlup1up, DLUP1UP) (const F77_INT&, const F77_INT&,
361  F77_DBLE *, const F77_INT&,
362  F77_DBLE *, const F77_INT&,
363  F77_INT *, const F77_DBLE *,
364  const F77_DBLE *, F77_DBLE *);
365 
366  F77_RET_T
367  F77_FUNC (slup1up, SLUP1UP) (const F77_INT&, const F77_INT&,
368  F77_REAL *, const F77_INT&,
369  F77_REAL *, const F77_INT&,
370  F77_INT *, const F77_REAL *,
371  const F77_REAL *, F77_REAL *);
372 
373  F77_RET_T
374  F77_FUNC (zlup1up, ZLUP1UP) (const F77_INT&, const F77_INT&,
375  F77_DBLE_CMPLX *, const F77_INT&,
376  F77_DBLE_CMPLX *, const F77_INT&,
377  F77_INT *, const F77_DBLE_CMPLX *,
378  const F77_DBLE_CMPLX *, F77_DBLE_CMPLX *);
379 
380 #endif
381 
382 }
383 
384 #endif
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_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)
F77_RET_T F77_FUNC(cch1dn, CCH1DN)(const F77_INT &