Mercurial > hg > octave-lyh
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) |