From 0d9e77c673d1b5e30b15dc8d9be40677d224e989 Mon Sep 17 00:00:00 2001 From: Michael Stevens Date: Tue, 3 May 2005 06:19:49 +0000 Subject: [PATCH] FIX compress storage_invariants and reserve bug thanks to Max and Gunter [SVN r28624] --- include/boost/numeric/ublas/matrix_sparse.hpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/include/boost/numeric/ublas/matrix_sparse.hpp b/include/boost/numeric/ublas/matrix_sparse.hpp index 52b4ef76..84969ee2 100644 --- a/include/boost/numeric/ublas/matrix_sparse.hpp +++ b/include/boost/numeric/ublas/matrix_sparse.hpp @@ -2668,7 +2668,6 @@ namespace boost { namespace numeric { namespace ublas { if (preserve) { index2_data_.resize (capacity_, size_type ()); value_data_.resize (capacity_, value_type ()); - filled1_ = (std::min) (capacity_ + 1, filled1_); filled2_ = (std::min) (capacity_, filled2_); } else { @@ -3774,7 +3773,7 @@ namespace boost { namespace numeric { namespace ublas { BOOST_UBLAS_CHECK (layout_type::size1 (size1_, size2_) + 1 == index1_data_.size (), internal_logic ()); BOOST_UBLAS_CHECK (capacity_ == index2_data_.size (), internal_logic ()); BOOST_UBLAS_CHECK (capacity_ == value_data_.size (), internal_logic ()); - BOOST_UBLAS_CHECK (filled1_ > 0 && filled1_ <= capacity_ + 1, internal_logic ()); + BOOST_UBLAS_CHECK (filled1_ > 0 && filled1_ <= layout_type::size1 (size1_, size2_), internal_logic ()); BOOST_UBLAS_CHECK (filled2_ <= capacity_, internal_logic ()); BOOST_UBLAS_CHECK (index1_data_ [filled1_ - 1] == k_based (filled2_), internal_logic ()); }