comparison liboctave/CmplxLU.h @ 457:3d4b4f0fa5ba

[project @ 1994-06-06 00:33:33 by jwe] Initial revision
author jwe
date Mon, 06 Jun 1994 00:33:51 +0000
parents
children 714fd17fca28
comparison
equal deleted inserted replaced
456:a1b3aae0fbc3 457:3d4b4f0fa5ba
1 // -*- C++ -*-
2 /*
3
4 Copyright (C) 1992, 1993, 1994 John W. Eaton
5
6 This file is part of Octave.
7
8 Octave is free software; you can redistribute it and/or modify it
9 under the terms of the GNU General Public License as published by the
10 Free Software Foundation; either version 2, or (at your option) any
11 later version.
12
13 Octave is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with Octave; see the file COPYING. If not, write to the Free
20 Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
21
22 */
23
24 #if !defined (octave_ComplexLU_h)
25 #define octave_Complex_LU_h 1
26
27 #if defined (__GNUG__)
28 #pragma interface
29 #endif
30
31 class ostream;
32
33 #include "dMatrix.h"
34 #include "CMatrix.h"
35
36 extern "C++" {
37
38 class ComplexLU
39 {
40 friend class ComplexMatrix;
41
42 public:
43
44 ComplexLU (void) {}
45
46 ComplexLU (const ComplexMatrix& a);
47
48 ComplexLU (const ComplexLU& a);
49
50 ComplexLU& operator = (const ComplexLU& a);
51
52 ComplexMatrix L (void) const;
53 ComplexMatrix U (void) const;
54 Matrix P (void) const;
55
56 friend ostream& operator << (ostream& os, const ComplexLU& a);
57
58 private:
59
60 ComplexMatrix l;
61 ComplexMatrix u;
62 Matrix p;
63 };
64
65 inline ComplexLU::ComplexLU (const ComplexLU& a)
66 {
67 l = a.l;
68 u = a.u;
69 p = a.p;
70 }
71
72 inline ComplexLU& ComplexLU::operator = (const ComplexLU& a)
73 {
74 l = a.l;
75 u = a.u;
76 p = a.p;
77 return *this;
78 }
79
80 inline ComplexMatrix ComplexLU::L (void) const
81 {
82 return l;
83 }
84
85 inline ComplexMatrix ComplexLU::U (void) const
86 {
87 return u;
88 }
89
90 inline Matrix ComplexLU::P (void) const
91 {
92 return p;
93 }
94
95 } // extern "C++"
96
97 #endif
98
99 /*
100 ;;; Local Variables: ***
101 ;;; mode: C++ ***
102 ;;; page-delimiter: "^/\\*" ***
103 ;;; End: ***
104 */