|
Ublas : |
From: Dima Sorkin (dsorkin_at_[hidden])
Date: 2005-12-27 04:54:01
Quoting Gunter Winkler :
> You have to carefully distinguish const_iterators (which iterate over all
> nonzeroes) and mutable iterators (which iterate over all elements). So you
> probably have to use the const iterators to find the nonzeroes and use the
> operator(i,j) to assign the value. This is clearly not optimal, but the only
>
> way that is currently supported for all matrix types.
To want to clarify it to myself:
Today:
All sparse matrice, vector and proxy types:
const_iterator - over nonzeros
iterator - over all elements (including the "dummy" ones)
To pass over all non-zeros in row order:
for(typename M::const_iterator1 it1(M.begin1());
it1 != M.end1() ; ++it1){
for (typename M::const_iterator2 it2(it1.begin());
it2 != it1.end(); ++it2){
do;
}
}
Dense types:
const_iterator and iterator behave the same
Thank you.
Dima.