Skip to content

Add C++ wrapper Simd::SynetGatherElements - #909

Merged
ermig1979 merged 1 commit into
devfrom
cursor/synet-gather-elements-wrapper-efa5
Aug 24, 2026
Merged

Add C++ wrapper Simd::SynetGatherElements#909
ermig1979 merged 1 commit into
devfrom
cursor/synet-gather-elements-wrapper-efa5

Conversation

@ermig1979

@ermig1979 ermig1979 commented Aug 24, 2026

Copy link
Copy Markdown
Owner

Summary

Adds a public C++ analogue of Synet::GatherElements (src/Synet/Utils/Gather.h in ermig1979/Synet) to the Simd Library.

  • New class Simd::SynetGatherElements in src/Simd/SimdSynet.hpp wrapping SimdSynetGatherElementsInit / SimdSynetGatherElementsSetIndex / SimdSynetGatherElementsInternalBufferSize / SimdSynetGatherElementsForward / SimdRelease.
  • Doxygen description for the class (group cpp_synet) and C API notes pointing to the wrapper.
  • TestSynetGatherElements() in src/Test/TestCheckCpp.cpp compares the wrapper with the C API.
  • docs/2026.html (release 7.2.165) updated.

src/Simd/SimdSynet.hpp is already listed in prj/vs2022/Simd.vcxproj and prj/vs2022/Simd.vcxproj.filters (added with Simd::SynetAdd16b).

Testing

  • CMake Release build (g++, SIMD_SHARED=ON) of the library and Test.
  • ./Test "-r=.." -cc=1 -fi=SynetGatherElements -tt=1 -ts=1: CheckCpp (including TestSynetGatherElements) and SynetGatherElements C API tests finished successfully.
  • Standalone check: Simd::SynetGatherElements::Enable() is true; wrapper output matches the C API and expected gather result dst=[0, 2, 1, 7, 5, 4] for src=[0..7], idx=[0,2,1,3,1,0], outer={2}, srcCount=4, inner=1, idxCount=3.
Open in Web Open in Cursor 

Add a C++ analogue of Synet::GatherElements in SimdSynet.hpp, a CheckCpp
test, Doxygen notes for the C API, and release 7.2.165 documentation.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>
@ermig1979
ermig1979 marked this pull request as ready for review August 24, 2026 13:44
@ermig1979
ermig1979 merged commit daa26eb into dev Aug 24, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants