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_task.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/gensvm_task.c (limited to 'src/gensvm_task.c') diff --git a/src/gensvm_task.c b/src/gensvm_task.c new file mode 100644 index 0000000..587c4c4 --- /dev/null +++ b/src/gensvm_task.c @@ -0,0 +1,55 @@ +/** + * @file gensvm_task.c + * @author Gertjan van den Burg + * @date May, 2016 + * @brief Functions for initializing and freeing a GenTask + * + */ + +#include "gensvm_task.h" + +/** + * @brief Initialize a GenTask structure + * + * @details + * A GenTask structure is initialized and the default value for the + * parameters are set. A pointer to the initialized GenTask is returned. + * + * @returns initialized GenTask + */ +struct GenTask *gensvm_init_task() +{ + struct GenTask *t = Malloc(struct GenTask, 1); + + t->kerneltype = K_LINEAR; + t->weight_idx = 1; + t->folds = 10; + t->ID = -1; + t->p = 1.0; + t->kappa = 0.0; + t->lambda = 1.0; + t->epsilon = 1e-6; + t->kernelparam = NULL; + t->train_data = NULL; + t->test_data = NULL; + t->performance = 0.0; + + return t; +} + +/** + * @brief Free the GenTask struct + * + * @details + * Freeing the allocated memory of the GenTask means freeing _only_ the + * kernelparam array, and the task itself. The datasets are not freed, as + * these are shared between all tasks. + * + * @param[in] t GenTask to be freed + * + */ +void gensvm_free_task(struct GenTask *t) +{ + free(t->kernelparam); + free(t); +} -- cgit v1.2.3