[PPL-devel] [GIT] ppl/ppl(sparse_matrices): Dense_Row: added two-argument assign() and assign_if_nonzero().

Marco Poletti poletti.marco at gmail.com
Mon Mar 22 21:46:52 CET 2010


Module: ppl/ppl
Branch: sparse_matrices
Commit: 4f2763f9ea5ea650b2c68773eaa41d09375788ab
URL:    http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=4f2763f9ea5ea650b2c68773eaa41d09375788ab

Author: Marco Poletti <poletti.marco at gmail.com>
Date:   Mon Mar 22 21:35:10 2010 +0100

Dense_Row: added two-argument assign() and assign_if_nonzero().

---

 src/Dense_Row.defs.hh    |    8 ++++++++
 src/Dense_Row.inlines.hh |   11 +++++++++++
 2 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/src/Dense_Row.defs.hh b/src/Dense_Row.defs.hh
index 895499c..ba04ad7 100644
--- a/src/Dense_Row.defs.hh
+++ b/src/Dense_Row.defs.hh
@@ -225,6 +225,14 @@ public:
   */
   void normalize();
 
+  //! After this call, get(i) == x.
+  //! Provided for compatibility with Sparse_Row.
+  void assign(dimension_type i, const Coefficient& x);
+
+  //! Equivalent to <CODE>if (x != 0) find_create(i, x);</CODE>, provided
+  //! for convenience. Provided for compatibility with Sparse_Row.
+  void assign_if_nonzero(dimension_type i, const Coefficient& x);
+
   PPL_OUTPUT_DECLARATIONS
 
   /*! \brief
diff --git a/src/Dense_Row.inlines.hh b/src/Dense_Row.inlines.hh
index 895111c..28152ce 100644
--- a/src/Dense_Row.inlines.hh
+++ b/src/Dense_Row.inlines.hh
@@ -250,6 +250,17 @@ Dense_Row::normalize() {
 }
 
 inline void
+Dense_Row::assign(dimension_type i, const Coefficient& x) {
+  (*this)[i] = x;
+}
+
+inline void
+Dense_Row::assign_if_nonzero(dimension_type i, const Coefficient& x) {
+  if (x != 0)
+    (*this)[i] = x;
+}
+
+inline void
 Dense_Row::ascii_dump(std::ostream& s) const {
   row.ascii_dump(s);
 }




More information about the PPL-devel mailing list