From ee244d54f434a889cbd266b5da3e65ebc4e4960c Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Sun, 14 Jul 2013 11:56:08 +0200 Subject: [PATCH] SparseVector::assign: it is not always possible to reserve according to given non-zeros. --- Eigen/src/SparseCore/SparseVector.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Eigen/src/SparseCore/SparseVector.h b/Eigen/src/SparseCore/SparseVector.h index 869556176..6e7235007 100644 --- a/Eigen/src/SparseCore/SparseVector.h +++ b/Eigen/src/SparseCore/SparseVector.h @@ -56,7 +56,7 @@ enum { template< typename Dest, typename Src, int AssignmentKind = !bool(Src::IsVectorAtCompileTime) ? SVA_RuntimeSwitch : (((Src::Flags&RowMajorBit)==RowMajorBit) && (Src::RowsAtCompileTime==1)) - || (((Src::Flags&RowMajorBit)==0) && (Src::ColsAtCompileTime==1)) ? SVA_Inner + || ((((Src::Flags&RowMajorBit)==0) && (Src::ColsAtCompileTime==1))) ? SVA_Inner : SVA_Outer> struct sparse_vector_assign_selector; @@ -257,7 +257,6 @@ class SparseVector inline SparseVector& operator=(const SparseMatrixBase& other) { SparseVector tmp(other.size()); - tmp.reserve(other.nonZeros()); internal::sparse_vector_assign_selector::run(tmp,other.derived()); this->swap(tmp); return *this;