410{
414 std::vector<long> rowlocs;
415
416 newrows.reserve(nrows);
417 rowlocs.reserve(nrows);
418 for (int r = 0; r < nrows; r++) rowlocs.push_back(-1);
419
420 for (int c = 0; c < ncols; c++)
421 {
422 int oldrow =
mat->columns[c].head;
423 if (oldrow >= 0)
424 {
425
427 newrows.push_back(
mat->rows[oldrow]);
428 rowlocs[oldrow] = newrow;
429 mat->columns[c].head = newrow;
430 if (
mat->columns[c].head == oldrow)
mat->columns[c].head = newrow;
431 }
432 }
433 for (int r = 0; r < nrows; r++)
434 if (rowlocs[r] < 0) newrows.push_back(
mat->rows[r]);
436}
void swap(mpfr::mpreal &x, mpfr::mpreal &y)
std::vector< row_elem > row_array