From 179575764a55b08401c83d0d29dc1dfb0b68f261 Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Sat, 11 Feb 2023 15:54:28 -0800 Subject: [PATCH 1/4] Reverted ill-advised quick fix for concepts - now no-op. --- gtsam/base/concepts.h | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/gtsam/base/concepts.h b/gtsam/base/concepts.h index 1649105cac..5159d6f9b6 100644 --- a/gtsam/base/concepts.h +++ b/gtsam/base/concepts.h @@ -14,21 +14,12 @@ #include #include #define GTSAM_CONCEPT_ASSERT(concept) BOOST_CONCEPT_ASSERT((concept)) -#define GTSAM_CONCEPT_ASSERT1(concept) BOOST_CONCEPT_ASSERT((concept)) -#define GTSAM_CONCEPT_ASSERT2(concept) BOOST_CONCEPT_ASSERT((concept)) -#define GTSAM_CONCEPT_ASSERT3(concept) BOOST_CONCEPT_ASSERT((concept)) -#define GTSAM_CONCEPT_ASSERT4(concept) BOOST_CONCEPT_ASSERT((concept)) #define GTSAM_CONCEPT_REQUIRES(concept, return_type) BOOST_CONCEPT_REQUIRES(((concept)), (return_type)) #else -// These do something sensible: +// This does something sensible: #define BOOST_CONCEPT_USAGE(concept) void check##concept() -// TODO(dellaert): would be nice if it was a single macro... -#define GTSAM_CONCEPT_ASSERT(concept) concept checkConcept [[maybe_unused]] -#define GTSAM_CONCEPT_ASSERT1(concept) concept checkConcept1 [[maybe_unused]] -#define GTSAM_CONCEPT_ASSERT2(concept) concept checkConcept2 [[maybe_unused]] -#define GTSAM_CONCEPT_ASSERT3(concept) concept checkConcept3 [[maybe_unused]] -#define GTSAM_CONCEPT_ASSERT4(concept) concept checkConcept4 [[maybe_unused]] -// This one just ignores concept for now: +// These just ignore the concept checking for now: +#define GTSAM_CONCEPT_ASSERT(concept) #define GTSAM_CONCEPT_REQUIRES(concept, return_type) return_type #endif From c647257ffd5bb66fef73e747cd3f74fbe4c3b3dd Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Sat, 11 Feb 2023 17:17:18 -0800 Subject: [PATCH 2/4] Replaced numbered GTSAM_CONCEPT_ASSERT# with GTSAM_CONCEPT_ASSERT --- gtsam/base/Group.h | 8 ++++---- gtsam/base/ProductLieGroup.h | 4 ++-- gtsam/base/tests/testMatrix.cpp | 4 ++-- gtsam/base/tests/testVector.cpp | 4 ++-- gtsam/geometry/tests/testCyclic.cpp | 4 ++-- gtsam/geometry/tests/testPoint2.cpp | 12 ++++++------ gtsam/geometry/tests/testPoint3.cpp | 6 +++--- gtsam/geometry/tests/testPose2.cpp | 6 +++--- gtsam/geometry/tests/testQuaternion.cpp | 6 +++--- gtsam/geometry/tests/testRot3.cpp | 6 +++--- gtsam/geometry/tests/testSO3.cpp | 6 +++--- gtsam/geometry/tests/testSO4.cpp | 6 +++--- gtsam/geometry/tests/testSOn.cpp | 6 +++--- gtsam/geometry/tests/testSimilarity2.cpp | 6 +++--- gtsam/geometry/tests/testSimilarity3.cpp | 6 +++--- gtsam/geometry/tests/testStereoPoint2.cpp | 6 +++--- gtsam/nonlinear/ExtendedKalmanFilter.h | 4 ++-- gtsam/slam/BetweenFactor.h | 4 ++-- tests/testLie.cpp | 6 +++--- tests/testManifold.cpp | 24 +++++++++++------------ 20 files changed, 67 insertions(+), 67 deletions(-) diff --git a/gtsam/base/Group.h b/gtsam/base/Group.h index 3430a06ae5..e76a273da5 100644 --- a/gtsam/base/Group.h +++ b/gtsam/base/Group.h @@ -139,8 +139,8 @@ compose_pow(const G& g, size_t n) { /// Assumes nothing except group structure and Testable from G and H template class DirectProduct: public std::pair { - GTSAM_CONCEPT_ASSERT1(IsGroup); - GTSAM_CONCEPT_ASSERT2(IsGroup); + GTSAM_CONCEPT_ASSERT(IsGroup); + GTSAM_CONCEPT_ASSERT(IsGroup); public: /// Default constructor yields identity @@ -170,8 +170,8 @@ struct traits > : /// Assumes existence of three additive operators for both groups template class DirectSum: public std::pair { - GTSAM_CONCEPT_ASSERT1(IsGroup); // TODO(frank): check additive - GTSAM_CONCEPT_ASSERT2(IsGroup); // TODO(frank): check additive + GTSAM_CONCEPT_ASSERT(IsGroup); // TODO(frank): check additive + GTSAM_CONCEPT_ASSERT(IsGroup); // TODO(frank): check additive const G& g() const { return this->first; } const H& h() const { return this->second;} diff --git a/gtsam/base/ProductLieGroup.h b/gtsam/base/ProductLieGroup.h index a8bb2ef980..beb376c199 100644 --- a/gtsam/base/ProductLieGroup.h +++ b/gtsam/base/ProductLieGroup.h @@ -27,8 +27,8 @@ namespace gtsam { /// Assumes Lie group structure for G and H template class ProductLieGroup: public std::pair { - GTSAM_CONCEPT_ASSERT1(IsLieGroup); - GTSAM_CONCEPT_ASSERT2(IsLieGroup); + GTSAM_CONCEPT_ASSERT(IsLieGroup); + GTSAM_CONCEPT_ASSERT(IsLieGroup); typedef std::pair Base; protected: diff --git a/gtsam/base/tests/testMatrix.cpp b/gtsam/base/tests/testMatrix.cpp index a000e4864a..8f9d2bca69 100644 --- a/gtsam/base/tests/testMatrix.cpp +++ b/gtsam/base/tests/testMatrix.cpp @@ -1165,8 +1165,8 @@ TEST(Matrix, VectorIsVectorSpace) { TEST(Matrix, RowVectorIsVectorSpace) { typedef Eigen::Matrix RowVector; - GTSAM_CONCEPT_ASSERT1(IsVectorSpace); - GTSAM_CONCEPT_ASSERT2(IsVectorSpace); + GTSAM_CONCEPT_ASSERT(IsVectorSpace); + GTSAM_CONCEPT_ASSERT(IsVectorSpace); } //****************************************************************************** diff --git a/gtsam/base/tests/testVector.cpp b/gtsam/base/tests/testVector.cpp index c749a5191c..ca96bc73d1 100644 --- a/gtsam/base/tests/testVector.cpp +++ b/gtsam/base/tests/testVector.cpp @@ -267,8 +267,8 @@ TEST(Vector, linear_dependent3 ) //****************************************************************************** TEST(Vector, VectorIsVectorSpace) { - GTSAM_CONCEPT_ASSERT1(IsVectorSpace); - GTSAM_CONCEPT_ASSERT2(IsVectorSpace); + GTSAM_CONCEPT_ASSERT(IsVectorSpace); + GTSAM_CONCEPT_ASSERT(IsVectorSpace); } TEST(Vector, RowVectorIsVectorSpace) { diff --git a/gtsam/geometry/tests/testCyclic.cpp b/gtsam/geometry/tests/testCyclic.cpp index e2b250f500..b0e0ca0b11 100644 --- a/gtsam/geometry/tests/testCyclic.cpp +++ b/gtsam/geometry/tests/testCyclic.cpp @@ -107,8 +107,8 @@ struct traits : internal::AdditiveGroupTraits { TEST(Cyclic , DirectSum) { // The Direct sum of Z2 and Z2 is *not* Cyclic<4>, but the // smallest non-cyclic group called the Klein four-group: - GTSAM_CONCEPT_ASSERT1(IsGroup); - GTSAM_CONCEPT_ASSERT2(IsTestable); + GTSAM_CONCEPT_ASSERT(IsGroup); + GTSAM_CONCEPT_ASSERT(IsTestable); // Refer to http://en.wikipedia.org/wiki/Klein_four-group K4 e(0,0), a(0, 1), b(1, 0), c(1, 1); diff --git a/gtsam/geometry/tests/testPoint2.cpp b/gtsam/geometry/tests/testPoint2.cpp index 4083970b6f..e8bbfe0e1d 100644 --- a/gtsam/geometry/tests/testPoint2.cpp +++ b/gtsam/geometry/tests/testPoint2.cpp @@ -34,9 +34,9 @@ TEST(Point2 , Constructor) { //****************************************************************************** TEST(Double , Concept) { - GTSAM_CONCEPT_ASSERT1(IsGroup); - GTSAM_CONCEPT_ASSERT2(IsManifold); - GTSAM_CONCEPT_ASSERT3(IsVectorSpace); + GTSAM_CONCEPT_ASSERT(IsGroup); + GTSAM_CONCEPT_ASSERT(IsManifold); + GTSAM_CONCEPT_ASSERT(IsVectorSpace); } //****************************************************************************** @@ -48,9 +48,9 @@ TEST(Double , Invariants) { //****************************************************************************** TEST(Point2 , Concept) { - GTSAM_CONCEPT_ASSERT1(IsGroup); - GTSAM_CONCEPT_ASSERT2(IsManifold); - GTSAM_CONCEPT_ASSERT3(IsVectorSpace); + GTSAM_CONCEPT_ASSERT(IsGroup); + GTSAM_CONCEPT_ASSERT(IsManifold); + GTSAM_CONCEPT_ASSERT(IsVectorSpace); } //****************************************************************************** diff --git a/gtsam/geometry/tests/testPoint3.cpp b/gtsam/geometry/tests/testPoint3.cpp index e4263ffd71..dcfb99105a 100644 --- a/gtsam/geometry/tests/testPoint3.cpp +++ b/gtsam/geometry/tests/testPoint3.cpp @@ -34,9 +34,9 @@ TEST(Point3 , Constructor) { //****************************************************************************** TEST(Point3 , Concept) { - GTSAM_CONCEPT_ASSERT1(IsGroup); - GTSAM_CONCEPT_ASSERT2(IsManifold); - GTSAM_CONCEPT_ASSERT3(IsVectorSpace); + GTSAM_CONCEPT_ASSERT(IsGroup); + GTSAM_CONCEPT_ASSERT(IsManifold); + GTSAM_CONCEPT_ASSERT(IsVectorSpace); } //****************************************************************************** diff --git a/gtsam/geometry/tests/testPose2.cpp b/gtsam/geometry/tests/testPose2.cpp index 3985f6ba5f..8c1bdccc06 100644 --- a/gtsam/geometry/tests/testPose2.cpp +++ b/gtsam/geometry/tests/testPose2.cpp @@ -35,9 +35,9 @@ GTSAM_CONCEPT_LIE_INST(Pose2) //****************************************************************************** TEST(Pose2 , Concept) { - GTSAM_CONCEPT_ASSERT1(IsGroup); - GTSAM_CONCEPT_ASSERT2(IsManifold); - GTSAM_CONCEPT_ASSERT3(IsLieGroup); + GTSAM_CONCEPT_ASSERT(IsGroup); + GTSAM_CONCEPT_ASSERT(IsManifold); + GTSAM_CONCEPT_ASSERT(IsLieGroup); } /* ************************************************************************* */ diff --git a/gtsam/geometry/tests/testQuaternion.cpp b/gtsam/geometry/tests/testQuaternion.cpp index 546a1f5b54..c99c67e0fb 100644 --- a/gtsam/geometry/tests/testQuaternion.cpp +++ b/gtsam/geometry/tests/testQuaternion.cpp @@ -29,9 +29,9 @@ typedef traits::ChartJacobian QuaternionJacobian; //****************************************************************************** TEST(Quaternion , Concept) { - GTSAM_CONCEPT_ASSERT1(IsGroup); - GTSAM_CONCEPT_ASSERT2(IsManifold); - GTSAM_CONCEPT_ASSERT3(IsLieGroup); + GTSAM_CONCEPT_ASSERT(IsGroup); + GTSAM_CONCEPT_ASSERT(IsManifold); + GTSAM_CONCEPT_ASSERT(IsLieGroup); } //****************************************************************************** diff --git a/gtsam/geometry/tests/testRot3.cpp b/gtsam/geometry/tests/testRot3.cpp index 39cc05fde4..49b9785679 100644 --- a/gtsam/geometry/tests/testRot3.cpp +++ b/gtsam/geometry/tests/testRot3.cpp @@ -38,9 +38,9 @@ static double error = 1e-9, epsilon = 0.001; //****************************************************************************** TEST(Rot3 , Concept) { - GTSAM_CONCEPT_ASSERT1(IsGroup); - GTSAM_CONCEPT_ASSERT2(IsManifold); - GTSAM_CONCEPT_ASSERT3(IsLieGroup); + GTSAM_CONCEPT_ASSERT(IsGroup); + GTSAM_CONCEPT_ASSERT(IsManifold); + GTSAM_CONCEPT_ASSERT(IsLieGroup); } /* ************************************************************************* */ diff --git a/gtsam/geometry/tests/testSO3.cpp b/gtsam/geometry/tests/testSO3.cpp index 2086318cbc..27c143d315 100644 --- a/gtsam/geometry/tests/testSO3.cpp +++ b/gtsam/geometry/tests/testSO3.cpp @@ -36,9 +36,9 @@ TEST(SO3, Identity) { //****************************************************************************** TEST(SO3, Concept) { - GTSAM_CONCEPT_ASSERT1(IsGroup); - GTSAM_CONCEPT_ASSERT2(IsManifold); - GTSAM_CONCEPT_ASSERT3(IsLieGroup); + GTSAM_CONCEPT_ASSERT(IsGroup); + GTSAM_CONCEPT_ASSERT(IsManifold); + GTSAM_CONCEPT_ASSERT(IsLieGroup); } //****************************************************************************** diff --git a/gtsam/geometry/tests/testSO4.cpp b/gtsam/geometry/tests/testSO4.cpp index 17d9694bea..7a3198901e 100644 --- a/gtsam/geometry/tests/testSO4.cpp +++ b/gtsam/geometry/tests/testSO4.cpp @@ -42,9 +42,9 @@ TEST(SO4, Identity) { //****************************************************************************** TEST(SO4, Concept) { - GTSAM_CONCEPT_ASSERT1(IsGroup); - GTSAM_CONCEPT_ASSERT2(IsManifold); - GTSAM_CONCEPT_ASSERT3(IsLieGroup); + GTSAM_CONCEPT_ASSERT(IsGroup); + GTSAM_CONCEPT_ASSERT(IsManifold); + GTSAM_CONCEPT_ASSERT(IsLieGroup); } //****************************************************************************** diff --git a/gtsam/geometry/tests/testSOn.cpp b/gtsam/geometry/tests/testSOn.cpp index eb453d8c64..741ddd3d08 100644 --- a/gtsam/geometry/tests/testSOn.cpp +++ b/gtsam/geometry/tests/testSOn.cpp @@ -84,9 +84,9 @@ TEST(SOn, SO5) { //****************************************************************************** TEST(SOn, Concept) { - GTSAM_CONCEPT_ASSERT1(IsGroup); - GTSAM_CONCEPT_ASSERT2(IsManifold); - GTSAM_CONCEPT_ASSERT3(IsLieGroup); + GTSAM_CONCEPT_ASSERT(IsGroup); + GTSAM_CONCEPT_ASSERT(IsManifold); + GTSAM_CONCEPT_ASSERT(IsLieGroup); } //****************************************************************************** diff --git a/gtsam/geometry/tests/testSimilarity2.cpp b/gtsam/geometry/tests/testSimilarity2.cpp index 8d537fd72f..9a64ba1c91 100644 --- a/gtsam/geometry/tests/testSimilarity2.cpp +++ b/gtsam/geometry/tests/testSimilarity2.cpp @@ -35,9 +35,9 @@ static const double s = 4; //****************************************************************************** TEST(Similarity2, Concepts) { - GTSAM_CONCEPT_ASSERT1(IsGroup); - GTSAM_CONCEPT_ASSERT2(IsManifold); - GTSAM_CONCEPT_ASSERT3(IsLieGroup); + GTSAM_CONCEPT_ASSERT(IsGroup); + GTSAM_CONCEPT_ASSERT(IsManifold); + GTSAM_CONCEPT_ASSERT(IsLieGroup); } //****************************************************************************** diff --git a/gtsam/geometry/tests/testSimilarity3.cpp b/gtsam/geometry/tests/testSimilarity3.cpp index d0f6617878..e4f68f22f1 100644 --- a/gtsam/geometry/tests/testSimilarity3.cpp +++ b/gtsam/geometry/tests/testSimilarity3.cpp @@ -54,9 +54,9 @@ const double degree = M_PI / 180; //****************************************************************************** TEST(Similarity3, Concepts) { - GTSAM_CONCEPT_ASSERT1(IsGroup); - GTSAM_CONCEPT_ASSERT2(IsManifold); - GTSAM_CONCEPT_ASSERT3(IsLieGroup); + GTSAM_CONCEPT_ASSERT(IsGroup); + GTSAM_CONCEPT_ASSERT(IsManifold); + GTSAM_CONCEPT_ASSERT(IsLieGroup); } //****************************************************************************** diff --git a/gtsam/geometry/tests/testStereoPoint2.cpp b/gtsam/geometry/tests/testStereoPoint2.cpp index 236ea8b012..3977589a8b 100644 --- a/gtsam/geometry/tests/testStereoPoint2.cpp +++ b/gtsam/geometry/tests/testStereoPoint2.cpp @@ -31,9 +31,9 @@ GTSAM_CONCEPT_TESTABLE_INST(StereoPoint2) //****************************************************************************** TEST(StereoPoint2 , Concept) { - GTSAM_CONCEPT_ASSERT1(IsGroup); - GTSAM_CONCEPT_ASSERT2(IsManifold); - GTSAM_CONCEPT_ASSERT3(IsVectorSpace); + GTSAM_CONCEPT_ASSERT(IsGroup); + GTSAM_CONCEPT_ASSERT(IsManifold); + GTSAM_CONCEPT_ASSERT(IsVectorSpace); } /* ************************************************************************* */ diff --git a/gtsam/nonlinear/ExtendedKalmanFilter.h b/gtsam/nonlinear/ExtendedKalmanFilter.h index a270bc4b15..6dc79cd52f 100644 --- a/gtsam/nonlinear/ExtendedKalmanFilter.h +++ b/gtsam/nonlinear/ExtendedKalmanFilter.h @@ -44,8 +44,8 @@ namespace gtsam { template class ExtendedKalmanFilter { // Check that VALUE type is a testable Manifold - GTSAM_CONCEPT_ASSERT1(IsTestable); - GTSAM_CONCEPT_ASSERT2(IsManifold); + GTSAM_CONCEPT_ASSERT(IsTestable); + GTSAM_CONCEPT_ASSERT(IsManifold); public: typedef std::shared_ptr > shared_ptr; diff --git a/gtsam/slam/BetweenFactor.h b/gtsam/slam/BetweenFactor.h index ee533c2157..6eaa5c01b8 100644 --- a/gtsam/slam/BetweenFactor.h +++ b/gtsam/slam/BetweenFactor.h @@ -40,8 +40,8 @@ namespace gtsam { class BetweenFactor: public NoiseModelFactorN { // Check that VALUE type is a testable Lie group - GTSAM_CONCEPT_ASSERT1(IsTestable); - GTSAM_CONCEPT_ASSERT2(IsLieGroup); + GTSAM_CONCEPT_ASSERT(IsTestable); + GTSAM_CONCEPT_ASSERT(IsLieGroup); public: diff --git a/tests/testLie.cpp b/tests/testLie.cpp index f411bd6ef1..ae934d66a4 100644 --- a/tests/testLie.cpp +++ b/tests/testLie.cpp @@ -47,9 +47,9 @@ template<> struct traits : internal::LieGroupTraits { //****************************************************************************** TEST(Lie, ProductLieGroup) { - GTSAM_CONCEPT_ASSERT1(IsGroup); - GTSAM_CONCEPT_ASSERT2(IsManifold); - GTSAM_CONCEPT_ASSERT3(IsLieGroup); + GTSAM_CONCEPT_ASSERT(IsGroup); + GTSAM_CONCEPT_ASSERT(IsManifold); + GTSAM_CONCEPT_ASSERT(IsLieGroup); Product pair1; Vector5 d; d << 1, 2, 0.1, 0.2, 0.3; diff --git a/tests/testManifold.cpp b/tests/testManifold.cpp index 6b853061bf..5e93da2f53 100644 --- a/tests/testManifold.cpp +++ b/tests/testManifold.cpp @@ -38,26 +38,26 @@ typedef PinholeCamera Camera; //****************************************************************************** TEST(Manifold, SomeManifoldsGTSAM) { //GTSAM_CONCEPT_ASSERT(IsManifold); // integer is not a manifold - GTSAM_CONCEPT_ASSERT1(IsManifold); - GTSAM_CONCEPT_ASSERT2(IsManifold); - GTSAM_CONCEPT_ASSERT3(IsManifold); - GTSAM_CONCEPT_ASSERT4(IsManifold); + GTSAM_CONCEPT_ASSERT(IsManifold); + GTSAM_CONCEPT_ASSERT(IsManifold); + GTSAM_CONCEPT_ASSERT(IsManifold); + GTSAM_CONCEPT_ASSERT(IsManifold); } //****************************************************************************** TEST(Manifold, SomeLieGroupsGTSAM) { - GTSAM_CONCEPT_ASSERT1(IsLieGroup); - GTSAM_CONCEPT_ASSERT2(IsLieGroup); - GTSAM_CONCEPT_ASSERT3(IsLieGroup); - GTSAM_CONCEPT_ASSERT4(IsLieGroup); + GTSAM_CONCEPT_ASSERT(IsLieGroup); + GTSAM_CONCEPT_ASSERT(IsLieGroup); + GTSAM_CONCEPT_ASSERT(IsLieGroup); + GTSAM_CONCEPT_ASSERT(IsLieGroup); } //****************************************************************************** TEST(Manifold, SomeVectorSpacesGTSAM) { - GTSAM_CONCEPT_ASSERT1(IsVectorSpace); - GTSAM_CONCEPT_ASSERT2(IsVectorSpace); - GTSAM_CONCEPT_ASSERT3(IsVectorSpace); - GTSAM_CONCEPT_ASSERT4(IsVectorSpace); + GTSAM_CONCEPT_ASSERT(IsVectorSpace); + GTSAM_CONCEPT_ASSERT(IsVectorSpace); + GTSAM_CONCEPT_ASSERT(IsVectorSpace); + GTSAM_CONCEPT_ASSERT(IsVectorSpace); } //****************************************************************************** From b30d553042d9c236ac2c18ac43ef36c3351e34d3 Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Sat, 11 Feb 2023 17:28:48 -0800 Subject: [PATCH 3/4] Got rid of some warnings in the boost-free path --- gtsam/base/tests/testMatrix.cpp | 4 ++++ gtsam/base/tests/testVector.cpp | 2 ++ 2 files changed, 6 insertions(+) diff --git a/gtsam/base/tests/testMatrix.cpp b/gtsam/base/tests/testMatrix.cpp index 8f9d2bca69..3fbf117466 100644 --- a/gtsam/base/tests/testMatrix.cpp +++ b/gtsam/base/tests/testMatrix.cpp @@ -1151,8 +1151,10 @@ TEST(Matrix, Matrix24IsVectorSpace) { } TEST(Matrix, RowMajorIsVectorSpace) { +#ifdef GTSAM_USE_BOOST_FEATURES typedef Eigen::Matrix RowMajor; GTSAM_CONCEPT_ASSERT(IsVectorSpace); +#endif } TEST(Matrix, MatrixIsVectorSpace) { @@ -1164,9 +1166,11 @@ TEST(Matrix, VectorIsVectorSpace) { } TEST(Matrix, RowVectorIsVectorSpace) { +#ifdef GTSAM_USE_BOOST_FEATURES typedef Eigen::Matrix RowVector; GTSAM_CONCEPT_ASSERT(IsVectorSpace); GTSAM_CONCEPT_ASSERT(IsVectorSpace); +#endif } //****************************************************************************** diff --git a/gtsam/base/tests/testVector.cpp b/gtsam/base/tests/testVector.cpp index ca96bc73d1..d95b142922 100644 --- a/gtsam/base/tests/testVector.cpp +++ b/gtsam/base/tests/testVector.cpp @@ -272,8 +272,10 @@ TEST(Vector, VectorIsVectorSpace) { } TEST(Vector, RowVectorIsVectorSpace) { +#ifdef GTSAM_USE_BOOST_FEATURES typedef Eigen::Matrix RowVector; GTSAM_CONCEPT_ASSERT(IsVectorSpace); +#endif } /* ************************************************************************* */ From cb6603416ce171f4f02c00608594d74ea6b2fb6a Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Sat, 11 Feb 2023 22:17:46 -0800 Subject: [PATCH 4/4] Fix TBB compilation issue --- gtsam/linear/VectorValues.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtsam/linear/VectorValues.cpp b/gtsam/linear/VectorValues.cpp index cea76c7e8c..4826544714 100644 --- a/gtsam/linear/VectorValues.cpp +++ b/gtsam/linear/VectorValues.cpp @@ -130,7 +130,7 @@ namespace gtsam { GTSAM_EXPORT std::ostream& operator<<(std::ostream& os, const VectorValues& v) { // Change print depending on whether we are using TBB #ifdef GTSAM_USE_TBB - map sorted; + std::map sorted; for (const auto& [key,value] : v) { sorted.emplace(key, value); }