cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp/proj.h

38 lines
726 B
C

#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