Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 9bb967de authored by hhakim's avatar hhakim
Browse files

Add a minor sanity assert in row_nonzero_inds.

parent 4f9ec905
Branches
Tags
No related merge requests found
...@@ -1070,10 +1070,13 @@ template<typename FPP> ...@@ -1070,10 +1070,13 @@ template<typename FPP>
std::vector<int> Faust::MatSparse<FPP, Cpu>::col_nonzero_inds(faust_unsigned_int col_id) const std::vector<int> Faust::MatSparse<FPP, Cpu>::col_nonzero_inds(faust_unsigned_int col_id) const
{ {
std::vector<int> ids; std::vector<int> ids;
// if col_id isn't in good range it does nothing (harmless)
for (int i=0; i < mat.outerSize(); i++) for (int i=0; i < mat.outerSize(); i++)
for (typename Eigen::SparseMatrix<FPP,Eigen::RowMajor>::InnerIterator it(mat,i); it; ++it) for (typename Eigen::SparseMatrix<FPP,Eigen::RowMajor>::InnerIterator it(mat,i); it; ++it)
if(it.col() == col_id) if(it.col() == col_id)
{
ids.push_back(it.row()); ids.push_back(it.row());
}
return ids; return ids;
} }
...@@ -1081,8 +1084,11 @@ template<typename FPP> ...@@ -1081,8 +1084,11 @@ template<typename FPP>
std::vector<int> Faust::MatSparse<FPP, Cpu>::row_nonzero_inds(faust_unsigned_int row_id) const std::vector<int> Faust::MatSparse<FPP, Cpu>::row_nonzero_inds(faust_unsigned_int row_id) const
{ {
std::vector<int> ids; std::vector<int> ids;
assert(row_id >= 0 && row_id < this->dim1);
for (typename Eigen::SparseMatrix<FPP,Eigen::RowMajor>::InnerIterator it(mat,row_id); it; ++it) for (typename Eigen::SparseMatrix<FPP,Eigen::RowMajor>::InnerIterator it(mat,row_id); it; ++it)
{
ids.push_back(it.col()); ids.push_back(it.col());
}
return ids; return ids;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment