@@ -1015,13 +1015,8 @@ qp_solve( //
10151015
10161016 T rhs_pri (qpsettings.eps_abs );
10171017 if (qpsettings.eps_rel != 0 ) {
1018- rhs_pri +=
1019- qpsettings.eps_rel *
1020- std::max (
1021- std::max (primal_feasibility_eq_rhs_0, primal_feasibility_in_rhs_0),
1022- std::max (std::max (qpwork.primal_feasibility_rhs_1_eq ,
1023- qpwork.primal_feasibility_rhs_1_in_u ),
1024- qpwork.primal_feasibility_rhs_1_in_l ));
1018+ rhs_pri += qpsettings.eps_rel * std::max (primal_feasibility_eq_rhs_0,
1019+ primal_feasibility_in_rhs_0);
10251020 }
10261021 bool is_primal_feasible = primal_feasibility_lhs <= rhs_pri;
10271022
@@ -1037,36 +1032,6 @@ qp_solve( //
10371032 bool is_dual_feasible = dual_feasibility_lhs <= rhs_dua;
10381033
10391034 if (qpsettings.verbose ) {
1040- /* TO PUT IN DEBUG MODE
1041- std::cout << "---------------it : " << iter
1042- << " primal residual : " <<
1043- primal_feasibility_lhs
1044- << " dual residual : " <<
1045- dual_feasibility_lhs << std::endl; std::cout << "bcl_eta_ext : " <<
1046- bcl_eta_ext
1047- << " bcl_eta_in : " << bcl_eta_in
1048- << " rho : " << qpresults.info.rho
1049- << " bcl_mu_eq : " <<
1050- qpresults.info.mu_eq
1051- << " bcl_mu_in : " <<
1052- qpresults.info.mu_in << std::endl; std::cout << "qpsettings.eps_abs " <<
1053- qpsettings.eps_abs
1054- << " qpsettings.eps_rel *rhs "
1055- << qpsettings.eps_rel *
1056- std::max(
1057- std::max(
1058- primal_feasibility_eq_rhs_0,
1059- primal_feasibility_in_rhs_0),
1060- std::max(
1061- std::max(
1062- qpwork.primal_feasibility_rhs_1_eq,
1063- qpwork.primal_feasibility_rhs_1_in_u),
1064- qpwork.primal_feasibility_rhs_1_in_l))
1065- << std::endl;
1066- std::cout << "is_primal_feasible " << is_primal_feasible
1067- << " is_dual_feasible " <<
1068- is_dual_feasible << std::endl;
1069- */
10701035
10711036 ruiz.unscale_primal_in_place (VectorViewMut<T>{ from_eigen, qpresults.x });
10721037 ruiz.unscale_dual_in_place_eq (
@@ -1164,11 +1129,7 @@ qp_solve( //
11641129 primal_feasibility_lhs_new <=
11651130 (qpsettings.eps_abs +
11661131 qpsettings.eps_rel *
1167- std::max (
1168- std::max (primal_feasibility_eq_rhs_0, primal_feasibility_in_rhs_0),
1169- std::max (std::max (qpwork.primal_feasibility_rhs_1_eq ,
1170- qpwork.primal_feasibility_rhs_1_in_u ),
1171- qpwork.primal_feasibility_rhs_1_in_l )));
1132+ std::max (primal_feasibility_eq_rhs_0, primal_feasibility_in_rhs_0));
11721133 qpresults.info .pri_res = primal_feasibility_lhs_new;
11731134 if (is_primal_feasible) {
11741135 T dual_feasibility_lhs_new (dual_feasibility_lhs);
0 commit comments