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:
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/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.
Related Issues
None.
Questions
No.
Other
No.
Checklist
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/ndarraythat 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 #10699PR 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:
You are Advised
dsum"). This helps avoid two contributors working on the same package simultaneously.blas/ext/base/ndarraypackage. This helps reviewers understand the context and track progress against this initiative.Related Issues
None.
Questions
No.
Other
No.
Checklist
RFC:.