Mercurial > forge
comparison main/fixed/src/fixedCMatrix.h @ 9481:d84d2fea3c90 octave-forge
Re-enable compilation of fixed package
author | jordigh |
---|---|
date | Wed, 22 Feb 2012 22:07:33 +0000 |
parents | 0924c374b60d |
children | 7b7cd174847c |
comparison
equal
deleted
inserted
replaced
9480:954f2f00d782 | 9481:d84d2fea3c90 |
---|---|
24 */ | 24 */ |
25 | 25 |
26 #if !defined (octave_FixedCMatrix_h) | 26 #if !defined (octave_FixedCMatrix_h) |
27 #define octave_FixedCMatrix_h 1 | 27 #define octave_FixedCMatrix_h 1 |
28 | 28 |
29 #include <octave/MArray2.h> | 29 #include <octave/MArray.h> |
30 | 30 |
31 #include <octave/mx-defs.h> | 31 #include <octave/mx-defs.h> |
32 #include <octave/mx-op-defs.h> | 32 #include <octave/mx-op-defs.h> |
33 #include <octave/data-conv.h> | 33 #include <octave/data-conv.h> |
34 #include <octave/mach-info.h> | 34 #include <octave/mach-info.h> |
49 | 49 |
50 typedef FixedPointComplex (*fpc_fpc_Mapper)(FixedPointComplex); | 50 typedef FixedPointComplex (*fpc_fpc_Mapper)(FixedPointComplex); |
51 | 51 |
52 class | 52 class |
53 OCTAVE_FIXED_API | 53 OCTAVE_FIXED_API |
54 FixedComplexMatrix : public MArray2<FixedPointComplex> | 54 FixedComplexMatrix : public MArray<FixedPointComplex> |
55 { | 55 { |
56 public: | 56 public: |
57 | 57 |
58 FixedComplexMatrix (void) : MArray2<FixedPointComplex> () { } | 58 FixedComplexMatrix (void) : MArray<FixedPointComplex> () { } |
59 | 59 |
60 FixedComplexMatrix (const dim_vector& dv) : MArray2<FixedPointComplex> (dv) { } | 60 FixedComplexMatrix (const dim_vector& dv) : MArray<FixedPointComplex> (dv) { } |
61 | 61 |
62 FixedComplexMatrix (int r, int c) : MArray2<FixedPointComplex> (r, c) { } | 62 FixedComplexMatrix (int r, int c) |
63 | 63 : MArray<FixedPointComplex> (dim_vector (r, c)) { } |
64 FixedComplexMatrix (int r, int c, const FixedPointComplex val) : | 64 |
65 MArray2<FixedPointComplex> (r, c, val) { } | 65 FixedComplexMatrix (int r, int c, const FixedPointComplex val) |
66 | 66 : MArray<FixedPointComplex> (dim_vector (r, c), val) { } |
67 FixedComplexMatrix (const MArray2<int> &is, const MArray2<int> &ds); | 67 |
68 FixedComplexMatrix (const MArray<int> &is, const MArray<int> &ds); | |
68 | 69 |
69 FixedComplexMatrix (const Matrix &is, const Matrix &ds); | 70 FixedComplexMatrix (const Matrix &is, const Matrix &ds); |
70 | 71 |
71 FixedComplexMatrix (const ComplexMatrix &is, const ComplexMatrix &ds); | 72 FixedComplexMatrix (const ComplexMatrix &is, const ComplexMatrix &ds); |
72 | 73 |
73 FixedComplexMatrix (unsigned int is, unsigned int ds, | 74 FixedComplexMatrix (unsigned int is, unsigned int ds, |
74 const FixedComplexMatrix& a); | 75 const FixedComplexMatrix& a); |
75 | 76 |
76 FixedComplexMatrix (Complex is, Complex ds, const FixedComplexMatrix& a); | 77 FixedComplexMatrix (Complex is, Complex ds, const FixedComplexMatrix& a); |
77 | 78 |
78 FixedComplexMatrix (const MArray2<int> &is, const MArray2<int> &ds, | 79 FixedComplexMatrix (const MArray<int> &is, const MArray<int> &ds, |
79 const FixedComplexMatrix& a); | 80 const FixedComplexMatrix& a); |
80 | 81 |
81 FixedComplexMatrix (const Matrix &is, const Matrix &ds, | 82 FixedComplexMatrix (const Matrix &is, const Matrix &ds, |
82 const FixedComplexMatrix& a); | 83 const FixedComplexMatrix& a); |
83 | 84 |
86 | 87 |
87 FixedComplexMatrix (unsigned int is, unsigned int ds, const FixedMatrix& a); | 88 FixedComplexMatrix (unsigned int is, unsigned int ds, const FixedMatrix& a); |
88 | 89 |
89 FixedComplexMatrix (Complex is, Complex ds, const FixedMatrix& a); | 90 FixedComplexMatrix (Complex is, Complex ds, const FixedMatrix& a); |
90 | 91 |
91 FixedComplexMatrix (const MArray2<int> &is, const MArray2<int> &ds, | 92 FixedComplexMatrix (const MArray<int> &is, const MArray<int> &ds, |
92 const FixedMatrix& a); | 93 const FixedMatrix& a); |
93 | 94 |
94 FixedComplexMatrix (const Matrix &is, const Matrix &ds, | 95 FixedComplexMatrix (const Matrix &is, const Matrix &ds, |
95 const FixedMatrix& a); | 96 const FixedMatrix& a); |
96 | 97 |
100 FixedComplexMatrix (unsigned int is, unsigned int ds, | 101 FixedComplexMatrix (unsigned int is, unsigned int ds, |
101 const ComplexMatrix& a); | 102 const ComplexMatrix& a); |
102 | 103 |
103 FixedComplexMatrix (Complex is, Complex ds, const ComplexMatrix& a); | 104 FixedComplexMatrix (Complex is, Complex ds, const ComplexMatrix& a); |
104 | 105 |
105 FixedComplexMatrix (const MArray2<int> &is, const MArray2<int> & ds, | 106 FixedComplexMatrix (const MArray<int> &is, const MArray<int> & ds, |
106 const ComplexMatrix& a); | 107 const ComplexMatrix& a); |
107 | 108 |
108 FixedComplexMatrix (const Matrix &is, const Matrix & ds, | 109 FixedComplexMatrix (const Matrix &is, const Matrix & ds, |
109 const ComplexMatrix& a); | 110 const ComplexMatrix& a); |
110 | 111 |
113 | 114 |
114 FixedComplexMatrix (unsigned int is, unsigned int ds, const Matrix& a); | 115 FixedComplexMatrix (unsigned int is, unsigned int ds, const Matrix& a); |
115 | 116 |
116 FixedComplexMatrix (Complex is, Complex ds, const Matrix& a); | 117 FixedComplexMatrix (Complex is, Complex ds, const Matrix& a); |
117 | 118 |
118 FixedComplexMatrix (const MArray2<int> &is, const MArray2<int> & ds, | 119 FixedComplexMatrix (const MArray<int> &is, const MArray<int> & ds, |
119 const Matrix& a); | 120 const Matrix& a); |
120 | 121 |
121 FixedComplexMatrix (const Matrix &is, const Matrix & ds, const Matrix& a); | 122 FixedComplexMatrix (const Matrix &is, const Matrix & ds, const Matrix& a); |
122 | 123 |
123 FixedComplexMatrix (const ComplexMatrix &is, const ComplexMatrix & ds, | 124 FixedComplexMatrix (const ComplexMatrix &is, const ComplexMatrix & ds, |
127 const ComplexMatrix &a, const ComplexMatrix &b); | 128 const ComplexMatrix &a, const ComplexMatrix &b); |
128 | 129 |
129 FixedComplexMatrix (Complex is, Complex ds, const ComplexMatrix &a, | 130 FixedComplexMatrix (Complex is, Complex ds, const ComplexMatrix &a, |
130 const ComplexMatrix &b); | 131 const ComplexMatrix &b); |
131 | 132 |
132 FixedComplexMatrix (const MArray2<int> &is, const MArray2<int> &ds, | 133 FixedComplexMatrix (const MArray<int> &is, const MArray<int> &ds, |
133 const ComplexMatrix &a, const ComplexMatrix &b); | 134 const ComplexMatrix &a, const ComplexMatrix &b); |
134 | 135 |
135 FixedComplexMatrix (const Matrix &is, const Matrix &ds, | 136 FixedComplexMatrix (const Matrix &is, const Matrix &ds, |
136 const ComplexMatrix &a, const ComplexMatrix &b); | 137 const ComplexMatrix &a, const ComplexMatrix &b); |
137 | 138 |
141 FixedComplexMatrix (const FixedMatrix& a); | 142 FixedComplexMatrix (const FixedMatrix& a); |
142 | 143 |
143 FixedComplexMatrix (const FixedMatrix& a, const FixedMatrix& b); | 144 FixedComplexMatrix (const FixedMatrix& a, const FixedMatrix& b); |
144 | 145 |
145 FixedComplexMatrix (const FixedComplexMatrix& a) : | 146 FixedComplexMatrix (const FixedComplexMatrix& a) : |
146 MArray2<FixedPointComplex> (a) { } | 147 MArray<FixedPointComplex> (a) { } |
147 | 148 |
148 FixedComplexMatrix (const MArray2<FixedPointComplex>& a) : | 149 FixedComplexMatrix (const MArray<FixedPointComplex>& a) : |
149 MArray2<FixedPointComplex> (a) { } | 150 MArray<FixedPointComplex> (a) { } |
151 | |
152 FixedComplexMatrix (const Array<FixedPointComplex>& a) : | |
153 MArray<FixedPointComplex> (a) { } | |
150 | 154 |
151 explicit FixedComplexMatrix (const FixedComplexRowVector& rv); | 155 explicit FixedComplexMatrix (const FixedComplexRowVector& rv); |
152 | 156 |
153 FixedComplexMatrix (const FixedRowVector& rv); | 157 FixedComplexMatrix (const FixedRowVector& rv); |
154 | 158 |
172 FixedComplexMatrix incintsize (const ComplexMatrix &n); | 176 FixedComplexMatrix incintsize (const ComplexMatrix &n); |
173 FixedComplexMatrix incintsize (); | 177 FixedComplexMatrix incintsize (); |
174 | 178 |
175 FixedComplexMatrix& operator = (const FixedComplexMatrix& a) | 179 FixedComplexMatrix& operator = (const FixedComplexMatrix& a) |
176 { | 180 { |
177 MArray2<FixedPointComplex>::operator = (a); | 181 MArray<FixedPointComplex>::operator = (a); |
178 return *this; | 182 return *this; |
179 } | 183 } |
180 | 184 |
181 bool operator == (const FixedComplexMatrix& a) const; | 185 bool operator == (const FixedComplexMatrix& a) const; |
182 bool operator != (const FixedComplexMatrix& a) const; | 186 bool operator != (const FixedComplexMatrix& a) const; |
206 FixedComplexMatrix stack (const FixedComplexMatrix& a) const; | 210 FixedComplexMatrix stack (const FixedComplexMatrix& a) const; |
207 FixedComplexMatrix stack (const FixedComplexRowVector& a) const; | 211 FixedComplexMatrix stack (const FixedComplexRowVector& a) const; |
208 FixedComplexMatrix stack (const FixedComplexColumnVector& a) const; | 212 FixedComplexMatrix stack (const FixedComplexColumnVector& a) const; |
209 | 213 |
210 FixedComplexMatrix hermitian (void) const; | 214 FixedComplexMatrix hermitian (void) const; |
211 FixedComplexMatrix transpose (void) const { return MArray2<FixedPointComplex>::transpose (); } | 215 FixedComplexMatrix transpose (void) const { return MArray<FixedPointComplex>::transpose (); } |
212 | 216 |
213 // resize is the destructive equivalent for this one | 217 // resize is the destructive equivalent for this one |
214 | 218 |
215 FixedComplexMatrix extract (int r1, int c1, int r2, int c2) const; | 219 FixedComplexMatrix extract (int r1, int c1, int r2, int c2) const; |
216 | 220 |
310 friend OCTAVE_FIXED_API std::istream& operator >> (std::istream& is, FixedComplexMatrix& a); | 314 friend OCTAVE_FIXED_API std::istream& operator >> (std::istream& is, FixedComplexMatrix& a); |
311 | 315 |
312 | 316 |
313 static FixedPointComplex resize_fill_value (void) | 317 static FixedPointComplex resize_fill_value (void) |
314 { return FixedPointComplex(); } | 318 { return FixedPointComplex(); } |
315 | |
316 private: | |
317 | |
318 FixedComplexMatrix (FixedPointComplex *d, int r, int c) : | |
319 MArray2<FixedPointComplex> (d, r, c) { } | |
320 }; | 319 }; |
321 | 320 |
322 OCTAVE_FIXED_API FixedComplexMatrix operator * (const FixedComplexColumnVector& a, | 321 OCTAVE_FIXED_API FixedComplexMatrix operator * (const FixedComplexColumnVector& a, |
323 const FixedComplexRowVector& b); | 322 const FixedComplexRowVector& b); |
324 OCTAVE_FIXED_API FixedComplexMatrix operator * (const FixedComplexMatrix& a, | 323 OCTAVE_FIXED_API FixedComplexMatrix operator * (const FixedComplexMatrix& a, |
401 SM_BOOL_OP_DECLS (FixedPointComplex, FixedComplexMatrix, ) | 400 SM_BOOL_OP_DECLS (FixedPointComplex, FixedComplexMatrix, ) |
402 | 401 |
403 MM_CMP_OP_DECLS (FixedComplexMatrix, FixedComplexMatrix, ) | 402 MM_CMP_OP_DECLS (FixedComplexMatrix, FixedComplexMatrix, ) |
404 MM_BOOL_OP_DECLS (FixedComplexMatrix, FixedComplexMatrix, ) | 403 MM_BOOL_OP_DECLS (FixedComplexMatrix, FixedComplexMatrix, ) |
405 | 404 |
406 MARRAY_FORWARD_DEFS (MArray2, FixedComplexMatrix, FixedPointComplex) | 405 MARRAY_FORWARD_DEFS (MArray, FixedComplexMatrix, FixedPointComplex) |
407 | 406 |
408 #endif | 407 #endif |
409 | 408 |
410 /* | 409 /* |
411 ;;; Local Variables: *** | 410 ;;; Local Variables: *** |