aboutsummaryrefslogtreecommitdiff
path: root/Eigen/src/SparseCore/CompressedStorage.h
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-05-09 06:17:37 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-05-09 06:17:37 +0000
commit17cf45fd4714f527640b173b4c23d1c908a5b69b (patch)
treefb979fb4cf4f8052c8cc66b1ec9516d91fcd859b /Eigen/src/SparseCore/CompressedStorage.h
parent9a4d367f14296b38869c714dc4cd1f32882415ed (diff)
parentbc0f5df265caa21a2120c22453655a7fcc941991 (diff)
downloadeigen-17cf45fd4714f527640b173b4c23d1c908a5b69b.tar.gz
Snap for 8558685 from bc0f5df265caa21a2120c22453655a7fcc941991 to tm-frc-networking-releaset_frc_net_330443000android13-frc-networking-release
Change-Id: I8436cb274b8e567a30e0b250bdbe1b44d954c499
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;