Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

ENH: `lazy_while` (and friends)

Ouverte
#303 13 commentaires 2 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
python

Piste de recherche

Aucun fichier du dépôt ni aucun test n’est nommé. Commencez par lire les modèles de dispatch existants de array-api-extra et la documentation liée de JAX lax.while_loop ; le travail est terminé lorsque la prise en charge de lazy_while est spécifiée et implémentée, tout en déterminant si fori_loop et Dask nécessitent un travail de suivi.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
Python
Étoiles
33
Forks
32
Merge moyen
5 h 58 min
PR mergées (30 j)
47

Préparer son environnement

Nous n'avons pas encore vérifié les fichiers d'installation de ce projet. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de data-apis/array-api-extra

Toutes les issues de data-apis/array-api-extra

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.