ndarray 0.2.0
ndarray: ^0.2.0 copied to clipboard
High-performance N-dimensional arrays and numerical operations with SIMD acceleration and BLAS/LAPACK bindings.
0.2.0 #
- 64-Bit Array Dimensions, Strides, & Native Kernels: Removed the 32-bit (
2^31 - 1) element count, shape dimension, and stride ceiling acrossNDArraycreation, slicing, broadcasting,.npy/.npzI/O, FFT (package:pocketfft0.2.0), and native C/C++ kernels (int64_t), with division-based 64-bit signed integer overflow checks. - Breaking —
NDArray<Int64>Index, Count, & Choice Operations: Widenedargsort,argpartition,searchsorted,argmax,argmin,nonzero,flatnonzero,argwhere,count_nonzero, anddigitize(along withNDArray.argsort,NDArray.argmax,NDArray.argmin, and 1-argumentwhere) fromNDArray<Int32>toNDArray<Int64>to match 64-bit NumPyintp(argsortAs,argpartitionAs,searchsortedAs, anddigitizeAsremain available for explicitDType.int32outputs). Updatedselectandmultinomialto default toDType.int64instead ofDType.int32, and alignedchooseandselectwith NEP 50 weak scalar promotion rules when mixing Dartintscalars with narrow integer arrays. - 64-Bit Index Generation & Coordinate Utilities: Added
unravel_index(unravelIndex),ravel_multi_index(ravelMultiIndex),indices,sparse_indices(sparseIndices),diag_indices(diagIndices),diag_indices_from(diagIndicesFrom),tril_indices(trilIndices),tril_indices_from(trilIndicesFrom),triu_indices(triuIndices),triu_indices_from(triuIndicesFrom),mask_indices(maskIndices), andIndexOrder, all returningNDArray<Int64>coordinates. - OpenBLAS / LAPACK
blasintBoundary Guards: Added explicit LP64 32-bitblasintboundary checks across linear algebra and tensor contraction routines, throwing anUnsupportedErrorwhen matrix dimensions or leading strides exceed2^31 - 1.
0.1.0 #
- Initial release with N-dimensional arrays, slicing, broadcasting, BLAS/LAPACK linear algebra, and FFT.