scm2cpp-lasso 0.13.2__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.
Files changed (65) hide show
  1. scm2cpp_lasso/__init__.py +2808 -0
  2. scm2cpp_lasso/_classifiers.cp312-win_amd64.pyd +0 -0
  3. scm2cpp_lasso/_generated/__init__.py +0 -0
  4. scm2cpp_lasso/_generated/_loader.py +41 -0
  5. scm2cpp_lasso/_generated/_loader_accel_cublas.py +140 -0
  6. scm2cpp_lasso/_generated/_loader_classifiers.py +281 -0
  7. scm2cpp_lasso/_generated/_loader_derived_blas.py +29 -0
  8. scm2cpp_lasso/_generated/_loader_derived_cublas.py +29 -0
  9. scm2cpp_lasso/_generated/_loader_derived_loops.py +29 -0
  10. scm2cpp_lasso/_generated/_loader_gpu_cuda.py +294 -0
  11. scm2cpp_lasso/_generated/_loader_gramops_blas.py +496 -0
  12. scm2cpp_lasso/_generated/_loader_gramops_loops.py +496 -0
  13. scm2cpp_lasso/_generated/_loader_nmf_blas.py +29 -0
  14. scm2cpp_lasso/_generated/_loader_nmf_cublas.py +29 -0
  15. scm2cpp_lasso/_generated/_loader_nmf_loops.py +29 -0
  16. scm2cpp_lasso/_generated/accel_cublas/accel.cpp +20 -0
  17. scm2cpp_lasso/_generated/accel_cublas/accel.hpp +1023 -0
  18. scm2cpp_lasso/_generated/accel_cublas/accel_capi.cpp +64 -0
  19. scm2cpp_lasso/_generated/classifiers.cpp +34 -0
  20. scm2cpp_lasso/_generated/classifiers.hpp +2825 -0
  21. scm2cpp_lasso/_generated/classifiers_capi.cpp +106 -0
  22. scm2cpp_lasso/_generated/derived_blas/lasso_design.cpp +5 -0
  23. scm2cpp_lasso/_generated/derived_blas/lasso_design.hpp +153 -0
  24. scm2cpp_lasso/_generated/derived_blas/lasso_design_capi.cpp +19 -0
  25. scm2cpp_lasso/_generated/derived_cublas/lasso_design.cpp +5 -0
  26. scm2cpp_lasso/_generated/derived_cublas/lasso_design.hpp +155 -0
  27. scm2cpp_lasso/_generated/derived_cublas/lasso_design_capi.cpp +19 -0
  28. scm2cpp_lasso/_generated/derived_loops/lasso_design.cpp +5 -0
  29. scm2cpp_lasso/_generated/derived_loops/lasso_design.hpp +176 -0
  30. scm2cpp_lasso/_generated/derived_loops/lasso_design_capi.cpp +19 -0
  31. scm2cpp_lasso/_generated/gpu_cuda/gpu.cpp +35 -0
  32. scm2cpp_lasso/_generated/gpu_cuda/gpu.hpp +3715 -0
  33. scm2cpp_lasso/_generated/gpu_cuda/gpu_capi.cpp +289 -0
  34. scm2cpp_lasso/_generated/gramops_blas/gramops.cpp +57 -0
  35. scm2cpp_lasso/_generated/gramops_blas/gramops.hpp +3033 -0
  36. scm2cpp_lasso/_generated/gramops_blas/gramops_capi.cpp +175 -0
  37. scm2cpp_lasso/_generated/gramops_loops/gramops.cpp +57 -0
  38. scm2cpp_lasso/_generated/gramops_loops/gramops.hpp +3302 -0
  39. scm2cpp_lasso/_generated/gramops_loops/gramops_capi.cpp +175 -0
  40. scm2cpp_lasso/_generated/lasso_cov.cpp +7 -0
  41. scm2cpp_lasso/_generated/lasso_cov.hpp +152 -0
  42. scm2cpp_lasso/_generated/lasso_cov_capi.cpp +25 -0
  43. scm2cpp_lasso/_generated/nmf_blas/nmf_cd.cpp +5 -0
  44. scm2cpp_lasso/_generated/nmf_blas/nmf_cd.hpp +132 -0
  45. scm2cpp_lasso/_generated/nmf_blas/nmf_cd_capi.cpp +19 -0
  46. scm2cpp_lasso/_generated/nmf_cublas/nmf_cd.cpp +5 -0
  47. scm2cpp_lasso/_generated/nmf_cublas/nmf_cd.hpp +136 -0
  48. scm2cpp_lasso/_generated/nmf_cublas/nmf_cd_capi.cpp +19 -0
  49. scm2cpp_lasso/_generated/nmf_loops/nmf_cd.cpp +5 -0
  50. scm2cpp_lasso/_generated/nmf_loops/nmf_cd.hpp +167 -0
  51. scm2cpp_lasso/_generated/nmf_loops/nmf_cd_capi.cpp +19 -0
  52. scm2cpp_lasso/_generated/scm2cpp-blas.hpp +77 -0
  53. scm2cpp_lasso/_generated/scm2cpp-cublas.hpp +155 -0
  54. scm2cpp_lasso/_generated/scm2cpp-cuda.hpp +285 -0
  55. scm2cpp_lasso/_generated/scm2cpp.hpp +1627 -0
  56. scm2cpp_lasso/_gramops_loops.cp312-win_amd64.pyd +0 -0
  57. scm2cpp_lasso/_lasso_cov.cp312-win_amd64.pyd +0 -0
  58. scm2cpp_lasso/_lasso_derived_loops.cp312-win_amd64.pyd +0 -0
  59. scm2cpp_lasso/_libfind.py +149 -0
  60. scm2cpp_lasso/_nmf_loops.cp312-win_amd64.pyd +0 -0
  61. scm2cpp_lasso/batch_capi.cu +428 -0
  62. scm2cpp_lasso-0.13.2.dist-info/METADATA +920 -0
  63. scm2cpp_lasso-0.13.2.dist-info/RECORD +65 -0
  64. scm2cpp_lasso-0.13.2.dist-info/WHEEL +5 -0
  65. scm2cpp_lasso-0.13.2.dist-info/top_level.txt +1 -0
@@ -0,0 +1,175 @@
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
+ }