aboutsummaryrefslogtreecommitdiff
path: root/Eigen/src/SparseCore/CompressedStorage.h
diff options
context:
space:
mode:
authorYi Kong <yikong@google.com>2022-02-25 15:25:03 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2022-02-25 15:25:03 +0000
commit79df15ea886a5fc1b85de433f9b3518c68934bae (patch)
treefb979fb4cf4f8052c8cc66b1ec9516d91fcd859b /Eigen/src/SparseCore/CompressedStorage.h
parentca5aa72016f062fd0712bcb86370478de332bca3 (diff)
parent12ea3a4d62567971576a37d196fde0824f7f0ec9 (diff)
downloadeigen-79df15ea886a5fc1b85de433f9b3518c68934bae.tar.gz
Merge changes Iee153445,Iee274471
* changes: Fix Wunused-parameter warning Upgrade eigen to 3.4.0
Diffstat (limited to 'Eigen/src/SparseCore/CompressedStorage.h')
-rw-r--r--Eigen/src/SparseCore/CompressedStorage.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/Eigen/src/SparseCore/CompressedStorage.h b/Eigen/src/SparseCore/CompressedStorage.h
index d89fa0dae..acd986fab 100644
--- a/Eigen/src/SparseCore/CompressedStorage.h
+++ b/Eigen/src/SparseCore/CompressedStorage.h
@@ -207,6 +207,22 @@ class CompressedStorage
return m_values[id];
}
+ void moveChunk(Index from, Index to, Index chunkSize)
+ {
+ eigen_internal_assert(to+chunkSize <= m_size);
+ if(to>from && from+chunkSize>to)
+ {
+ // move backward
+ internal::smart_memmove(m_values+from, m_values+from+chunkSize, m_values+to);
+ internal::smart_memmove(m_indices+from, m_indices+from+chunkSize, m_indices+to);
+ }
+ else
+ {
+ internal::smart_copy(m_values+from, m_values+from+chunkSize, m_values+to);
+ internal::smart_copy(m_indices+from, m_indices+from+chunkSize, m_indices+to);
+ }
+ }
+
void prune(const Scalar& reference, const RealScalar& epsilon = NumTraits<RealScalar>::dummy_precision())
{
Index k = 0;