Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

ENH: `lazy_while` (and friends)

Aperta
#303 13 commenti 2 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
python

Direzione di ricerca

Non viene indicato alcun file del repository né alcun test. Inizia leggendo i pattern di dispatch esistenti di array-api-extra e la documentazione collegata di JAX lax.while_loop; il lavoro è completato quando il supporto per lazy_while è stato specificato e implementato, determinando al contempo se fori_loop e Dask richiedono attività successive.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
Python
Stelle
33
Fork
32
Merge medio
5h 58m
PR unite (30g)
47

Preparare l'ambiente

Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di data-apis/array-api-extra

Tutte le issue di data-apis/array-api-extra

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.