Skip to content

Remove 3.0-deprecated LSCM/HLSCM functions #96

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

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions