@@ -31,21 +31,11 @@ using Eigen::Array;
3131using Eigen::Vector;
3232using Eigen::Dynamic;
3333
34- // ! unique values in Eigen::Vector
34+ // ! unique values
35+ // ! in Eigen::Vector or nx1 Eigen::Array
3536template <typename T>
36- [[nodiscard,maybe_unused]] static Vector<T, Dynamic> unique ( Vector<T,Dynamic> u)
37- {
38- std::sort ( u.begin (), u.end () );
39- // remove consecutive (adjacent) duplicates:
40- const auto last = std::unique ( u.begin (), u.end () );
41- const auto n = std::distance ( u.begin (), last);
42- return u.head (n);
43- }
44-
45-
46- // ! unique values in nx1 Eigen::Array
47- template <typename T>
48- [[nodiscard,maybe_unused]] static Array<T, Dynamic,1 > unique ( Array<T,Dynamic,1 > u)
37+ [[nodiscard,maybe_unused]] static T
38+ unique (T u)
4939{
5040 std::sort ( u.begin (), u.end () );
5141 // remove consecutive (adjacent) duplicates:
@@ -57,7 +47,8 @@ template <typename T>
5747
5848// ! unique values in std::vector
5949template <typename T>
60- [[nodiscard,maybe_unused]] static std::vector<T> unique ( std::vector<T> u)
50+ [[nodiscard,maybe_unused]] static std::vector<T>
51+ unique ( std::vector<T> u)
6152{
6253 std::sort ( u.begin (), u.end () );
6354 // remove consecutive (adjacent) duplicates:
0 commit comments