blob: ec0066a3af8f350ef80d014c205b1230c22e73cd [file] [log] [blame]
Austin Schuh9049e202022-02-20 17:34:16 -08001#ifndef PROJ_H
2# define PROJ_H
3
4# ifdef __cplusplus
5extern "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 */
18void 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 */
28void 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