Hungarian-Munkres 0.1.0 → 0.1.1
raw patch · 3 files changed
+7/−7 lines, 3 files
Files
- Hungarian-Munkres.cabal +3/−3
- cbits/hungarian.c +3/−3
- tests/tests.hs +1/−1
Hungarian-Munkres.cabal view
@@ -2,8 +2,8 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: Hungarian-Munkres-version: 0.1.0-synopsis: A linear Sum Assignment Problme (LSAP) solver+version: 0.1.1+synopsis: A Linear Sum Assignment Problem (LSAP) solver description: This library provide a Haskell binding to the libhungarian, a solver for Linear Sum Assignment Problem (LSAP) implemented in C language. It uses Hungarian algorithm @@ -13,7 +13,7 @@ license-file: LICENSE author: Kai Zhang <kai@kzhang.org> maintainer: Kai Zhang <kai@kzhang.org>-copyright: Kai Zhang+copyright: (c) 2014 Kai Zhang category: Algorithm build-type: Simple -- extra-source-files:
cbits/hungarian.c view
@@ -33,11 +33,11 @@ #define hungarian_test_alloc(X) do {if ((void *)(X) == NULL) fprintf(stderr, "Out of memory in %s, (%s, line %d).\n", __FUNCTION__, __FILE__, __LINE__); } while (0) -int hungarian(double* data, int* result, int rows, int cols) {+double hungarian(double* data, int* result, int rows, int cols) { int i,j; hungarian_problem_t p; int matrix_size = hungarian_init(&p, data , rows, cols, HUNGARIAN_MODE_MINIMIZE_COST) ;- hungarian_solve(&p);+ double cost = hungarian_solve(&p); for(i=0;i<rows;i++) for(j=0;j<cols;j++)@@ -45,7 +45,7 @@ hungarian_free(&p); - return 0;+ return cost; }
tests/tests.hs view
@@ -22,4 +22,4 @@ [rows, cols] = take 2 $ randomRs (100, 150) g (~=) :: Double -> Double -> Bool-(~=) a b = abs (a - b) < 1e-12+(~=) a b = abs (a - b) <= 1.0e-12