I guess i still very much want to rename iterator() in sparse matrix to something like iterateNonEmpty(). That would fix it everywhere. Thoughts?
On Tue, Jan 13, 2015 at 5:37 PM, Dmitriy Lyubimov <[email protected]> wrote: > ok so > > for (row <- mxA.iterateAll) > > works correctly even for SparseMatrix. Now i _only_ have to fix all the > spots where it says without iterateAll. which is like every where. must be > fun. > > > > On Tue, Jan 13, 2015 at 5:31 PM, Dmitriy Lyubimov <[email protected]> > wrote: > >> Or that is meant to be behavior of iterateAll() only? which is true for >> all iterators except SparseMatrix it seems. >> >> On Tue, Jan 13, 2015 at 5:22 PM, Dmitriy Lyubimov <[email protected]> >> wrote: >> >>> Hi, >>> >>> I posted a question before about what it means to iterate over matrix, >>> and was given an answer it means going over matrix rows (0...m-1). >>> >>> That makes it, for exapmle, possible to create code like the following >>> >>> for ( (row, index) <- mxA.zipWithIndex ) row += something(index) >>> >>> however actual code in SparseMatrix iterates over hash of existing rows. >>> That breaks this execution for SparseMatrix only in two senses : >>> >>> (1) not all rows are visited; only those that have non-zeros. In >>> particular, if we created a matrix via like() then nothing is happening at >>> all; >>> >>> (2) rows are not visited in order of indices. >>> >>> I would like to fix (1) and (2) problems in this iterator but not sure >>> if this is important elsewhere. >>> >> >> >
