scs 0.2.1 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/LICENSE.txt +18 -18
  4. data/README.md +12 -7
  5. data/lib/scs/ffi.rb +30 -13
  6. data/lib/scs/solver.rb +32 -14
  7. data/lib/scs/version.rb +1 -1
  8. data/vendor/scs/CITATION.cff +39 -0
  9. data/vendor/scs/CMakeLists.txt +272 -0
  10. data/vendor/scs/Makefile +24 -15
  11. data/vendor/scs/README.md +8 -216
  12. data/vendor/scs/include/aa.h +67 -23
  13. data/vendor/scs/include/cones.h +17 -17
  14. data/vendor/scs/include/glbopts.h +98 -32
  15. data/vendor/scs/include/linalg.h +2 -4
  16. data/vendor/scs/include/linsys.h +58 -44
  17. data/vendor/scs/include/normalize.h +3 -3
  18. data/vendor/scs/include/rw.h +8 -2
  19. data/vendor/scs/include/scs.h +293 -133
  20. data/vendor/scs/include/util.h +3 -15
  21. data/vendor/scs/linsys/cpu/direct/private.c +220 -224
  22. data/vendor/scs/linsys/cpu/direct/private.h +13 -7
  23. data/vendor/scs/linsys/cpu/indirect/private.c +177 -110
  24. data/vendor/scs/linsys/cpu/indirect/private.h +8 -4
  25. data/vendor/scs/linsys/csparse.c +87 -0
  26. data/vendor/scs/linsys/csparse.h +34 -0
  27. data/vendor/scs/linsys/external/amd/SuiteSparse_config.c +1 -1
  28. data/vendor/scs/linsys/external/amd/amd_internal.h +1 -1
  29. data/vendor/scs/linsys/external/qdldl/changes +2 -0
  30. data/vendor/scs/linsys/external/qdldl/qdldl.c +29 -46
  31. data/vendor/scs/linsys/external/qdldl/qdldl.h +33 -41
  32. data/vendor/scs/linsys/external/qdldl/qdldl_types.h +11 -3
  33. data/vendor/scs/linsys/gpu/gpu.c +58 -21
  34. data/vendor/scs/linsys/gpu/gpu.h +66 -28
  35. data/vendor/scs/linsys/gpu/indirect/private.c +368 -154
  36. data/vendor/scs/linsys/gpu/indirect/private.h +26 -12
  37. data/vendor/scs/linsys/scs_matrix.c +498 -0
  38. data/vendor/scs/linsys/scs_matrix.h +70 -0
  39. data/vendor/scs/scs.mk +13 -9
  40. data/vendor/scs/src/aa.c +384 -109
  41. data/vendor/scs/src/cones.c +440 -353
  42. data/vendor/scs/src/ctrlc.c +15 -5
  43. data/vendor/scs/src/linalg.c +84 -28
  44. data/vendor/scs/src/normalize.c +22 -64
  45. data/vendor/scs/src/rw.c +161 -22
  46. data/vendor/scs/src/scs.c +768 -561
  47. data/vendor/scs/src/scs_version.c +9 -3
  48. data/vendor/scs/src/util.c +37 -106
  49. data/vendor/scs/test/minunit.h +17 -8
  50. data/vendor/scs/test/problem_utils.h +176 -14
  51. data/vendor/scs/test/problems/degenerate.h +130 -0
  52. data/vendor/scs/test/problems/hs21_tiny_qp.h +124 -0
  53. data/vendor/scs/test/problems/hs21_tiny_qp_rw.h +116 -0
  54. data/vendor/scs/test/problems/infeasible_tiny_qp.h +100 -0
  55. data/vendor/scs/test/problems/qafiro_tiny_qp.h +199 -0
  56. data/vendor/scs/test/problems/random_prob +0 -0
  57. data/vendor/scs/test/problems/random_prob.h +45 -0
  58. data/vendor/scs/test/problems/rob_gauss_cov_est.h +188 -31
  59. data/vendor/scs/test/problems/small_lp.h +13 -14
  60. data/vendor/scs/test/problems/test_fails.h +43 -0
  61. data/vendor/scs/test/problems/unbounded_tiny_qp.h +82 -0
  62. data/vendor/scs/test/random_socp_prob.c +54 -53
  63. data/vendor/scs/test/rng.h +109 -0
  64. data/vendor/scs/test/run_from_file.c +19 -10
  65. data/vendor/scs/test/run_tests.c +27 -3
  66. metadata +25 -97
  67. data/vendor/scs/linsys/amatrix.c +0 -305
  68. data/vendor/scs/linsys/amatrix.h +0 -36
  69. data/vendor/scs/linsys/amatrix.o +0 -0
  70. data/vendor/scs/linsys/cpu/direct/private.o +0 -0
  71. data/vendor/scs/linsys/cpu/indirect/private.o +0 -0
  72. data/vendor/scs/linsys/external/amd/SuiteSparse_config.o +0 -0
  73. data/vendor/scs/linsys/external/amd/amd_1.o +0 -0
  74. data/vendor/scs/linsys/external/amd/amd_2.o +0 -0
  75. data/vendor/scs/linsys/external/amd/amd_aat.o +0 -0
  76. data/vendor/scs/linsys/external/amd/amd_control.o +0 -0
  77. data/vendor/scs/linsys/external/amd/amd_defaults.o +0 -0
  78. data/vendor/scs/linsys/external/amd/amd_dump.o +0 -0
  79. data/vendor/scs/linsys/external/amd/amd_global.o +0 -0
  80. data/vendor/scs/linsys/external/amd/amd_info.o +0 -0
  81. data/vendor/scs/linsys/external/amd/amd_order.o +0 -0
  82. data/vendor/scs/linsys/external/amd/amd_post_tree.o +0 -0
  83. data/vendor/scs/linsys/external/amd/amd_postorder.o +0 -0
  84. data/vendor/scs/linsys/external/amd/amd_preprocess.o +0 -0
  85. data/vendor/scs/linsys/external/amd/amd_valid.o +0 -0
  86. data/vendor/scs/linsys/external/qdldl/qdldl.o +0 -0
  87. data/vendor/scs/src/aa.o +0 -0
  88. data/vendor/scs/src/cones.o +0 -0
  89. data/vendor/scs/src/ctrlc.o +0 -0
  90. data/vendor/scs/src/linalg.o +0 -0
  91. data/vendor/scs/src/normalize.o +0 -0
  92. data/vendor/scs/src/rw.o +0 -0
  93. data/vendor/scs/src/scs.o +0 -0
  94. data/vendor/scs/src/scs_version.o +0 -0
  95. data/vendor/scs/src/util.o +0 -0
  96. data/vendor/scs/test/data/small_random_socp +0 -0
  97. data/vendor/scs/test/problems/small_random_socp.h +0 -33
  98. 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, "eps") == 0) {
16
- s->eps = atof(val);
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(d->stgs, argv[i], argv[i + 1]) < 0) {
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
  }
@@ -6,16 +6,40 @@
6
6
  #include "scs.h"
7
7
 
8
8
  /* Include Tests */
9
- #include "problems/small_lp.h"
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/small_random_socp.h"
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
- mu_run_test(small_random_socp);
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.2.1
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: 2019-11-29 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
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/cpu/indirect/private.o
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/small_random_socp.h
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.0.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: []