Repository navigation
[RFC] : add C implementations for @stdlib/stats/base/ndarray packages (tracking issue) #14034
Copy link
Copy link
Open
Labels
AcceptedRFC feature request which has been accepted.RFC feature request which has been accepted.CIssue involves or relates to C.Issue involves or relates to C.FeatureIssue or pull request for adding a new feature.Issue or pull request for adding a new feature.RFCRequest for comments. Feature requests and proposed changes.Request for comments. Feature requests and proposed changes.Tracking IssueTracking issue.Tracking issue.
Description
Description
This RFC proposes adding C implementations to all @stdlib/stats/base/ndarray packages that are currently missing them. The purpose of this issue is to serve as a tracking issue for adding these C implementations.
Note
The ztest family (dztest, dztest2, sztest, sztest2) is currently blocked. Each of these packages returns a struct-dtype results object, and ndarray does not yet support custom dtype objects, so these results cannot be passed to C (serialization fails). Please don't open new PRs for these packages until ndarray supports custom dtypes.
Packages
Double-Precision
- dcovarmtk feat: add C implementation for
stats/base/ndarray/dcovarmtk#15219 - dcumax feat: add C implementation for
stats/base/ndarray/dcumax#14921 - dcumaxabs feat: add C implementation for
stats/base/ndarray/dcumaxabs#15144 - dcumin feat: add C implementation for
stats/base/ndarray/dcumin#15119 - dcuminabs feat: add C implementation for
stats/base/ndarray/dcuminabs#15145 - dmaxabssorted feat: add C implementation for
stats/base/ndarray/dmaxabssorted#14882 - dmeanstdev feat: add C implementation for
stats/base/ndarray/dmeanstdev#15045 - dmediansorted feat: add C implementation for
stats/base/ndarray/dmediansorted#13912 - dminsorted feat: add C implementation for
stats/base/ndarray/dminsorted#14537 - dmskmax feat: add C implementation for
stats/base/ndarray/dmskmax#14419 - dmskmaxabs feat: add C implementation for
stats/base/ndarray/dmskmaxabs#14262 - dmskmin feat: add C implementation for
stats/base/ndarray/dmskmin#14840 - dmskrange feat: add C implementation for
stats/base/ndarray/dmskrange#14841 - dnanmax feat: add C implementation for
stats/base/ndarray/dnanmax#14360 - dnanmaxabs feat: add C implementation for
stats/base/ndarray/dnanmaxabs#14409 - dnanmean feat: add C implementation for
stats/base/ndarray/dnanmean#14049 - dnanmeanors feat: add C implementation for
stats/base/ndarray/dnanmeanors#14053 - dnanmeanpn feat: add C implementation for
stats/base/ndarray/dnanmeanpn#14120 - dnanmeanpw feat: add C implementation for
stats/base/ndarray/dnanmeanpw#14177 - dnanmeanwd feat: add C implementation for
stats/base/ndarray/dnanmeanwd#14225 - dnanmidrange feat: add C implementation for
stats/base/ndarray/dnanmidrange#14279 - dnanmin feat: add C implementation for
stats/base/ndarray/dnanmin#14297 - dnanminabs feat: add C implementation for
stats/base/ndarray/dnanminabs#14356 - dnanmskmax feat: add C implementation for
stats/base/ndarray/dnanmskmax#14844 - dnanmskmaxabs feat: add C implementation for
stats/base/ndarray/dnanmskmaxabs#14977 - dnanmskmin feat: add C implementation for
stats/base/ndarray/dnanmskmin#14978 - dnanmskminabs feat: add C implementation for
stats/base/ndarray/dnanmskminabs#14979 - dnanmskrange feat: add C implementation for
stats/base/ndarray/dnanmskrange#14980 - dnanrange feat: add C implementation for
stats/base/ndarray/dnanrange#14470 - dnanrangeabs feat: add C implementation for
stats/base/ndarray/dnanrangeabs#14475 - dnanstdev feat: add C implementation for
stats/base/ndarray/dnanstdev#14721 - dnanstdevch feat: add C implementation for
stats/base/ndarray/dnanstdevch#14724 - dnanstdevpn feat: add C implementation for
stats/base/ndarray/dnanstdevpn#14723 - dnanvariance feat: add C implementation for
stats/base/ndarray/dnanvariance#14615 - drange feat: add C implementation for
stats/base/ndarray/drange#14523 - dstdev feat: add C implementation for
stats/base/ndarray/dstdev#14636 - dstdevch feat: add C implementation for
stats/base/ndarray/dstdevch#14655 - dstdevpn feat: add C implementation for
stats/base/ndarray/dstdevpn#14711 - dstdevtk feat: add C implementation for
stats/base/ndarray/dstdevtk#14712 - dstdevwd feat: add C implementation for
stats/base/ndarray/dstdevwd#14713 - dstdevyc feat: add C implementation for
stats/base/ndarray/dstdevyc#14714 - dvariance feat: add C implementation for
stats/base/ndarray/dvariance#14616 - dvariancech feat: add C implementation for
stats/base/ndarray/dvariancech#14772 - dvariancepn feat: add C implementation for
stats/base/ndarray/dvariancepn#14792 - dvariancetk feat: add C implementation for
stats/base/ndarray/dvariancetk#14794 - dvariancewd feat: add C implementation for
stats/base/ndarray/dvariancewd#14795 - dvarianceyc feat: add C implementation for
stats/base/ndarray/dvarianceyc#14796 - dztest feat: add C implementation for
stats/base/ndarray/dztest#15318 - dztest2
Single-Precision
- scovarmtk feat: add C implementation for
stats/base/ndarray/scovarmtk#15239 - scumax feat: add C implementation for
stats/base/ndarray/scumax#15167 - scumaxabs feat: add C implementation for
stats/base/ndarray/scumaxabs#15169 - scumin feat: add C implementation for
stats/base/ndarray/scumin#15170 - scuminabs feat: add C implementation for
stats/base/ndarray/scuminabs#15168 - sdsmean feat: add C implementation for
stats/base/ndarray/sdsmean#15185 - sdsmeanors feat: add C implementation for
stats/base/ndarray/sdsmeanors#15186 - sdsnanmeanors feat: add C implementation for
stats/base/ndarray/sdsnanmeanors#15187 - smaxabssorted feat: add C implementation for
stats/base/ndarray/smaxabssorted#15267 - smean feat: add C implementation for
stats/base/ndarray/smean#10090 - smeankbn feat: add C implementation for
stats/base/ndarray/smeankbn#14604 - smeankbn2 feat: add C implementation for
stats/base/ndarray/smeankbn2#13977 - smeanli feat: add C implementation for
stats/base/ndarray/smeanli#14017 - smeanlipw feat: add C implementation for
stats/base/ndarray/smeanlipw#14605 - smeanors feat: add C implementation for
stats/base/ndarray/smeanors#14070 - smeanpn feat: add C implementation for
stats/base/ndarray/smeanpn#14176 - smeanpw feat: add C implementation for
stats/base/ndarray/smeanpw#10389 - smeanwd feat: add C implementation for
stats/base/ndarray/smeanwd#14237 - smediansorted feat: add C implementation for
stats/base/ndarray/smediansorted#15270 - sminsorted feat: add C implementation for
stats/base/ndarray/sminsorted#14358 - smskmax feat: add C implementation for
stats/base/ndarray/smskmax#14602 - smskmaxabs feat: add C implementation for
stats/base/ndarray/smskmaxabs#14624 - smskmidrange feat: add C implementation for
stats/base/ndarray/smskmidrange#15215 - smskmin feat: add C implementation for
stats/base/ndarray/smskmin#14632 - smskrange feat: add C implementation for
stats/base/ndarray/smskrange#14725 - snanmaxabs feat: add C implementation for
stats/base/ndarray/snanmaxabs#14477 - snanmean feat: add C implementation for
stats/base/ndarray/snanmean#14562 - snanmeanors feat: add C implementation for
stats/base/ndarray/snanmeanors#14587 - snanmeanpn feat: add C implementation for
stats/base/ndarray/snanmeanpn#14628 - snanmeanwd feat: add C implementation for
stats/base/ndarray/snanmeanwd#14627 - snanmidrange feat: add C implementation for
stats/base/ndarray/snanmidrange#15096 - snanmin feat: add C implementation for
stats/base/ndarray/snanmin#14305 - snanminabs feat: add C implementation for
stats/base/ndarray/snanminabs#14335 - snanmskmax feat: add C implementation for
stats/base/ndarray/snanmskmax#14758 - snanmskmaxabs feat: add C implementation for
stats/base/ndarray/snanmskmaxabs#15161 - snanmskmidrange feat: add C implementation for
stats/base/ndarray/snanmskmidrange#15199 - snanmskmin feat: add C implementation for
stats/base/ndarray/snanmskmin#15103 - snanmskminabs feat: add C implementation for
stats/base/ndarray/snanmskminabs#15133 - snanmskrange feat: add C implementation for
stats/base/ndarray/snanmskrange#14757 - sstdev feat: add C implementation for stats/base/ndarray/sstdev #14718
- sstdevch feat: add C implementation for
stats/base/ndarray/sstdevch#14815 - sstdevpn feat: add C implementation for
stats/base/ndarray/sstdevpn#14881 - sstdevtk feat: add C implementation for
stats/base/ndarray/sstdevtk#14885 - sstdevwd feat: add C implementation for
stats/base/ndarray/sstdevwd#14891 - sstdevyc feat: add C implementation for
stats/base/ndarray/sstdevyc#15003 - svariance feat: add C implementation for
stats/base/ndarray/svariance#14618 - svariancech feat: add C implementation for
stats/base/ndarray/svariancech#15008 - svariancepn feat: add C implementation for
stats/base/ndarray/svariancepn#15009 - svariancetk feat: add C implementation for
stats/base/ndarray/svariancetk#15030 - svariancewd feat: add C implementation for
stats/base/ndarray/svariancewd#15031 - svarianceyc feat: add C implementation for
stats/base/ndarray/svarianceyc#15032 - sztest
- sztest2
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:.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
AcceptedRFC feature request which has been accepted.RFC feature request which has been accepted.CIssue involves or relates to C.Issue involves or relates to C.FeatureIssue or pull request for adding a new feature.Issue or pull request for adding a new feature.RFCRequest for comments. Feature requests and proposed changes.Request for comments. Feature requests and proposed changes.Tracking IssueTracking issue.Tracking issue.
Activity
stdlib-bot commentedon Aug 7, 2026
👋 Hi there! 👋
And thank you for opening your first issue! We will get back to you shortly. 🏃 💨
If you have any further questions while waiting for a response, please join our Zulip community to chat with project maintainers and other community members.
feat: add C implementation for `stats/base/ndarray/smeanli`
feat: add C implementation for `stats/base/ndarray/smeankbn2`
feat: add C implementation for `stats/base/ndarray/dmediansorted`
feat: add C implementation for `stats/base/ndarray/smean`
feat: add C implementation for `stats/base/ndarray/dnanmeanors`
feat: add C implementation for `stats/base/ndarray/dnanmeanpn`
feat: add C implementation for `stats/base/ndarray/dnanmean`
feat: add C implementation for `stats/base/ndarray/dnanmeanwd`
feat: add C implementation for `stats/base/ndarray/dnanmidrange`
feat: add C implementation for `stats/base/ndarray/dnanmin`
feat: add C implementation for `stats/base/ndarray/snanmin`
aryan7071 commentedon Aug 17, 2026
@ujjwalv01 I noticed that several packages listed in this tracking issue already have C implementations in stdlib. However, their status does not appear to have been updated in the tracking issue
ujjwalv01 commentedon Aug 17, 2026
@aryan7071 Thanks for pointing that out!
I just double-checked the
developbranch, and it looks like all the packages with a merged C implementation are currently marked as checked[x]in the list.If I missed any, or if you're referring to some open PRs that haven't been merged yet, could you please list them below? I'll gladly update the tracking list!
AryanSharma48 commentedon Aug 17, 2026
@ujjwalv01 I have opened a PR to add the C implementation for
stats/base/ndarray/sminsorted(#14358 ).@kgryte The PR is ready for review and merge whenever you have a moment.
19 remaining items
feat: add C implementation for `stats/base/ndarray/dvariancewd`
feat: add C implementation for `stats/base/ndarray/dvariancetk`
feat: add C implementation for `stats/base/ndarray/svariancech`
feat: add C implementation for `stats/base/ndarray/snanmskminabs`
feat: add C implementation for `stats/base/ndarray/dnanmeanpw`
feat: add C implementation for `stats/base/ndarray/dnanvariance`
feat: add C implementation for `stats/base/ndarray/smaxabssorted`
feat: add C implementation for `stats/base/ndarray/dminsorted`
feat: add C implementation for `stats/base/ndarray/smediansorted`
feat: add C implementation for `stats/base/ndarray/sminsorted`