mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-05-19 16:17:38 +08:00
Fix prunning in (sparse*sparse).pruned() when the result is nearly dense.
This commit is contained in:
parent
0256c52359
commit
a1ff24f96a
@ -336,7 +336,7 @@ class AmbiVector<_Scalar,_StorageIndex>::Iterator
|
|||||||
{
|
{
|
||||||
do {
|
do {
|
||||||
++m_cachedIndex;
|
++m_cachedIndex;
|
||||||
} while (m_cachedIndex<m_vector.m_end && abs(m_vector.m_buffer[m_cachedIndex])<m_epsilon);
|
} while (m_cachedIndex<m_vector.m_end && abs(m_vector.m_buffer[m_cachedIndex])<=m_epsilon);
|
||||||
if (m_cachedIndex<m_vector.m_end)
|
if (m_cachedIndex<m_vector.m_end)
|
||||||
m_cachedValue = m_vector.m_buffer[m_cachedIndex];
|
m_cachedValue = m_vector.m_buffer[m_cachedIndex];
|
||||||
else
|
else
|
||||||
@ -347,7 +347,7 @@ class AmbiVector<_Scalar,_StorageIndex>::Iterator
|
|||||||
ListEl* EIGEN_RESTRICT llElements = reinterpret_cast<ListEl*>(m_vector.m_buffer);
|
ListEl* EIGEN_RESTRICT llElements = reinterpret_cast<ListEl*>(m_vector.m_buffer);
|
||||||
do {
|
do {
|
||||||
m_currentEl = llElements[m_currentEl].next;
|
m_currentEl = llElements[m_currentEl].next;
|
||||||
} while (m_currentEl>=0 && abs(llElements[m_currentEl].value)<m_epsilon);
|
} while (m_currentEl>=0 && abs(llElements[m_currentEl].value)<=m_epsilon);
|
||||||
if (m_currentEl<0)
|
if (m_currentEl<0)
|
||||||
{
|
{
|
||||||
m_cachedIndex = -1;
|
m_cachedIndex = -1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user