Skip to content

Code quality: Shadow variable declaration in l1_proximal.h #378

Open
@krishnakumarg1984

Description

@krishnakumarg1984

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions