diff --git a/gtsam/base/Matrix.h b/gtsam/base/Matrix.h index 1f414f3ca..37990be64 100644 --- a/gtsam/base/Matrix.h +++ b/gtsam/base/Matrix.h @@ -29,9 +29,11 @@ #include /** - * Matrix is a *global* typedef + * Matrix is a typedef in the gtsam namespace + * TODO: make a version to work with matlab wrapping * we use the default < double,col_major,unbounded_array > */ +namespace gtsam { typedef Eigen::MatrixXd Matrix; typedef Eigen::Matrix MatrixRowMajor; @@ -40,8 +42,6 @@ typedef Eigen::Matrix M typedef Eigen::Block SubMatrix; typedef Eigen::Block ConstSubMatrix; -namespace gtsam { - /** * constructor with size and initial data, row order ! */ @@ -469,7 +469,7 @@ namespace serialization { // split version - sends sizes ahead template -void save(Archive & ar, const Matrix & m, unsigned int version) +void save(Archive & ar, const gtsam::Matrix & m, unsigned int version) { const int rows = m.rows(), cols = m.cols(), elements = rows*cols; std::vector raw_data(elements); @@ -479,18 +479,18 @@ void save(Archive & ar, const Matrix & m, unsigned int version) ar << make_nvp("data", raw_data); } template -void load(Archive & ar, Matrix & m, unsigned int version) +void load(Archive & ar, gtsam::Matrix & m, unsigned int version) { size_t rows, cols; std::vector raw_data; ar >> make_nvp("rows", rows); ar >> make_nvp("cols", cols); ar >> make_nvp("data", raw_data); - m = Matrix(rows, cols); + m = gtsam::Matrix(rows, cols); std::copy(raw_data.begin(), raw_data.end(), m.data()); } } // namespace serialization } // namespace boost -BOOST_SERIALIZATION_SPLIT_FREE(Matrix) +BOOST_SERIALIZATION_SPLIT_FREE(gtsam::Matrix) diff --git a/gtsam/base/Vector.h b/gtsam/base/Vector.h index 97c34f499..655950ea8 100644 --- a/gtsam/base/Vector.h +++ b/gtsam/base/Vector.h @@ -25,7 +25,10 @@ #include #include -// Vector is a *global* typedef +// Vector is just a typedef of the Eigen dynamic vector type +// TODO: make a version that works for matlab wrapping + +namespace gtsam { // Typedef arbitary length vector typedef Eigen::VectorXd Vector; @@ -33,8 +36,6 @@ typedef Eigen::VectorXd Vector; typedef Eigen::VectorBlock SubVector; typedef Eigen::VectorBlock ConstSubVector; -namespace gtsam { - /** * An auxiliary function to printf for Win32 compatibility, added by Kai */ @@ -353,7 +354,7 @@ namespace serialization { // split version - copies into an STL vector for serialization template -void save(Archive & ar, const Vector & v, unsigned int version) +void save(Archive & ar, const gtsam::Vector & v, unsigned int version) { const size_t n = v.size(); std::vector raw_data(n); @@ -361,7 +362,7 @@ void save(Archive & ar, const Vector & v, unsigned int version) ar << make_nvp("data", raw_data); } template -void load(Archive & ar, Vector & v, unsigned int version) +void load(Archive & ar, gtsam::Vector & v, unsigned int version) { std::vector raw_data; ar >> make_nvp("data", raw_data); @@ -371,4 +372,4 @@ void load(Archive & ar, Vector & v, unsigned int version) } // namespace serialization } // namespace boost -BOOST_SERIALIZATION_SPLIT_FREE(Vector) +BOOST_SERIALIZATION_SPLIT_FREE(gtsam::Vector)