Skip to content

Remove 3.0-deprecated LSCM/HLSCM functions #96

@csparker247

Description

@csparker247

Several public LSCM/HLSCM API surfaces are marked [[deprecated]] with a "will be removed in 3.0" note. Track their removal so we can simplify the public API and unblock follow-on work.

Deprecated symbols to remove

include/OpenABF/AngleBasedLSCM.hpp

  • AngleBasedLSCM::setPinnedVertices(std::size_t, std::size_t) → use set_pins(PinMap)
  • AngleBasedLSCM::Compute(Mesh::Pointer&, std::size_t pin0Idx, std::size_t pin1Idx) → use Compute(Mesh::Pointer&, const PinMap&)

include/OpenABF/HierarchicalLSCM.hpp

  • HierarchicalLSCM::setPinnedVertices(std::size_t, std::size_t) → use set_pins(PinMap)
  • HierarchicalLSCM::setLevelRatio(std::size_t) → use set_level_ratio(std::size_t)
  • HierarchicalLSCM::setMinCoarseVertices(std::size_t) → use set_min_coarse_vertices(std::size_t)
  • HierarchicalLSCM::Compute(Mesh::Pointer&, std::size_t pin0Idx, std::size_t pin1Idx) → use Compute(Mesh::Pointer&, const PinMap&)

Tasks

  • Delete the deprecated overloads from the headers.
  • Update or remove tests that exercise them (e.g. HLSCM.SetPinnedVertices covers the deprecated instance/static pair).
  • Re-amalgamate single_include/OpenABF/OpenABF.hpp.
  • Bump the project to 3.0.0 in CMakeLists.txt (or release-vehicle as appropriate).

Why remove

Removing the deprecated 2-pin Compute(mesh, pin0Idx, pin1Idx) overloads also unblocks adding the auto-pin tuning overload Compute(mesh, std::size_t levelRatio, std::size_t minCoarseVerts) requested in #68 — today its signature collides with the deprecated 2-pin form.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions