aboutsummaryrefslogtreecommitdiff
path: root/gensvm/cython_wrapper/wrapper.pxd
diff options
context:
space:
mode:
Diffstat (limited to 'gensvm/cython_wrapper/wrapper.pxd')
-rw-r--r--gensvm/cython_wrapper/wrapper.pxd136
1 files changed, 136 insertions, 0 deletions
diff --git a/gensvm/cython_wrapper/wrapper.pxd b/gensvm/cython_wrapper/wrapper.pxd
new file mode 100644
index 0000000..441c15b
--- /dev/null
+++ b/gensvm/cython_wrapper/wrapper.pxd
@@ -0,0 +1,136 @@
+cimport numpy as np
+
+# Includes
+
+cdef extern from "gensvm_globals.h":
+ # Stuff for kerneltype
+ ctypedef enum KernelType:
+ pass
+
+cdef extern from "gensvm_sparse.h":
+ # stuff for GenSparse
+
+ cdef struct GenSparse:
+ long nnz
+ long n_row
+ long n_col
+ double *values
+ long *ia
+ long *ja
+
+ GenSparse *gensvm_init_sparse()
+ void gensvm_free_sparse(GenSparse *)
+
+cdef extern from "gensvm_base.h":
+
+ cdef struct GenData:
+ long K
+ long n
+ long m
+ long r
+ long *y
+ double *Z
+ GenSparse *spZ
+ double *RAW
+ double *Sigma
+ KernelType kerneltype
+ double *kernelparam
+
+ cdef struct GenModel:
+ int weight_idx
+ long K
+ long n
+ long m
+ double epsilon
+ double p
+ double kappa
+ double lmd
+ double *V
+ double *Vbar
+ double *U
+ double *UU
+ double *Q
+ double *H
+ double *rho
+ double training_error
+ KernelType kerneltype
+ double *kernelparam
+ double kernel_eigen_cutoff
+
+ GenModel *gensvm_init_model()
+ void gensvm_free_model(GenModel *)
+
+ GenData *gensvm_init_data()
+ void gensvm_free_data(GenData *)
+
+
+cdef extern from "gensvm_task.h":
+
+ cdef struct GenTask:
+ long ID
+ long folds
+ GenData *train_data
+ GenData *test_data
+
+ KernelType kerneltype
+ int weight_idx
+ double p
+ double kappa
+ double lmd
+ double epsilon
+ double gamma
+ double coef
+ double degree
+ double max_iter
+
+ double performance
+ double duration
+ long *predictions
+
+ GenTask *gensvm_init_task()
+ gensvm_free_task(GenTask *)
+
+cdef extern from "gensvm_train.h":
+
+ void gensvm_train(GenModel *, GenData *, GenModel *) nogil
+
+cdef extern from "gensvm_sv.h":
+
+ long gensvm_num_sv(GenModel *)
+
+cdef extern from "gensvm_queue.h":
+
+ cdef struct GenQueue:
+ GenTask **tasks
+ long N
+ long i
+
+ GenQueue *gensvm_init_queue()
+ void gensvm_free_queue(GenQueue *)
+
+cdef extern from "gensvm_helper.c":
+
+ ctypedef char* char_const_ptr "char const *"
+ void set_model(GenModel *, double, double, double, double, int, int,
+ double, double, double, double, long, long)
+ void set_seed_model(GenModel *, double, double, double, double, int, int,
+ double, double, double, double, long, long, char *, long, long)
+ void set_data(GenData *, char *, char *, np.npy_intp *, long)
+ void set_task(GenTask *, int, GenData *, int, double, double, double,
+ double, double, int, double, double, double, long)
+ char_const_ptr check_model(GenModel *)
+ void copy_V(void *, GenModel *)
+ long get_iter_count(GenModel *)
+ double get_training_error(GenModel *)
+ int get_status(GenModel *)
+ long get_n(GenModel *)
+ long get_m(GenModel *)
+ long get_K(GenModel *)
+ void free_data(GenData *)
+ void set_verbosity(int)
+ void gensvm_predict(char *, char *, long, long, long, char *) nogil
+ void gensvm_train_q_helper(GenQueue *, char *, int) nogil
+ void set_queue(GenQueue *, long, GenTask **)
+ double get_task_duration(GenTask *)
+ double get_task_performance(GenTask *)
+ void copy_task_predictions(GenTask *, char *, long)