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