[mlpack-svn] r10737 - mlpack/trunk/src/mlpack/core/arma_extend/sparse
fastlab-svn at coffeetalk-1.cc.gatech.edu
fastlab-svn at coffeetalk-1.cc.gatech.edu
Tue Dec 13 02:23:09 EST 2011
Author: rcurtin
Date: 2011-12-13 02:23:09 -0500 (Tue, 13 Dec 2011)
New Revision: 10737
Modified:
mlpack/trunk/src/mlpack/core/arma_extend/sparse/SpMat_meat.hpp
mlpack/trunk/src/mlpack/core/arma_extend/sparse/SpValProxy_bones.hpp
mlpack/trunk/src/mlpack/core/arma_extend/sparse/SpValProxy_meat.hpp
Log:
Simpler swap_cols() and SpValProxy::operator=(SpValProxy&) to make it work.
Modified: mlpack/trunk/src/mlpack/core/arma_extend/sparse/SpMat_meat.hpp
===================================================================
--- mlpack/trunk/src/mlpack/core/arma_extend/sparse/SpMat_meat.hpp 2011-12-12 23:06:18 UTC (rev 10736)
+++ mlpack/trunk/src/mlpack/core/arma_extend/sparse/SpMat_meat.hpp 2011-12-13 07:23:09 UTC (rev 10737)
@@ -4463,6 +4463,8 @@
col_ptrs[col] += col_ptrs[col - 1];
}
+ access::rw(n_nonzero) = col_ptrs[n_cols];
+
return *this;
}
@@ -4522,6 +4524,8 @@
col_ptrs[col] += col_ptrs[col - 1];
}
+ access::rw(n_nonzero) = col_ptrs[n_cols];
+
return *this;
}
@@ -4935,6 +4939,14 @@
{
arma_extra_debug_sigprint();
+ // slow but works
+ for(uword row = 0; row < n_rows; ++row)
+ {
+ eT tmp = at(row, in_col1);
+ at(row, in_col1) = at(row, in_col2);
+ at(row, in_col2) = tmp;
+ }
+/*
arma_debug_check
(
(in_col1 > in_col2) || (in_col2 >= n_cols),
@@ -5040,7 +5052,7 @@
}
}
-
+*/
}
/**
Modified: mlpack/trunk/src/mlpack/core/arma_extend/sparse/SpValProxy_bones.hpp
===================================================================
--- mlpack/trunk/src/mlpack/core/arma_extend/sparse/SpValProxy_bones.hpp 2011-12-12 23:06:18 UTC (rev 10736)
+++ mlpack/trunk/src/mlpack/core/arma_extend/sparse/SpValProxy_bones.hpp 2011-12-13 07:23:09 UTC (rev 10737)
@@ -29,6 +29,9 @@
*/
SpValProxy(uword row, uword col, SpMat<eT>& in_parent, eT* in_val_ptr = NULL);
+ //! For swapping operations.
+ arma_inline SpValProxy& operator=(const SpValProxy& rhs);
+
//! Overload all of the potential operators.
//! First, the ones that could modify a value.
Modified: mlpack/trunk/src/mlpack/core/arma_extend/sparse/SpValProxy_meat.hpp
===================================================================
--- mlpack/trunk/src/mlpack/core/arma_extend/sparse/SpValProxy_meat.hpp 2011-12-12 23:06:18 UTC (rev 10736)
+++ mlpack/trunk/src/mlpack/core/arma_extend/sparse/SpValProxy_meat.hpp 2011-12-13 07:23:09 UTC (rev 10737)
@@ -26,6 +26,14 @@
template<typename eT>
arma_inline
SpValProxy<eT>&
+SpValProxy<eT>::operator=(const SpValProxy<eT>& rhs)
+ {
+ return (*this).operator=(eT(rhs));
+ }
+
+template<typename eT>
+arma_inline
+SpValProxy<eT>&
SpValProxy<eT>::operator=(const eT rhs)
{
if (rhs != 0) // A nonzero element is being assigned.
More information about the mlpack-svn
mailing list