[mlpack] 287/324: Minor formatting changes for row_col_iterators, mostly to adhere to the Whitesmiths style.
Barak A. Pearlmutter
barak+git at cs.nuim.ie
Sun Aug 17 08:22:19 UTC 2014
This is an automated email from the git hooks/post-receive script.
bap pushed a commit to branch svn-trunk
in repository mlpack.
commit c956001093535f5a6868ca5917d8516d41607752
Author: rcurtin <rcurtin at 9d5b8971-822b-0410-80eb-d18c1038ef23>
Date: Tue Aug 5 14:58:57 2014 +0000
Minor formatting changes for row_col_iterators, mostly to adhere to the
Whitesmiths style.
git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@16971 9d5b8971-822b-0410-80eb-d18c1038ef23
---
src/mlpack/core/arma_extend/Mat_extra_bones.hpp | 60 ++---
src/mlpack/core/arma_extend/Mat_extra_meat.hpp | 275 +++++++++++++++--------
src/mlpack/core/arma_extend/SpMat_extra_meat.hpp | 14 +-
3 files changed, 220 insertions(+), 129 deletions(-)
diff --git a/src/mlpack/core/arma_extend/Mat_extra_bones.hpp b/src/mlpack/core/arma_extend/Mat_extra_bones.hpp
index fb307fc..7823663 100644
--- a/src/mlpack/core/arma_extend/Mat_extra_bones.hpp
+++ b/src/mlpack/core/arma_extend/Mat_extra_bones.hpp
@@ -3,16 +3,17 @@
*/
/*
- * row_col_iterator for Mat<eT>. This iterator can return row and column index
+ * row_col_iterator for Mat<eT>. This iterator can return row and column index
* of the entry its pointing too. The functionality of this iterator is similar
- * to sparse matrix iterators.
+ * to sparse matrix iterators.
*/
-class row_col_iterator;
-
+class row_col_iterator;
+
class const_row_col_iterator
-{
-public:
+ {
+ public:
+
// empty constructor
inline const_row_col_iterator();
// constructs const iterator from other iterators
@@ -21,12 +22,12 @@ public:
inline const_row_col_iterator(const row_iterator& it);
// constructs iterator with given row and col index
inline const_row_col_iterator(const Mat<eT>& in_M, const uword row = 0, const uword col = 0);
-
+
/*
* Returns the value of the current position.
*/
inline arma_hot const eT& operator*() const { return *current_pos; }
-
+
/*
* Increment and decrement operators for this iterator.
*/
@@ -34,7 +35,7 @@ public:
inline arma_hot const_row_col_iterator operator++(int);
inline arma_hot const_row_col_iterator& operator--();
inline arma_hot const_row_col_iterator operator--(int);
-
+
/*
* Comparison operator with itself and other relevant iterators.
*/
@@ -43,14 +44,14 @@ public:
inline arma_hot bool operator==(const row_col_iterator& rhs) const;
inline arma_hot bool operator!=(const row_col_iterator& rhs) const;
inline arma_hot bool operator==(const const_iterator& rhs) const;
- inline arma_hot bool operator!=(const const_iterator& rhs) const;
+ inline arma_hot bool operator!=(const const_iterator& rhs) const;
inline arma_hot bool operator==(const iterator& rhs) const;
- inline arma_hot bool operator!=(const iterator& rhs) const;
+ inline arma_hot bool operator!=(const iterator& rhs) const;
inline arma_hot bool operator==(const const_row_iterator& rhs) const;
- inline arma_hot bool operator!=(const const_row_iterator& rhs) const;
+ inline arma_hot bool operator!=(const const_row_iterator& rhs) const;
inline arma_hot bool operator==(const row_iterator& rhs) const;
- inline arma_hot bool operator!=(const row_iterator& rhs) const;
-
+ inline arma_hot bool operator!=(const row_iterator& rhs) const;
+
arma_inline uword row() const { return internal_row; }
arma_inline uword col() const { return internal_col; }
@@ -60,29 +61,30 @@ public:
typedef uword difference_type; // not certain on this one
typedef const eT* pointer;
typedef const eT& reference;
-
+
arma_aligned const Mat<eT>* M;
-
+
arma_aligned const eT* current_pos;
arma_aligned uword internal_col;
arma_aligned uword internal_row;
-};
+ };
class row_col_iterator
-{
-public:
+ {
+ public:
+
// empty constructor
inline row_col_iterator();
// constructs const iterator from other iterators
inline row_col_iterator(const row_iterator& it);
// constructs iterator with given row and col index
inline row_col_iterator(Mat<eT>& in_M, const uword row = 0, const uword col = 0);
-
+
/*
* Returns the value of the current position.
*/
inline arma_hot eT& operator*() const { return *current_pos; }
-
+
/*
* Increment and decrement operators for this iterator.
*/
@@ -90,7 +92,7 @@ public:
inline arma_hot row_col_iterator operator++(int);
inline arma_hot row_col_iterator& operator--();
inline arma_hot row_col_iterator operator--(int);
-
+
/*
* Comparison operator with itself and other relevant iterators.
*/
@@ -101,12 +103,12 @@ public:
inline arma_hot bool operator==(const const_iterator& rhs) const;
inline arma_hot bool operator!=(const const_iterator& rhs) const;
inline arma_hot bool operator==(const iterator& rhs) const;
- inline arma_hot bool operator!=(const iterator& rhs) const;
+ inline arma_hot bool operator!=(const iterator& rhs) const;
inline arma_hot bool operator==(const const_row_iterator& rhs) const;
- inline arma_hot bool operator!=(const const_row_iterator& rhs) const;
+ inline arma_hot bool operator!=(const const_row_iterator& rhs) const;
inline arma_hot bool operator==(const row_iterator& rhs) const;
- inline arma_hot bool operator!=(const row_iterator& rhs) const;
-
+ inline arma_hot bool operator!=(const row_iterator& rhs) const;
+
arma_inline uword row() const { return internal_row; }
arma_inline uword col() const { return internal_col; }
@@ -116,13 +118,13 @@ public:
typedef uword difference_type; // not certain on this one
typedef const eT* pointer;
typedef const eT& reference;
-
+
arma_aligned const Mat<eT>* M;
-
+
arma_aligned eT* current_pos;
arma_aligned uword internal_col;
arma_aligned uword internal_row;
-};
+ };
/*
* Extra functions for Mat<eT>
diff --git a/src/mlpack/core/arma_extend/Mat_extra_meat.hpp b/src/mlpack/core/arma_extend/Mat_extra_meat.hpp
index 0161d05..6a9b2fa 100644
--- a/src/mlpack/core/arma_extend/Mat_extra_meat.hpp
+++ b/src/mlpack/core/arma_extend/Mat_extra_meat.hpp
@@ -6,182 +6,223 @@ template<typename eT>
inline
Mat<eT>::const_row_col_iterator::const_row_col_iterator()
: M(NULL), current_pos(NULL), internal_col(0), internal_row(0)
-{
+ {
// Technically this iterator is invalid (it may not point to a real element)
-}
+ }
+
+
template<typename eT>
inline
Mat<eT>::const_row_col_iterator::const_row_col_iterator(const row_col_iterator& it)
: M(it.M), current_pos(it.current_pos), internal_col(it.col()), internal_row(it.row())
-{
+ {
// Nothing to do.
-}
+ }
+
+
template<typename eT>
inline
Mat<eT>::const_row_col_iterator::const_row_col_iterator(const const_row_iterator& it)
: M(&it.M), current_pos(&it.M(it.row, it.col)), internal_col(it.col), internal_row(it.row)
-{
+ {
// Nothing to do.
-}
+ }
+
+
template<typename eT>
inline
Mat<eT>::const_row_col_iterator::const_row_col_iterator(const row_iterator& it)
: M(&it.M), current_pos(&it.M(it.row, it.col)), internal_col(it.col), internal_row(it.row)
-{
+ {
// Nothing to do.
-}
+ }
+
template<typename eT>
inline
Mat<eT>::const_row_col_iterator::const_row_col_iterator(const Mat<eT>& in_M, const uword row, const uword col)
: M(&in_M), current_pos(&in_M(row,col)), internal_col(col), internal_row(row)
-{
+ {
// Nothing to do.
-}
+ }
+
+
template<typename eT>
inline typename Mat<eT>::const_row_col_iterator&
Mat<eT>::const_row_col_iterator::operator++()
-{
+ {
current_pos++;
internal_row++;
// Check to see if we moved a column.
if(internal_row == M->n_rows)
- {
+ {
internal_col++;
internal_row = 0;
- }
+ }
return *this;
-}
+ }
+
+
template<typename eT>
inline typename Mat<eT>::const_row_col_iterator
Mat<eT>::const_row_col_iterator::operator++(int)
-{
+ {
typename Mat<eT>::const_row_col_iterator temp(*this);
++(*this);
return temp;
-}
+ }
+
+
template<typename eT>
inline typename Mat<eT>::const_row_col_iterator&
Mat<eT>::const_row_col_iterator::operator--()
-{
+ {
current_pos--;
internal_row--;
// Check to see if we moved a column.
if(internal_row == -1)
- {
+ {
internal_col--;
internal_row = M->n_rows - 1;
- }
+ }
return *this;
-}
+ }
+
+
template<typename eT>
inline typename Mat<eT>::const_row_col_iterator
Mat<eT>::const_row_col_iterator::operator--(int)
-{
+ {
typename Mat<eT>::const_row_col_iterator temp(*this);
--(*this);
return temp;
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::const_row_col_iterator::operator==(const const_row_col_iterator& rhs) const
-{
+ {
return (rhs.current_pos == current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::const_row_col_iterator::operator!=(const const_row_col_iterator& rhs) const
-{
+ {
return (rhs.current_pos != current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::const_row_col_iterator::operator==(const row_col_iterator& rhs) const
-{
+ {
return (rhs.current_pos == current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::const_row_col_iterator::operator!=(const row_col_iterator& rhs) const
-{
+ {
return (rhs.current_pos != current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::const_row_col_iterator::operator==(const const_iterator& rhs) const
-{
+ {
return (rhs == current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::const_row_col_iterator::operator!=(const const_iterator& rhs) const
-{
+ {
return (rhs != current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::const_row_col_iterator::operator==(const iterator& rhs) const
-{
+ {
return (rhs == current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::const_row_col_iterator::operator!=(const iterator& rhs) const
-{
+ {
return (rhs != current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::const_row_col_iterator::operator==(const const_row_iterator& rhs) const
-{
+ {
return (&rhs.M(rhs.row, rhs.col) == current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::const_row_col_iterator::operator!=(const const_row_iterator& rhs) const
-{
+ {
return (&rhs.M(rhs.row, rhs.col) != current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::const_row_col_iterator::operator==(const row_iterator& rhs) const
-{
+ {
return (&rhs.M(rhs.row, rhs.col) == current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::const_row_col_iterator::operator!=(const row_iterator& rhs) const
-{
+ {
return (&rhs.M(rhs.row, rhs.col) != current_pos);
-}
+ }
+
+
///////////////////////////////////////////////////////////////////////////////
// Mat::row_col_iterator implementation //
@@ -191,166 +232,202 @@ template<typename eT>
inline
Mat<eT>::row_col_iterator::row_col_iterator()
: M(NULL), current_pos(NULL), internal_col(0), internal_row(0)
-{
+ {
// Technically this iterator is invalid (it may not point to a real element)
-}
+ }
+
+
template<typename eT>
inline
Mat<eT>::row_col_iterator::row_col_iterator(const row_iterator& it)
: M(&it.M), current_pos(&it.M(it.row, it.col)), internal_col(it.col), internal_row(it.row)
-{
+ {
// Nothing to do.
-}
+ }
+
template<typename eT>
inline
Mat<eT>::row_col_iterator::row_col_iterator(Mat<eT>& in_M, const uword row, const uword col)
: M(&in_M), current_pos(&in_M(row,col)), internal_col(col), internal_row(row)
-{
+ {
// Nothing to do.
-}
+ }
+
+
template<typename eT>
inline typename Mat<eT>::row_col_iterator&
Mat<eT>::row_col_iterator::operator++()
-{
+ {
current_pos++;
internal_row++;
// Check to see if we moved a column.
if(internal_row == M->n_rows)
- {
+ {
internal_col++;
internal_row = 0;
- }
+ }
return *this;
-}
+ }
+
+
template<typename eT>
inline typename Mat<eT>::row_col_iterator
Mat<eT>::row_col_iterator::operator++(int)
-{
+ {
typename Mat<eT>::row_col_iterator temp(*this);
++(*this);
return temp;
-}
+ }
+
+
template<typename eT>
inline typename Mat<eT>::row_col_iterator&
Mat<eT>::row_col_iterator::operator--()
-{
+ {
current_pos--;
internal_row--;
// Check to see if we moved a column.
if(internal_row == -1)
- {
+ {
internal_col--;
internal_row = M->n_rows - 1;
- }
+ }
return *this;
-}
+ }
+
+
template<typename eT>
inline typename Mat<eT>::row_col_iterator
Mat<eT>::row_col_iterator::operator--(int)
-{
+ {
typename Mat<eT>::row_col_iterator temp(*this);
--(*this);
return temp;
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::row_col_iterator::operator==(const const_row_col_iterator& rhs) const
-{
+ {
return (rhs.current_pos == current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::row_col_iterator::operator!=(const const_row_col_iterator& rhs) const
-{
+ {
return (rhs.current_pos != current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::row_col_iterator::operator==(const row_col_iterator& rhs) const
-{
+ {
return (rhs.current_pos == current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::row_col_iterator::operator!=(const row_col_iterator& rhs) const
-{
+ {
return (rhs.current_pos != current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::row_col_iterator::operator==(const const_iterator& rhs) const
-{
+ {
return (rhs == current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::row_col_iterator::operator!=(const const_iterator& rhs) const
-{
+ {
return (rhs != current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::row_col_iterator::operator==(const iterator& rhs) const
-{
+ {
return (rhs == current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::row_col_iterator::operator!=(const iterator& rhs) const
-{
+ {
return (rhs != current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::row_col_iterator::operator==(const const_row_iterator& rhs) const
-{
+ {
return (&rhs.M(rhs.row, rhs.col) == current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::row_col_iterator::operator!=(const const_row_iterator& rhs) const
-{
+ {
return (&rhs.M(rhs.row, rhs.col) != current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::row_col_iterator::operator==(const row_iterator& rhs) const
-{
+ {
return (&rhs.M(rhs.row, rhs.col) == current_pos);
-}
+ }
+
+
template<typename eT>
inline bool
Mat<eT>::row_col_iterator::operator!=(const row_iterator& rhs) const
-{
+ {
return (&rhs.M(rhs.row, rhs.col) != current_pos);
-}
+ }
+
///////////////////////////////////////////////////////////////////////////////
@@ -360,27 +437,33 @@ Mat<eT>::row_col_iterator::operator!=(const row_iterator& rhs) const
template<typename eT>
inline typename Mat<eT>::const_row_col_iterator
Mat<eT>::begin_row_col() const
-{
+ {
return const_row_col_iterator(*this);
-}
+ }
+
+
template<typename eT>
inline typename Mat<eT>::row_col_iterator
Mat<eT>::begin_row_col()
-{
+ {
return row_col_iterator(*this);
-}
+ }
+
+
template<typename eT>
inline typename Mat<eT>::const_row_col_iterator
Mat<eT>::end_row_col() const
-{
+ {
return ++const_row_col_iterator(*this, n_rows - 1, n_cols - 1);
-}
+ }
+
+
template<typename eT>
inline typename Mat<eT>::row_col_iterator
Mat<eT>::end_row_col()
-{
+ {
return ++row_col_iterator(*this, n_rows - 1, n_cols - 1);
-}
+ }
diff --git a/src/mlpack/core/arma_extend/SpMat_extra_meat.hpp b/src/mlpack/core/arma_extend/SpMat_extra_meat.hpp
index 7c5558e..e8b0413 100644
--- a/src/mlpack/core/arma_extend/SpMat_extra_meat.hpp
+++ b/src/mlpack/core/arma_extend/SpMat_extra_meat.hpp
@@ -251,26 +251,32 @@ SpMat<eT>::SpMat(const Base<uword,T1>& locations_expr, const Base<eT,T2>& vals_e
#endif
template<typename eT>
-inline typename SpMat<eT>::const_row_col_iterator
+inline typename SpMat<eT>::const_row_col_iterator
SpMat<eT>::begin_row_col() const
{
return begin();
}
-
+
+
+
template<typename eT>
inline typename SpMat<eT>::row_col_iterator
SpMat<eT>::begin_row_col()
{
return begin();
}
-
+
+
+
template<typename eT>
inline typename SpMat<eT>::const_row_col_iterator
SpMat<eT>::end_row_col() const
{
return end();
}
-
+
+
+
template<typename eT>
inline typename SpMat<eT>::row_col_iterator
SpMat<eT>::end_row_col()
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/mlpack.git
More information about the debian-science-commits
mailing list