Deprecated bool zero(). All unit tests pass.
parent
2fe0c26f4e
commit
e2a0110f3b
|
@ -33,15 +33,6 @@ using namespace std;
|
||||||
|
|
||||||
namespace gtsam {
|
namespace gtsam {
|
||||||
|
|
||||||
/* ************************************************************************* */
|
|
||||||
bool zero(const Vector& v) {
|
|
||||||
bool result = true;
|
|
||||||
size_t n = v.size();
|
|
||||||
for( size_t j = 0 ; j < n ; j++)
|
|
||||||
result = result && (v(j) == 0.0);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ************************************************************************* */
|
/* ************************************************************************* */
|
||||||
//3 argument call
|
//3 argument call
|
||||||
void print(const Vector& v, const string& s, ostream& stream) {
|
void print(const Vector& v, const string& s, ostream& stream) {
|
||||||
|
|
|
@ -62,11 +62,6 @@ GTSAM_MAKE_VECTOR_DEFS(12);
|
||||||
typedef Eigen::VectorBlock<Vector> SubVector;
|
typedef Eigen::VectorBlock<Vector> SubVector;
|
||||||
typedef Eigen::VectorBlock<const Vector> ConstSubVector;
|
typedef Eigen::VectorBlock<const Vector> ConstSubVector;
|
||||||
|
|
||||||
/**
|
|
||||||
* check if all zero
|
|
||||||
*/
|
|
||||||
GTSAM_EXPORT bool zero(const Vector& v);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* print without optional string, must specify cout yourself
|
* print without optional string, must specify cout yourself
|
||||||
*/
|
*/
|
||||||
|
@ -237,22 +232,22 @@ GTSAM_EXPORT Vector concatVectors(size_t nrVectors, ...);
|
||||||
|
|
||||||
#ifdef GTSAM_ALLOW_DEPRECATED_SINCE_V4
|
#ifdef GTSAM_ALLOW_DEPRECATED_SINCE_V4
|
||||||
inline Vector abs(const Vector& v){return v.cwiseAbs();}
|
inline Vector abs(const Vector& v){return v.cwiseAbs();}
|
||||||
|
inline Vector basis(size_t n, size_t i) { return delta(n, i, 1.0); }
|
||||||
|
inline Vector delta(size_t n, size_t i, double value){ return Vector::Unit(n, i) * value;}
|
||||||
|
inline size_t dim(const Vector& v) { return v.size(); }
|
||||||
inline Vector ediv(const Vector &a, const Vector &b) {assert (b.size()==a.size()); return a.cwiseQuotient(b);}
|
inline Vector ediv(const Vector &a, const Vector &b) {assert (b.size()==a.size()); return a.cwiseQuotient(b);}
|
||||||
inline Vector esqrt(const Vector& v) { return v.cwiseSqrt();}
|
inline Vector esqrt(const Vector& v) { return v.cwiseSqrt();}
|
||||||
inline Vector emul(const Vector &a, const Vector &b) {assert (b.size()==a.size()); return a.cwiseProduct(b);}
|
inline Vector emul(const Vector &a, const Vector &b) {assert (b.size()==a.size()); return a.cwiseProduct(b);}
|
||||||
inline double max(const Vector &a){return a.maxCoeff();}
|
inline double max(const Vector &a){return a.maxCoeff();}
|
||||||
inline double norm_2(const Vector& v) {return v.norm();}
|
inline double norm_2(const Vector& v) {return v.norm();}
|
||||||
|
inline Vector ones(size_t n) { return Vector::Ones(n); }
|
||||||
inline Vector reciprocal(const Vector &a) {return a.array().inverse();}
|
inline Vector reciprocal(const Vector &a) {return a.array().inverse();}
|
||||||
inline Vector repeat(size_t n, double value) {return Vector::Constant(n, value);}
|
inline Vector repeat(size_t n, double value) {return Vector::Constant(n, value);}
|
||||||
inline const Vector sub(const Vector &v, size_t i1, size_t i2) {return v.segment(i1,i2-i1);}
|
inline const Vector sub(const Vector &v, size_t i1, size_t i2) {return v.segment(i1,i2-i1);}
|
||||||
inline void subInsert(Vector& fullVector, const Vector& subVector, size_t i) {fullVector.segment(i, subVector.size()) = subVector;}
|
inline void subInsert(Vector& fullVector, const Vector& subVector, size_t i) {fullVector.segment(i, subVector.size()) = subVector;}
|
||||||
inline double sum(const Vector &a){return a.sum();}
|
inline double sum(const Vector &a){return a.sum();}
|
||||||
|
inline bool zero(const Vector& v){ return v.isZero(); }
|
||||||
inline Vector zero(size_t n) { return Vector::Zero(n);}
|
inline Vector zero(size_t n) { return Vector::Zero(n); }
|
||||||
inline Vector ones(size_t n) { return Vector::Ones(n); }
|
|
||||||
inline size_t dim(const Vector& v) { return v.size(); }
|
|
||||||
inline Vector delta(size_t n, size_t i, double value){ return Vector::Unit(n, i) * value;}
|
|
||||||
inline Vector basis(size_t n, size_t i) { return delta(n, i, 1.0); }
|
|
||||||
#endif
|
#endif
|
||||||
} // namespace gtsam
|
} // namespace gtsam
|
||||||
|
|
||||||
|
|
|
@ -79,13 +79,6 @@ TEST(Vector, copy )
|
||||||
EXPECT(assert_equal(a, b));
|
EXPECT(assert_equal(a, b));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ************************************************************************* */
|
|
||||||
TEST(Vector, zero1 )
|
|
||||||
{
|
|
||||||
Vector v = Vector::Zero(2);
|
|
||||||
EXPECT(zero(v));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ************************************************************************* */
|
/* ************************************************************************* */
|
||||||
TEST(Vector, scalar_multiply )
|
TEST(Vector, scalar_multiply )
|
||||||
{
|
{
|
||||||
|
|
|
@ -63,7 +63,7 @@ Rot2& Rot2::normalize() {
|
||||||
Rot2 Rot2::Expmap(const Vector1& v, OptionalJacobian<1, 1> H) {
|
Rot2 Rot2::Expmap(const Vector1& v, OptionalJacobian<1, 1> H) {
|
||||||
if (H)
|
if (H)
|
||||||
*H = I_1x1;
|
*H = I_1x1;
|
||||||
if (zero(v))
|
if (v.isZero())
|
||||||
return (Rot2());
|
return (Rot2());
|
||||||
else
|
else
|
||||||
return Rot2::fromAngle(v(0));
|
return Rot2::fromAngle(v(0));
|
||||||
|
|
Loading…
Reference in New Issue