diff options
Diffstat (limited to 'src/gensvm_task.c')
| -rw-r--r-- | src/gensvm_task.c | 55 |
1 files changed, 55 insertions, 0 deletions
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); +} |
