diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | hungarian.c | 34 |
2 files changed, 2 insertions, 34 deletions
@@ -1,5 +1,5 @@ all: - gcc -g -o "hungarian"{,.c} + gcc -o "hungarian"{,.c} nodebug: gcc -o "hungarian"{,.c} diff --git a/hungarian.c b/hungarian.c index 1bbb07f..f0bb446 100644 --- a/hungarian.c +++ b/hungarian.c @@ -183,15 +183,7 @@ int main(int argc, char** argv) cell sum = 0; for (i = 0; i < n; i++) - { sum += *(*(t + *(*(assignment + i) + 0)) + *(*(assignment + i) + 1)); - free(*(assignment + i)); - free(*(table + i)); - free(*(t + i)); - } - free(assignment); - free(table); - free(t); printf("\n\nSum: %li\n\n", sum); return 0; @@ -222,11 +214,7 @@ void print(cell** t, long n, long m, long** assignment) printf("%5li%s\e[m ", (cell)(*(*(t + i) + j)), (*(*(assigned + i) + j) ? "^" : " ")); } printf("\n\n"); - - free(*(assigned + i)); } - - free(assigned); } @@ -286,27 +274,13 @@ long** kuhn_match(cell** table, long n, long m) } for (i = n; i < m; i++) *(colCovered + i) = false; - free(prime); break; } kuhn_addAndSubtract(table, rowCovered, colCovered, n, m); } } - free(rowCovered); - free(colCovered); - free(altRow); - free(altCol); - free(rowPrimes); - free(colMarks); - - long** rc = kuhn_assign(marks, n, m); - - for (i = 0; i < n; i++) - free(*(marks + i)); - free(marks); - - return rc; + return kuhn_assign(marks, n, m); } @@ -379,8 +353,6 @@ byte** kuhn_mark(cell** t, long n, long m) *(colCovered + j) = true; } - free(rowCovered); - free(colCovered); return marks; } @@ -498,10 +470,6 @@ long* kuhn_findPrime(cell** t, byte** marks, boolean* rowCovered, boolean* colCo long* rc = new_longs(2); *rc = row; *(rc + 1) = col; - free(zeroes.limbs); - free(zeroes.first); - free(zeroes.next); - free(zeroes.prev); return rc; } } |