27 #include "gtest/gtest.h"
86 csc* P = csc_matrix(
n,
n, P_nnz, P_x.data(), P_i.data(), P_p.data());
88 Eigen::Vector2d
q(1, 1);
97 csc*
A = csc_matrix(m,
n, A_nnz, A_x.data(), A_i.data(), A_p.data());
99 Eigen::Vector3d l(1, 0, 0);
100 Eigen::Vector3d u(1, 0.7, 0.7);
103 std::unique_ptr<OSQPSettings> settings = std::unique_ptr<OSQPSettings>(
new OSQPSettings);
106 std::unique_ptr<OSQPData> data = std::unique_ptr<OSQPData>(
new OSQPData);
116 osqp_set_default_settings(settings.get());
117 settings->verbose = 0;
118 settings->alpha = 1.0;
122 c_int exitflag = osqp_setup(&work, data.get(), settings.get());
123 EXPECT_EQ(exitflag, 0);
131 EXPECT_NEAR(x_sol[0], 0.3, 1e-2);
132 EXPECT_NEAR(x_sol[1], 0.7, 1e-2);
150 Eigen::MatrixXd P(
n,
n);
153 Eigen::VectorXd
q(
n);
156 Eigen::MatrixXd
A(m,
n);
157 A << 1, 1, 1, 0, 0, 1;
159 Eigen::VectorXd l(m);
161 Eigen::VectorXd u(m);
165 P_sp = P.sparseView();
170 A_sp =
A.sparseView();
175 EXPECT_EQ(P_v.size(), 3);
176 EXPECT_EQ(P_v[0], 4);
177 EXPECT_EQ(P_v[1], 1);
178 EXPECT_EQ(P_v[2], 2);
180 EXPECT_EQ(P_i.size(), 3);
181 EXPECT_EQ(P_i[0], 0);
182 EXPECT_EQ(P_i[1], 0);
183 EXPECT_EQ(P_i[2], 1);
185 EXPECT_EQ(P_p.size(), 3);
186 EXPECT_EQ(P_p[0], 0);
187 EXPECT_EQ(P_p[1], 1);
188 EXPECT_EQ(P_p[2], 3);
191 EXPECT_EQ(A_v.size(), 4);
192 EXPECT_EQ(A_v[0], 1);
193 EXPECT_EQ(A_v[1], 1);
194 EXPECT_EQ(A_v[2], 1);
195 EXPECT_EQ(A_v[3], 1);
197 EXPECT_EQ(A_i.size(), 4);
198 EXPECT_EQ(A_i[0], 0);
199 EXPECT_EQ(A_i[1], 1);
200 EXPECT_EQ(A_i[2], 0);
201 EXPECT_EQ(A_i[3], 2);
203 EXPECT_EQ(A_p.size(), 3);
204 EXPECT_EQ(A_p[0], 0);
205 EXPECT_EQ(A_p[1], 2);
206 EXPECT_EQ(A_p[2], 4);
213 std::unique_ptr<OSQPSettings> settings = std::unique_ptr<OSQPSettings>(
new OSQPSettings);
216 std::unique_ptr<OSQPData> data = std::unique_ptr<OSQPData>(
new OSQPData);
226 osqp_set_default_settings(settings.get());
227 settings->verbose = 0;
228 settings->alpha = 1.0;
232 c_int exitflag = osqp_setup(&work, data.get(), settings.get());
233 EXPECT_EQ(exitflag, 0);
241 EXPECT_NEAR(x_sol[0], 0.3, 1e-4);
242 EXPECT_NEAR(x_sol[1], 0.7, 1e-4);