diff options
Diffstat (limited to 'SD-VBS/benchmarks/svm')
| -rw-r--r-- | SD-VBS/benchmarks/svm/src/c/script_svm.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/SD-VBS/benchmarks/svm/src/c/script_svm.c b/SD-VBS/benchmarks/svm/src/c/script_svm.c index f1ce963..d77291c 100644 --- a/SD-VBS/benchmarks/svm/src/c/script_svm.c +++ b/SD-VBS/benchmarks/svm/src/c/script_svm.c | |||
| @@ -16,7 +16,7 @@ int main(int argc, char* argv[]) | |||
| 16 | int iter, N, Ntst, i, j, k, n; | 16 | int iter, N, Ntst, i, j, k, n; |
| 17 | F2D* trn1, *tst1, *trn2, *tst2, *Yoffset; | 17 | F2D* trn1, *tst1, *trn2, *tst2, *Yoffset; |
| 18 | alphaRet* alpha; | 18 | alphaRet* alpha; |
| 19 | F2D *a_result, *result; | 19 | F2D *a_result, *result = NULL; |
| 20 | F2D *s; | 20 | F2D *s; |
| 21 | F2D *b_result; | 21 | F2D *b_result; |
| 22 | F2D *Xtst, *Ytst; | 22 | F2D *Xtst, *Ytst; |
| @@ -87,6 +87,10 @@ int main(int argc, char* argv[]) | |||
| 87 | tst2 = readFile(im1); | 87 | tst2 = readFile(im1); |
| 88 | 88 | ||
| 89 | for_each_job { | 89 | for_each_job { |
| 90 | // Clear the results from our last job | ||
| 91 | if (result) | ||
| 92 | fFreeHandle(result); | ||
| 93 | |||
| 90 | alpha = getAlphaFromTrainSet(N, trn1, trn2, iter); | 94 | alpha = getAlphaFromTrainSet(N, trn1, trn2, iter); |
| 91 | a_result = alpha->a_result; | 95 | a_result = alpha->a_result; |
| 92 | b_result = alpha->b_result; | 96 | b_result = alpha->b_result; |
| @@ -133,6 +137,14 @@ int main(int argc, char* argv[]) | |||
| 133 | fFreeHandle(s); | 137 | fFreeHandle(s); |
| 134 | asubsref(result,n) = maxs; | 138 | asubsref(result,n) = maxs; |
| 135 | } | 139 | } |
| 140 | |||
| 141 | fFreeHandle(Yoffset); | ||
| 142 | fFreeHandle(alpha->a_result); | ||
| 143 | fFreeHandle(alpha->b_result); | ||
| 144 | fFreeHandle(alpha->X); | ||
| 145 | free(alpha); | ||
| 146 | fFreeHandle(Xtst); | ||
| 147 | fFreeHandle(Ytst); | ||
| 136 | } | 148 | } |
| 137 | 149 | ||
| 138 | #ifdef CHECK | 150 | #ifdef CHECK |
| @@ -154,14 +166,7 @@ int main(int argc, char* argv[]) | |||
| 154 | fFreeHandle(tst1); | 166 | fFreeHandle(tst1); |
| 155 | fFreeHandle(trn2); | 167 | fFreeHandle(trn2); |
| 156 | fFreeHandle(tst2); | 168 | fFreeHandle(tst2); |
| 157 | fFreeHandle(Yoffset); | ||
| 158 | fFreeHandle(result); | 169 | fFreeHandle(result); |
| 159 | fFreeHandle(alpha->a_result); | ||
| 160 | fFreeHandle(alpha->b_result); | ||
| 161 | fFreeHandle(alpha->X); | ||
| 162 | free(alpha); | ||
| 163 | fFreeHandle(Xtst); | ||
| 164 | fFreeHandle(Ytst); | ||
| 165 | WRITE_TO_FILE | 170 | WRITE_TO_FILE |
| 166 | return 0; | 171 | return 0; |
| 167 | } | 172 | } |
