blob: ec0066a3af8f350ef80d014c205b1230c22e73cd [file] [log] [blame]
#ifndef PROJ_H
# define PROJ_H
# ifdef __cplusplus
extern "C" {
# endif // ifdef __cplusplus
# include "types.h"
/* Define Projections onto set C involved in the ADMM algorithm */
/**
* Project z onto \f$C = [l, u]\f$
* @param z Vector to project
* @param work Workspace
*/
void project(OSQPWorkspace *work,
c_float *z);
/**
* Ensure z satisfies box constraints and y is is normal cone of z
* @param work Workspace
* @param z Primal variable z
* @param y Dual variable y
*/
void project_normalcone(OSQPWorkspace *work,
c_float *z,
c_float *y);
# ifdef __cplusplus
}
# endif // ifdef __cplusplus
#endif // ifndef PROJ_H