scs 0.5.4 → 0.5.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 74c42ade2bfa33aa1b1ca6e48e221f0be32ae4897cd8355f85a112e06b8098f5
4
- data.tar.gz: ae4548ba21f56ee5cdf091dd8ba89d415578f326b6d6f57df0ae7b4d53900eff
3
+ metadata.gz: 8ff5e9f042f1fd5244d1b1bc59c6308c8f70586b473d38272157fcbe05463aeb
4
+ data.tar.gz: 0ebb6044270c3eaa020c9965d08f51b35591f74e83594c756e901274eb001bf8
5
5
  SHA512:
6
- metadata.gz: e3d8bc5c1f8c366a7aee9eb20a5281c9f6df77073618bfa63f2f106f002b9a1cb6db0d6985e16e7473d65063b567efc86278b88f91b311d5d6977aa9bf2dfafa
7
- data.tar.gz: df1d393aa13d5be060f1f3a25243efa651df803cafe3705707a1c5cd934c8386619891418effd5b53cf38bf2c164539dd579ad3fa3a001c8cf23fea2e6bd0d9f
6
+ metadata.gz: 4794fed3a60f87162b82a45d1acf90ca5008b29e87325bf3de074dc99b1100c130e03516d83b13655caa1cc43dd00cb91d19fc454ed463a1f29ce06e3d195038
7
+ data.tar.gz: 0e501a4181f3263fae54d4d98ab8b94284978cd94ccbf2c23b8d02699f35e63855011098fe2d580d5c1492cd61605a5914ef53b4c59456283f726cd28df13e3d
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.5.5 (2026-01-11)
2
+
3
+ - Updated SCS to 3.2.11
4
+
1
5
  ## 0.5.4 (2026-01-02)
2
6
 
3
7
  - Updated SCS to 3.2.10
data/lib/scs/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module SCS
2
- VERSION = "0.5.4"
2
+ VERSION = "0.5.5"
3
3
  end
@@ -10,7 +10,7 @@ authors:
10
10
  - family-names: "Boyd"
11
11
  given-names: "Stephen"
12
12
  title: "SCS: Splitting Conic Solver"
13
- version: 3.2.10
13
+ version: 3.2.11
14
14
  date-released: 2023
15
15
  url: "https://github.com/cvxgrp/scs"
16
16
 
@@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.5)
6
6
  project(
7
7
  scs
8
8
  LANGUAGES C
9
- VERSION 3.2.10)
9
+ VERSION 3.2.11)
10
10
 
11
11
  # Defines the CMAKE_INSTALL_LIBDIR, CMAKE_INSTALL_BINDIR and many other useful
12
12
  # macros. See https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html
data/vendor/scs/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
 
9
9
  SCS (`splitting conic solver`) is a numerical optimization package for solving
10
- large-scale convex cone problems. The current version is `3.2.10`.
10
+ large-scale convex cone problems. The current version is `3.2.11`.
11
11
 
12
12
  The full documentation is available [here](https://www.cvxgrp.org/scs/).
13
13
 
@@ -14,7 +14,7 @@ extern "C" {
14
14
 
15
15
  /* SCS VERSION NUMBER ---------------------------------------------- */
16
16
  /* string literals automatically null-terminated */
17
- #define SCS_VERSION ("3.2.10")
17
+ #define SCS_VERSION ("3.2.11")
18
18
 
19
19
  /* verbosity level */
20
20
  #ifndef VERBOSITY
@@ -149,6 +149,12 @@ static inline void *scs_calloc(size_t count, size_t size) {
149
149
  #define POWF pow
150
150
  #endif
151
151
 
152
+ #ifdef DLONG
153
+ #define IABS llabs
154
+ #else
155
+ #define IABS abs
156
+ #endif
157
+
152
158
  /* Force SCS to treat the problem as (non-homogeneous) feasible for this many */
153
159
  /* iters. This acts like a warm-start that biases towards feasibility, which */
154
160
  /* is the most common use-case */
data/vendor/scs/src/scs.c CHANGED
@@ -900,7 +900,7 @@ static ScsWork *init_work(const ScsData *d, const ScsCone *k,
900
900
  }
901
901
  if (w->stgs->acceleration_lookback) {
902
902
  /* TODO(HACK!) negative acceleration_lookback interpreted as type-II */
903
- if (!(w->accel = aa_init(l, abs(w->stgs->acceleration_lookback),
903
+ if (!(w->accel = aa_init(l, IABS(w->stgs->acceleration_lookback),
904
904
  w->stgs->acceleration_lookback > 0,
905
905
  w->stgs->acceleration_lookback > 0
906
906
  ? AA_REGULARIZATION_TYPE_1
@@ -7,77 +7,79 @@
7
7
  #include "scs_matrix.h"
8
8
  #include "util.h"
9
9
 
10
- static const char *complex_PSD(void)
11
- {
12
- ScsCone *k = (ScsCone *)scs_calloc(1, sizeof(ScsCone));
13
- ScsData *d = (ScsData *)scs_calloc(1, sizeof(ScsData));
14
- ScsSettings *stgs = (ScsSettings *)scs_calloc(1, sizeof(ScsSettings));
15
- ScsSolution *sol = (ScsSolution *)scs_calloc(1, sizeof(ScsSolution));
16
- ScsInfo info = {0};
17
- scs_int exitflag;
18
- scs_float perr, derr;
19
- scs_int success;
20
- const char *fail;
10
+ static const char *complex_PSD(void) {
11
+ ScsCone *k = (ScsCone *)scs_calloc(1, sizeof(ScsCone));
12
+ ScsData *d = (ScsData *)scs_calloc(1, sizeof(ScsData));
13
+ ScsSettings *stgs = (ScsSettings *)scs_calloc(1, sizeof(ScsSettings));
14
+ ScsSolution *sol = (ScsSolution *)scs_calloc(1, sizeof(ScsSolution));
15
+ ScsInfo info = {0};
16
+ scs_int exitflag;
17
+ scs_float perr, derr;
18
+ scs_int success;
19
+ const char *fail;
21
20
 
22
- /* data */
23
- scs_float Ax[] = {1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0};
24
- scs_int Ai[] = {0, 1, 2, 3, 4, 5, 0, 6, 7, 8, 0, 9};
25
- scs_int Ap[] = {0, 2, 3, 4, 5, 6, 8, 9, 10, 12};
26
- scs_float b[] = {1.0, 0., 0., 0., 0., 0., 0., 0., 0., 0.};
27
- scs_float c[] = {1, 2 * sqrt(2), 3 * sqrt(2), 4 * sqrt(2), 5 * sqrt(2), 6,
28
- 7 * sqrt(2), -8 * sqrt(2), 9};
21
+ /* data */
22
+ scs_float Ax[] = {1.0, -1.0, -1.0, -1.0, -1.0, -1.0,
23
+ 1.0, -1.0, -1.0, -1.0, 1.0, -1.0};
24
+ scs_int Ai[] = {0, 1, 2, 3, 4, 5, 0, 6, 7, 8, 0, 9};
25
+ scs_int Ap[] = {0, 2, 3, 4, 5, 6, 8, 9, 10, 12};
26
+ scs_float b[] = {1.0, 0., 0., 0., 0., 0., 0., 0., 0., 0.};
27
+ scs_float c[] = {1, 2 * sqrt(2), 3 * sqrt(2),
28
+ 4 * sqrt(2), 5 * sqrt(2), 6,
29
+ 7 * sqrt(2), -8 * sqrt(2), 9};
29
30
 
30
- scs_int m = 10;
31
- scs_int n = 9;
32
- scs_int cs[] = {3};
33
- scs_int cssize = 1;
34
- k->z = 1;
35
- k->cs = cs;
36
- k->cssize = cssize;
31
+ scs_int m = 10;
32
+ scs_int n = 9;
33
+ scs_int cs[] = {3};
34
+ scs_int cssize = 1;
35
+ k->z = 1;
36
+ k->cs = cs;
37
+ k->cssize = cssize;
37
38
 
38
- // computed offline
39
- scs_float opt = -5.228930;
40
- /* end data */
39
+ /* computed offline */
40
+ scs_float opt = -5.228930;
41
+ /* end data */
41
42
 
42
- d->m = m;
43
- d->n = n;
44
- d->b = b;
45
- d->c = c;
43
+ d->m = m;
44
+ d->n = n;
45
+ d->b = b;
46
+ d->c = c;
46
47
 
47
- d->A = (ScsMatrix *)scs_calloc(1, sizeof(ScsMatrix));
48
- d->A->m = m;
49
- d->A->n = n;
50
- d->A->x = Ax;
51
- d->A->i = Ai;
52
- d->A->p = Ap;
48
+ d->A = (ScsMatrix *)scs_calloc(1, sizeof(ScsMatrix));
49
+ d->A->m = m;
50
+ d->A->n = n;
51
+ d->A->x = Ax;
52
+ d->A->i = Ai;
53
+ d->A->p = Ap;
53
54
 
54
- scs_set_default_settings(stgs);
55
- stgs->eps_abs = 1e-7;
56
- stgs->eps_rel = 1e-7;
57
- stgs->eps_infeas = 1e-9;
55
+ scs_set_default_settings(stgs);
56
+ stgs->eps_abs = 1e-7;
57
+ stgs->eps_rel = 1e-7;
58
+ stgs->eps_infeas = 1e-9;
58
59
 
59
- exitflag = scs(d, k, stgs, sol, &info);
60
+ exitflag = scs(d, k, stgs, sol, &info);
60
61
 
61
- perr = SCS(dot)(d->c, sol->x, d->n) - opt;
62
- derr = -SCS(dot)(d->b, sol->y, d->m) - opt;
62
+ perr = SCS(dot)(d->c, sol->x, d->n) - opt;
63
+ derr = -SCS(dot)(d->b, sol->y, d->m) - opt;
63
64
 
64
- scs_printf("primal obj error %4e\n", perr);
65
- scs_printf("dual obj error %4e\n", derr);
65
+ scs_printf("primal obj error %4e\n", perr);
66
+ scs_printf("dual obj error %4e\n", derr);
66
67
 
67
- success = ABS(perr) < 1e-4 && ABS(derr) < 1e-4 && exitflag == SCS_SOLVED;
68
+ success = ABS(perr) < 1e-4 && ABS(derr) < 1e-4 && exitflag == SCS_SOLVED;
68
69
 
69
- mu_assert("complex_PSD: SCS failed to produce outputflag SCS_SOLVED", success);
70
+ mu_assert("complex_PSD: SCS failed to produce outputflag SCS_SOLVED",
71
+ success);
70
72
 
71
- fail = verify_solution_correct(d, k, stgs, &info, sol, exitflag);
72
- if (fail)
73
- return fail;
73
+ fail = verify_solution_correct(d, k, stgs, &info, sol, exitflag);
74
+ if (fail)
75
+ return fail;
74
76
 
75
- /* kill data */
76
- scs_free(d->A);
77
- scs_free(k);
78
- scs_free(stgs);
79
- scs_free(d);
80
- SCS(free_sol)(sol);
77
+ /* kill data */
78
+ scs_free(d->A);
79
+ scs_free(k);
80
+ scs_free(stgs);
81
+ scs_free(d);
82
+ SCS(free_sol)(sol);
81
83
 
82
- return fail;
84
+ return fail;
83
85
  }
@@ -0,0 +1,155 @@
1
+ #include "glbopts.h"
2
+ #include "linalg.h"
3
+ #include "minunit.h"
4
+ #include "problem_utils.h"
5
+ #include "rw.h"
6
+ #include "scs.h"
7
+ #include "scs_matrix.h"
8
+ #include "util.h"
9
+
10
+ /* Randomly generated problem that mixes psd and complex psd cones */
11
+ static const char *sd_and_complex_sd(void) {
12
+ ScsCone *k = (ScsCone *)scs_calloc(1, sizeof(ScsCone));
13
+ ScsData *d = (ScsData *)scs_calloc(1, sizeof(ScsData));
14
+ ScsSettings *stgs = (ScsSettings *)scs_calloc(1, sizeof(ScsSettings));
15
+ ScsSolution *sol = (ScsSolution *)scs_calloc(1, sizeof(ScsSolution));
16
+ ScsInfo info = {0};
17
+ scs_int exitflag;
18
+ scs_float perr, derr;
19
+ scs_int success;
20
+ const char *fail;
21
+
22
+ /* data */
23
+ scs_float Px[] = {0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
24
+ 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
25
+ 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
26
+ 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
27
+ 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1};
28
+
29
+ scs_int Pi[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
30
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
31
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
32
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59};
33
+
34
+ scs_int Pp[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
35
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
36
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
37
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
38
+ 52, 53, 54, 55, 56, 57, 58, 59, 60};
39
+
40
+ scs_float Ax[] = {
41
+ 0.8, 0.8, 0.5, 0.4, 0.6, 0.1, 0.4, 0.5, 1, 0.6, 0.4, 0.8, 0.8, 0.7,
42
+ 0.1, 0.3, 0.3, 0.8, 0.4, 1, 0.2, 0.6, 0.2, 0.9, 0.7, 0.4, 0.6, 0.2,
43
+ 0.2, 0.9, 0.1, 0.1, 0.5, 0.7, 0.6, 0.1, 0.2, 0.1, 0.8, 0.3, 0.8, 0.6,
44
+ 0.5, 1, 0.4, 0.5, 0.2, 0.5, 0.7, 0.7, 0.3, 0.9, 0.9, 0.5, 0.6, 0.2,
45
+ 0.4, 0.8, 0.7, 0.6, 0.1, 0.2, 0.8, 0.2, 0.5, 0.7, 0.1, 0.6, 0.8, 0.6,
46
+ 0.1, 0.6, 0.6, 0.1, 0.6, 0.9, 0.7, 0.9, 0.5, 0.1, 0.8, 0.1, 0.4, 0.4,
47
+ 0.5, 1, 0.8, 0.1, 0.6, 0, 0.8, 0.2, 0.4, 0.3, 0.6, 0.2, 0.7, 0.2,
48
+ 0.9, 0.4, 0.3, 0.5, 0.5, 0.4, 0.5, 0.1, 0.6, 0.6, 0.8, 0.5, 0, 0.5,
49
+ 0, 0.6, 0.2, 0.7, 0.7, 0.5, 0.4, 0.7, 0.8, 0.2, 0.9, 0.3, 0.3, 0.9,
50
+ 0.6, 0.2, 1, 0.4, 0.6, 0.3, 0.8, 0.8, 0.1, 0.5, 0.4, 0.1, 0.1, 0.6,
51
+ 0.2, 0.4, 0.6, 0.8, 0.4, 0.1, 0.6, 0.7, 0.4, 0.9, 0.3, 0.2, 0.4, 0.4,
52
+ 0.8, 1, 0.3, 0.7, 0.2, 0.5, 1, 0.3, 0.9, 0.4, 0.9, 0.8, 0.7, 0.4,
53
+ 0.5, 1, 0.4, 0.3, 0.6, 1, 0.8, 0.6, 0, 1, 0.6, 0.9};
54
+
55
+ scs_int Ai[] = {
56
+ 25, 44, 3, 19, 23, 27, 47, 51, 54, 58, 20, 29, 42, 45, 1, 21, 39, 17,
57
+ 20, 28, 46, 52, 1, 2, 13, 36, 21, 6, 16, 23, 34, 1, 11, 51, 59, 6,
58
+ 7, 8, 15, 30, 39, 47, 22, 7, 12, 30, 31, 38, 48, 29, 39, 56, 19, 24,
59
+ 50, 46, 22, 50, 3, 25, 33, 44, 54, 57, 0, 43, 3, 19, 37, 52, 58, 12,
60
+ 21, 26, 58, 3, 8, 30, 2, 54, 39, 40, 43, 44, 49, 17, 9, 15, 17, 53,
61
+ 59, 14, 0, 5, 5, 44, 48, 58, 14, 15, 48, 31, 29, 40, 41, 42, 6, 53,
62
+ 55, 10, 15, 9, 17, 19, 29, 57, 6, 17, 55, 11, 27, 42, 45, 56, 7, 18,
63
+ 24, 28, 46, 51, 5, 29, 40, 1, 6, 35, 36, 11, 18, 44, 36, 45, 49, 45,
64
+ 56, 57, 0, 7, 25, 42, 48, 0, 10, 25, 43, 47, 58, 3, 11, 30, 40, 43,
65
+ 47, 58, 2, 18, 27, 10, 21, 57, 11, 38, 43, 57, 18, 12, 19, 41, 44, 57};
66
+
67
+ scs_int Ap[] = {0, 2, 10, 14, 17, 22, 26, 27, 31, 35, 42,
68
+ 43, 48, 49, 52, 55, 56, 58, 64, 66, 71, 75,
69
+ 78, 80, 85, 86, 88, 91, 92, 94, 98, 101, 102,
70
+ 106, 109, 109, 111, 116, 119, 124, 130, 133, 135, 137,
71
+ 140, 142, 143, 146, 147, 148, 150, 151, 155, 157, 164,
72
+ 167, 170, 174, 175, 179, 180};
73
+
74
+ scs_float b[] = {-0.1, -0.2, -0.8, 0.7, 0.4, -0.7, -0.1, 1.2, -1, -0.6,
75
+ -0.5, 2.6, 0.3, 0.4, 0.6, 0.8, 0.5, 1.5, 0, 0.3,
76
+ -0.3, -0.7, 1.7, 0.7, -2.3, -2, 0.5, 1.7, 0.6, -0.9,
77
+ -1, 2.4, 0.7, -1.9, 0, -0.1, -1.4, 0, 0.6, 0.2,
78
+ 0.4, -2.6, 1.3, 0.5, -0.6, -0.9, -0.9, 0.9, -0.8, -0.1,
79
+ 0, -0.2, 0.1, -0.7, -0.2, -1.7, 0.8, -0.4, -0.9, -0.2};
80
+
81
+ scs_float c[] = {1.2, -0.2, -0.4, 1.2, -0.2, -1.2, -0.1, -0.5, 1.2, 0.2,
82
+ -0.8, 0.3, -1.6, 1.6, 0.8, -0.4, 0.1, 1.8, 0.4, 1.1,
83
+ 0.2, 1.2, -0.4, -0.6, 1.7, -0.6, -1, -0.5, 0.6, 1.2,
84
+ 2.1, 1.6, 0.6, 1.3, -1, -0.8, -0.8, -0.2, -0.9, 1,
85
+ 0.7, -2, -0.6, -0.5, 0.9, -0.3, -2.1, -0, -0.5, 0.1,
86
+ -0.3, 0.8, 2, 0.8, 0.5, 0.8, -0.3, -0, -1.1, 0.2};
87
+
88
+ scs_int m = 60;
89
+ scs_int n = 60;
90
+ scs_int s[] = {3, 4};
91
+ scs_int sssize = 2;
92
+ scs_int cs[] = {5, 4};
93
+ scs_int cssize = 2;
94
+ k->z = 1;
95
+ k->l = 2;
96
+ k->s = s;
97
+ k->ssize = sssize;
98
+ k->cs = cs;
99
+ k->cssize = cssize;
100
+
101
+ /* computed by SCS with high precision, not confirmed that this is optimal */
102
+ scs_float opt = -135.009872;
103
+ /* end data */
104
+
105
+ d->m = m;
106
+ d->n = n;
107
+ d->b = b;
108
+ d->c = c;
109
+
110
+ d->P = (ScsMatrix *)scs_calloc(1, sizeof(ScsMatrix));
111
+ d->P->m = n;
112
+ d->P->n = n;
113
+ d->P->x = Px;
114
+ d->P->i = Pi;
115
+ d->P->p = Pp;
116
+
117
+ d->A = (ScsMatrix *)scs_calloc(1, sizeof(ScsMatrix));
118
+ d->A->m = m;
119
+ d->A->n = n;
120
+ d->A->x = Ax;
121
+ d->A->i = Ai;
122
+ d->A->p = Ap;
123
+
124
+ scs_set_default_settings(stgs);
125
+ stgs->eps_abs = 1e-7;
126
+ stgs->eps_rel = 1e-7;
127
+ stgs->eps_infeas = 1e-9;
128
+
129
+ exitflag = scs(d, k, stgs, sol, &info);
130
+
131
+ perr = info.pobj - opt;
132
+ derr = info.dobj - opt;
133
+
134
+ scs_printf("primal obj error %4e\n", perr);
135
+ scs_printf("dual obj error %4e\n", derr);
136
+
137
+ success = ABS(perr) < 1e-4 && ABS(derr) < 1e-4 && exitflag == SCS_SOLVED;
138
+
139
+ mu_assert("sd_and_complex_sd: SCS failed to produce outputflag SCS_SOLVED",
140
+ success);
141
+
142
+ fail = verify_solution_correct(d, k, stgs, &info, sol, exitflag);
143
+ if (fail)
144
+ return fail;
145
+
146
+ /* kill data */
147
+ scs_free(d->A);
148
+ scs_free(d->P);
149
+ scs_free(k);
150
+ scs_free(stgs);
151
+ scs_free(d);
152
+ SCS(free_sol)(sol);
153
+
154
+ return fail;
155
+ }
@@ -32,17 +32,25 @@ _SKIP(test_validation)
32
32
  #endif
33
33
 
34
34
  /* solve SDPs, requires blas / lapack */
35
- #if defined(USE_LAPACK) && NO_READ_WRITE == 0
35
+ #if defined(USE_LAPACK)
36
36
  #include "problems/complex_PSD.h"
37
+ #include "problems/sd_and_complex_sd.h"
38
+ #else
39
+ _SKIP(complex_PSD)
40
+ _SKIP(sd_and_complex_sd)
41
+ #endif
42
+
43
+ /* solve SDPs from data files, requires blas / lapack */
44
+ #if defined(USE_LAPACK) && NO_READ_WRITE == 0
37
45
  #include "problems/random_prob.h"
38
- #include "problems/rob_gauss_cov_est.h"
46
+ #include "problems/rob_gauss_cov_est.h" /* tests writing to data file */
39
47
  #else
40
- _SKIP(rob_gauss_cov_est)
41
48
  _SKIP(random_prob)
42
- _SKIP(complex_PSD)
49
+ _SKIP(rob_gauss_cov_est)
43
50
  #endif
44
51
 
45
- #if defined(USE_SPECTRAL_CONES) && NO_READ_WRITE == 0
52
+ /* solve SDPs with spectral cones, requires blas / lapack */
53
+ #if defined(USE_SPECTRAL_CONES)
46
54
  #include "spectral_cones_problems/exp_design.h"
47
55
  #include "spectral_cones_problems/graph_partitioning.h"
48
56
  #include "spectral_cones_problems/robust_pca.h"
@@ -58,7 +66,8 @@ _SKIP(several_nuc_cone)
58
66
  _SKIP(several_logdet_cones)
59
67
  #endif
60
68
 
61
- #if NO_READ_WRITE == 0 /* reads / writes */
69
+ /* solves problems from data files */
70
+ #if NO_READ_WRITE == 0
62
71
  #include "problems/hs21_tiny_qp_rw.h"
63
72
  #include "problems/max_ent.h"
64
73
  #include "problems/mpc_bug.h"
@@ -75,6 +84,7 @@ static const char *all_tests(void) {
75
84
  mu_run_test(small_qp);
76
85
  mu_run_test(rob_gauss_cov_est);
77
86
  mu_run_test(complex_PSD);
87
+ mu_run_test(sd_and_complex_sd);
78
88
  mu_run_test(hs21_tiny_qp);
79
89
  mu_run_test(hs21_tiny_qp_rw);
80
90
  mu_run_test(qafiro_tiny_qp);
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.4
4
+ version: 0.5.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kane
@@ -135,6 +135,7 @@ files:
135
135
  - vendor/scs/test/problems/random_prob
136
136
  - vendor/scs/test/problems/random_prob.h
137
137
  - vendor/scs/test/problems/rob_gauss_cov_est.h
138
+ - vendor/scs/test/problems/sd_and_complex_sd.h
138
139
  - vendor/scs/test/problems/small_lp.h
139
140
  - vendor/scs/test/problems/small_qp.h
140
141
  - vendor/scs/test/problems/test_exp_cone.h