From 044dc5a93c33d7aa4c9c98a626890c16446a56fc Mon Sep 17 00:00:00 2001 From: Gertjan van den Burg Date: Mon, 16 May 2016 18:47:09 +0200 Subject: major refactor of the code --- src/gensvm_grid.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 src/gensvm_grid.c (limited to 'src/gensvm_grid.c') 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); +} -- cgit v1.2.3