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

Check for C-style ordering in numpy array is checking only if its not F-style ordering

Abierto
#2,122 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
numpy, python

Línea de trabajo

Busca en el código de la Python API los usos de numpy.isfortran y sigue las comprobaciones que se aplican antes de que los arrays lleguen a la C API. Reproduce el problema con arrays segmentados, transpuestos o que no sean contiguos por cualquier otro motivo; después, confirma que la comprobación requiere un diseño C-contiguous y añade o actualiza la cobertura de regresión si el código circundante tiene tests.

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

Descripción

We use numpy.isfortran to check if a incoming array is following C-style index ordering. We do this check since the rest of the layers underneath assumes C-style ordering. This check becomes more critical in case of multidimensional arrays since usually those multidimensional arrays in python API method would be handled as 1D array in the C API and this translation fails if not C-style ordering. The numpy.isfortran only ensures that the incoming array is not F-contiguous. However, when it returns false, there is no guarantee that the incoming array is always C-contiguous. If the incoming array has undergone some manipulation(like slicing with steps, transposing, or fancy indexing) before getting passed, then it is possible that the memory layout is not contiguous and isfortran check will miss catching this. We should instead be explicitly checking for C-contiguous layout using numpy.flags.c_contiguous to ensure the layout is as the C API expects it to be.

Lenguaje dominante
Python
Estrellas
128
Forks
110
Merge medio
5 d 14 h
PR fusionados (30 d)
10

Guía de contribución

Abrir la guía de contribución

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 ni/nimi-python

Todos los issues de ni/nimi-python

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.