for over tuples

release/4.3a0
dellaert 2016-05-22 14:11:14 -07:00
parent dc00eb4f87
commit 7ffcf765b5
2 changed files with 8 additions and 12 deletions

View File

@ -21,7 +21,6 @@
#include <gtsam/base/testLie.h> #include <gtsam/base/testLie.h>
#include <CppUnitLite/TestHarness.h> #include <CppUnitLite/TestHarness.h>
#include <boost/tuple/tuple.hpp> #include <boost/tuple/tuple.hpp>
#include <boost/foreach.hpp>
#include <iostream> #include <iostream>
#include <sstream> #include <sstream>
@ -907,10 +906,6 @@ TEST(Matrix, weighted_elimination )
Vector d = (Vector(4) << 0.2, -0.14, 0.0, 0.2).finished(); Vector d = (Vector(4) << 0.2, -0.14, 0.0, 0.2).finished();
Vector newSigmas = (Vector(4) << 0.0894427, 0.0894427, 0.223607, 0.223607).finished(); Vector newSigmas = (Vector(4) << 0.0894427, 0.0894427, 0.223607, 0.223607).finished();
Vector r;
double di, sigma;
size_t i;
// perform elimination // perform elimination
Matrix A1 = A; Matrix A1 = A;
Vector b1 = b; Vector b1 = b;
@ -918,8 +913,11 @@ TEST(Matrix, weighted_elimination )
weighted_eliminate(A1, b1, sigmas); weighted_eliminate(A1, b1, sigmas);
// unpack and verify // unpack and verify
i = 0; size_t i = 0;
BOOST_FOREACH(boost::tie(r, di, sigma), solution) { for (const auto& tuple : solution) {
Vector r;
double di, sigma;
boost::tie(r, di, sigma) = tuple;
EXPECT(assert_equal(r, expectedR.row(i))); // verify r EXPECT(assert_equal(r, expectedR.row(i))); // verify r
DOUBLES_EQUAL(d(i), di, 1e-8); // verify d DOUBLES_EQUAL(d(i), di, 1e-8); // verify d
DOUBLES_EQUAL(newSigmas(i), sigma, 1e-5); // verify sigma DOUBLES_EQUAL(newSigmas(i), sigma, 1e-5); // verify sigma

View File

@ -18,7 +18,6 @@
#pragma once #pragma once
#include <stdexcept> #include <stdexcept>
#include <boost/foreach.hpp>
#ifdef __GNUC__ #ifdef __GNUC__
#pragma GCC diagnostic push #pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-variable" #pragma GCC diagnostic ignored "-Wunused-variable"
@ -32,8 +31,6 @@
#include <gtsam/inference/graph.h> #include <gtsam/inference/graph.h>
#define FOREACH_PAIR( KEY, VAL, COL) BOOST_FOREACH (boost::tie(KEY,VAL),COL)
namespace gtsam { namespace gtsam {
/* ************************************************************************* */ /* ************************************************************************* */
@ -123,9 +120,10 @@ predecessorMap2Graph(const PredecessorMap<KEY>& p_map) {
G g; G g;
std::map<KEY, V> key2vertex; std::map<KEY, V> key2vertex;
V v1, v2, root; V v1, v2, root;
KEY child, parent;
bool foundRoot = false; bool foundRoot = false;
FOREACH_PAIR(child, parent, p_map) { for(auto child_parent: p_map) {
KEY child, parent;
std::tie(child,parent) = child_parent;
if (key2vertex.find(child) == key2vertex.end()) { if (key2vertex.find(child) == key2vertex.end()) {
v1 = add_vertex(child, g); v1 = add_vertex(child, g);
key2vertex.insert(std::make_pair(child, v1)); key2vertex.insert(std::make_pair(child, v1));