annotate liboctave/numeric/SparseCmplxQR.h @ 20685:7fa1970a655d

pkg.m: drop check of nargout value, the interpreter already does that. * scripts/pkg/pkg.m: the interpreter already checks if there was any variable that got no value assigned, there's no need to make the code more complicated to cover that. Also, there's no point in calling describe() with different nargout since it doesn't check nargout.
author Carnë Draug <carandraug@octave.org>
date Thu, 03 Sep 2015 16:21:08 +0100
parents 4197fc428c7d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
1 /*
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
2
19898
4197fc428c7d maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents: 17822
diff changeset
3 Copyright (C) 2005-2015 David Bateman
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
4
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6108
diff changeset
5 This file is part of Octave.
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6108
diff changeset
6
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
7 Octave is free software; you can redistribute it and/or modify it
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
8 under the terms of the GNU General Public License as published by the
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6108
diff changeset
9 Free Software Foundation; either version 3 of the License, or (at your
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6108
diff changeset
10 option) any later version.
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
11
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
12 Octave is distributed in the hope that it will be useful, but WITHOUT
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
15 for more details.
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
16
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6108
diff changeset
18 along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6108
diff changeset
19 <http://www.gnu.org/licenses/>.
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
20
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
21 */
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
22
17822
ebb3ef964372 maint: Use common #define syntax "octave_filename_h" in h_files.
Rik <rik@octave.org>
parents: 17769
diff changeset
23 #if !defined (octave_SparseCmplxQR_h)
ebb3ef964372 maint: Use common #define syntax "octave_filename_h" in h_files.
Rik <rik@octave.org>
parents: 17769
diff changeset
24 #define octave_SparseCmplxQR_h 1
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
25
8950
d865363208d6 include <iosfwd> instead of <iostream> in header files
John W. Eaton <jwe@octave.org>
parents: 8920
diff changeset
26 #include <iosfwd>
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
27
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
28 #include "dMatrix.h"
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
29 #include "CMatrix.h"
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
30 #include "dSparse.h"
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
31 #include "CSparse.h"
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
32 #include "oct-sparse.h"
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
33
16313
6aafe87a3144 use int64_t for idx type if --enable-64
John W. Eaton <jwe@octave.org>
parents: 15271
diff changeset
34 #ifdef USE_64_BIT_IDX_T
5648
69a4f320d95a [project @ 2006-03-08 20:17:37 by dbateman]
dbateman
parents: 5610
diff changeset
35 #define CXSPARSE_ZNAME(name) cs_cl ## name
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
36 #else
5648
69a4f320d95a [project @ 2006-03-08 20:17:37 by dbateman]
dbateman
parents: 5610
diff changeset
37 #define CXSPARSE_ZNAME(name) cs_ci ## name
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
38 #endif
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
39
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
40 class
6108
143b556ce725 [project @ 2006-10-27 01:45:54 by jwe]
jwe
parents: 5792
diff changeset
41 OCTAVE_API
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
42 SparseComplexQR
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
43 {
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
44 protected:
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
45 class SparseComplexQR_rep
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
46 {
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
47 public:
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
48 SparseComplexQR_rep (const SparseComplexMatrix& a, int order);
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
49
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
50 ~SparseComplexQR_rep (void);
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
51 #ifdef HAVE_CXSPARSE
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
52 bool ok (void) const { return (N && S); }
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
53 #else
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
54 bool ok (void) const { return false; }
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
55 #endif
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
56 SparseComplexMatrix V (void) const;
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
57
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
58 ColumnVector Pinv (void) const;
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
59
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
60 ColumnVector P (void) const;
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
61
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
62 SparseComplexMatrix R (const bool econ) const;
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
63
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
64 ComplexMatrix C (const ComplexMatrix &b) const;
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
65
7505
f5005d9510f4 Remove dispatched sparse functions and treat in the generic versions of the functions
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
66 ComplexMatrix Q (void) const;
f5005d9510f4 Remove dispatched sparse functions and treat in the generic versions of the functions
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
67
12125
a21a3875ca83 implement a common class for reference counts
Jaroslav Hajek <highegg@gmail.com>
parents: 12122
diff changeset
68 octave_refcount<int> count;
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
69
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
70 octave_idx_type nrows;
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
71 #ifdef HAVE_CXSPARSE
5648
69a4f320d95a [project @ 2006-03-08 20:17:37 by dbateman]
dbateman
parents: 5610
diff changeset
72 CXSPARSE_ZNAME (s) *S;
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
73
5648
69a4f320d95a [project @ 2006-03-08 20:17:37 by dbateman]
dbateman
parents: 5610
diff changeset
74 CXSPARSE_ZNAME (n) *N;
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
75 #endif
12122
f4689107dd8c Explicitly disallow copying in some classes.
Pascal Dupuis <Pascal.Dupuis@uclouvain.be>
parents: 11586
diff changeset
76 private:
f4689107dd8c Explicitly disallow copying in some classes.
Pascal Dupuis <Pascal.Dupuis@uclouvain.be>
parents: 11586
diff changeset
77
f4689107dd8c Explicitly disallow copying in some classes.
Pascal Dupuis <Pascal.Dupuis@uclouvain.be>
parents: 11586
diff changeset
78 // No copying!
f4689107dd8c Explicitly disallow copying in some classes.
Pascal Dupuis <Pascal.Dupuis@uclouvain.be>
parents: 11586
diff changeset
79
f4689107dd8c Explicitly disallow copying in some classes.
Pascal Dupuis <Pascal.Dupuis@uclouvain.be>
parents: 11586
diff changeset
80 SparseComplexQR_rep (const SparseComplexQR_rep&);
f4689107dd8c Explicitly disallow copying in some classes.
Pascal Dupuis <Pascal.Dupuis@uclouvain.be>
parents: 11586
diff changeset
81
f4689107dd8c Explicitly disallow copying in some classes.
Pascal Dupuis <Pascal.Dupuis@uclouvain.be>
parents: 11586
diff changeset
82 SparseComplexQR_rep operator = (const SparseComplexQR_rep&);
f4689107dd8c Explicitly disallow copying in some classes.
Pascal Dupuis <Pascal.Dupuis@uclouvain.be>
parents: 11586
diff changeset
83
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
84 };
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
85 private:
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
86 SparseComplexQR_rep *rep;
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
87
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
88 public:
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
89 SparseComplexQR (void) :
14846
460a3c6d8bf1 maint: Use Octave coding convention for cuddled parenthis in function calls with empty argument lists.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
90 rep (new SparseComplexQR_rep (SparseComplexMatrix (), 0)) { }
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
91
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
92 SparseComplexQR (const SparseComplexMatrix& a, int order = 0) :
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
93 rep (new SparseComplexQR_rep (a, order)) { }
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
94
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
95 SparseComplexQR (const SparseComplexQR& a) : rep (a.rep) { rep->count++; }
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
96
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
97 ~SparseComplexQR (void)
17769
49a5a4be04a1 maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents: 17744
diff changeset
98 {
49a5a4be04a1 maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents: 17744
diff changeset
99 if (--rep->count == 0)
49a5a4be04a1 maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents: 17744
diff changeset
100 delete rep;
49a5a4be04a1 maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents: 17744
diff changeset
101 }
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
102
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
103 SparseComplexQR& operator = (const SparseComplexQR& a)
17769
49a5a4be04a1 maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents: 17744
diff changeset
104 {
49a5a4be04a1 maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents: 17744
diff changeset
105 if (this != &a)
49a5a4be04a1 maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents: 17744
diff changeset
106 {
49a5a4be04a1 maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents: 17744
diff changeset
107 if (--rep->count == 0)
49a5a4be04a1 maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents: 17744
diff changeset
108 delete rep;
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
109
17769
49a5a4be04a1 maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents: 17744
diff changeset
110 rep = a.rep;
49a5a4be04a1 maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents: 17744
diff changeset
111 rep->count++;
49a5a4be04a1 maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents: 17744
diff changeset
112 }
49a5a4be04a1 maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents: 17744
diff changeset
113 return *this;
49a5a4be04a1 maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents: 17744
diff changeset
114 }
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
115
14846
460a3c6d8bf1 maint: Use Octave coding convention for cuddled parenthis in function calls with empty argument lists.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
116 bool ok (void) const { return rep->ok (); }
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
117
14846
460a3c6d8bf1 maint: Use Octave coding convention for cuddled parenthis in function calls with empty argument lists.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
118 SparseComplexMatrix V (void) const { return rep->V (); }
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
119
14846
460a3c6d8bf1 maint: Use Octave coding convention for cuddled parenthis in function calls with empty argument lists.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
120 ColumnVector Pinv (void) const { return rep->P (); }
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
121
14846
460a3c6d8bf1 maint: Use Octave coding convention for cuddled parenthis in function calls with empty argument lists.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
122 ColumnVector P (void) const { return rep->P (); }
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
123
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
124 SparseComplexMatrix R (const bool econ = false) const
17769
49a5a4be04a1 maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents: 17744
diff changeset
125 { return rep->R(econ); }
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
126
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
127 ComplexMatrix C (const ComplexMatrix &b) const { return rep->C(b); }
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
128
14846
460a3c6d8bf1 maint: Use Octave coding convention for cuddled parenthis in function calls with empty argument lists.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
129 ComplexMatrix Q (void) const { return rep->Q (); }
7505
f5005d9510f4 Remove dispatched sparse functions and treat in the generic versions of the functions
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
130
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
131 friend ComplexMatrix qrsolve (const SparseComplexMatrix &a, const Matrix &b,
10312
cbc402e64d83 untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents: 10158
diff changeset
132 octave_idx_type &info);
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
133
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
134 friend SparseComplexMatrix qrsolve (const SparseComplexMatrix &a,
10312
cbc402e64d83 untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents: 10158
diff changeset
135 const SparseMatrix &b,
cbc402e64d83 untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents: 10158
diff changeset
136 octave_idx_type &info);
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
137
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
138 friend ComplexMatrix qrsolve (const SparseComplexMatrix &a,
10312
cbc402e64d83 untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents: 10158
diff changeset
139 const ComplexMatrix &b,
cbc402e64d83 untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents: 10158
diff changeset
140 octave_idx_type &info);
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
141
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
142 friend SparseComplexMatrix qrsolve (const SparseComplexMatrix &a,
10312
cbc402e64d83 untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents: 10158
diff changeset
143 const SparseComplexMatrix &b,
cbc402e64d83 untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents: 10158
diff changeset
144 octave_idx_type &info);
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
145
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
146 protected:
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
147 #ifdef HAVE_CXSPARSE
5648
69a4f320d95a [project @ 2006-03-08 20:17:37 by dbateman]
dbateman
parents: 5610
diff changeset
148 CXSPARSE_ZNAME (s) * S (void) { return rep->S; }
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
149
5648
69a4f320d95a [project @ 2006-03-08 20:17:37 by dbateman]
dbateman
parents: 5610
diff changeset
150 CXSPARSE_ZNAME (n) * N (void) { return rep->N; }
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
151 #endif
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
152 };
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
153
5713
6cb607fcf41c [project @ 2006-03-23 18:22:51 by dbateman]
dbateman
parents: 5648
diff changeset
154
6cb607fcf41c [project @ 2006-03-23 18:22:51 by dbateman]
dbateman
parents: 5648
diff changeset
155 // Publish externally used friend functions.
6cb607fcf41c [project @ 2006-03-23 18:22:51 by dbateman]
dbateman
parents: 5648
diff changeset
156
6cb607fcf41c [project @ 2006-03-23 18:22:51 by dbateman]
dbateman
parents: 5648
diff changeset
157 extern ComplexMatrix qrsolve (const SparseComplexMatrix &a, const Matrix &b,
10312
cbc402e64d83 untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents: 10158
diff changeset
158 octave_idx_type &info);
5713
6cb607fcf41c [project @ 2006-03-23 18:22:51 by dbateman]
dbateman
parents: 5648
diff changeset
159
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
160 extern ComplexMatrix qrsolve (const SparseComplexMatrix &a,
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
161 const MArray<double> &b,
10312
cbc402e64d83 untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents: 10158
diff changeset
162 octave_idx_type &info);
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7505
diff changeset
163
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
164 extern SparseComplexMatrix qrsolve (const SparseComplexMatrix &a,
10312
cbc402e64d83 untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents: 10158
diff changeset
165 const SparseMatrix &b,
cbc402e64d83 untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents: 10158
diff changeset
166 octave_idx_type &info);
5713
6cb607fcf41c [project @ 2006-03-23 18:22:51 by dbateman]
dbateman
parents: 5648
diff changeset
167
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
168 extern ComplexMatrix qrsolve (const SparseComplexMatrix &a,
10312
cbc402e64d83 untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents: 10158
diff changeset
169 const ComplexMatrix &b,
cbc402e64d83 untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents: 10158
diff changeset
170 octave_idx_type &info);
5713
6cb607fcf41c [project @ 2006-03-23 18:22:51 by dbateman]
dbateman
parents: 5648
diff changeset
171
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
172 extern ComplexMatrix qrsolve (const SparseComplexMatrix &a,
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
173 const MArray<Complex> &b,
10312
cbc402e64d83 untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents: 10158
diff changeset
174 octave_idx_type &info);
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7505
diff changeset
175
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
176 extern SparseComplexMatrix qrsolve (const SparseComplexMatrix &a,
10312
cbc402e64d83 untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents: 10158
diff changeset
177 const SparseComplexMatrix &b,
cbc402e64d83 untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents: 10158
diff changeset
178 octave_idx_type &info);
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents:
diff changeset
179 #endif