aboutsummaryrefslogtreecommitdiff
path: root/tests/src/test_gensvm_train.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/test_gensvm_train.c')
-rw-r--r--tests/src/test_gensvm_train.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/tests/src/test_gensvm_train.c b/tests/src/test_gensvm_train.c
index f7033f0..f17cfef 100644
--- a/tests/src/test_gensvm_train.c
+++ b/tests/src/test_gensvm_train.c
@@ -48,6 +48,10 @@ char *test_gensvm_train_seed_linear()
data->Z = data->RAW;
data->y = Calloc(long, data->n);
+ seed->n = data->n;
+ seed->m = data->m;
+ seed->K = data->K;
+
matrix_set(data->Z, data->m+1, 0, 0, 1.0000000000000000);
matrix_set(data->Z, data->m+1, 0, 1, 0.8056271362589000);
matrix_set(data->Z, data->m+1, 0, 2, 0.4874175854113872);
@@ -261,14 +265,15 @@ char *test_gensvm_train_seed_kernel()
matrix_set(data->y, 1, 0, 8, 3);
matrix_set(data->y, 1, 0, 9, 4);
+
+ struct GenModel *seed = gensvm_init_model();
+ seed->V = Calloc(double, 7*3);
+ seed->m = 6;
+ seed->K = 4;
+
// start test code //
- // because the kernel eigendecomposition isn't known in advance,
- // there's no way to seed the model when using kernels. We therefore
- // use seed == NULL here. Note that due to the Memset in
- // gensvm_reallocate_model(), V will be a matrix of zeros after
- // reallocation, so we compare with the V = 0 result from Octave.
- gensvm_train(model, data, NULL);
+ gensvm_train(model, data, seed);
mu_assert(model->n == data->n, "Incorrect model n");
mu_assert(model->m == data->r, "Incorrect model m");
@@ -368,6 +373,7 @@ char *test_gensvm_train_seed_kernel()
// end test code //
gensvm_free_model(model);
+ gensvm_free_model(seed);
gensvm_free_data(data);
return NULL;