1 #ifndef PROJ_H 2 # define PROJ_H 3 4 # ifdef __cplusplus 5 extern "C" { 6 # endif // ifdef __cplusplus 7 8 # include "types.h" 9 10 11 /* Define Projections onto set C involved in the ADMM algorithm */ 12 13 /** 14 * Project z onto \f$C = [l, u]\f$ 15 * @param z Vector to project 16 * @param work Workspace 17 */ 18 void project(OSQPWorkspace *work, 19 c_float *z); 20 21 22 /** 23 * Ensure z satisfies box constraints and y is is normal cone of z 24 * @param work Workspace 25 * @param z Primal variable z 26 * @param y Dual variable y 27 */ 28 void project_normalcone(OSQPWorkspace *work, 29 c_float *z, 30 c_float *y); 31 32 33 # ifdef __cplusplus 34 } 35 # endif // ifdef __cplusplus 36 37 #endif // ifndef PROJ_H 38