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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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