not the same behavior in trunk. SequentialAccessVector.iterator seems to
behave properly there.

On Mon, Jan 14, 2013 at 3:07 PM, Koert Kuipers <[email protected]> wrote:

> sorry yes i meant 0.7
>
> On Mon, Jan 14, 2013 at 12:58 PM, Jake Mannix <[email protected]>wrote:
>
>> I think you mean 0.7, right?  Can you see if you get the same behavior in
>> svn trunk?
>>
>>
>> On Mon, Jan 14, 2013 at 9:21 AM, Koert Kuipers <[email protected]> wrote:
>>
>> > i am using version mahout 7.0
>> >
>> > On Mon, Jan 14, 2013 at 10:15 AM, Ted Dunning <[email protected]>
>> > wrote:
>> >
>> > > Which version are you using?
>> > >
>> > > (this misbehavior sounds familiar)
>> > >
>> > > iterator() should return all values.
>> > >
>> > > iterateNonZero() is allowed to skip zeros.
>> > >
>> > > On Mon, Jan 14, 2013 at 6:11 AM, Koert Kuipers <[email protected]>
>> > wrote:
>> > >
>> > > > i am looking at the iterators for DenseVector,
>> > RandomAcccessSparseVector
>> > > > and SequentialAccessSparseVector.
>> > > >
>> > > > for both DenseVector and RandomAcccessSparseVector the iterator
>> seems
>> > to
>> > > > return all values, including the missing zero values.
>> > > > for SequentialAccessSparseVector the iterator also returns all
>> values,
>> > > but
>> > > > only up to the last non-missing value!
>> > > >
>> > > > is this by design? what is a vector iterator supposed to return
>> > exactly?
>> > > i
>> > > > can't see a logical pattern/consistency. see examples below.
>> > > > thanks! koert
>> > > >
>> > > > scala> val x = new
>> org.apache.mahout.math.RandomAccessSparseVector(5)
>> > > > x: org.apache.mahout.math.RandomAccessSparseVector = {}
>> > > >
>> > > > scala> x.set(3, 1.0)
>> > > >
>> > > > scala> for (item <- x.iterator.asScala) println((item.index,
>> item.get))
>> > > > (0,0.0)
>> > > > (1,0.0)
>> > > > (2,0.0)
>> > > > (3,1.0)
>> > > > (4,0.0)
>> > > >
>> > > > scala> val y = new
>> > org.apache.mahout.math.SequentialAccessSparseVector(5)
>> > > > y: org.apache.mahout.math.SequentialAccessSparseVector = {
>> > > >
>> > > > scala> y.set(3, 1.0)
>> > > >
>> > > > scala> for (item <- y.iterator.asScala) println((item.index,
>> item.get))
>> > > > (0,0.0)
>> > > > (1,0.0)
>> > > > (2,0.0)
>> > > > (3,1.0)
>> > > >
>> > >
>> >
>>
>>
>>
>> --
>>
>>   -jake
>>
>
>

Reply via email to