77#ifndef PROXSUITE_PROXQP_RESULTS_HPP
88#define PROXSUITE_PROXQP_RESULTS_HPP
99
10+ #include < algorithm>
1011#include < proxsuite/helpers/optional.hpp>
1112#include < Eigen/Core>
1213#include < proxsuite/linalg/veg/type_traits/core.hpp>
@@ -218,7 +219,8 @@ operator==(const Info<T>& info1, const Info<T>& info2)
218219 info1.solve_time == info2.solve_time && info1.run_time == info2.run_time &&
219220 info1.objValue == info2.objValue && info1.pri_res == info2.pri_res &&
220221 info1.dua_res == info2.dua_res && info1.duality_gap == info2.duality_gap &&
221- info1.duality_gap == info2.duality_gap &&
222+ info1.iterative_residual == info2.iterative_residual &&
223+ info1.sparse_backend == info2.sparse_backend &&
222224 info1.minimal_H_eigenvalue_estimate == info2.minimal_H_eigenvalue_estimate ;
223225 return value;
224226}
@@ -235,7 +237,14 @@ bool
235237operator ==(const Results<T>& results1, const Results<T>& results2)
236238{
237239 bool value = results1.x == results2.x && results1.y == results2.y &&
238- results1.z == results2.z && results1.info == results2.info ;
240+ results1.z == results2.z && results1.se == results2.se &&
241+ results1.si == results2.si && results1.info == results2.info ;
242+ if (value) {
243+ auto const & ac1 = results1.active_constraints ;
244+ auto const & ac2 = results2.active_constraints ;
245+ value = ac1.len () == ac2.len () &&
246+ std::equal (ac1.ptr (), ac1.ptr () + ac1.len (), ac2.ptr ());
247+ }
239248 return value;
240249}
241250
0 commit comments