diff --git a/gtsam/inference/BayesTree-inl.h b/gtsam/inference/BayesTree-inl.h index 6178b6446..24f57cc55 100644 --- a/gtsam/inference/BayesTree-inl.h +++ b/gtsam/inference/BayesTree-inl.h @@ -21,7 +21,7 @@ #include #include -#include +#include #include #include diff --git a/gtsam/inference/GenericMultifrontalSolver-inl.h b/gtsam/inference/GenericMultifrontalSolver-inl.h index eab48f108..6bf8c55a9 100644 --- a/gtsam/inference/GenericMultifrontalSolver-inl.h +++ b/gtsam/inference/GenericMultifrontalSolver-inl.h @@ -22,7 +22,6 @@ #include #include #include -#include #include diff --git a/gtsam/inference/GenericSequentialSolver-inl.h b/gtsam/inference/GenericSequentialSolver-inl.h index 2f6a3ac73..3c2547ead 100644 --- a/gtsam/inference/GenericSequentialSolver-inl.h +++ b/gtsam/inference/GenericSequentialSolver-inl.h @@ -22,7 +22,6 @@ #include #include #include -#include #include diff --git a/gtsam/inference/JunctionTree-inl.h b/gtsam/inference/JunctionTree-inl.h index 209fd484f..b4c61dfa1 100644 --- a/gtsam/inference/JunctionTree-inl.h +++ b/gtsam/inference/JunctionTree-inl.h @@ -23,7 +23,6 @@ #include #include #include -#include #include #include #include diff --git a/gtsam/inference/Makefile.am b/gtsam/inference/Makefile.am index 6bc2db28e..6603328db 100644 --- a/gtsam/inference/Makefile.am +++ b/gtsam/inference/Makefile.am @@ -24,7 +24,6 @@ check_PROGRAMS += tests/testSymbolicBayesNet tests/testVariableIndex tests/testV # Inference headers += GenericMultifrontalSolver.h GenericMultifrontalSolver-inl.h GenericSequentialSolver.h GenericSequentialSolver-inl.h -headers += inference-inl.h sources += inference.cpp VariableSlots.cpp Permutation.cpp VariableIndex.cpp sources += IndexFactor.cpp IndexConditional.cpp headers += graph.h graph-inl.h @@ -35,6 +34,7 @@ headers += EliminationTree.h EliminationTree-inl.h headers += BayesNet.h BayesNet-inl.h headers += BayesTree.h BayesTree-inl.h headers += ISAM.h ISAM-inl.h +check_PROGRAMS += tests/testInference check_PROGRAMS += tests/testFactorGraph check_PROGRAMS += tests/testFactorGraph check_PROGRAMS += tests/testBayesTree diff --git a/gtsam/inference/SymbolicFactorGraph.cpp b/gtsam/inference/SymbolicFactorGraph.cpp index 31b44523d..10c35f752 100644 --- a/gtsam/inference/SymbolicFactorGraph.cpp +++ b/gtsam/inference/SymbolicFactorGraph.cpp @@ -23,7 +23,6 @@ #include #include #include -#include #include using namespace std; diff --git a/gtsam/inference/inference-inl.h b/gtsam/inference/inference-inl.h deleted file mode 100644 index 859fd9797..000000000 --- a/gtsam/inference/inference-inl.h +++ /dev/null @@ -1,26 +0,0 @@ -/* ---------------------------------------------------------------------------- - - * GTSAM Copyright 2010, Georgia Tech Research Corporation, - * Atlanta, Georgia 30332-0415 - * All Rights Reserved - * Authors: Frank Dellaert, et al. (see THANKS for the full author list) - - * See LICENSE for the license information - - * -------------------------------------------------------------------------- */ - -/** - * @file inference-inl.h - * @brief inference template definitions - * @author Frank Dellaert, Richard Roberts - */ - -#pragma once - -#include - -using namespace std; - -namespace gtsam { - -} // namespace gtsam diff --git a/gtsam/inference/inference.cpp b/gtsam/inference/inference.cpp index a3a81e7a4..fe4b3044e 100644 --- a/gtsam/inference/inference.cpp +++ b/gtsam/inference/inference.cpp @@ -15,14 +15,18 @@ * @author Frank Dellaert, Richard Roberts */ -#include +#include #include #include #include +#include +#include #include +using namespace std; + namespace gtsam { Permutation::shared_ptr Inference::PermutationCOLAMD_(const VariableIndex& variableIndex, std::vector& cmember) { @@ -73,7 +77,10 @@ Permutation::shared_ptr Inference::PermutationCOLAMD_(const VariableIndex& varia // Convert elimination ordering in p to an ordering Permutation::shared_ptr permutation(new Permutation(nVars)); for (Index j = 0; j < nVars; j++) { - permutation->operator[](j) = p[j]; +// if(p[j] == -1) +// permutation->operator[](j) = j; +// else + permutation->operator[](j) = p[j]; if(debug) cout << "COLAMD: " << j << "->" << p[j] << endl; } if(debug) cout << "COLAMD: p[" << nVars << "] = " << p[nVars] << endl; diff --git a/gtsam/inference/tests/testInference.cpp b/gtsam/inference/tests/testInference.cpp new file mode 100644 index 000000000..c7f80282d --- /dev/null +++ b/gtsam/inference/tests/testInference.cpp @@ -0,0 +1,47 @@ +/* ---------------------------------------------------------------------------- + + * GTSAM Copyright 2010, Georgia Tech Research Corporation, + * Atlanta, Georgia 30332-0415 + * All Rights Reserved + * Authors: Frank Dellaert, et al. (see THANKS for the full author list) + + * See LICENSE for the license information + + * -------------------------------------------------------------------------- */ + +/** + * @file testInference.cpp + * @brief + * @author Richard Roberts + * @created Dec 6, 2010 + */ + +#include + +#include +#include +#include + +using namespace gtsam; + +/* ************************************************************************* */ +TEST(Inference, UnobservedVariables) { + SymbolicFactorGraph sfg; + + // Create a factor graph that skips some variables + sfg.push_factor(0,1); + sfg.push_factor(1,3); + sfg.push_factor(3,5); + + VariableIndex variableIndex(sfg); + + Permutation::shared_ptr colamd(Inference::PermutationCOLAMD(variableIndex)); + + colamd->print("colamd: "); +} + +/* ************************************************************************* */ +int main() { + TestResult tr; + return TestRegistry::runAllTests(tr); +} diff --git a/gtsam/inference/tests/testOrdering.cpp b/gtsam/inference/tests/testOrdering.cpp deleted file mode 100644 index b25593aa1..000000000 --- a/gtsam/inference/tests/testOrdering.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* ---------------------------------------------------------------------------- - - * GTSAM Copyright 2010, Georgia Tech Research Corporation, - * Atlanta, Georgia 30332-0415 - * All Rights Reserved - * Authors: Frank Dellaert, et al. (see THANKS for the full author list) - - * See LICENSE for the license information - - * -------------------------------------------------------------------------- */ - -/** - * @file testOrdering.cpp - * @author Alex Cunningham - */ - -#include // for operator += -using namespace boost::assign; - -#include - -// Magically turn strings into Symbols -#define GTSAM_MAGIC_KEY - -#include - -using namespace std; -using namespace gtsam; - -/* ************************************************************************* */ -TEST ( Ordering, subtract ) -{ - Ordering init, delta; - init += "a", "b", "c", "d", "e"; - CHECK(assert_equal(init.subtract(delta), init)); - - delta += "b"; - Ordering expected1; - expected1 += "a", "c", "d", "e"; - CHECK(assert_equal(init.subtract(delta), expected1)); - - delta += "e"; - Ordering expected2; - expected2 += "a", "c", "d"; - CHECK(assert_equal(init.subtract(delta), expected2)); -} - -/* ************************************************************************* */ -int main() { - TestResult tr; - return TestRegistry::runAllTests(tr); -} -/* ************************************************************************* */ diff --git a/gtsam/linear/GaussianFactor.h b/gtsam/linear/GaussianFactor.h index 4159690e5..b43434a94 100644 --- a/gtsam/linear/GaussianFactor.h +++ b/gtsam/linear/GaussianFactor.h @@ -47,8 +47,6 @@ namespace gtsam { - class GaussianFactorGraph; - /** A map from key to dimension, useful in various contexts */ typedef std::map Dimensions; diff --git a/gtsam/linear/GaussianFactorGraph.cpp b/gtsam/linear/GaussianFactorGraph.cpp index ddcad80ea..ede5571a8 100644 --- a/gtsam/linear/GaussianFactorGraph.cpp +++ b/gtsam/linear/GaussianFactorGraph.cpp @@ -26,7 +26,6 @@ #include #include -#include #include diff --git a/gtsam/linear/tests/timeFactorOverhead.cpp b/gtsam/linear/tests/timeFactorOverhead.cpp index b0440b08b..c25e069f1 100644 --- a/gtsam/linear/tests/timeFactorOverhead.cpp +++ b/gtsam/linear/tests/timeFactorOverhead.cpp @@ -18,7 +18,6 @@ #include #include -#include #include #include diff --git a/gtsam/nonlinear/NonlinearFactorGraph-inl.h b/gtsam/nonlinear/NonlinearFactorGraph-inl.h index cb0ed0288..264ab9430 100644 --- a/gtsam/nonlinear/NonlinearFactorGraph-inl.h +++ b/gtsam/nonlinear/NonlinearFactorGraph-inl.h @@ -23,7 +23,7 @@ #include #include #include -#include +#include #define INSTANTIATE_NONLINEAR_FACTOR_GRAPH(C) \ INSTANTIATE_FACTOR_GRAPH(NonlinearFactor); \ diff --git a/gtsam/slam/saveGraph.cpp b/gtsam/slam/saveGraph.cpp index 2c9dcf7c1..ac390b1e5 100644 --- a/gtsam/slam/saveGraph.cpp +++ b/gtsam/slam/saveGraph.cpp @@ -21,7 +21,6 @@ #include #include #include -#include #include using namespace std; diff --git a/tests/testGaussianFactor.cpp b/tests/testGaussianFactor.cpp index e7761a1e7..e947b6707 100644 --- a/tests/testGaussianFactor.cpp +++ b/tests/testGaussianFactor.cpp @@ -30,7 +30,6 @@ using namespace boost::assign; #include #include -#include #include #include