Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

ENH: `lazy_while` (and friends)

Aberta
#303 13 comentários 2 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
35/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
python

Direção de pesquisa

Nenhum arquivo do repositório ou teste é nomeado. Comece lendo os padrões de dispatch existentes do array-api-extra e a documentação vinculada de JAX lax.while_loop; considera-se concluído quando o suporte a lazy_while tiver sido especificado e implementado, determinando também se fori_loop e Dask exigem trabalho de acompanhamento.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
Python
Estrelas
33
Forks
33
Merge médio
1h 37min
PRs com merge (30d)
38

Preparar o ambiente

  • Sem Dockerfile nem arquivo Docker Compose
  • Tem um modelo de pull request
  • Sem guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de data-apis/array-api-extra

Todas as issues de data-apis/array-api-extra

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.