[PPL-devel] [GIT] ppl/ppl(sparse_matrices): Unlimited_Sparse_Row: fix combine_needs_second() for backends that define PPL_SPARSE_BACKEND_INVALIDATES_REFERENCES.
Marco Poletti
poletti.marco at gmail.com
Thu Apr 8 19:01:19 CEST 2010
Module: ppl/ppl
Branch: sparse_matrices
Commit: ba97824c0307ae2b5534a04ccb0196444f3e400c
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=ba97824c0307ae2b5534a04ccb0196444f3e400c
Author: Marco Poletti <poletti.marco at gmail.com>
Date: Thu Apr 8 19:00:01 2010 +0200
Unlimited_Sparse_Row: fix combine_needs_second() for backends that define PPL_SPARSE_BACKEND_INVALIDATES_REFERENCES.
---
src/Unlimited_Sparse_Row.templates.hh | 30 ++++++++++++------------------
1 files changed, 12 insertions(+), 18 deletions(-)
diff --git a/src/Unlimited_Sparse_Row.templates.hh b/src/Unlimited_Sparse_Row.templates.hh
index d990c55..8f15962 100644
--- a/src/Unlimited_Sparse_Row.templates.hh
+++ b/src/Unlimited_Sparse_Row.templates.hh
@@ -104,9 +104,8 @@ Unlimited_Sparse_Row::combine_needs_second(const Unlimited_Sparse_Row& y,
#ifdef PPL_SPARSE_BACKEND_INVALIDATES_REFERENCES
i = last_i;
++i;
- i_end = x.end();
- if (& static_cast<PIP_Tree_Node::
- matrix_row_const_reference_type>(x) == &y) {
+ i_end = end();
+ if (this == &y) {
j = last_i;
j_end = y.end();
}
@@ -124,9 +123,8 @@ Unlimited_Sparse_Row::combine_needs_second(const Unlimited_Sparse_Row& y,
#ifdef PPL_SPARSE_BACKEND_INVALIDATES_REFERENCES
i = last_i;
++i;
- i_end = x.end();
- if (& static_cast<PIP_Tree_Node::
- matrix_row_const_reference_type>(x) == &y) {
+ i_end = end();
+ if (this == &y) {
j = last_i;
j_end = y.end();
}
@@ -156,9 +154,8 @@ Unlimited_Sparse_Row::combine_needs_second(const Unlimited_Sparse_Row& y,
#ifdef PPL_SPARSE_BACKEND_INVALIDATES_REFERENCES
i = last_i;
++i;
- i_end = x.end();
- if (& static_cast<PIP_Tree_Node::
- matrix_row_const_reference_type>(x) == &y) {
+ i_end = end();
+ if (this == &y) {
j = last_i;
j_end = y.end();
}
@@ -272,9 +269,8 @@ Unlimited_Sparse_Row::combine(const Unlimited_Sparse_Row& y, const Func1& f,
#ifdef PPL_SPARSE_BACKEND_INVALIDATES_REFERENCES
i = last_i;
++i;
- i_end = x.end();
- if (& static_cast<PIP_Tree_Node::
- matrix_row_const_reference_type>(x) == &y) {
+ i_end = end();
+ if (this == &y) {
j = last_i;
j_end = y.end();
}
@@ -293,9 +289,8 @@ Unlimited_Sparse_Row::combine(const Unlimited_Sparse_Row& y, const Func1& f,
#ifdef PPL_SPARSE_BACKEND_INVALIDATES_REFERENCES
i = last_i;
++i;
- i_end = x.end();
- if (& static_cast<PIP_Tree_Node::
- matrix_row_const_reference_type>(x) == &y) {
+ i_end = end();
+ if (this == &y) {
j = last_i;
j_end = y.end();
}
@@ -326,9 +321,8 @@ Unlimited_Sparse_Row::combine(const Unlimited_Sparse_Row& y, const Func1& f,
#ifdef PPL_SPARSE_BACKEND_INVALIDATES_REFERENCES
i = last_i;
++i;
- i_end = x.end();
- if (& static_cast<PIP_Tree_Node::
- matrix_row_const_reference_type>(x) == &y) {
+ i_end = end();
+ if (this == &y) {
j = last_i;
j_end = y.end();
}
More information about the PPL-devel
mailing list