Empty Array lead to "The strides must not allow any element to be referenced by two different indices"
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 72/100
Direção de pesquisa
Start with the dim_stride_overlap function identified in the issue and reproduce both ArrayView2::from_shape_ptr examples, including the (1, 0) shape with (0, 0) strides. Done means empty arrays with either zero dimension are accepted consistently, while non-empty overlapping strides continue to be rejected.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
I tried to create an empty array with the following command:
let shape = (1, 0).strides((0, 0));
let ptr = std::ptr::dangling::<f64>();
unsafe { ArrayView2::from_shape_ptr(shape, ptr) }
It fails with "The strides must not allow any element to be referenced by two different indices".
But the slightly different code works:
let shape = (0, 1).strides((0, 0));
let ptr = std::ptr::dangling::<f64>();
unsafe { ArrayView2::from_shape_ptr(shape, ptr) }
My expectation would be that both variants work fine.
I think the bug is inside dim_stride_overlap, which fails before the first 0 dimension is found and therefore recognises that the complete array is empty.
By the way, I use (0, 0) strides, since ndarray does the same for empty array e.g. created via zeros function.
- Linguagem predominante
- Rust
- Estrelas
- 4.3k
- Forks
- 391
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de rust-ndarray/ndarray
-
.is_all_nan() returns true for an all-finite arrayTalvez já em andamento @youdie006 assumiu há 52 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
rust-ndarray/ndarray#1612 · 1 comentário · 1 reação ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
rust-ndarray/ndarray#1617 · 1 comentário ·
-
Stack overflow in `triu`Talvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertabug good first issue
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
rust-ndarray/ndarray#1615 · 1 comentário ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
rust-ndarray/ndarray#1610 ·
-
Accept owned arrays in `concatenate` and `stack`Talvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertabreaking-change enhancement
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
rust-ndarray/ndarray#1591 · 2 comentários ·
Todas as issues de rust-ndarray/ndarray
Issues semelhantes
-
review-drift
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
oxidecomputer/hansei#14 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
rubys/roundhouse#444 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
install: root SSH tmpfiles.d drop-in is labeled etc_runtime_t instead of etc_tTalvez já em andamento @andrewdunndev assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia