scs 0.2.1 → 0.3.1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/LICENSE.txt +18 -18
- data/README.md +12 -7
- data/lib/scs/ffi.rb +30 -13
- data/lib/scs/solver.rb +32 -14
- data/lib/scs/version.rb +1 -1
- data/vendor/scs/CITATION.cff +39 -0
- data/vendor/scs/CMakeLists.txt +272 -0
- data/vendor/scs/Makefile +24 -15
- data/vendor/scs/README.md +8 -216
- data/vendor/scs/include/aa.h +67 -23
- data/vendor/scs/include/cones.h +17 -17
- data/vendor/scs/include/glbopts.h +98 -32
- data/vendor/scs/include/linalg.h +2 -4
- data/vendor/scs/include/linsys.h +58 -44
- data/vendor/scs/include/normalize.h +3 -3
- data/vendor/scs/include/rw.h +8 -2
- data/vendor/scs/include/scs.h +293 -133
- data/vendor/scs/include/util.h +3 -15
- data/vendor/scs/linsys/cpu/direct/private.c +220 -224
- data/vendor/scs/linsys/cpu/direct/private.h +13 -7
- data/vendor/scs/linsys/cpu/indirect/private.c +177 -110
- data/vendor/scs/linsys/cpu/indirect/private.h +8 -4
- data/vendor/scs/linsys/csparse.c +87 -0
- data/vendor/scs/linsys/csparse.h +34 -0
- data/vendor/scs/linsys/external/amd/SuiteSparse_config.c +1 -1
- data/vendor/scs/linsys/external/amd/amd_internal.h +1 -1
- data/vendor/scs/linsys/external/qdldl/changes +2 -0
- data/vendor/scs/linsys/external/qdldl/qdldl.c +29 -46
- data/vendor/scs/linsys/external/qdldl/qdldl.h +33 -41
- data/vendor/scs/linsys/external/qdldl/qdldl_types.h +11 -3
- data/vendor/scs/linsys/gpu/gpu.c +58 -21
- data/vendor/scs/linsys/gpu/gpu.h +66 -28
- data/vendor/scs/linsys/gpu/indirect/private.c +368 -154
- data/vendor/scs/linsys/gpu/indirect/private.h +26 -12
- data/vendor/scs/linsys/scs_matrix.c +498 -0
- data/vendor/scs/linsys/scs_matrix.h +70 -0
- data/vendor/scs/scs.mk +13 -9
- data/vendor/scs/src/aa.c +384 -109
- data/vendor/scs/src/cones.c +440 -353
- data/vendor/scs/src/ctrlc.c +15 -5
- data/vendor/scs/src/linalg.c +84 -28
- data/vendor/scs/src/normalize.c +22 -64
- data/vendor/scs/src/rw.c +161 -22
- data/vendor/scs/src/scs.c +768 -561
- data/vendor/scs/src/scs_version.c +9 -3
- data/vendor/scs/src/util.c +37 -106
- data/vendor/scs/test/minunit.h +17 -8
- data/vendor/scs/test/problem_utils.h +176 -14
- data/vendor/scs/test/problems/degenerate.h +130 -0
- data/vendor/scs/test/problems/hs21_tiny_qp.h +124 -0
- data/vendor/scs/test/problems/hs21_tiny_qp_rw.h +116 -0
- data/vendor/scs/test/problems/infeasible_tiny_qp.h +100 -0
- data/vendor/scs/test/problems/qafiro_tiny_qp.h +199 -0
- data/vendor/scs/test/problems/random_prob +0 -0
- data/vendor/scs/test/problems/random_prob.h +45 -0
- data/vendor/scs/test/problems/rob_gauss_cov_est.h +188 -31
- data/vendor/scs/test/problems/small_lp.h +13 -14
- data/vendor/scs/test/problems/test_fails.h +43 -0
- data/vendor/scs/test/problems/unbounded_tiny_qp.h +82 -0
- data/vendor/scs/test/random_socp_prob.c +54 -53
- data/vendor/scs/test/rng.h +109 -0
- data/vendor/scs/test/run_from_file.c +19 -10
- data/vendor/scs/test/run_tests.c +27 -3
- metadata +25 -97
- data/vendor/scs/linsys/amatrix.c +0 -305
- data/vendor/scs/linsys/amatrix.h +0 -36
- data/vendor/scs/linsys/amatrix.o +0 -0
- data/vendor/scs/linsys/cpu/direct/private.o +0 -0
- data/vendor/scs/linsys/cpu/indirect/private.o +0 -0
- data/vendor/scs/linsys/external/amd/SuiteSparse_config.o +0 -0
- data/vendor/scs/linsys/external/amd/amd_1.o +0 -0
- data/vendor/scs/linsys/external/amd/amd_2.o +0 -0
- data/vendor/scs/linsys/external/amd/amd_aat.o +0 -0
- data/vendor/scs/linsys/external/amd/amd_control.o +0 -0
- data/vendor/scs/linsys/external/amd/amd_defaults.o +0 -0
- data/vendor/scs/linsys/external/amd/amd_dump.o +0 -0
- data/vendor/scs/linsys/external/amd/amd_global.o +0 -0
- data/vendor/scs/linsys/external/amd/amd_info.o +0 -0
- data/vendor/scs/linsys/external/amd/amd_order.o +0 -0
- data/vendor/scs/linsys/external/amd/amd_post_tree.o +0 -0
- data/vendor/scs/linsys/external/amd/amd_postorder.o +0 -0
- data/vendor/scs/linsys/external/amd/amd_preprocess.o +0 -0
- data/vendor/scs/linsys/external/amd/amd_valid.o +0 -0
- data/vendor/scs/linsys/external/qdldl/qdldl.o +0 -0
- data/vendor/scs/src/aa.o +0 -0
- data/vendor/scs/src/cones.o +0 -0
- data/vendor/scs/src/ctrlc.o +0 -0
- data/vendor/scs/src/linalg.o +0 -0
- data/vendor/scs/src/normalize.o +0 -0
- data/vendor/scs/src/rw.o +0 -0
- data/vendor/scs/src/scs.o +0 -0
- data/vendor/scs/src/scs_version.o +0 -0
- data/vendor/scs/src/util.o +0 -0
- data/vendor/scs/test/data/small_random_socp +0 -0
- data/vendor/scs/test/problems/small_random_socp.h +0 -33
- data/vendor/scs/test/run_tests +0 -2
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/* This program by D E Knuth is in the public domain and freely copyable
|
|
2
|
+
* AS LONG AS YOU MAKE ABSOLUTELY NO CHANGES!
|
|
3
|
+
* It is explained in Seminumerical Algorithms, 3rd edition, Section 3.6
|
|
4
|
+
* (or in the errata to the 2nd edition --- see
|
|
5
|
+
* http://www-cs-faculty.stanford.edu/~knuth/taocp.html
|
|
6
|
+
* in the changes to Volume 2 on pages 171 and following). */
|
|
7
|
+
|
|
8
|
+
/* N.B. The MODIFICATIONS introduced in the 9th printing (2002) are
|
|
9
|
+
included here; there's no backwards compatibility with the original. */
|
|
10
|
+
|
|
11
|
+
/* This version also adopts Brendan McKay's suggestion to
|
|
12
|
+
accommodate naive users who forget to call ran_start(seed). */
|
|
13
|
+
|
|
14
|
+
/* If you find any bugs, please report them immediately to
|
|
15
|
+
* taocp@cs.stanford.edu
|
|
16
|
+
* (and you will be rewarded if the bug is genuine). Thanks! */
|
|
17
|
+
|
|
18
|
+
/************ see the book for explanations and caveats! *******************/
|
|
19
|
+
/************ in particular, you need two's complement arithmetic **********/
|
|
20
|
+
|
|
21
|
+
#define KK 100 /* the long lag */
|
|
22
|
+
#define LL 37 /* the short lag */
|
|
23
|
+
#define MM (1L << 30) /* the modulus */
|
|
24
|
+
#define mod_diff(x, y) (((x) - (y)) & (MM - 1)) /* subtraction mod MM */
|
|
25
|
+
|
|
26
|
+
long ran_x[KK]; /* the generator state */
|
|
27
|
+
|
|
28
|
+
#ifdef __STDC__
|
|
29
|
+
void ran_array(long aa[], int n)
|
|
30
|
+
#else
|
|
31
|
+
void ran_array(aa, n) /* put n new random numbers in aa */
|
|
32
|
+
long *aa; /* destination */
|
|
33
|
+
int n; /* array length (must be at least KK) */
|
|
34
|
+
#endif
|
|
35
|
+
{
|
|
36
|
+
register int i, j;
|
|
37
|
+
for (j = 0; j < KK; j++)
|
|
38
|
+
aa[j] = ran_x[j];
|
|
39
|
+
for (; j < n; j++)
|
|
40
|
+
aa[j] = mod_diff(aa[j - KK], aa[j - LL]);
|
|
41
|
+
for (i = 0; i < LL; i++, j++)
|
|
42
|
+
ran_x[i] = mod_diff(aa[j - KK], aa[j - LL]);
|
|
43
|
+
for (; i < KK; i++, j++)
|
|
44
|
+
ran_x[i] = mod_diff(aa[j - KK], ran_x[i - LL]);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/* the following routines are from exercise 3.6--15 */
|
|
48
|
+
/* after calling ran_start, get new randoms by, e.g., "x=ran_arr_next()" */
|
|
49
|
+
|
|
50
|
+
#define QUALITY 1009 /* recommended quality level for high-res use */
|
|
51
|
+
long ran_arr_buf[QUALITY];
|
|
52
|
+
long ran_arr_dummy = -1, ran_arr_started = -1;
|
|
53
|
+
long *ran_arr_ptr = &ran_arr_dummy; /* the next random number, or -1 */
|
|
54
|
+
|
|
55
|
+
#define TT 70 /* guaranteed separation between streams */
|
|
56
|
+
#define is_odd(x) ((x)&1) /* units bit of x */
|
|
57
|
+
|
|
58
|
+
#ifdef __STDC__
|
|
59
|
+
void ran_start(long seed)
|
|
60
|
+
#else
|
|
61
|
+
void ran_start(seed) /* do this before using ran_array */
|
|
62
|
+
long seed; /* selector for different streams */
|
|
63
|
+
#endif
|
|
64
|
+
{
|
|
65
|
+
register int t, j;
|
|
66
|
+
long x[KK + KK - 1]; /* the preparation buffer */
|
|
67
|
+
register long ss = (seed + 2) & (MM - 2);
|
|
68
|
+
for (j = 0; j < KK; j++) {
|
|
69
|
+
x[j] = ss; /* bootstrap the buffer */
|
|
70
|
+
ss <<= 1;
|
|
71
|
+
if (ss >= MM)
|
|
72
|
+
ss -= MM - 2; /* cyclic shift 29 bits */
|
|
73
|
+
}
|
|
74
|
+
x[1]++; /* make x[1] (and only x[1]) odd */
|
|
75
|
+
for (ss = seed & (MM - 1), t = TT - 1; t;) {
|
|
76
|
+
for (j = KK - 1; j > 0; j--)
|
|
77
|
+
x[j + j] = x[j], x[j + j - 1] = 0; /* "square" */
|
|
78
|
+
for (j = KK + KK - 2; j >= KK; j--)
|
|
79
|
+
x[j - (KK - LL)] = mod_diff(x[j - (KK - LL)], x[j]),
|
|
80
|
+
x[j - KK] = mod_diff(x[j - KK], x[j]);
|
|
81
|
+
if (is_odd(ss)) { /* "multiply by z" */
|
|
82
|
+
for (j = KK; j > 0; j--)
|
|
83
|
+
x[j] = x[j - 1];
|
|
84
|
+
x[0] = x[KK]; /* shift the buffer cyclically */
|
|
85
|
+
x[LL] = mod_diff(x[LL], x[KK]);
|
|
86
|
+
}
|
|
87
|
+
if (ss)
|
|
88
|
+
ss >>= 1;
|
|
89
|
+
else
|
|
90
|
+
t--;
|
|
91
|
+
}
|
|
92
|
+
for (j = 0; j < LL; j++)
|
|
93
|
+
ran_x[j + KK - LL] = x[j];
|
|
94
|
+
for (; j < KK; j++)
|
|
95
|
+
ran_x[j - LL] = x[j];
|
|
96
|
+
for (j = 0; j < 10; j++)
|
|
97
|
+
ran_array(x, KK + KK - 1); /* warm things up */
|
|
98
|
+
ran_arr_ptr = &ran_arr_started;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
#define ran_arr_next() (*ran_arr_ptr >= 0 ? *ran_arr_ptr++ : ran_arr_cycle())
|
|
102
|
+
long ran_arr_cycle(void) {
|
|
103
|
+
if (ran_arr_ptr == &ran_arr_dummy)
|
|
104
|
+
ran_start(314159L); /* the user forgot to initialize */
|
|
105
|
+
ran_array(ran_arr_buf, QUALITY);
|
|
106
|
+
ran_arr_buf[KK] = -1;
|
|
107
|
+
ran_arr_ptr = ran_arr_buf + 1;
|
|
108
|
+
return ran_arr_buf[0];
|
|
109
|
+
}
|
|
@@ -12,16 +12,24 @@ scs_int override_setting(ScsSettings *s, char *param, char *val) {
|
|
|
12
12
|
s->rho_x = atof(val);
|
|
13
13
|
} else if (strcmp(param, "max_iters") == 0) {
|
|
14
14
|
s->max_iters = atoi(val);
|
|
15
|
-
} else if (strcmp(param, "
|
|
16
|
-
s->
|
|
15
|
+
} else if (strcmp(param, "eps_abs") == 0) {
|
|
16
|
+
s->eps_abs = atof(val);
|
|
17
|
+
} else if (strcmp(param, "eps_rel") == 0) {
|
|
18
|
+
s->eps_rel = atof(val);
|
|
19
|
+
} else if (strcmp(param, "eps_infeas") == 0) {
|
|
20
|
+
s->eps_infeas = atof(val);
|
|
17
21
|
} else if (strcmp(param, "alpha") == 0) {
|
|
18
22
|
s->alpha = atof(val);
|
|
19
|
-
} else if (strcmp(param, "cg_rate") == 0) {
|
|
20
|
-
s->cg_rate = atof(val);
|
|
21
23
|
} else if (strcmp(param, "verbose") == 0) {
|
|
22
24
|
s->verbose = atoi(val);
|
|
23
25
|
} else if (strcmp(param, "acceleration_lookback") == 0) {
|
|
24
26
|
s->acceleration_lookback = atoi(val);
|
|
27
|
+
} else if (strcmp(param, "acceleration_interval") == 0) {
|
|
28
|
+
s->acceleration_interval = atoi(val);
|
|
29
|
+
} else if (strcmp(param, "adaptive_scale") == 0) {
|
|
30
|
+
s->adaptive_scale = atoi(val);
|
|
31
|
+
} else if (strcmp(param, "log_csv_filename") == 0) {
|
|
32
|
+
s->log_csv_filename = val;
|
|
25
33
|
} else {
|
|
26
34
|
return -1;
|
|
27
35
|
}
|
|
@@ -36,6 +44,7 @@ int main(int argc, char **argv) {
|
|
|
36
44
|
scs_int read_status;
|
|
37
45
|
ScsData *d;
|
|
38
46
|
ScsCone *k;
|
|
47
|
+
ScsSettings *stgs;
|
|
39
48
|
ScsSolution *sol;
|
|
40
49
|
ScsInfo info = {0};
|
|
41
50
|
scs_int i;
|
|
@@ -44,7 +53,7 @@ int main(int argc, char **argv) {
|
|
|
44
53
|
return -1;
|
|
45
54
|
}
|
|
46
55
|
filename = argv[1];
|
|
47
|
-
read_status = SCS(read_data)(filename, &d, &k);
|
|
56
|
+
read_status = SCS(read_data)(filename, &d, &k, &stgs);
|
|
48
57
|
if (read_status < 0) {
|
|
49
58
|
scs_printf("Data read failure, exit.\n");
|
|
50
59
|
return -1;
|
|
@@ -52,18 +61,18 @@ int main(int argc, char **argv) {
|
|
|
52
61
|
for (i = 2; i < argc; i += 2) {
|
|
53
62
|
if (argc < i + 2) {
|
|
54
63
|
scs_printf("Incorrect number of arguments supplied\n.");
|
|
55
|
-
SCS(free_data)(d, k);
|
|
64
|
+
SCS(free_data)(d, k, stgs);
|
|
56
65
|
return -1;
|
|
57
66
|
}
|
|
58
|
-
if (override_setting(
|
|
67
|
+
if (override_setting(stgs, argv[i], argv[i + 1]) < 0) {
|
|
59
68
|
scs_printf("Unrecognized setting %s\n", argv[i]);
|
|
60
|
-
SCS(free_data)(d, k);
|
|
69
|
+
SCS(free_data)(d, k, stgs);
|
|
61
70
|
return -1;
|
|
62
71
|
}
|
|
63
72
|
}
|
|
64
73
|
sol = scs_calloc(1, sizeof(ScsSolution));
|
|
65
|
-
scs(d, k, sol, &info);
|
|
66
|
-
SCS(free_data)(d, k);
|
|
74
|
+
scs(d, k, stgs, sol, &info);
|
|
75
|
+
SCS(free_data)(d, k, stgs);
|
|
67
76
|
SCS(free_sol)(sol);
|
|
68
77
|
return 0;
|
|
69
78
|
}
|
data/vendor/scs/test/run_tests.c
CHANGED
|
@@ -6,16 +6,40 @@
|
|
|
6
6
|
#include "scs.h"
|
|
7
7
|
|
|
8
8
|
/* Include Tests */
|
|
9
|
-
#include "problems/
|
|
9
|
+
#include "problems/degenerate.h"
|
|
10
|
+
#include "problems/hs21_tiny_qp.h"
|
|
11
|
+
#include "problems/hs21_tiny_qp_rw.h"
|
|
12
|
+
#include "problems/infeasible_tiny_qp.h"
|
|
13
|
+
#include "problems/qafiro_tiny_qp.h"
|
|
14
|
+
#include "problems/random_prob.h"
|
|
10
15
|
#include "problems/rob_gauss_cov_est.h"
|
|
11
|
-
#include "problems/
|
|
16
|
+
#include "problems/small_lp.h"
|
|
17
|
+
#include "problems/test_fails.h"
|
|
18
|
+
#include "problems/unbounded_tiny_qp.h"
|
|
12
19
|
|
|
13
20
|
int tests_run = 0;
|
|
14
21
|
|
|
15
22
|
static const char *all_tests(void) {
|
|
23
|
+
scs_printf("test_fails\n");
|
|
24
|
+
mu_run_test(test_fails);
|
|
25
|
+
scs_printf("degenerate\n");
|
|
26
|
+
mu_run_test(degenerate);
|
|
27
|
+
scs_printf("small_lp\n");
|
|
16
28
|
mu_run_test(small_lp);
|
|
29
|
+
scs_printf("rob_gauss_cov_est\n");
|
|
17
30
|
mu_run_test(rob_gauss_cov_est);
|
|
18
|
-
|
|
31
|
+
scs_printf("hs21_tiny_qp\n");
|
|
32
|
+
mu_run_test(hs21_tiny_qp);
|
|
33
|
+
scs_printf("hs21_tiny_qp_rw\n");
|
|
34
|
+
mu_run_test(hs21_tiny_qp_rw);
|
|
35
|
+
scs_printf("qafiro_tiny_qp\n");
|
|
36
|
+
mu_run_test(qafiro_tiny_qp);
|
|
37
|
+
scs_printf("infeasible_tiny_qp\n");
|
|
38
|
+
mu_run_test(infeasible_tiny_qp);
|
|
39
|
+
scs_printf("unbounded_tiny_qp\n");
|
|
40
|
+
mu_run_test(unbounded_tiny_qp);
|
|
41
|
+
scs_printf("random_prob\n");
|
|
42
|
+
mu_run_test(random_prob);
|
|
19
43
|
return 0;
|
|
20
44
|
}
|
|
21
45
|
|
metadata
CHANGED
|
@@ -1,73 +1,17 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: scs
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrew Kane
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
12
|
-
dependencies:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - ">="
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0'
|
|
20
|
-
type: :development
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - ">="
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: '0'
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: rake
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - ">="
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: '0'
|
|
34
|
-
type: :development
|
|
35
|
-
prerelease: false
|
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - ">="
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
version: '0'
|
|
41
|
-
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: minitest
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - ">="
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '5'
|
|
48
|
-
type: :development
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - ">="
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '5'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: numo-narray
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - ">="
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '0'
|
|
62
|
-
type: :development
|
|
63
|
-
prerelease: false
|
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - ">="
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
version: '0'
|
|
69
|
-
description:
|
|
70
|
-
email: andrew@chartkick.com
|
|
11
|
+
date: 2021-10-08 00:00:00.000000000 Z
|
|
12
|
+
dependencies: []
|
|
13
|
+
description:
|
|
14
|
+
email: andrew@ankane.org
|
|
71
15
|
executables: []
|
|
72
16
|
extensions:
|
|
73
17
|
- ext/scs/extconf.rb
|
|
@@ -81,6 +25,8 @@ files:
|
|
|
81
25
|
- lib/scs/ffi.rb
|
|
82
26
|
- lib/scs/solver.rb
|
|
83
27
|
- lib/scs/version.rb
|
|
28
|
+
- vendor/scs/CITATION.cff
|
|
29
|
+
- vendor/scs/CMakeLists.txt
|
|
84
30
|
- vendor/scs/LICENSE.txt
|
|
85
31
|
- vendor/scs/Makefile
|
|
86
32
|
- vendor/scs/README.md
|
|
@@ -95,93 +41,75 @@ files:
|
|
|
95
41
|
- vendor/scs/include/scs.h
|
|
96
42
|
- vendor/scs/include/scs_blas.h
|
|
97
43
|
- vendor/scs/include/util.h
|
|
98
|
-
- vendor/scs/linsys/amatrix.c
|
|
99
|
-
- vendor/scs/linsys/amatrix.h
|
|
100
|
-
- vendor/scs/linsys/amatrix.o
|
|
101
44
|
- vendor/scs/linsys/cpu/direct/private.c
|
|
102
45
|
- vendor/scs/linsys/cpu/direct/private.h
|
|
103
|
-
- vendor/scs/linsys/cpu/direct/private.o
|
|
104
46
|
- vendor/scs/linsys/cpu/indirect/private.c
|
|
105
47
|
- vendor/scs/linsys/cpu/indirect/private.h
|
|
106
|
-
- vendor/scs/linsys/
|
|
48
|
+
- vendor/scs/linsys/csparse.c
|
|
49
|
+
- vendor/scs/linsys/csparse.h
|
|
107
50
|
- vendor/scs/linsys/external/amd/LICENSE.txt
|
|
108
51
|
- vendor/scs/linsys/external/amd/SuiteSparse_config.c
|
|
109
52
|
- vendor/scs/linsys/external/amd/SuiteSparse_config.h
|
|
110
|
-
- vendor/scs/linsys/external/amd/SuiteSparse_config.o
|
|
111
53
|
- vendor/scs/linsys/external/amd/amd.h
|
|
112
54
|
- vendor/scs/linsys/external/amd/amd_1.c
|
|
113
|
-
- vendor/scs/linsys/external/amd/amd_1.o
|
|
114
55
|
- vendor/scs/linsys/external/amd/amd_2.c
|
|
115
|
-
- vendor/scs/linsys/external/amd/amd_2.o
|
|
116
56
|
- vendor/scs/linsys/external/amd/amd_aat.c
|
|
117
|
-
- vendor/scs/linsys/external/amd/amd_aat.o
|
|
118
57
|
- vendor/scs/linsys/external/amd/amd_control.c
|
|
119
|
-
- vendor/scs/linsys/external/amd/amd_control.o
|
|
120
58
|
- vendor/scs/linsys/external/amd/amd_defaults.c
|
|
121
|
-
- vendor/scs/linsys/external/amd/amd_defaults.o
|
|
122
59
|
- vendor/scs/linsys/external/amd/amd_dump.c
|
|
123
|
-
- vendor/scs/linsys/external/amd/amd_dump.o
|
|
124
60
|
- vendor/scs/linsys/external/amd/amd_global.c
|
|
125
|
-
- vendor/scs/linsys/external/amd/amd_global.o
|
|
126
61
|
- vendor/scs/linsys/external/amd/amd_info.c
|
|
127
|
-
- vendor/scs/linsys/external/amd/amd_info.o
|
|
128
62
|
- vendor/scs/linsys/external/amd/amd_internal.h
|
|
129
63
|
- vendor/scs/linsys/external/amd/amd_order.c
|
|
130
|
-
- vendor/scs/linsys/external/amd/amd_order.o
|
|
131
64
|
- vendor/scs/linsys/external/amd/amd_post_tree.c
|
|
132
|
-
- vendor/scs/linsys/external/amd/amd_post_tree.o
|
|
133
65
|
- vendor/scs/linsys/external/amd/amd_postorder.c
|
|
134
|
-
- vendor/scs/linsys/external/amd/amd_postorder.o
|
|
135
66
|
- vendor/scs/linsys/external/amd/amd_preprocess.c
|
|
136
|
-
- vendor/scs/linsys/external/amd/amd_preprocess.o
|
|
137
67
|
- vendor/scs/linsys/external/amd/amd_valid.c
|
|
138
|
-
- vendor/scs/linsys/external/amd/amd_valid.o
|
|
139
68
|
- vendor/scs/linsys/external/amd/changes
|
|
140
69
|
- vendor/scs/linsys/external/qdldl/LICENSE
|
|
141
70
|
- vendor/scs/linsys/external/qdldl/README.md
|
|
142
71
|
- vendor/scs/linsys/external/qdldl/changes
|
|
143
72
|
- vendor/scs/linsys/external/qdldl/qdldl.c
|
|
144
73
|
- vendor/scs/linsys/external/qdldl/qdldl.h
|
|
145
|
-
- vendor/scs/linsys/external/qdldl/qdldl.o
|
|
146
74
|
- vendor/scs/linsys/external/qdldl/qdldl_types.h
|
|
147
75
|
- vendor/scs/linsys/gpu/gpu.c
|
|
148
76
|
- vendor/scs/linsys/gpu/gpu.h
|
|
149
77
|
- vendor/scs/linsys/gpu/indirect/private.c
|
|
150
78
|
- vendor/scs/linsys/gpu/indirect/private.h
|
|
79
|
+
- vendor/scs/linsys/scs_matrix.c
|
|
80
|
+
- vendor/scs/linsys/scs_matrix.h
|
|
151
81
|
- vendor/scs/scs.mk
|
|
152
82
|
- vendor/scs/src/aa.c
|
|
153
|
-
- vendor/scs/src/aa.o
|
|
154
83
|
- vendor/scs/src/cones.c
|
|
155
|
-
- vendor/scs/src/cones.o
|
|
156
84
|
- vendor/scs/src/ctrlc.c
|
|
157
|
-
- vendor/scs/src/ctrlc.o
|
|
158
85
|
- vendor/scs/src/linalg.c
|
|
159
|
-
- vendor/scs/src/linalg.o
|
|
160
86
|
- vendor/scs/src/normalize.c
|
|
161
|
-
- vendor/scs/src/normalize.o
|
|
162
87
|
- vendor/scs/src/rw.c
|
|
163
|
-
- vendor/scs/src/rw.o
|
|
164
88
|
- vendor/scs/src/scs.c
|
|
165
|
-
- vendor/scs/src/scs.o
|
|
166
89
|
- vendor/scs/src/scs_version.c
|
|
167
|
-
- vendor/scs/src/scs_version.o
|
|
168
90
|
- vendor/scs/src/util.c
|
|
169
|
-
- vendor/scs/src/util.o
|
|
170
|
-
- vendor/scs/test/data/small_random_socp
|
|
171
91
|
- vendor/scs/test/minunit.h
|
|
172
92
|
- vendor/scs/test/problem_utils.h
|
|
93
|
+
- vendor/scs/test/problems/degenerate.h
|
|
94
|
+
- vendor/scs/test/problems/hs21_tiny_qp.h
|
|
95
|
+
- vendor/scs/test/problems/hs21_tiny_qp_rw.h
|
|
96
|
+
- vendor/scs/test/problems/infeasible_tiny_qp.h
|
|
97
|
+
- vendor/scs/test/problems/qafiro_tiny_qp.h
|
|
98
|
+
- vendor/scs/test/problems/random_prob
|
|
99
|
+
- vendor/scs/test/problems/random_prob.h
|
|
173
100
|
- vendor/scs/test/problems/rob_gauss_cov_est.h
|
|
174
101
|
- vendor/scs/test/problems/small_lp.h
|
|
175
|
-
- vendor/scs/test/problems/
|
|
102
|
+
- vendor/scs/test/problems/test_fails.h
|
|
103
|
+
- vendor/scs/test/problems/unbounded_tiny_qp.h
|
|
176
104
|
- vendor/scs/test/random_socp_prob.c
|
|
105
|
+
- vendor/scs/test/rng.h
|
|
177
106
|
- vendor/scs/test/run_from_file.c
|
|
178
|
-
- vendor/scs/test/run_tests
|
|
179
107
|
- vendor/scs/test/run_tests.c
|
|
180
108
|
homepage: https://github.com/ankane/scs
|
|
181
109
|
licenses:
|
|
182
110
|
- MIT
|
|
183
111
|
metadata: {}
|
|
184
|
-
post_install_message:
|
|
112
|
+
post_install_message:
|
|
185
113
|
rdoc_options: []
|
|
186
114
|
require_paths:
|
|
187
115
|
- lib
|
|
@@ -196,8 +124,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
196
124
|
- !ruby/object:Gem::Version
|
|
197
125
|
version: '0'
|
|
198
126
|
requirements: []
|
|
199
|
-
rubygems_version: 3.
|
|
200
|
-
signing_key:
|
|
127
|
+
rubygems_version: 3.2.22
|
|
128
|
+
signing_key:
|
|
201
129
|
specification_version: 4
|
|
202
130
|
summary: SCS - the splitting conic solver - for Ruby
|
|
203
131
|
test_files: []
|