Cleaned up Double_ problems
parent
ad54d7805c
commit
a3b66a94ea
|
@ -17,7 +17,7 @@
|
||||||
* @brief unit tests for Block Automatic Differentiation
|
* @brief unit tests for Block Automatic Differentiation
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <gtsam/nonlinear/Expression.h>
|
#include <gtsam/nonlinear/expressions.h>
|
||||||
#include <gtsam/geometry/Cal3_S2.h>
|
#include <gtsam/geometry/Cal3_S2.h>
|
||||||
#include <gtsam/geometry/PinholeCamera.h>
|
#include <gtsam/geometry/PinholeCamera.h>
|
||||||
#include <gtsam/geometry/Point3.h>
|
#include <gtsam/geometry/Point3.h>
|
||||||
|
@ -32,9 +32,7 @@ using boost::assign::map_list_of;
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace gtsam;
|
using namespace gtsam;
|
||||||
|
|
||||||
typedef Expression<double> double_;
|
|
||||||
typedef Expression<Point3> Point3_;
|
typedef Expression<Point3> Point3_;
|
||||||
typedef Expression<Vector3> Vector3_;
|
|
||||||
typedef Expression<Pose3> Pose3_;
|
typedef Expression<Pose3> Pose3_;
|
||||||
typedef Expression<Rot3> Rot3_;
|
typedef Expression<Rot3> Rot3_;
|
||||||
|
|
||||||
|
@ -101,7 +99,7 @@ TEST(Expression, Unary1) {
|
||||||
}
|
}
|
||||||
TEST(Expression, Unary2) {
|
TEST(Expression, Unary2) {
|
||||||
using namespace unary;
|
using namespace unary;
|
||||||
double_ e(f2, p);
|
Double_ e(f2, p);
|
||||||
EXPECT(expected == e.keys());
|
EXPECT(expected == e.keys());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,7 +154,7 @@ Point3_ p_cam(x, &Pose3::transform_to, p);
|
||||||
// Check that creating an expression to double compiles
|
// Check that creating an expression to double compiles
|
||||||
TEST(Expression, BinaryToDouble) {
|
TEST(Expression, BinaryToDouble) {
|
||||||
using namespace binary;
|
using namespace binary;
|
||||||
double_ p_cam(doubleF, x, p);
|
Double_ p_cam(doubleF, x, p);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ************************************************************************* */
|
/* ************************************************************************* */
|
||||||
|
@ -372,8 +370,8 @@ TEST(Expression, TripleSum) {
|
||||||
/* ************************************************************************* */
|
/* ************************************************************************* */
|
||||||
TEST(Expression, SumOfUnaries) {
|
TEST(Expression, SumOfUnaries) {
|
||||||
const Key key(67);
|
const Key key(67);
|
||||||
const double_ norm_(>sam::norm, Point3_(key));
|
const Double_ norm_(>sam::norm, Point3_(key));
|
||||||
const double_ sum_ = norm_ + norm_;
|
const Double_ sum_ = norm_ + norm_;
|
||||||
|
|
||||||
Values values;
|
Values values;
|
||||||
values.insert<Point3>(key, Point3(6, 0, 0));
|
values.insert<Point3>(key, Point3(6, 0, 0));
|
||||||
|
@ -391,7 +389,7 @@ TEST(Expression, SumOfUnaries) {
|
||||||
TEST(Expression, UnaryOfSum) {
|
TEST(Expression, UnaryOfSum) {
|
||||||
const Key key1(42), key2(67);
|
const Key key1(42), key2(67);
|
||||||
const Point3_ sum_ = Point3_(key1) + Point3_(key2);
|
const Point3_ sum_ = Point3_(key1) + Point3_(key2);
|
||||||
const double_ norm_(>sam::norm, sum_);
|
const Double_ norm_(>sam::norm, sum_);
|
||||||
|
|
||||||
map<Key, int> actual_dims, expected_dims = map_list_of<Key, int>(key1, 3)(key2, 3);
|
map<Key, int> actual_dims, expected_dims = map_list_of<Key, int>(key1, 3)(key2, 3);
|
||||||
norm_.dims(actual_dims);
|
norm_.dims(actual_dims);
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
* @date December 2014
|
* @date December 2014
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <gtsam_unstable/nonlinear/ExpressionFactor.h>
|
#include <gtsam/nonlinear/ExpressionFactor.h>
|
||||||
#include <gtsam_unstable/geometry/Event.h>
|
#include <gtsam_unstable/geometry/Event.h>
|
||||||
|
|
||||||
namespace gtsam {
|
namespace gtsam {
|
||||||
|
@ -25,7 +25,7 @@ namespace gtsam {
|
||||||
/// A "Time of Arrival" factor - so little code seems hardly worth it :-)
|
/// A "Time of Arrival" factor - so little code seems hardly worth it :-)
|
||||||
class TOAFactor: public ExpressionFactor<double> {
|
class TOAFactor: public ExpressionFactor<double> {
|
||||||
|
|
||||||
typedef Expression<double> double_;
|
typedef Expression<double> Double_;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ public:
|
||||||
const Expression<Point3>& microphone_, double toaMeasurement,
|
const Expression<Point3>& microphone_, double toaMeasurement,
|
||||||
const SharedNoiseModel& model) :
|
const SharedNoiseModel& model) :
|
||||||
ExpressionFactor<double>(model, toaMeasurement,
|
ExpressionFactor<double>(model, toaMeasurement,
|
||||||
double_(&Event::toa, eventExpression, microphone_)) {
|
Double_(&Event::toa, eventExpression, microphone_)) {
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -31,7 +31,6 @@ using namespace std;
|
||||||
using namespace gtsam;
|
using namespace gtsam;
|
||||||
|
|
||||||
// typedefs
|
// typedefs
|
||||||
typedef Eigen::Matrix<double, 1, 1> Vector1;
|
|
||||||
typedef Expression<Point3> Point3_;
|
typedef Expression<Point3> Point3_;
|
||||||
typedef Expression<Event> Event_;
|
typedef Expression<Event> Event_;
|
||||||
|
|
||||||
|
@ -52,7 +51,7 @@ TEST( TOAFactor, NewWay ) {
|
||||||
Event_ eventExpression(key);
|
Event_ eventExpression(key);
|
||||||
Point3_ microphoneConstant(microphoneAt0); // constant expression
|
Point3_ microphoneConstant(microphoneAt0); // constant expression
|
||||||
double measurement = 7;
|
double measurement = 7;
|
||||||
double_ expression(&Event::toa, eventExpression, microphoneConstant);
|
Double_ expression(&Event::toa, eventExpression, microphoneConstant);
|
||||||
ExpressionFactor<double> factor(model, measurement, expression);
|
ExpressionFactor<double> factor(model, measurement, expression);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,7 +91,7 @@ TEST( TOAFactor, WholeEnchilada ) {
|
||||||
Event_ eventExpression(key);
|
Event_ eventExpression(key);
|
||||||
for (size_t i = 0; i < K; i++) {
|
for (size_t i = 0; i < K; i++) {
|
||||||
Point3_ microphone_i(microphones[i]); // constant expression
|
Point3_ microphone_i(microphones[i]); // constant expression
|
||||||
double_ predictTOA(&Event::toa, eventExpression, microphone_i);
|
Double_ predictTOA(&Event::toa, eventExpression, microphone_i);
|
||||||
graph.addExpressionFactor(predictTOA, simulatedTOA[i], model);
|
graph.addExpressionFactor(predictTOA, simulatedTOA[i], model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue