proj.h 726 B

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