Allow some of the named permutes to be dynamic
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- cpp
- Domain
- performance
Research direction
Start by locating the named permute APIs in the xvec source and checking how rotate(n) and shift(n) would differ from the current rotate form. Determine which named permutes can accept runtime values, then verify that the supported dynamic forms match the issue examples and existing project tests.
Written by the indexing model from the issue text.
Description
Add ordinary argument and constant-wrapper overloads for rotate, shift_left, shift_right, align, and broadcast, while keeping NTTP forms available.
These arguments select positions without changing the result type, so they need not be template arguments. Users can write rotate(v, n), including rotate(v, 3) when the count is known locally. A constant wrapper makes the value explicitly available at compile time without moving it to a different position in the call.
This provides an implementation basis for P3067 and subsequent Godbolt comparisons. Literal arguments may optimise as well as explicit constants, but that remains a quality-of-implementation matter rather than an interface guarantee.
- Dominant language
- C++
- Stars
- 6
- Forks
- 2
- Avg merge
- 2d 47m
- Merged PRs (30d)
- 18
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from intel/xvec
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 40/100
Maintainers usually reply within 1 day
-
C++29 extension
Difficulty 3/5 1-2 days Newbie friendliness 52/100
Maintainers usually reply within 1 day
-
C++29 extension
Difficulty 5/5 Over a week Newbie friendliness 25/100
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
HansKristian-Work/dxil-spirv#341 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 6 days
-
Needs: Triage :mag:
Difficulty 2/5 1-2 days Newbie friendliness 64/100
microsoft/react-native-windows#16527 ·
Maintainers usually reply within 1 day