From 9d6480041b065a7ce4a6c8b4b70fafe8ae9bd0f2 Mon Sep 17 00:00:00 2001 From: idgitid <37839459+idgitid@users.noreply.github.com> Date: Fri, 15 Jun 2018 13:42:32 +0300 Subject: [PATCH] Update sparse_matrix_operations.hpp segfaults when mat.size1() is exact multiple of mat.rows_per_block() --- viennacl/linalg/host_based/sparse_matrix_operations.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/viennacl/linalg/host_based/sparse_matrix_operations.hpp b/viennacl/linalg/host_based/sparse_matrix_operations.hpp index 3cb738d14..6cfc1ea89 100644 --- a/viennacl/linalg/host_based/sparse_matrix_operations.hpp +++ b/viennacl/linalg/host_based/sparse_matrix_operations.hpp @@ -1807,7 +1807,7 @@ void prod_impl(const viennacl::sliced_ell_matrix & mat, IndexT const * column_indices = detail::extract_raw_pointer(mat.handle2()); IndexT const * block_start = detail::extract_raw_pointer(mat.handle3()); - vcl_size_t num_blocks = mat.size1() / mat.rows_per_block() + 1; + vcl_size_t num_blocks = (mat.size1() - 1) / mat.rows_per_block() + 1; #ifdef VIENNACL_WITH_OPENMP #pragma omp parallel for