diff --git a/include/armadillo_bits/SpSubview_meat.hpp b/include/armadillo_bits/SpSubview_meat.hpp index 845fa2a2..22b06c69 100644 --- a/include/armadillo_bits/SpSubview_meat.hpp +++ b/include/armadillo_bits/SpSubview_meat.hpp @@ -681,6 +681,8 @@ SpSubview::for_each(functor F) m.sync_csc(); m.invalidate_cache(); + if(n_nonzero == 0) { return; } + const uword lstart_row = aux_row1; const uword lend_row = aux_row1 + n_rows; @@ -737,6 +739,8 @@ SpSubview::for_each(functor F) const m.sync_csc(); + if(n_nonzero == 0) { return; } + const uword lstart_row = aux_row1; const uword lend_row = aux_row1 + n_rows; @@ -776,6 +780,8 @@ SpSubview::transform(functor F) m.sync_csc(); m.invalidate_cache(); + if(n_nonzero == 0) { return; } + const uword lstart_row = aux_row1; const uword lend_row = aux_row1 + n_rows; @@ -846,6 +852,8 @@ SpSubview::replace(const eT old_val, const eT new_val) m.sync_csc(); m.invalidate_cache(); + if(n_nonzero == 0) { return; } + const uword lstart_row = aux_row1; const uword lend_row = aux_row1 + n_rows;