comparison liboctave/Sparse.cc @ 5630:512d0d11ae39

[project @ 2006-02-20 22:05:30 by dbateman]
author dbateman
date Mon, 20 Feb 2006 22:05:32 +0000
parents 2857357f9d3c
children 69a4f320d95a
comparison
equal deleted inserted replaced
5629:489a475073d7 5630:512d0d11ae39
220 } 220 }
221 } 221 }
222 222
223 template <class T> 223 template <class T>
224 Sparse<T>::Sparse (octave_idx_type nr, octave_idx_type nc, T val) 224 Sparse<T>::Sparse (octave_idx_type nr, octave_idx_type nc, T val)
225 : rep (new typename Sparse<T>::SparseRep (nr, nc, nr*nc)), 225 : dimensions (dim_vector (nr, nc)), idx (0), idx_count (0)
226 dimensions (dim_vector (nr, nc)), idx (0), idx_count (0)
227 { 226 {
228 227 if (val != T ())
229 octave_idx_type ii = 0; 228 {
230 xcidx (0) = 0; 229 rep = new typename Sparse<T>::SparseRep (nr, nc, nr*nc);
231 for (octave_idx_type j = 0; j < nc; j++) 230
232 { 231 octave_idx_type ii = 0;
233 for (octave_idx_type i = 0; i < nr; i++) 232 xcidx (0) = 0;
234 { 233 for (octave_idx_type j = 0; j < nc; j++)
235 xdata (ii) = val; 234 {
236 xridx (ii++) = i; 235 for (octave_idx_type i = 0; i < nr; i++)
237 } 236 {
238 xcidx (j+1) = ii; 237 xdata (ii) = val;
238 xridx (ii++) = i;
239 }
240 xcidx (j+1) = ii;
241 }
242 }
243 else
244 {
245 rep = new typename Sparse<T>::SparseRep (nr, nc, 0);
246 for (octave_idx_type j = 0; j < nc+1; j++)
247 xcidx(j) = 0;
239 } 248 }
240 } 249 }
241 250
242 template <class T> 251 template <class T>
243 Sparse<T>::Sparse (const dim_vector& dv) 252 Sparse<T>::Sparse (const dim_vector& dv)