aboutsummaryrefslogtreecommitdiff
path: root/src/gensvm_grid.c
diff options
context:
space:
mode:
authorGertjan van den Burg <gertjanvandenburg@gmail.com>2016-05-16 18:47:09 +0200
committerGertjan van den Burg <gertjanvandenburg@gmail.com>2016-05-16 18:47:09 +0200
commit044dc5a93c33d7aa4c9c98a626890c16446a56fc (patch)
tree23cc17a595d36a35ad9cb50e3ab18c2956b5f65c /src/gensvm_grid.c
parentMove includes to header (diff)
downloadgensvm-044dc5a93c33d7aa4c9c98a626890c16446a56fc.tar.gz
gensvm-044dc5a93c33d7aa4c9c98a626890c16446a56fc.zip
major refactor of the code
Diffstat (limited to 'src/gensvm_grid.c')
-rw-r--r--src/gensvm_grid.c62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/gensvm_grid.c b/src/gensvm_grid.c
new file mode 100644
index 0000000..ea25b89
--- /dev/null
+++ b/src/gensvm_grid.c
@@ -0,0 +1,62 @@
+/**
+ * @file gensvm_grid.c
+ * @author Gertjan van den Burg
+ * @date Mayy, 2016
+ * @brief Functions for initializing GenGrid structures
+ *
+ * @details
+ * This file contains functions for initializing and freeing a GenGrid
+ * instance. In addition, default values for this structure are defined here
+ * (and only here).
+ *
+ */
+
+#include "gensvm_grid.h"
+
+struct GenGrid *gensvm_init_grid()
+{
+ struct GenGrid *grid = Malloc(struct GenGrid, 1);
+
+ // initialize to defaults
+ grid->traintype = CV;
+ grid->kerneltype = K_LINEAR;
+ grid->repeats = 0;
+ grid->folds = 10;
+ grid->Np = 0;
+ grid->Nl = 0;
+ grid->Nk = 0;
+ grid->Ne = 0;
+ grid->Nw = 0;
+ grid->Ng = 0;
+ grid->Nc = 0;
+ grid->Nd = 0;
+
+ // set arrays to NULL
+ grid->weight_idxs = NULL;
+ grid->ps = NULL;
+ grid->lambdas = NULL;
+ grid->kappas = NULL;
+ grid->epsilons = NULL;
+ grid->gammas = NULL;
+ grid->coefs = NULL;
+ grid->degrees = NULL;
+ grid->train_data_file = NULL;
+ grid->test_data_file = NULL;
+
+ return grid;
+}
+
+void gensvm_free_grid(struct GenGrid *grid)
+{
+ free(grid->weight_idxs);
+ free(grid->ps);
+ free(grid->lambdas);
+ free(grid->kappas);
+ free(grid->epsilons);
+ free(grid->gammas);
+ free(grid->coefs);
+ free(grid->degrees);
+ free(grid->train_data_file);
+ free(grid->test_data_file);
+ free(grid);
+}