Deprecated sub() in Vector.h.

release/4.3a0
Alex Hagiopol 2016-03-11 20:30:19 -05:00
parent 3989178aba
commit 97e26cc365
5 changed files with 6 additions and 19 deletions

View File

@ -176,11 +176,6 @@ bool linear_dependent(const Vector& vec1, const Vector& vec2, double tol) {
return flag; return flag;
} }
/* ************************************************************************* */
ConstSubVector sub(const Vector &v, size_t i1, size_t i2) {
return v.segment(i1,i2-i1);
}
/* ************************************************************************* */ /* ************************************************************************* */
Vector ediv_(const Vector &a, const Vector &b) { Vector ediv_(const Vector &a, const Vector &b) {
size_t n = a.size(); size_t n = a.size();

View File

@ -195,15 +195,6 @@ GTSAM_EXPORT bool assert_equal(const ConstSubVector& vec1, const ConstSubVector&
*/ */
GTSAM_EXPORT bool linear_dependent(const Vector& vec1, const Vector& vec2, double tol=1e-9); GTSAM_EXPORT bool linear_dependent(const Vector& vec1, const Vector& vec2, double tol=1e-9);
/**
* extract subvector, slice semantics, i.e. range = [i1,i2[ excluding i2
* @param v Vector
* @param i1 first row index
* @param i2 last row index + 1
* @return subvector v(i1:i2)
*/
GTSAM_EXPORT ConstSubVector sub(const Vector &v, size_t i1, size_t i2);
/** /**
* elementwise division, but 0/0 = 0, not inf * elementwise division, but 0/0 = 0, not inf
* @param a first vector * @param a first vector
@ -296,6 +287,7 @@ GTSAM_EXPORT inline Vector emul(const Vector &a, const Vector &b) {assert (b.siz
GTSAM_EXPORT inline double max(const Vector &a){return a.maxCoeff();} GTSAM_EXPORT inline double max(const Vector &a){return a.maxCoeff();}
GTSAM_EXPORT inline double norm_2(const Vector& v) {return v.norm();} GTSAM_EXPORT inline double norm_2(const Vector& v) {return v.norm();}
GTSAM_EXPORT inline Vector reciprocal(const Vector &a) {return a.array().inverse();} GTSAM_EXPORT inline Vector reciprocal(const Vector &a) {return a.array().inverse();}
GTSAM_EXPORT ConstSubVector sub(const Vector &v, size_t i1, size_t i2) {return v.segment(i1,i2-i1);}
GTSAM_EXPORT void subInsert(Vector& fullVector, const Vector& subVector, size_t i) {fullVector.segment(i, subVector.size()) = subVector;} GTSAM_EXPORT void subInsert(Vector& fullVector, const Vector& subVector, size_t i) {fullVector.segment(i, subVector.size()) = subVector;}
GTSAM_EXPORT inline double sum(const Vector &a){return a.sum();} GTSAM_EXPORT inline double sum(const Vector &a){return a.sum();}
#endif #endif

View File

@ -126,7 +126,7 @@ TEST(Vector, sub )
a(0) = 10; a(1) = 20; a(2) = 3; a(0) = 10; a(1) = 20; a(2) = 3;
a(3) = 34; a(4) = 11; a(5) = 2; a(3) = 34; a(4) = 11; a(5) = 2;
Vector result(sub(a,2,5)); Vector result(a.segment(2,3));
Vector b(3); Vector b(3);
b(0) = 3; b(1) = 34; b(2) =11; b(0) = 3; b(1) = 34; b(2) =11;

View File

@ -52,7 +52,7 @@ namespace gtsam {
Key key; Key key;
size_t n; size_t n;
boost::tie(key, n) = v; boost::tie(key, n) = v;
values_.insert(make_pair(key, sub(x, j, j + n))); values_.insert(make_pair(key, x.segment(j,n)));
j += n; j += n;
} }
} }

View File

@ -67,13 +67,13 @@ Mechanization_bRn2 Mechanization_bRn2::initialize(const Matrix& U,
/* ************************************************************************* */ /* ************************************************************************* */
Mechanization_bRn2 Mechanization_bRn2::correct(const Vector3& dx) const { Mechanization_bRn2 Mechanization_bRn2::correct(const Vector3& dx) const {
Vector3 rho = sub(dx, 0, 3); Vector3 rho = dx.segment(0,3);
Rot3 delta_nRn = Rot3::Rodrigues(rho); Rot3 delta_nRn = Rot3::Rodrigues(rho);
Rot3 bRn = bRn_ * delta_nRn; Rot3 bRn = bRn_ * delta_nRn;
Vector3 x_g = x_g_ + sub(dx, 3, 6); Vector3 x_g = x_g_ + dx.segment(3,3);
Vector3 x_a = x_a_ + sub(dx, 6, 9); Vector3 x_a = x_a_ + dx.segment(6,3);
return Mechanization_bRn2(bRn, x_g, x_a); return Mechanization_bRn2(bRn, x_g, x_a);
} }