diff --git a/gtsam_unstable/nonlinear/tests/testAdaptAutoDiff.cpp b/gtsam_unstable/nonlinear/tests/testAdaptAutoDiff.cpp index 2d2408a74..b8bdee49e 100644 --- a/gtsam_unstable/nonlinear/tests/testAdaptAutoDiff.cpp +++ b/gtsam_unstable/nonlinear/tests/testAdaptAutoDiff.cpp @@ -200,6 +200,7 @@ TEST(Expression, Snavely) { Expression X(2); typedef AdaptAutoDiff Adaptor; Expression expression(Adaptor(), P, X); + EXPECT_LONGS_EQUAL(528,expression.traceSize()); // Todo, should be zero set expected = list_of(1)(2); EXPECT(expected == expression.keys()); } diff --git a/gtsam_unstable/timing/timeAdaptAutoDiff.cpp b/gtsam_unstable/timing/timeAdaptAutoDiff.cpp index c4ea7a8f3..32bce9ba5 100644 --- a/gtsam_unstable/timing/timeAdaptAutoDiff.cpp +++ b/gtsam_unstable/timing/timeAdaptAutoDiff.cpp @@ -51,22 +51,21 @@ int main() { values.insert(1, Camera()); values.insert(2, Point3(0, 0, 1)); + NonlinearFactor::shared_ptr f1, f2, f3; + // Dedicated factor - NonlinearFactor::shared_ptr f1 = boost::make_shared< - GeneralSFMFactor >(z, model, 1, 2); + f1 = boost::make_shared >(z, model, 1, 2); time("GeneralSFMFactor : ", f1, values); // AdaptAutoDiff - typedef AdaptAutoDiff SnavelyAdaptor; - NonlinearFactor::shared_ptr f2 = - boost::make_shared >(model, z, - Point2_(SnavelyAdaptor(), camera, point)); - time("Point2_(SnavelyAdaptor(), camera, point): ", f2, values); + typedef AdaptAutoDiff AdaptedSnavely; + Point2_ expression(AdaptedSnavely(), camera, point); + f2 = boost::make_shared >(model, z, expression); + time("Point2_(AdaptedSnavely(), camera, point): ", f2, values); // ExpressionFactor - NonlinearFactor::shared_ptr f3 = - boost::make_shared >(model, z, - Point2_(camera, &Camera::project2, point)); + Point2_ expression2(camera, &Camera::project2, point); + f3 = boost::make_shared >(model, z, expression2); time("Point2_(camera, &Camera::project, point): ", f3, values); return 0;