aboutsummaryrefslogtreecommitdiff
path: root/src/gensvm_pred.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gensvm_pred.c')
-rw-r--r--src/gensvm_pred.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/gensvm_pred.c b/src/gensvm_pred.c
index 8a9a43e..43b27cc 100644
--- a/src/gensvm_pred.c
+++ b/src/gensvm_pred.c
@@ -31,7 +31,7 @@ void gensvm_predict_labels(struct GenData *testdata, struct GenModel *model,
long *predy)
{
long i, j, k, n, m, K, label;
- double norm, min_dist, *S, *ZV, *U;
+ double norm, min_dist, *S, *ZV;
n = testdata->n;
m = testdata->r;
@@ -40,10 +40,9 @@ void gensvm_predict_labels(struct GenData *testdata, struct GenModel *model,
// allocate necessary memory
S = Calloc(double, K-1);
ZV = Calloc(double, n*(K-1));
- U = Calloc(double, K*(K-1));
// Generate the simplex matrix
- gensvm_simplex(K, U);
+ gensvm_simplex(model);
// Generate the simplex space vectors
cblas_dgemm(
@@ -70,7 +69,7 @@ void gensvm_predict_labels(struct GenData *testdata, struct GenModel *model,
for (j=0; j<K; j++) {
for (k=0; k<K-1; k++) {
S[k] = matrix_get(ZV, K-1, i, k) -
- matrix_get(U, K-1, j, k);
+ matrix_get(model->U, K-1, j, k);
}
norm = cblas_dnrm2(K-1, S, 1);
if (norm < min_dist) {
@@ -82,7 +81,6 @@ void gensvm_predict_labels(struct GenData *testdata, struct GenModel *model,
}
free(ZV);
- free(U);
free(S);
}