scm2cpp-learn 0.18.0__py3-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- scm2cpp_learn/__init__.py +3836 -0
- scm2cpp_learn/_classifiers.cp312-win_amd64.pyd +0 -0
- scm2cpp_learn/_compat.py +284 -0
- scm2cpp_learn/_generated/__init__.py +0 -0
- scm2cpp_learn/_generated/_loader.py +41 -0
- scm2cpp_learn/_generated/_loader_accel_cublas.py +173 -0
- scm2cpp_learn/_generated/_loader_classifiers.py +308 -0
- scm2cpp_learn/_generated/_loader_derived_blas.py +29 -0
- scm2cpp_learn/_generated/_loader_derived_cublas.py +29 -0
- scm2cpp_learn/_generated/_loader_derived_loops.py +29 -0
- scm2cpp_learn/_generated/_loader_gpu_cuda.py +313 -0
- scm2cpp_learn/_generated/_loader_gramops_blas.py +692 -0
- scm2cpp_learn/_generated/_loader_gramops_loops.py +711 -0
- scm2cpp_learn/_generated/_loader_nmf_blas.py +29 -0
- scm2cpp_learn/_generated/_loader_nmf_cublas.py +29 -0
- scm2cpp_learn/_generated/_loader_nmf_loops.py +29 -0
- scm2cpp_learn/_generated/accel_cublas/accel.cpp +24 -0
- scm2cpp_learn/_generated/accel_cublas/accel.hpp +1178 -0
- scm2cpp_learn/_generated/accel_cublas/accel_capi.cpp +76 -0
- scm2cpp_learn/_generated/classifiers.cpp +37 -0
- scm2cpp_learn/_generated/classifiers.hpp +3745 -0
- scm2cpp_learn/_generated/classifiers_capi.cpp +115 -0
- scm2cpp_learn/_generated/derived_blas/lasso_design.cpp +5 -0
- scm2cpp_learn/_generated/derived_blas/lasso_design.hpp +156 -0
- scm2cpp_learn/_generated/derived_blas/lasso_design_capi.cpp +19 -0
- scm2cpp_learn/_generated/derived_cublas/lasso_design.cpp +5 -0
- scm2cpp_learn/_generated/derived_cublas/lasso_design.hpp +158 -0
- scm2cpp_learn/_generated/derived_cublas/lasso_design_capi.cpp +19 -0
- scm2cpp_learn/_generated/derived_loops/lasso_design.cpp +5 -0
- scm2cpp_learn/_generated/derived_loops/lasso_design.hpp +179 -0
- scm2cpp_learn/_generated/derived_loops/lasso_design_capi.cpp +19 -0
- scm2cpp_learn/_generated/gpu_cuda/gpu.cpp +37 -0
- scm2cpp_learn/_generated/gpu_cuda/gpu.hpp +3846 -0
- scm2cpp_learn/_generated/gpu_cuda/gpu_capi.cpp +308 -0
- scm2cpp_learn/_generated/gramops_blas/gramops.cpp +82 -0
- scm2cpp_learn/_generated/gramops_blas/gramops.hpp +5411 -0
- scm2cpp_learn/_generated/gramops_blas/gramops_capi.cpp +244 -0
- scm2cpp_learn/_generated/gramops_loops/gramops.cpp +82 -0
- scm2cpp_learn/_generated/gramops_loops/gramops.hpp +6395 -0
- scm2cpp_learn/_generated/gramops_loops/gramops_capi.cpp +250 -0
- scm2cpp_learn/_generated/lasso_cov.cpp +7 -0
- scm2cpp_learn/_generated/lasso_cov.hpp +152 -0
- scm2cpp_learn/_generated/lasso_cov_capi.cpp +25 -0
- scm2cpp_learn/_generated/nmf_blas/nmf_cd.cpp +5 -0
- scm2cpp_learn/_generated/nmf_blas/nmf_cd.hpp +132 -0
- scm2cpp_learn/_generated/nmf_blas/nmf_cd_capi.cpp +19 -0
- scm2cpp_learn/_generated/nmf_cublas/nmf_cd.cpp +5 -0
- scm2cpp_learn/_generated/nmf_cublas/nmf_cd.hpp +136 -0
- scm2cpp_learn/_generated/nmf_cublas/nmf_cd_capi.cpp +19 -0
- scm2cpp_learn/_generated/nmf_loops/nmf_cd.cpp +5 -0
- scm2cpp_learn/_generated/nmf_loops/nmf_cd.hpp +167 -0
- scm2cpp_learn/_generated/nmf_loops/nmf_cd_capi.cpp +19 -0
- scm2cpp_learn/_generated/scm2cpp-blas.hpp +158 -0
- scm2cpp_learn/_generated/scm2cpp-cublas.hpp +155 -0
- scm2cpp_learn/_generated/scm2cpp-cuda.hpp +285 -0
- scm2cpp_learn/_generated/scm2cpp.hpp +1627 -0
- scm2cpp_learn/_gramops_blas.cp312-win_amd64.pyd +0 -0
- scm2cpp_learn/_lasso_cov.cp312-win_amd64.pyd +0 -0
- scm2cpp_learn/_lasso_derived_blas.cp312-win_amd64.pyd +0 -0
- scm2cpp_learn/_libfind.py +153 -0
- scm2cpp_learn/_nmf_blas.cp312-win_amd64.pyd +0 -0
- scm2cpp_learn/batch_capi.cu +428 -0
- scm2cpp_learn-0.18.0.dist-info/DELVEWHEEL +2 -0
- scm2cpp_learn-0.18.0.dist-info/METADATA +1171 -0
- scm2cpp_learn-0.18.0.dist-info/RECORD +72 -0
- scm2cpp_learn-0.18.0.dist-info/WHEEL +5 -0
- scm2cpp_learn-0.18.0.dist-info/top_level.txt +1 -0
- scm2cpp_learn.libs/.load-order-scm2cpp_learn-0.18.0 +4 -0
- scm2cpp_learn.libs/libopenblas-0486735c359a67419d8832e3c40e2837.dll +4 -0
- scm2cpp_learn.libs/msvcp140-73438573e87f9a2fd944b01def13566d.dll +0 -0
- scm2cpp_learn.libs/vcruntime140-052ad6a20d375957e82aa6a3c441ea54.dll +0 -0
- scm2cpp_learn.libs/vcruntime140_1-a198370e11c6e7469d1cf0ef5b3f433d.dll +0 -0
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
// extern "C" wrappers over the translated functions, for Python and
|
|
2
|
+
// any other caller that speaks the C ABI. Array parameters arrive as
|
|
3
|
+
// element pointers: a view parameter takes the pointer as it is, so
|
|
4
|
+
// the caller's buffer is read and written in place with no copy; a
|
|
5
|
+
// fixed-extent one is reinterpreted as the std::array the function
|
|
6
|
+
// expects. The caller guarantees the length either way.
|
|
7
|
+
// Build (boost includes only if the generated header asks for them,
|
|
8
|
+
// which a numeric kernel's does not):
|
|
9
|
+
// g++ -O2 -std=c++17 -shared -fPIC -I. -o libgramops.so gramops_capi.cpp
|
|
10
|
+
#include "gramops.hpp"
|
|
11
|
+
#include <vector>
|
|
12
|
+
#include <algorithm>
|
|
13
|
+
|
|
14
|
+
extern "C" int scm2cpp_spd_inverse(double* a, double* inv, double* l, double* z, int p) {
|
|
15
|
+
return spd_inverse(a, inv, l, z, p);
|
|
16
|
+
}
|
|
17
|
+
extern "C" int scm2cpp_enet_gap(double* w, double* q, double* qw, double* xta, double* out, double alpha, double ynorm2, int m) {
|
|
18
|
+
return enet_gap(w, q, qw, xta, *reinterpret_cast<std::array<double,2>*>(out), alpha, ynorm2, m);
|
|
19
|
+
}
|
|
20
|
+
extern "C" int scm2cpp_enet_safe_rule(double* w, double* qm, double* qw, double* xta, int* active, int* excl, double* out, double alpha, int m) {
|
|
21
|
+
return enet_safe_rule(w, qm, qw, xta, active, excl, *reinterpret_cast<std::array<double,2>*>(out), alpha, m);
|
|
22
|
+
}
|
|
23
|
+
extern "C" int scm2cpp_enet_gram(double* w, double* qm, double* q, double* qw, double* xta, int* active, int* excl, double* out, double alpha, int maxiter, double tol, int m) {
|
|
24
|
+
return enet_gram(w, qm, q, qw, xta, active, excl, *reinterpret_cast<std::array<double,2>*>(out), alpha, maxiter, tol, m);
|
|
25
|
+
}
|
|
26
|
+
extern "C" int scm2cpp_graphical_lasso(double* emp, double* cov, double* prec, double alpha, int maxiter, double tol, double enettol, int p) {
|
|
27
|
+
return graphical_lasso(emp, cov, prec, alpha, maxiter, tol, enettol, p);
|
|
28
|
+
}
|
|
29
|
+
extern "C" int scm2cpp_omp(double* x, double* y, double* coef, double* path, int rec, int kmax, int n, int p) {
|
|
30
|
+
return omp(x, y, coef, path, rec, kmax, n, p);
|
|
31
|
+
}
|
|
32
|
+
extern "C" double scm2cpp_logistic_fg(double* coef, double* g, double* x, double* y, double* z, double l2, int multi, int fitint, int n, int p, int k) {
|
|
33
|
+
return logistic_fg(coef, g, x, y, z, l2, multi, fitint, n, p, k);
|
|
34
|
+
}
|
|
35
|
+
extern "C" int scm2cpp_logistic_lbfgs(double* x, double* y, double* coef, double* out, double c, int maxiter, double tol, int multi, int fitint, int n, int p, int k) {
|
|
36
|
+
return logistic_lbfgs(x, y, coef, out, c, maxiter, tol, multi, fitint, n, p, k);
|
|
37
|
+
}
|
|
38
|
+
extern "C" double scm2cpp_huber_fg(double* coef, double* g, double* x, double* y, double* z, double epsilon, double alpha, int fitint, int n, int p) {
|
|
39
|
+
return huber_fg(coef, g, x, y, z, epsilon, alpha, fitint, n, p);
|
|
40
|
+
}
|
|
41
|
+
extern "C" int scm2cpp_huber(double* x, double* y, double* coef, double* out, double epsilon, double alpha, int maxiter, double tol, int fitint, int n, int p) {
|
|
42
|
+
return huber(x, y, coef, out, epsilon, alpha, maxiter, tol, fitint, n, p);
|
|
43
|
+
}
|
|
44
|
+
extern "C" double scm2cpp_glm_fg(double* coef, double* g, double* x, double* y, double* z, int family, double power, double l2, int fitint, int n, int p) {
|
|
45
|
+
return glm_fg(coef, g, x, y, z, family, power, l2, fitint, n, p);
|
|
46
|
+
}
|
|
47
|
+
extern "C" int scm2cpp_glm(double* x, double* y, double* coef, double* out, int family, double power, double alpha, int maxiter, double tol, int fitint, int n, int p) {
|
|
48
|
+
return glm(x, y, coef, out, family, power, alpha, maxiter, tol, fitint, n, p);
|
|
49
|
+
}
|
|
50
|
+
extern "C" double scm2cpp_lb_abs(double a) {
|
|
51
|
+
return lb_abs(a);
|
|
52
|
+
}
|
|
53
|
+
extern "C" double scm2cpp_lb_max(double a, double b) {
|
|
54
|
+
return lb_max(a, b);
|
|
55
|
+
}
|
|
56
|
+
extern "C" double scm2cpp_lb_min(double a, double b) {
|
|
57
|
+
return lb_min(a, b);
|
|
58
|
+
}
|
|
59
|
+
extern "C" int scm2cpp_lb_dcstep(double* cs, double fp, double dp, double stpmin, double stpmax) {
|
|
60
|
+
return lb_dcstep(*reinterpret_cast<std::array<double,8>*>(cs), fp, dp, stpmin, stpmax);
|
|
61
|
+
}
|
|
62
|
+
extern "C" int scm2cpp_lb_search_start(double* ls, double f, double g, double stp, double stpmin, double stpmax, double ftol) {
|
|
63
|
+
return lb_search_start(*reinterpret_cast<std::array<double,16>*>(ls), f, g, stp, stpmin, stpmax, ftol);
|
|
64
|
+
}
|
|
65
|
+
extern "C" int scm2cpp_lb_search_step(double* ls, double* cs, double f, double g, double ftol, double gtol, double xtol, double stpmin, double stpmax) {
|
|
66
|
+
return lb_search_step(*reinterpret_cast<std::array<double,16>*>(ls), *reinterpret_cast<std::array<double,8>*>(cs), f, g, ftol, gtol, xtol, stpmin, stpmax);
|
|
67
|
+
}
|
|
68
|
+
extern "C" double scm2cpp_lb_dot(double* a, double* b, int nv) {
|
|
69
|
+
return lb_dot(a, b, nv);
|
|
70
|
+
}
|
|
71
|
+
extern "C" double scm2cpp_lb_dot_row(double* mem, int slot, double* v, int nv) {
|
|
72
|
+
return lb_dot_row(mem, slot, v, nv);
|
|
73
|
+
}
|
|
74
|
+
extern "C" double scm2cpp_lb_dot_rows(double* a, int ra, double* b, int rb, int nv) {
|
|
75
|
+
return lb_dot_rows(a, ra, b, rb, nv);
|
|
76
|
+
}
|
|
77
|
+
extern "C" double scm2cpp_lb_projgr(double* g, double* w, int ib, double lbv, int nv) {
|
|
78
|
+
return lb_projgr(g, w, ib, lbv, nv);
|
|
79
|
+
}
|
|
80
|
+
extern "C" int scm2cpp_lb_hv(double* q, double* smem, double* ymem, double* rho, double* al, double theta, int col, int head, int m, int nv) {
|
|
81
|
+
return lb_hv(q, smem, ymem, rho, al, theta, col, head, m, nv);
|
|
82
|
+
}
|
|
83
|
+
extern "C" double scm2cpp_lb_vbv(double* v, double* smem, double* ymem, double* rho, double* bm, double* sb, double theta, int col, int head, int m, int nv) {
|
|
84
|
+
return lb_vbv(v, smem, ymem, rho, bm, sb, theta, col, head, m, nv);
|
|
85
|
+
}
|
|
86
|
+
extern "C" int scm2cpp_lb_direction(double* w, double* g, double* d, double* q, double* e, double* smem, double* ymem, double* rho, double* al, double* bm, double* sb, double theta, int col, int head, int m, int ib, double lbv, int nv) {
|
|
87
|
+
return lb_direction(w, g, d, q, e, smem, ymem, rho, al, bm, sb, theta, col, head, m, ib, lbv, nv);
|
|
88
|
+
}
|
|
89
|
+
extern "C" int scm2cpp_lbfgs(int kind, double* w, double* x, double* y, double* aux, double* work, double* out, int m, int maxiter, double pgtol, double ftol, int maxls, int ib, double lbv, int nv, int n, int p, int k) {
|
|
90
|
+
return lbfgs(kind, w, x, y, *reinterpret_cast<std::array<double,4>*>(aux), work, out, m, maxiter, pgtol, ftol, maxls, ib, lbv, nv, n, p, k);
|
|
91
|
+
}
|
|
92
|
+
extern "C" double scm2cpp_lbfgs_fg(int kind, double* w, double* g, double* x, double* y, double* aux, double* work, int n, int p, int k) {
|
|
93
|
+
return lbfgs_fg(kind, w, g, x, y, *reinterpret_cast<std::array<double,4>*>(aux), work, n, p, k);
|
|
94
|
+
}
|
|
95
|
+
extern "C" int scm2cpp_gmm_mstep(double* x, double* resp, double* weights, double* means, double* prec, double* dw, double* cov, double* l, double* u, double reg, int norm, int n, int p, int kc) {
|
|
96
|
+
return gmm_mstep(x, resp, weights, means, prec, dw, cov, l, u, reg, norm, n, p, kc);
|
|
97
|
+
}
|
|
98
|
+
extern "C" double scm2cpp_gmm_estep(double* x, double* resp, double* weights, double* means, double* prec, double* wlp, double* y, double* u, double* mu, int n, int p, int kc) {
|
|
99
|
+
return gmm_estep(x, resp, weights, means, prec, wlp, y, u, mu, n, p, kc);
|
|
100
|
+
}
|
|
101
|
+
extern "C" double scm2cpp_gmm_abs(double a) {
|
|
102
|
+
return gmm_abs(a);
|
|
103
|
+
}
|
|
104
|
+
extern "C" int scm2cpp_gmm(double* x, double* resp, double* weights, double* means, double* prec, double* labels, double* out, int maxiter, double tol, double reg, int n, int p, int kc) {
|
|
105
|
+
return gmm(x, resp, weights, means, prec, labels, out, maxiter, tol, reg, n, p, kc);
|
|
106
|
+
}
|
|
107
|
+
extern "C" double scm2cpp_eig_hypot(double a, double b) {
|
|
108
|
+
return eig_hypot(a, b);
|
|
109
|
+
}
|
|
110
|
+
extern "C" int scm2cpp_sym_eigen(double* a, double* v, double* ev, double* e, int m) {
|
|
111
|
+
return sym_eigen(a, v, ev, e, m);
|
|
112
|
+
}
|
|
113
|
+
extern "C" double scm2cpp_eig_abs(double a) {
|
|
114
|
+
return eig_abs(a);
|
|
115
|
+
}
|
|
116
|
+
extern "C" int scm2cpp_eig_order(double* ev, int* ord, int m) {
|
|
117
|
+
return eig_order(ev, ord, m);
|
|
118
|
+
}
|
|
119
|
+
extern "C" double scm2cpp_ica_tanh(double x) {
|
|
120
|
+
return ica_tanh(x);
|
|
121
|
+
}
|
|
122
|
+
extern "C" int scm2cpp_ica_sym(double* w, double* a, double* v, double* ev, double* e, double* t, int m) {
|
|
123
|
+
return ica_sym(w, a, v, ev, e, t, m);
|
|
124
|
+
}
|
|
125
|
+
extern "C" int scm2cpp_fastica(double* x, double* winit, double* comps, double* white, double* unmix, double* mean, int maxiter, double tol, int n, int p, int nc) {
|
|
126
|
+
return fastica(x, winit, comps, white, unmix, mean, maxiter, tol, n, p, nc);
|
|
127
|
+
}
|
|
128
|
+
extern "C" int scm2cpp_pca(double* x, double* comps, double* ev, double* sv, double* mean, int n, int p) {
|
|
129
|
+
return pca(x, comps, ev, sv, mean, n, p);
|
|
130
|
+
}
|
|
131
|
+
extern "C" int scm2cpp_ard_pinvh(double* a, double* s, double* v, double* ev, double* e, int k) {
|
|
132
|
+
return ard_pinvh(a, s, v, ev, e, k);
|
|
133
|
+
}
|
|
134
|
+
extern "C" int scm2cpp_ard_sigma_coef(double* xy, int* idx, double* lam, double* coef, double* sigma, double* a, double* v, double* ev, double* e, double* gk, double alpha, int k) {
|
|
135
|
+
return ard_sigma_coef(xy, idx, lam, coef, sigma, a, v, ev, e, gk, alpha, k);
|
|
136
|
+
}
|
|
137
|
+
extern "C" int scm2cpp_ard(double* x, double* y, double* coef, double* sigma, double* lam, double* out, int maxiter, double tol, double alpha1, double alpha2, double lambda1, double lambda2, double thresh, int hoist, int n, int p) {
|
|
138
|
+
return ard(x, y, coef, sigma, lam, out, maxiter, tol, alpha1, alpha2, lambda1, lambda2, thresh, hoist, n, p);
|
|
139
|
+
}
|
|
140
|
+
extern "C" int scm2cpp_f_regression(double* x, double* y, double* r, double* f, int center, int n, int p, int q) {
|
|
141
|
+
return f_regression(x, y, r, f, center, n, p, q);
|
|
142
|
+
}
|
|
143
|
+
extern "C" int scm2cpp_f_classif(double* x, int* lab, double* f, int n, int p, int k) {
|
|
144
|
+
return f_classif(x, lab, f, n, p, k);
|
|
145
|
+
}
|
|
146
|
+
extern "C" double scm2cpp_min_pos(double* v, int m) {
|
|
147
|
+
return min_pos(v, m);
|
|
148
|
+
}
|
|
149
|
+
extern "C" double scm2cpp_round_even(double y) {
|
|
150
|
+
return round_even(y);
|
|
151
|
+
}
|
|
152
|
+
extern "C" int scm2cpp_cholesky_delete(double* l, int go, int n, int k) {
|
|
153
|
+
return cholesky_delete(l, go, n, k);
|
|
154
|
+
}
|
|
155
|
+
extern "C" int scm2cpp_swap_rc(double* g, int a, int b, int p) {
|
|
156
|
+
return swap_rc(g, a, b, p);
|
|
157
|
+
}
|
|
158
|
+
extern "C" int scm2cpp_lars(double* g, double* cov, double* coef, double* path, double* alphas, int rec, double nsamples, double alphamin, int method, int maxiter, double eps, int p) {
|
|
159
|
+
return lars(g, cov, coef, path, alphas, rec, nsamples, alphamin, method, maxiter, eps, p);
|
|
160
|
+
}
|
|
161
|
+
extern "C" int scm2cpp_rfe_chol(double* g, int* idx, double* l, double alpha, int k, int p) {
|
|
162
|
+
return rfe_chol(g, idx, l, alpha, k, p);
|
|
163
|
+
}
|
|
164
|
+
extern "C" int scm2cpp_rfe_solve(double* c, int* idx, double* w, double* l, int k, int p) {
|
|
165
|
+
return rfe_solve(c, idx, w, l, k, p);
|
|
166
|
+
}
|
|
167
|
+
extern "C" int scm2cpp_rfe(double* x, double* y, double* coef, int* support, int* ranking, double alpha, int nsel, int step, int n, int p) {
|
|
168
|
+
return rfe(x, y, coef, support, ranking, alpha, nsel, step, n, p);
|
|
169
|
+
}
|
|
170
|
+
extern "C" int scm2cpp_gram_xx(double* x, double* g, int n, int p) {
|
|
171
|
+
return gram_xx(x, g, n, p);
|
|
172
|
+
}
|
|
173
|
+
extern "C" int scm2cpp_gram_xy(double* x, double* y, double* c, int n, int p, int q) {
|
|
174
|
+
return gram_xy(x, y, c, n, p, q);
|
|
175
|
+
}
|
|
176
|
+
extern "C" int scm2cpp_spd_solve(double* a, double* b, int m, int q) {
|
|
177
|
+
return spd_solve(a, b, m, q);
|
|
178
|
+
}
|
|
179
|
+
extern "C" int scm2cpp_gram_ridge_solve(double* g, double* c, double alpha, int m, int q) {
|
|
180
|
+
return gram_ridge_solve(g, c, alpha, m, q);
|
|
181
|
+
}
|
|
182
|
+
extern "C" int scm2cpp_ridge_gcv_primal(double* x, double* xm, double* yc, double* g, double* v, double* lam, double* z, double* r, int n, int p, int t) {
|
|
183
|
+
return ridge_gcv_primal(x, xm, yc, g, v, lam, z, r, n, p, t);
|
|
184
|
+
}
|
|
185
|
+
extern "C" int scm2cpp_ridge_gcv_dual(double* k, double* q, double* mu, double* yc, double* z, double* r, int n, int t) {
|
|
186
|
+
return ridge_gcv_dual(k, q, mu, yc, z, r, n, t);
|
|
187
|
+
}
|
|
188
|
+
extern "C" int scm2cpp_ridge_gcv_scan(double* z, double* lam, double* r, double* yc, double* alphas, double h0, double* mse, double* loo, int store, int n, int m, int t, int na) {
|
|
189
|
+
return ridge_gcv_scan(z, lam, r, yc, alphas, h0, mse, loo, store, n, m, t, na);
|
|
190
|
+
}
|
|
191
|
+
extern "C" int scm2cpp_kpca_row_norms(double* x, double* s, int n, int p) {
|
|
192
|
+
return kpca_row_norms(x, s, n, p);
|
|
193
|
+
}
|
|
194
|
+
extern "C" int scm2cpp_kpca_apply(double* g, double* sa, double* sb, int kind, double gamma, double degree, double coef0, int na, int nb) {
|
|
195
|
+
return kpca_apply(g, sa, sb, kind, gamma, degree, coef0, na, nb);
|
|
196
|
+
}
|
|
197
|
+
extern "C" int scm2cpp_kpca_kernel(double* x, double* y, double* k, int kind, double gamma, double degree, double coef0, int na, int nb, int p) {
|
|
198
|
+
return kpca_kernel(x, y, k, kind, gamma, degree, coef0, na, nb, p);
|
|
199
|
+
}
|
|
200
|
+
extern "C" int scm2cpp_kpca_kernel_self(double* x, double* k, int kind, double gamma, double degree, double coef0, int n, int p) {
|
|
201
|
+
return kpca_kernel_self(x, k, kind, gamma, degree, coef0, n, p);
|
|
202
|
+
}
|
|
203
|
+
extern "C" int scm2cpp_kpca_centre(double* k, double* m, int n) {
|
|
204
|
+
return kpca_centre(k, m, n);
|
|
205
|
+
}
|
|
206
|
+
extern "C" int scm2cpp_kpca_centre_new(double* k, double* m, int nb, int n) {
|
|
207
|
+
return kpca_centre_new(k, m, nb, n);
|
|
208
|
+
}
|
|
209
|
+
extern "C" int scm2cpp_kpca_flip(double* vecs, double* vals, int n, int c) {
|
|
210
|
+
return kpca_flip(vecs, vals, n, c);
|
|
211
|
+
}
|
|
212
|
+
extern "C" int scm2cpp_kpca_top_dense(double* k, double* vecs, double* vals, int n, int c) {
|
|
213
|
+
return kpca_top_dense(k, vecs, vals, n, c);
|
|
214
|
+
}
|
|
215
|
+
extern "C" int scm2cpp_kpca_orth(double* y, double* g, int n, int b) {
|
|
216
|
+
return kpca_orth(y, g, n, b);
|
|
217
|
+
}
|
|
218
|
+
extern "C" int scm2cpp_kpca_top_subspace(double* k, double* q, double* vecs, double* vals, int n, int b, int c, double tol, int maxit) {
|
|
219
|
+
return kpca_top_subspace(k, q, vecs, vals, n, b, c, tol, maxit);
|
|
220
|
+
}
|
|
221
|
+
extern "C" int scm2cpp_kpca_linear(double* x, double* xm, double* g, double* vecs, double* vals, int n, int p, int c) {
|
|
222
|
+
return kpca_linear(x, xm, g, vecs, vals, n, p, c);
|
|
223
|
+
}
|
|
224
|
+
extern "C" int scm2cpp_lda_moments(double* x, int* lab, double* g, double* means, double* counts, int n, int p, int k) {
|
|
225
|
+
return lda_moments(x, lab, g, means, counts, n, p, k);
|
|
226
|
+
}
|
|
227
|
+
extern "C" int scm2cpp_lda_within(double* g, double* means, double* counts, double n, int p, int k) {
|
|
228
|
+
return lda_within(g, means, counts, n, p, k);
|
|
229
|
+
}
|
|
230
|
+
extern "C" int scm2cpp_lda_svd_first(double* sw, double* std, double* v, double* s, int p) {
|
|
231
|
+
return lda_svd_first(sw, std, v, s, p);
|
|
232
|
+
}
|
|
233
|
+
extern "C" int scm2cpp_lda_eigen(double* sb, double* sw, double* v, double* ev, int p) {
|
|
234
|
+
return lda_eigen(sb, sw, v, ev, p);
|
|
235
|
+
}
|
|
236
|
+
extern "C" int scm2cpp_tsvd_flip(double* v, double* z, int n, int p, int k) {
|
|
237
|
+
return tsvd_flip(v, z, n, p, k);
|
|
238
|
+
}
|
|
239
|
+
extern "C" int scm2cpp_tsvd_tall(double* x, double* v, double* s, double* z, int n, int p, int k) {
|
|
240
|
+
return tsvd_tall(x, v, s, z, n, p, k);
|
|
241
|
+
}
|
|
242
|
+
extern "C" int scm2cpp_tsvd_wide(double* x, double* v, double* s, double* z, int n, int p, int k) {
|
|
243
|
+
return tsvd_wide(x, v, s, z, n, p, k);
|
|
244
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
|
|
2
|
+
#include "gramops.hpp"
|
|
3
|
+
// #include "scm2cpp.hpp"
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|