[GIT] ppl/ppl(sparse_matrices): Unlimited_Sparse_Row: fixed swap().

Module: ppl/ppl Branch: sparse_matrices Commit: ce05ab69d64f01235b43782219f9d15d2687f955 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=ce05ab69d64f0...
Author: Marco Poletti poletti.marco@gmail.com Date: Thu Mar 4 21:51:13 2010 +0100
Unlimited_Sparse_Row: fixed swap().
---
src/Unlimited_Sparse_Row.inlines.hh | 16 ++++++++-------- 1 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/Unlimited_Sparse_Row.inlines.hh b/src/Unlimited_Sparse_Row.inlines.hh index 0ee45dc..268ef17 100644 --- a/src/Unlimited_Sparse_Row.inlines.hh +++ b/src/Unlimited_Sparse_Row.inlines.hh @@ -58,10 +58,10 @@ Unlimited_Sparse_Row::swap(dimension_type i, dimension_type j) { } else { if (i_itr != j_itr) { // i is in the list, j isn't - j_itr = data.splice(j_itr,data,i_itr); - // i_itr is no longer valid. - // j_itr now points to the moved element. - j_itr->first = j; + i_itr = data.splice(j_itr,data,i_itr); + // i_itr was invalidated. + // Now i_itr points to the moved element. + i_itr->first = j; } else { j_itr->first=j; } @@ -70,10 +70,10 @@ Unlimited_Sparse_Row::swap(dimension_type i, dimension_type j) { if (j_itr != itr_end && j_itr->first == j) { if (i_itr != j_itr) { // j is in the list, i isn't - i_itr = data.splice(i_itr,data,j_itr); - // j_itr is no longer valid. - // i_itr now points to the moved element. - i_itr->first = i; + j_itr = data.splice(i_itr,data,j_itr); + // j_itr was invalidated. + // Now j_itr points to the moved element. + j_itr->first = i; } else { i_itr->first = j; }
participants (1)
-
Marco Poletti