You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[RFC]: add C implementations for blas/ext/base/ndarray packages #14819
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:
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/ndarray package. 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.
Activity
Nehant14 commentedon Aug 30, 2026
I'd like to work on 'blas/ext/base/ndarray/dsumpw'. Will open a PR referencing this issue once ready.
Nehant14 commentedon Aug 31, 2026
I'd like to work on 'blas/ext/base/ndarray/dcusum'. Will open a PR referencing this issue once ready.
feat: add C implementation for `blas/ext/base/ndarray/dwxsa`
feat: add C implementation for `blas/ext/base/ndarray/dxsa`
feat: add C implementation for `blas/ext/base/ndarray/sxsa`
feat: add C implementation for `blas/ext/base/ndarray/daxpb`
feat: add C implementation for `blas/ext/base/ndarray/saxpb`
feat: add C implementation for `blas/ext/base/ndarray/dany`
feat: add C implementation for `blas/ext/base/ndarray/dnone`
6 remaining items
feat: add C implementation for `blas/ext/base/ndarray/swxsa`
feat: add C implementation for `blas/ext/base/ndarray/cxsa`
feat: add C implementation for `blas/ext/base/ndarray/zwxsa`
feat: add C implementation for `blas/ext/base/ndarray/swxmy`
feat: add C implementation for `blas/ext/base/ndarray/cone-to`
feat: add C implementation for `blas/ext/base/ndarray/swxpy`
feat: add C implementation for `blas/ext/base/ndarray/dwxmy`
feat: add C implementation for `blas/ext/base/ndarray/dwxpy`
feat: add C implementation for `blas/ext/base/ndarray/swxsy`
feat: add C implementation for `blas/ext/base/ndarray/dwxsy`
feat: add C implementation for `blas/ext/base/ndarray/zwxpy`
feat: add C implementation for `blas/ext/base/ndarray/cwxsy`
feat: add C implementation for `blas/ext/base/ndarray/dwxdy`
feat: add C implementation for `blas/ext/base/ndarray/zwxsy`
feat: add C implementation for `blas/ext/base/ndarray/zwxmy`