151 |
|
for (unsigned int j = 0; j < Col; j++) |
152 |
|
data_[j][col] = v[j]; |
153 |
|
} |
154 |
+ |
|
155 |
+ |
/** |
156 |
+ |
* swap two rows of this matrix |
157 |
+ |
* @param i the first row |
158 |
+ |
* @param j the second row |
159 |
+ |
*/ |
160 |
+ |
void swapRow(unsigned int i, unsigned int j){ |
161 |
+ |
assert(i < Row && j < Row); |
162 |
+ |
|
163 |
+ |
for (unsigned int k = 0; k < Col; k++) |
164 |
+ |
std::swap(data_[i][k], data_[j][k]); |
165 |
+ |
} |
166 |
+ |
|
167 |
+ |
/** |
168 |
+ |
* swap two colums of this matrix |
169 |
+ |
* @param i the first colum |
170 |
+ |
* @param j the second colum |
171 |
+ |
*/ |
172 |
+ |
void swapColum(unsigned int i, unsigned int j){ |
173 |
+ |
assert(i < Col && j < Col); |
174 |
+ |
|
175 |
+ |
for (unsigned int k = 0; k < Row; k++) |
176 |
+ |
std::swap(data_[k][i], data_[k][j]); |
177 |
+ |
} |
178 |
|
|
179 |
|
/** |
180 |
|
* Tests if this matrix is identical to matrix m |
479 |
|
template<typename Real, unsigned int Row, unsigned int Col> |
480 |
|
std::ostream &operator<< ( std::ostream& o, const RectMatrix<Real, Row, Col>& m) { |
481 |
|
for (unsigned int i = 0; i < Row ; i++) { |
482 |
< |
o << "(" |
482 |
> |
o << "("; |
483 |
|
for (unsigned int j = 0; j < Col ; j++) { |
484 |
< |
o << m(i, j) << "\t" |
484 |
> |
o << m(i, j); |
485 |
> |
if (j != Col -1) |
486 |
> |
o << "\t"; |
487 |
|
} |
488 |
|
o << ")" << std::endl; |
489 |
|
} |