Fixed compile errors due to remaining VectorConfigs, and removed div0 warning

release/4.3a0
Frank Dellaert 2009-11-13 06:15:48 +00:00
parent 17aaae42d8
commit 7c045a0802
1 changed files with 4 additions and 3 deletions

View File

@ -6,6 +6,7 @@
#pragma once #pragma once
#include <limits>
#include <iostream> #include <iostream>
#include "NonlinearFactor.h" #include "NonlinearFactor.h"
@ -69,15 +70,15 @@ public:
} }
/** error function */ /** error function */
inline Vector error_vector(const VectorConfig& c) const { inline Vector error_vector(const Config& c) const {
if (!compare_(key_, feasible_, c)) if (!compare_(key_, feasible_, c))
return repeat(dim_, 1.0/0.0); // set error to infinity if not equal return repeat(dim_, std::numeric_limits<double>::infinity()); // set error to infinity if not equal
else else
return zero(dim_); // set error to zero if equal return zero(dim_); // set error to zero if equal
} }
/** linearize a nonlinear constraint into a linear constraint */ /** linearize a nonlinear constraint into a linear constraint */
boost::shared_ptr<GaussianFactor> linearize(const VectorConfig& c) const { boost::shared_ptr<GaussianFactor> linearize(const Config& c) const {
if (!compare_(key_, feasible_, c)) { if (!compare_(key_, feasible_, c)) {
throw std::invalid_argument("Linearization point not feasible for " + key_ + "!"); throw std::invalid_argument("Linearization point not feasible for " + key_ + "!");
} else { } else {