| 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) << "\t"; |
| 485 |
|
} |
| 486 |
|
o << ")" << std::endl; |
| 487 |
|
} |