vendor/scs/include/cones.h in scs-0.2.3 vs vendor/scs/include/cones.h in scs-0.3.0
- old
+ new
@@ -9,37 +9,37 @@
#include "scs.h"
#include "scs_blas.h"
/* private data to help cone projection step */
struct SCS_CONE_WORK {
- scs_float total_cone_time;
+ /*
+ * cone_boundaries will contain array of indices of rows of A corresponding to
+ * cone boundaries, boundaries[0] is starting index for cones of size larger
+ * than 1
+ */
+ scs_float *s; /* used for Moreau decomposition in projection */
+ scs_int cone_len;
+ /* box cone quantities */
+ scs_float *bl, *bu, box_t_warm_start;
#ifdef USE_LAPACK
/* workspace for eigenvector decompositions: */
scs_float *Xs, *Z, *e, *work;
- blas_int *iwork, lwork, liwork;
+ blas_int lwork;
#endif
};
-/*
- * boundaries will contain array of indices of rows of A corresponding to
- * cone boundaries, boundaries[0] is starting index for cones of size larger
- * than 1
- * returns length of boundaries array, boundaries malloc-ed here so should be
- * freed
- */
-scs_int SCS(get_cone_boundaries)(const ScsCone *k, scs_int **boundaries);
-
-ScsConeWork *SCS(init_cone)(const ScsCone *k);
+ScsConeWork *SCS(init_cone)(const ScsCone *k, const ScsScaling *scal,
+ scs_int cone_len);
char *SCS(get_cone_header)(const ScsCone *k);
scs_int SCS(validate_cones)(const ScsData *d, const ScsCone *k);
+scs_int SCS(set_cone_boundaries)(const ScsCone *k, scs_int **cone_boundaries);
-/* pass in iter to control how accurate the cone projection
- with iteration, set iter < 0 for exact projection, warm_start contains guess
- of solution, can be SCS_NULL*/
scs_int SCS(proj_dual_cone)(scs_float *x, const ScsCone *k, ScsConeWork *c,
- const scs_float *warm_start, scs_int iter);
+ scs_int normalize);
void SCS(finish_cone)(ScsConeWork *c);
-char *SCS(get_cone_summary)(const ScsInfo *info, ScsConeWork *c);
+
+void SCS(set_rho_y_vec)(const ScsCone *k, scs_float scale, scs_float *rho_y_vec,
+ scs_int m);
#ifdef __cplusplus
}
#endif
#endif