From aa443fdef05e65066be95fb4b1a7ca9c00eba5da Mon Sep 17 00:00:00 2001 From: Duy-Nguyen Ta Date: Sat, 18 Jun 2016 00:40:23 -0400 Subject: [PATCH] make QPParser tests pass on MacOSX-10.10.5/clang-700.1.81(LLVM 7.0.2)/boost-1.59 --- gtsam_unstable/linear/RawQP.cpp | 18 +++++++++--------- gtsam_unstable/linear/tests/testQPSolver.cpp | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/gtsam_unstable/linear/RawQP.cpp b/gtsam_unstable/linear/RawQP.cpp index f88731e72..b03bcc079 100644 --- a/gtsam_unstable/linear/RawQP.cpp +++ b/gtsam_unstable/linear/RawQP.cpp @@ -225,31 +225,31 @@ QP RawQP::makeQP() { madeQP.cost.push_back(obj); for (auto kv : E) { - std::vector < std::pair > KeyMatPair; + std::map keyMatrixMap; for (auto km : kv.second) { - KeyMatPair.push_back(km); + keyMatrixMap.insert(km); } madeQP.equalities.push_back( - LinearEquality(KeyMatPair, b[kv.first] * I_1x1, dual_key_num++)); + LinearEquality(keyMatrixMap, b[kv.first] * I_1x1, dual_key_num++)); } for (auto kv : IG) { - std::vector < std::pair > KeyMatPair; + std::map keyMatrixMap; for (auto km : kv.second) { km.second = -km.second; - KeyMatPair.push_back(km); + keyMatrixMap.insert(km); } madeQP.inequalities.push_back( - LinearInequality(KeyMatPair, -b[kv.first], dual_key_num++)); + LinearInequality(keyMatrixMap, -b[kv.first], dual_key_num++)); } for (auto kv : IL) { - std::vector < std::pair > KeyMatPair; + std::map keyMatrixMap; for (auto km : kv.second) { - KeyMatPair.push_back(km); + keyMatrixMap.insert(km); } madeQP.inequalities.push_back( - LinearInequality(KeyMatPair, b[kv.first], dual_key_num++)); + LinearInequality(keyMatrixMap, b[kv.first], dual_key_num++)); } for (Key k : keys) { diff --git a/gtsam_unstable/linear/tests/testQPSolver.cpp b/gtsam_unstable/linear/tests/testQPSolver.cpp index 56c0c38a8..bf9d91232 100644 --- a/gtsam_unstable/linear/tests/testQPSolver.cpp +++ b/gtsam_unstable/linear/tests/testQPSolver.cpp @@ -222,9 +222,9 @@ pair testParser(QPSParser parser) { // 2x + y >= 2 // -x + 2y <= 6 expectedqp.inequalities.push_back( - LinearInequality(X2, -I_1x1, X1, -2.0 * I_1x1, -2, 0)); + LinearInequality(X1, -2.0 * I_1x1, X2, -I_1x1, -2, 0)); expectedqp.inequalities.push_back( - LinearInequality(X2, 2.0 * I_1x1, X1, -I_1x1, 6, 1)); + LinearInequality(X1, -I_1x1, X2, 2.0 * I_1x1, 6, 1)); // x<= 20 expectedqp.inequalities.push_back(LinearInequality(X1, I_1x1, 20, 4)); //x >= 0