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