Index: matrix_expression.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/numeric/ublas/matrix_expression.hpp,v
retrieving revision 1.50
diff -u -p -r1.50 matrix_expression.hpp
--- matrix_expression.hpp	15 Mar 2005 14:19:04 -0000	1.50
+++ matrix_expression.hpp	24 Jun 2005 11:31:42 -0000
@@ -2120,12 +2120,16 @@ namespace boost { namespace numeric { na
             }
             BOOST_UBLAS_INLINE
             const_iterator1 &operator += (difference_type n) {
-                i_ += n, it1_ += n, it2_ += n;
+                while (n>0) { 
+                    operator++(), --n;
+                }
                 return *this;
             }
             BOOST_UBLAS_INLINE
             const_iterator1 &operator -= (difference_type n) {
-                i_ -= n, it1_ -= n, it2_ -= n;
+                while (n>0) { 
+                    operator--(), --n;
+                }
                 return *this;
             }
             BOOST_UBLAS_INLINE
@@ -2377,12 +2381,16 @@ namespace boost { namespace numeric { na
             }
             BOOST_UBLAS_INLINE
             const_iterator2 &operator += (difference_type n) {
-                j_ += n, it1_ += n, it2_ += n;
+                while (n>0) { 
+                    operator++(), --n;
+                }
                 return *this;
             }
             BOOST_UBLAS_INLINE
             const_iterator2 &operator -= (difference_type n) {
-                j_ -= n, it1_ -= n, it2_ -= n;
+                while (n>0) { 
+                    operator--(), --n;
+                }
                 return *this;
             }
             BOOST_UBLAS_INLINE

