Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Provide simd-generic-like overloads for other common C++ std functions, traits, etc.

Offen
#32 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
25/100
Issue-Typ
Feature
Klarheit
Muss geklärt werden
Aktivitätsstatus
Aktiv
Tech-Stack
cpp
Bereich
performance

Rechercherichtung

The issue names no files or tests. Start by reviewing the existing simd-generic overloads and the listed standard-library functions and traits, then determine which subset has a defined scope; done would require an agreed set of extensions suitable for a standards committee paper.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

C++29 extension

There are many common types and functions which could be used in a simd-generic way, and which could be added as overloads. The list below is not exhaustive, but serves as an indication of what should be looked at. These should probably all be bundled into a single standards committee paper which proposes extending the current overload set to include other common cases.

Note that it isn't always clear if a overload/trait actually makes sense, even if these is already some precedent for it. For example, numeric_limits<vec> has been proposed, but does this mean that every one of the is_signed_v family of functions should also work? True "simd-generic" behaviour would mean making sure that every possible overload/trait of a vec<T> should map to its corresponding element-wise overload/trait. That would be a huge list so is that going too far. Maybe we should just accept that simd-generic is too big to be pursued everywhere.

Possible overloads:

  • The load/store/gather/scatter family
  • is_signed_v and family: Like numeric_limits<vec> it could return true if the underlying type is signed.
  • make_unsigned, make_signed, make_unsigned_t
  • cmp_less, cmp_greater and family.
  • in_range
  • compare_three_way
Vorherrschende Sprache
C++
Sterne
5
Forks
2
Ø Merge
1 T. 11 Std.
Gemergte PRs (30 T.)
20

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus intel/xvec

Alle Issues in intel/xvec

Ähnliche Issues

Weitere Issues zu C++

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.