[GIT] ppl/ppl(sparse_matrices): Sparse_Row, Sparse_Row_Reference: add reset_after() methods.

Module: ppl/ppl Branch: sparse_matrices Commit: 6c19300dac4d1c406a0b89eac8551bc0c776b160 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=6c19300dac4d1...
Author: Marco Poletti poletti.marco@gmail.com Date: Tue Mar 9 14:28:51 2010 +0100
Sparse_Row, Sparse_Row_Reference: add reset_after() methods.
---
src/Sparse_Row.defs.hh | 6 ++++++ src/Sparse_Row.inlines.hh | 14 ++++++++++++++ 2 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/src/Sparse_Row.defs.hh b/src/Sparse_Row.defs.hh index 9402a40..16268c2 100644 --- a/src/Sparse_Row.defs.hh +++ b/src/Sparse_Row.defs.hh @@ -118,6 +118,9 @@ public: //! All dangerous_iterator objects in [first,last] are invalidated (note //! that last is invalidated, too). dangerous_iterator reset(dangerous_iterator first,dangerous_iterator last); + + //! Resets to zero the elements in [i,size()). + void reset_after(dimension_type i);
//! Normalizes the modulo of coefficients so that they are mutually prime. /*! @@ -238,6 +241,9 @@ public: //! invalidated (note that j_itr is invalidated, too). void reset(dimension_type i,dimension_type j);
+ //! Resets to zero the elements in [i,size()). + void reset_after(dimension_type i); + //! Normalizes the modulo of coefficients so that they are mutually prime. /*! Computes the Greatest Common Divisor (GCD) among the elements of diff --git a/src/Sparse_Row.inlines.hh b/src/Sparse_Row.inlines.hh index 4d15e42..3301485 100644 --- a/src/Sparse_Row.inlines.hh +++ b/src/Sparse_Row.inlines.hh @@ -131,6 +131,13 @@ Sparse_Row::reset(dangerous_iterator first,dangerous_iterator last) { }
inline void +Sparse_Row::reset_after(dimension_type i) { + PPL_ASSERT(i < size_); + row.reset_after(i); + PPL_ASSERT(OK()); +} + +inline void Sparse_Row::normalize() { row.normalize(); PPL_ASSERT(OK()); @@ -348,6 +355,13 @@ Sparse_Row_Reference::reset(const dimension_type first, }
inline void +Sparse_Row_Reference::reset_after(dimension_type i) { + PPL_ASSERT(i < size_); + row.reset_after(i); + PPL_ASSERT(OK()); +} + +inline void Sparse_Row_Reference::normalize() { row.normalize(); PPL_ASSERT(OK());
participants (1)
-
Marco Poletti