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

ENH: `lazy_while` (and friends)

Offen
#303 13 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

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
python

Rechercherichtung

Es wird keine Repository-Datei oder kein Test genannt. Beginne damit, die bestehenden Dispatch-Muster von array-api-extra und die verlinkte Dokumentation zu JAX lax.while_loop zu lesen; als abgeschlossen gilt die Aufgabe, wenn die Unterstützung für lazy_while spezifiziert und implementiert wurde und gleichzeitig festgestellt wurde, ob für fori_loop und Dask Folgearbeiten erforderlich sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

enhancement lazy arrays needs discussion new function

While converting to the array api for magpylib in https://github.com/magpylib/magpylib/pull/844, a few of the functions(algorithms for some elliptic integrals) have the unavoidable pattern

tol = 1e-6
while (xp.all(val < tol)):
    val = make_val_better(val)
return val

This doesn't directly work for jit in jax(and I assume other lazy backends). jax offers a jax.lax.while_loop primative to replace this, so it would be good to dispatch to that with an array_api_extra.lazy_while.

There's also a jax.lax.fori_loop primitive that may be similarly useful. I have never used dask, and have no clue how to do this in dask, but I assume it also needs to be dispatched somehow.

I'll likely do this as part of https://github.com/magpylib/magpylib/pull/844, and I can upstream it after.

Vorherrschende Sprache
Python
Sterne
33
Forks
32
Ø Merge
5 Std. 58 Min.
Gemergte PRs (30 T.)
47

Entwicklungsumgebung

Die Einrichtungsdateien dieses Projekts haben wir noch nicht geprüft. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

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 data-apis/array-api-extra

Alle Issues in data-apis/array-api-extra

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

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