Mercurial > hg > octave-nkf
diff liboctave/dSparse.cc @ 8303:b11c31849b44
improve norm computation capabilities
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Fri, 31 Oct 2008 08:05:32 +0100 |
parents | 935be827eaf8 |
children | 64cf956a109c |
line wrap: on
line diff
--- a/liboctave/dSparse.cc +++ b/liboctave/dSparse.cc @@ -515,6 +515,37 @@ return result; } +RowVector +SparseMatrix::row (octave_idx_type i) const +{ + octave_idx_type nc = columns (); + RowVector retval (nc, 0); + + for (octave_idx_type j = 0; j < nc; j++) + for (octave_idx_type k = cidx (j); k < cidx (j+1); k++) + { + if (ridx (k) == i) + { + retval(j) = data (k); + break; + } + } + + return retval; +} + +ColumnVector +SparseMatrix::column (octave_idx_type i) const +{ + octave_idx_type nr = rows (); + ColumnVector retval (nr); + + for (octave_idx_type k = cidx (i); k < cidx (i+1); k++) + retval(ridx (k)) = data (k); + + return retval; +} + SparseMatrix SparseMatrix::concat (const SparseMatrix& rb, const Array<octave_idx_type>& ra_idx) {