Open
Description
Variable res
is declared here, and then shadowed within the loop again here.
Vector<Scalar> const res = Psi().adjoint() * out; // outer variable declaration here
Vector<Scalar> u_l1 = 1e0 / nu() * (res - apply_soft_threshhold(gamma, res));
apply_constraints(out, x - Psi() * u_l1);
// Move on to other iterations
for (++niters; niters < itermax() or itermax() == 0; ++niters) {
auto const do_break = breaker(objective(x, out, gamma));
SOPT_LOW_LOG(" - [ProxL1] iter {}, prox_fval = {}, rel_fval = {}", niters, breaker.current(),
breaker.relative_variation());
if (do_break) break;
Vector<Scalar> const res = u_l1 * nu() + Psi().adjoint() * out; // shadow variable declaration here
Activity