vendor/scs/test/problems/random_prob.h in scs-0.4.0 vs vendor/scs/test/problems/random_prob.h in scs-0.4.1
- old
+ new
@@ -1,49 +1,8 @@
#include "glbopts.h"
-#include "minunit.h"
-#include "problem_utils.h"
-#include "rw.h"
+#include "problems/test_prob_from_data_file.h"
#include "scs.h"
-#include "util.h"
static const char *random_prob(void) {
- scs_int read_status;
- ScsData *d;
- ScsCone *k;
- ScsSettings *stgs;
- ScsSolution *sol;
- ScsInfo info = {0};
- scs_int exitflag;
- scs_float perr, derr;
- scs_int success;
- const char *fail;
-
scs_float OPT = 5.751458006385587;
-
- read_status = SCS(read_data)("test/problems/random_prob", &d, &k, &stgs);
-
- if (read_status < 0) {
- return "Data read failure, exit.\n";
- }
-
- stgs->eps_abs = 1e-6;
- stgs->eps_rel = 1e-6;
-
- sol = (ScsSolution *)scs_calloc(1, sizeof(ScsSolution));
- exitflag = scs(d, k, stgs, sol, &info);
-
- perr = SCS(dot)(d->c, sol->x, d->n) - OPT;
- derr = -SCS(dot)(d->b, sol->y, d->m) - OPT;
- scs_printf("primal obj error %4e\n", perr);
- scs_printf("dual obj error %4e\n", derr);
-
- success = ABS(perr) < 1e-4 && ABS(derr) < 1e-4 && exitflag == SCS_SOLVED;
-
- mu_assert("random_prob: SCS failed to produce SCS_SOLVED", success);
- fail = verify_solution_correct(d, k, stgs, &info, sol, exitflag);
- SCS(free_data)(d);
- SCS(free_cone)(k);
- SCS(free_sol)(sol);
- scs_free(stgs);
-
- return fail;
+ return _test_prob_from_data("test/problems/random_prob", OPT);
}