Mercurial > hg > octave-nkf
comparison liboctave/Sparse.cc @ 6689:8e0444d90050
[project @ 2007-06-04 22:28:19 by dbateman]
author | dbateman |
---|---|
date | Mon, 04 Jun 2007 22:28:19 +0000 |
parents | 9e70afeb2ebf |
children | 75d99621f850 |
comparison
equal
deleted
inserted
replaced
6688:b26a8e0e42cd | 6689:8e0444d90050 |
---|---|
728 template <class T> | 728 template <class T> |
729 Sparse<T> | 729 Sparse<T> |
730 Sparse<T>::reshape (const dim_vector& new_dims) const | 730 Sparse<T>::reshape (const dim_vector& new_dims) const |
731 { | 731 { |
732 Sparse<T> retval; | 732 Sparse<T> retval; |
733 | 733 dim_vector dims2 = new_dims; |
734 if (dimensions != new_dims) | 734 |
735 { | 735 if (dims2.length () > 2) |
736 if (dimensions.numel () == new_dims.numel ()) | 736 { |
737 for (octave_idx_type i = 2; i < dims2.length(); i++) | |
738 dims2 (1) *= dims2(i); | |
739 dims2.resize (2); | |
740 } | |
741 | |
742 if (dimensions != dims2) | |
743 { | |
744 if (dimensions.numel () == dims2.numel ()) | |
737 { | 745 { |
738 octave_idx_type new_nnz = nnz (); | 746 octave_idx_type new_nnz = nnz (); |
739 octave_idx_type new_nr = new_dims (0); | 747 octave_idx_type new_nr = dims2 (0); |
740 octave_idx_type new_nc = new_dims (1); | 748 octave_idx_type new_nc = dims2 (1); |
741 octave_idx_type old_nr = rows (); | 749 octave_idx_type old_nr = rows (); |
742 octave_idx_type old_nc = cols (); | 750 octave_idx_type old_nc = cols (); |
743 retval = Sparse<T> (new_nr, new_nc, new_nnz); | 751 retval = Sparse<T> (new_nr, new_nc, new_nnz); |
744 | 752 |
745 octave_idx_type kk = 0; | 753 octave_idx_type kk = 0; |