#include "hungarian.h"
#include "gtest/gtest.h"
#include <cmath>
+#include <vector>
using namespace std;
using namespace Eigen;
EXPECT_TRUE(expect_col_ind == col_ind);
}
+TEST(Hungarian, 0x0)
+{
+ MatrixXi C = MatrixXi::Zero(0, 0);
+ VectorXi row_ind, col_ind;
+ int ret = linear_sum_assignment(C, row_ind, col_ind);
+ EXPECT_EQ(ret, 0);
+}
+
+
TEST(Distance, consine)
{
Vector3d u, v;
d = distance_euclidean(u, v);
EXPECT_DOUBLE_EQ(d, 1.0);
}
+
+TEST(Distance, vector)
+{
+ std::vector<int> sv = {1, 2, 3, 4, 5, 6};
+ VectorXi v1;
+ VectorXi b = Eigen::Map<VectorXi>(sv.data(), sv.size());
+ std::cout << b << std::endl;
+ std::vector<float> f1_hog = { 0.1, 0.2, 0,3};
+// Eigen::Map<Eigen::VectorXd>(f2_hog.data(), f2_hog.size())
+
+ //VectorXd mf = Map<VectorXd, 0, InnerStride<2> >(sv.data(), sv.size());
+ std::vector<double> sd = {1, 2, 3, 4, 5, 6};
+ VectorXd mm = Map<VectorXd>(sd.data(), sd.size());
+ VectorXd xd = Map<VectorXd, 0, InnerStride<2> >(sd.data(), sd.size());
+ cout << Map<VectorXd, 0, InnerStride<2> >(sd.data(), sd.size()) << endl;
+
+ int array[12];
+ for(int i = 0; i < 12; ++i) array[i] = i;
+ cout << Map<VectorXi, 0, InnerStride<2> >(sv.data(), sv.size()) // the inner stride has already been passed as template parameter
+ << endl;
+
+
+ //Vector3d v = Vector3d::Random();
+ //std::cout << v << std::endl;
+
+}
+
+