Squashed 'third_party/osqp/' content from commit 33454b3e23

Change-Id: I056df0582ca06664e86554c341a94c47ab932001
git-subtree-dir: third_party/osqp
git-subtree-split: 33454b3e236f1f44193bfbbb6b8c8e71f8f04e9a
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/include/proj.h b/include/proj.h
new file mode 100644
index 0000000..ec0066a
--- /dev/null
+++ b/include/proj.h
@@ -0,0 +1,37 @@
+#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