Support for no alloc

Offen
#1,049 5 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
rust
Bereich
data, embedded-iot

Rechercherichtung

Start by tracing ndarray's feature configuration, the unconditional alloc import, and the definitions of ArrayView2 and allocation-dependent types such as Array2. The change is done when a no-alloc configuration builds for ArrayView2 while alloc-dependent types are excluded; verify with the crate's existing build or test commands.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

This may seem like a strange ask, but in the computer vision community we are currently working on trying to develop an abstraction over various color models for images. A very effective way to work with images is to create ArrayView2 for each layer/channel of the image, especially for images which have interpolated components (like YUV420). At least one person (@astraw) in the Rust CV org is working with microcontrollers where alloc is not currently available. Since we are only interested in ArrayView2 specifically, we theoretically should be able to use that without alloc, but currently ndarray unconditionally brings in the alloc crate.

So, the ask is this: if I put in the work and set up a PR, can we add a new alloc feature, where without that feature extern crate alloc; is gated out, and all of the types which require alloc (like Array2) are no longer included? Thanks!

Vorherrschende Sprache
Rust
Sterne
4.3k
Forks
391
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

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 rust-ndarray/ndarray

Alle Issues in rust-ndarray/ndarray

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

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