1 #ifndef PRIV_H_GUARD 2 #define PRIV_H_GUARD 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 #include "glbopts.h" 9 #include "linalg.h" 10 #include "scs.h" 11 #include "scs_matrix.h" 12 #include <math.h> 13 14 struct SCS_LIN_SYS_WORK { 15 scs_int n, m; /* linear system dimensions */ 16 scs_float *p; /* cg iterate */ 17 scs_float *r; /* cg residual */ 18 scs_float *Gp; 19 scs_float *tmp; 20 const ScsMatrix *A; /* does *not* own this memory */ 21 const ScsMatrix *P; /* does *not* own this memory */ 22 ScsMatrix *At; /* does own this memory */ 23 /* preconditioning */ 24 scs_float *z; 25 scs_float *M; 26 /* reporting */ 27 scs_int tot_cg_its; 28 scs_float *rho_y_vec; 29 scs_float rho_x; 30 }; 31 32 #ifdef __cplusplus 33 } 34 #endif 35 #endif 36