48array_to_matrix(
int *m,
int rows,
int cols)
52 r = (
int **)calloc(rows,
sizeof(
int *));
53 for (i = 0; i < rows; i++) {
54 r[i] = (
int *)calloc(cols,
sizeof(
int));
55 for (j = 0; j < cols; j++)
56 r[i][j] = m[i * cols + j];
62main(
int argc,
char *argv[])
64 std::cout <<
"QAHungarian: creating HungarianMethod object" << std::endl;
65 HungarianMethod *hungarian =
new HungarianMethod();
68 int r[4 * 3] = {100, 1, 1, 100, 2, 2, 1, 0, 0, 0, 2, 0};
69 int **m = array_to_matrix(r, 4, 3);
71 std::cout <<
"QAHungarian: init HungarianMethod object" << std::endl;
73 int matrix_size = hungarian->Init(m, 4, 3, HUNGARIAN_MODE_MINIMIZE_COST);
75 std::cout <<
"QAHungarian: Assignement matrix has a now a size '" << matrix_size <<
"' rows "
76 <<
"and '" << matrix_size <<
"' columns." << std::endl;
78 hungarian->PrintCostmatrix();
80 std::cout <<
"QAHungarian: calling solve on HungarianMethod object" << std::endl;
84 hungarian->PrintAssignment();
86 std::cout <<
"QAHungarian: calling free on HungarianMethod object" << std::endl;