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
Have questions about stdlib? Need help fixing a bug, figuring out what to do next, or just looking for feedback? Join our weekly office hours to connect with project maintainers, stay updated on the latest project news, and chat with other community members. This is a great opportunity to ask questions, share ideas, and engage directly with the stdlib team.
Guidance on PR #15219 (stats/base/ndarray/dcovarmtk): this is the first stats/base/ndarray addon taking five ndarrays; would like to confirm the addon.c structure before doing the same for scovarmtk and the ztest family.
Guidance on PR #15222 (lapack/base/dlaln2, my first LAPACK routine): I've been working on this over the last few weeks, with some guidance from Pratik on the workflow, and used aayush's fixturegen - (https://github.com/aayush0325/fixturegen/blob/main/index.js) script to generate the stride/offset fixture variants (base fixtures come from Reference-LAPACK via a Fortran driver). Would appreciate feedback on the API conventions I chose: trans as a string for Fortran's LOGICAL LTRANS, and returning scale/xnorm via an out array with info as the return value (following dlassq).
The idea is to compare in word space instead of number space: 64-bit arrays are reinterpreted as interleaved high/low words, and the other operand is widened to the same two-word form. The 64-bit side is never cast to a double, so nothing rounds above 2^53.
Three cases:
Same dtype (uint64/uint64, int64/int64): compare words directly with internal.
Uint64Array vs Int64Array: both words must match and the signed high word's sign bit must be unset, since identical bits mean different numbers once the signed value is negative (-1 vs 2^64-1).
64-bit vs everything else: reject the element unless it is an integer within the 64-bit dtype's range, then split it into high/low words and compare. This one kernel covers all the narrower integer arrays and the float arrays: 1.5, NaN, and out-of-range values fail the first check, and integer-valued floats split exactly, so Float64Array matches a Uint64Array up to 2^53.
Dispatch checks x then y for each 64-bit type, so argument order doesn't matter, and indices.js resolves word order from endianness rather than assuming low word first.
I updated stdlib#15106 (stdlib-js/stdlib#15106) based on last week鈥檚 feedback. I moved the Highway code into a separate C++ file and removed the custom manifest defines. Could we take another look at the PR?
Also, I wanted to get your thoughts on feat: add stats/strided/median. If we can get this merged, I can move forward with the next set of median packages.
Activity
kgryte commentedon Sep 11, 2026
Community survey: https://blog.stdlib.io/2026-community-survey/
ujjwalv01 commentedon Sep 14, 2026
Guidance on PR #15219 (
stats/base/ndarray/dcovarmtk): this is the firststats/base/ndarrayaddon taking five ndarrays; would like to confirm theaddon.cstructure before doing the same forscovarmtkand theztestfamily.Guidance on PR #15222 (
lapack/base/dlaln2, my first LAPACK routine): I've been working on this over the last few weeks, with some guidance from Pratik on the workflow, and used aayush's fixturegen - (https://github.com/aayush0325/fixturegen/blob/main/index.js) script to generate the stride/offset fixture variants (base fixtures come from Reference-LAPACK via a Fortran driver). Would appreciate feedback on the API conventions I chose:transas a string for Fortran'sLOGICAL LTRANS, and returningscale/xnormvia anoutarray withinfoas the return value (followingdlassq).DivitJain26 commentedon Sep 15, 2026
Approach for
has-equal-values.The idea is to compare in word space instead of number space: 64-bit arrays are reinterpreted as interleaved high/low words, and the other operand is widened to the same two-word form. The 64-bit side is never cast to a double, so nothing rounds above
2^53.Three cases:
uint64/uint64,int64/int64): compare words directly withinternal.Uint64ArrayvsInt64Array: both words must match and the signed high word's sign bit must be unset, since identical bits mean different numbers once the signed value is negative (-1vs2^64-1).1.5,NaN, and out-of-range values fail the first check, and integer-valued floats split exactly, soFloat64Arraymatches aUint64Arrayup to2^53.Dispatch checks
xthenyfor each 64-bit type, so argument order doesn't matter, andindices.jsresolves word order from endianness rather than assuming low word first.teddygood commentedon Sep 15, 2026
I updated stdlib#15106 (stdlib-js/stdlib#15106) based on last week鈥檚 feedback. I moved the Highway code into a separate C++ file and removed the custom manifest defines. Could we take another look at the PR?
iampratik13 commentedon Sep 15, 2026
I鈥檝e cleaned up the following PRs and they鈥檙e now ready for review and merge
Also, I wanted to get your thoughts on feat: add stats/strided/median. If we can get this merged, I can move forward with the next set of median packages.