diff options
| author | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2016-05-16 18:47:09 +0200 |
|---|---|---|
| committer | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2016-05-16 18:47:09 +0200 |
| commit | 044dc5a93c33d7aa4c9c98a626890c16446a56fc (patch) | |
| tree | 23cc17a595d36a35ad9cb50e3ab18c2956b5f65c /src/gensvm_copy.c | |
| parent | Move includes to header (diff) | |
| download | gensvm-044dc5a93c33d7aa4c9c98a626890c16446a56fc.tar.gz gensvm-044dc5a93c33d7aa4c9c98a626890c16446a56fc.zip | |
major refactor of the code
Diffstat (limited to 'src/gensvm_copy.c')
| -rw-r--r-- | src/gensvm_copy.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/gensvm_copy.c b/src/gensvm_copy.c new file mode 100644 index 0000000..501e405 --- /dev/null +++ b/src/gensvm_copy.c @@ -0,0 +1,49 @@ +/** + * @file gensvm_copy.c + * @author Gertjan van den Burg + * @date May, 2016 + * @brief Function for copying a GenModel instance + * + */ + +#include "gensvm_copy.h" + +/** + * @brief Copy model parameters between two GenModel structs + * + * @details + * The parameters copied are GenModel::weight_idx, GenModel::epsilon, + * GenModel::p, GenModel::kappa, and GenModel::lambda. + * + * @param[in] from GenModel to copy parameters from + * @param[in,out] to GenModel to copy parameters to + */ +void gensvm_copy_model(struct GenModel *from, struct GenModel *to) +{ + to->weight_idx = from->weight_idx; + to->epsilon = from->epsilon; + to->p = from->p; + to->kappa = from->kappa; + to->lambda = from->lambda; + + to->kerneltype = from->kerneltype; + switch (to->kerneltype) { + case K_LINEAR: + break; + case K_POLY: + to->kernelparam = Malloc(double, 3); + to->kernelparam[0] = from->kernelparam[0]; + to->kernelparam[1] = from->kernelparam[1]; + to->kernelparam[2] = from->kernelparam[2]; + break; + case K_RBF: + to->kernelparam = Malloc(double, 1); + to->kernelparam[0] = from->kernelparam[0]; + break; + case K_SIGMOID: + to->kernelparam = Malloc(double, 2); + to->kernelparam[0] = from->kernelparam[0]; + to->kernelparam[1] = from->kernelparam[1]; + break; + } +} |
