[RFC]: add C implementations for `blas/ext/base/ndarray` packages
Los mantenedores suelen responder en 1 día
@Arjan-P ya está trabajando en esto.
Desde el 2/9/2026.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- c, javascript
Línea de trabajo
Elige un paquete no reclamado en blas/ext/base/ndarray y compara primero su implementación de JavaScript con la PR de referencia correspondiente. Revisa los archivos src/, include/, manifest.json y binding.gyp del paquete, y después usa el rastreador de PR para comentar en este issue antes de comenzar. Se considera terminado cuando el paquete tiene la implementación nativa correspondiente en C y una PR enlazada.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Purpose
This issue tracks the initiative to add native C implementations for typed ndarray APIs in blas/ext/base/ndarray. It serves as a central reference point for contributors so that work can be coordinated, PRs can be linked back here, and duplicate effort can be avoided.
Summary
In blas/ext/base/ndarray, if a typed ndarray API is missing a native C implementation, it is fair game to add one. This issue serves as a general tracking reference for this ongoing initiative.
Candidates for C implementations typically include packages handling the following data types (indicated by their prefixes):
d(double-precision)s(single-precision)c(complex single-precision)z(complex double-precision)
Since new strided APIs are constantly being added to blas/ext/base, this is intentionally kept as a generalized issue rather than an enumerated checklist, which would become outdated quickly.
What to Do
If you find a package under blas/ext/base/ndarray that has a JavaScript implementation but is missing a native C addon (src/, include/, manifest.json, binding.gyp, etc.), you may go ahead and add the C implementation.
Reference Library
To help contributors understand exactly what is required when adding a native C implementation, we have compiled a "Reference Library" of merged PRs. Please refer to the PR that best matches the type of package you are working on:
d*(double-precision): PR #10065dnan*(double-precision with NaNs): PR #10715s*(single-precision): PR #10078snan*(single-precision with NaNs): PR #10777c*(complex single-precision): PR #10696z*(complex double-precision): PR #10699
PR Title Convention
When opening a pull request for this work, please use the following title format so others can easily search GitHub and avoid duplicate PRs:
feat: add C implementation for `blas/ext/base/ndarray/<package-name>`
You are Advised
- Before starting, please leave a comment on this issue mentioning which package you are working on (e.g., "I am working on
dsum"). This helps avoid two contributors working on the same package simultaneously. - Reference this issue in your PR description if you are adding a C implementation for any
blas/ext/base/ndarraypackage. This helps reviewers understand the context and track progress against this initiative. - Check the PR tracker before starting to make sure there is no existing open PR for the same package.
Related Issues
None.
Questions
No.
Other
No.
Checklist
- I have read and understood the Code of Conduct.
- Searched for existing issues and pull requests.
- The issue name begins with
RFC:.
- Lenguaje dominante
- JavaScript
- Estrellas
- 6k
- Forks
- 1.3k
- Merge medio
- 1 d 10 h
- PR fusionados (30 d)
- 568
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de stdlib-js/stdlib
-
Fix JavaScript lint errorsPosiblemente ocupada @lb1192176991-lab la tomó hace 3 días. AbiertoGood First Issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
stdlib-js/stdlib#15831 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
`@stdlib/string/base/percent-encode` produces malformed encoding and silently drops charactersPosiblemente ocupada @barbierajput378-pixel la tomó hace 8 días. AbiertoBug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
stdlib-js/stdlib#15595 · 6 comentarios ·
Los mantenedores suelen responder en 1 día
-
[Bug]: kumaraswamy/kurtosis returns non-excess kurtosis (missing −3)Posiblemente ocupada @Planeshifter la tomó hace 8 días. AbiertoBug Statistics
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
stdlib-js/stdlib#15461 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[Bug]: rayleigh/mgf returns wrong values due to misplaced parenthesisPosiblemente ocupada @anandkaranubc la tomó hace 10 días. AbiertoBug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
stdlib-js/stdlib#15456 · 6 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
@stdlib/array/fixed-endian-factory allows misaligned byte offsets and fractional lengthsPosiblemente ocupada @kanikasharma-18 la tomó hace 23 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
stdlib-js/stdlib#15193 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de stdlib-js/stdlib
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
-
documentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
githubnext/gh-aw-workshop#4251 ·
Los mantenedores suelen responder en 1 día
-
customer-support needs-triage Platform(Default)
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Leonxlnx/taste-skill#129 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100