Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Support for .multi_slice_axis_mut and .multi_slice_axis_move

Abierto
#836 0 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
rust
Área
data

Línea de trabajo

Start by reading the existing multi_slice_mut and slice_axis_mut APIs, which the issue identifies as the relevant precedents. Trace how their returned views and axis handling work, then define the corresponding behavior for multi_slice_axis_mut and multi_slice_axis_move. Done means the shown Axis(0) example is supported with the expected four views.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement

From #775:

We should add multi_slice_axis_mut and multi_slice_axis_move methods, in the same way that slice_axis_mut is analogous to slice_mut.

Are the methods multi_slice_axis_mut and multi_slice_axis_move still desired? I was looking for such functionality. If so, based on multi_slice_mut, is my understanding correct in that these two methods would make the following possible?

let mut example = array![
   [0, 0, 0],
   [0, 0, 0],
   [1, 2, 3],
   [4, 5, 6],
   [7, 8, 9],
   [0, 0, 0],
   [0, 0, 0],
];

let (mut pad_lo, mut pad_hi, mut edge_lo, mut edge_hi) =
    example.multi_slice_axis_mut(Axis(0), (s![..2], s![5..], s![2], s![4]));
// pad_lo:  [ [ 0, 0, 0 ],
//            [ 0, 0, 0 ] ]
// pad_hi:  [ [ 0, 0, 0 ],
//            [ 0, 0, 0 ] ]
// edge_lo: [ [ 1, 2, 3 ] ] 
// edge_hi: [ [ 7, 8, 9 ] ]

Although I'm still learning a lot about Rust, I would love to give implementing it a try, if the functionality is still on the to-do list.

It'd also come in handy for the ndarray-pad crate I'm working on!


I moved this into its own separate issue to not clutter the mentioned issue.

Lenguaje dominante
Rust
Estrellas
4.3k
Forks
391
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de rust-ndarray/ndarray

Todos los issues de rust-ndarray/ndarray

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.