numpy-ts 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -11
- package/dist/esm/common/broadcasting.js +1 -1
- package/dist/esm/common/dtype.js +1 -1
- package/dist/esm/common/float16-conv.js +1 -0
- package/dist/esm/common/internal/compute.js +1 -1
- package/dist/esm/common/internal/indexing.js +1 -1
- package/dist/esm/common/ndarray-core.js +1 -1
- package/dist/esm/common/ops/advanced.js +1 -1
- package/dist/esm/common/ops/arithmetic.js +1 -1
- package/dist/esm/common/ops/bitwise.js +1 -1
- package/dist/esm/common/ops/comparison.js +1 -1
- package/dist/esm/common/ops/complex.js +1 -1
- package/dist/esm/common/ops/exponential.js +1 -1
- package/dist/esm/common/ops/fft.js +1 -1
- package/dist/esm/common/ops/formatting.js +1 -1
- package/dist/esm/common/ops/gradient.js +1 -1
- package/dist/esm/common/ops/hyperbolic.js +1 -1
- package/dist/esm/common/ops/linalg.js +2 -2
- package/dist/esm/common/ops/logic.js +1 -1
- package/dist/esm/common/ops/random.js +1 -1
- package/dist/esm/common/ops/reduction.js +1 -1
- package/dist/esm/common/ops/rounding.js +1 -1
- package/dist/esm/common/ops/sets.js +1 -1
- package/dist/esm/common/ops/shape.js +1 -1
- package/dist/esm/common/ops/sorting.js +1 -1
- package/dist/esm/common/ops/statistics.js +1 -1
- package/dist/esm/common/ops/trig.js +1 -1
- package/dist/esm/common/storage.js +1 -1
- package/dist/esm/common/wasm/abs.js +1 -1
- package/dist/esm/common/wasm/add.js +1 -1
- package/dist/esm/common/wasm/all_finite.js +1 -0
- package/dist/esm/common/wasm/arccos.js +1 -1
- package/dist/esm/common/wasm/arcsin.js +1 -1
- package/dist/esm/common/wasm/arctan.js +1 -1
- package/dist/esm/common/wasm/arctan2.js +1 -0
- package/dist/esm/common/wasm/argpartition.js +1 -1
- package/dist/esm/common/wasm/argsort.js +1 -1
- package/dist/esm/common/wasm/bins/abs.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/add.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/all_finite.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/alloc.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/arccos.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/arcsin.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/arctan.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/arctan2.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/argpartition.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/argsort.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/bitwise_and.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/bitwise_count.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/bitwise_not.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/bitwise_or.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/bitwise_xor.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/cholesky.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/clip.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/convolve.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/copysign.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/correlate.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/cos.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/cosh.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/cross.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/diff.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/divide.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/divmod.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/dot_float-relaxed.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/dot_float.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/dot_int.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/exp.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/exp2.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/fft.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/frexp.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/gather.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/gcd.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/gradient.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/heaviside.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/hypot.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/indices.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/inner_float-relaxed.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/inner_float.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/inner_int.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/isfinite.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/isnan.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/kron.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/ldexp.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/left_shift.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/lexsort.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/logaddexp.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/logical_and.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/logical_not.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/logical_or.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/logical_xor.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/lu.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/matmul_float-relaxed.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/matmul_float.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/matmul_int.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/matvec_float-relaxed.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/matvec_float.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/matvec_int.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/max.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/min.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/mul.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/neg.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/outer.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/pad.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/partition.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/power.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/qr.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/reciprocal.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/reduce_all.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/reduce_any.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/reduce_argmax.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/reduce_argmin.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/reduce_count_nz.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/reduce_max.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/reduce_mean.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/reduce_min.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/reduce_nanmax.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/reduce_nanmin.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/reduce_nansum.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/reduce_prod.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/reduce_std.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/reduce_sum.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/reduce_var.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/repeat.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/right_shift.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/rng.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/roll.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/searchsorted.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/sign.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/signbit.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/sin.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/sinh.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/sort.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/sqrt.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/square.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/sub.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/svd.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/tan.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/tanh.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/tile.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/unravel_index.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/vdot.wasm.js +1 -1
- package/dist/esm/common/wasm/bins/vecdot_float-relaxed.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/vecdot_float.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/vecdot_int.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/vecmat_float-relaxed.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/vecmat_float.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/vecmat_int.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/vector_norm-relaxed.wasm.js +1 -0
- package/dist/esm/common/wasm/bins/vector_norm.wasm.js +1 -0
- package/dist/esm/common/wasm/bitwise_and.js +1 -1
- package/dist/esm/common/wasm/bitwise_count.js +1 -1
- package/dist/esm/common/wasm/bitwise_not.js +1 -1
- package/dist/esm/common/wasm/bitwise_or.js +1 -1
- package/dist/esm/common/wasm/bitwise_xor.js +1 -1
- package/dist/esm/common/wasm/cholesky.js +1 -1
- package/dist/esm/common/wasm/clip.js +1 -1
- package/dist/esm/common/wasm/config.js +1 -1
- package/dist/esm/common/wasm/convolve.js +1 -1
- package/dist/esm/common/wasm/copysign.js +1 -1
- package/dist/esm/common/wasm/correlate.js +1 -1
- package/dist/esm/common/wasm/cos.js +1 -1
- package/dist/esm/common/wasm/cosh.js +1 -1
- package/dist/esm/common/wasm/cross.js +1 -1
- package/dist/esm/common/wasm/detect.js +1 -0
- package/dist/esm/common/wasm/diff.js +1 -1
- package/dist/esm/common/wasm/divide.js +1 -1
- package/dist/esm/common/wasm/divmod.js +1 -0
- package/dist/esm/common/wasm/dot.js +1 -1
- package/dist/esm/common/wasm/exp.js +1 -1
- package/dist/esm/common/wasm/exp2.js +1 -1
- package/dist/esm/common/wasm/fft.js +1 -1
- package/dist/esm/common/wasm/frexp.js +1 -1
- package/dist/esm/common/wasm/gather.js +1 -1
- package/dist/esm/common/wasm/gcd.js +1 -1
- package/dist/esm/common/wasm/gradient.js +1 -1
- package/dist/esm/common/wasm/heaviside.js +1 -1
- package/dist/esm/common/wasm/hypot.js +1 -1
- package/dist/esm/common/wasm/indices.js +1 -1
- package/dist/esm/common/wasm/inner.js +1 -1
- package/dist/esm/common/wasm/isfinite.js +1 -0
- package/dist/esm/common/wasm/isnan.js +1 -0
- package/dist/esm/common/wasm/kron.js +1 -1
- package/dist/esm/common/wasm/ldexp.js +1 -1
- package/dist/esm/common/wasm/left_shift.js +1 -1
- package/dist/esm/common/wasm/lexsort.js +1 -1
- package/dist/esm/common/wasm/logaddexp.js +1 -1
- package/dist/esm/common/wasm/logical_and.js +1 -1
- package/dist/esm/common/wasm/logical_not.js +1 -1
- package/dist/esm/common/wasm/logical_or.js +1 -1
- package/dist/esm/common/wasm/logical_xor.js +1 -1
- package/dist/esm/common/wasm/lu.js +1 -0
- package/dist/esm/common/wasm/matmul.js +1 -1
- package/dist/esm/common/wasm/matvec.js +1 -1
- package/dist/esm/common/wasm/max.js +1 -1
- package/dist/esm/common/wasm/min.js +1 -1
- package/dist/esm/common/wasm/mul.js +1 -1
- package/dist/esm/common/wasm/neg.js +1 -1
- package/dist/esm/common/wasm/outer.js +1 -1
- package/dist/esm/common/wasm/pad.js +1 -1
- package/dist/esm/common/wasm/partition.js +1 -1
- package/dist/esm/common/wasm/power.js +1 -1
- package/dist/esm/common/wasm/qr.js +1 -1
- package/dist/esm/common/wasm/reciprocal.js +1 -1
- package/dist/esm/common/wasm/reduce_all.js +1 -1
- package/dist/esm/common/wasm/reduce_any.js +1 -1
- package/dist/esm/common/wasm/reduce_argmax.js +1 -1
- package/dist/esm/common/wasm/reduce_argmin.js +1 -1
- package/dist/esm/common/wasm/reduce_count_nz.js +1 -1
- package/dist/esm/common/wasm/reduce_max.js +1 -1
- package/dist/esm/common/wasm/reduce_mean.js +1 -1
- package/dist/esm/common/wasm/reduce_min.js +1 -1
- package/dist/esm/common/wasm/reduce_nanmax.js +1 -1
- package/dist/esm/common/wasm/reduce_nanmin.js +1 -1
- package/dist/esm/common/wasm/reduce_nansum.js +1 -1
- package/dist/esm/common/wasm/reduce_prod.js +1 -1
- package/dist/esm/common/wasm/reduce_quantile.js +1 -1
- package/dist/esm/common/wasm/reduce_std.js +1 -1
- package/dist/esm/common/wasm/reduce_sum.js +1 -1
- package/dist/esm/common/wasm/reduce_var.js +1 -1
- package/dist/esm/common/wasm/repeat.js +1 -1
- package/dist/esm/common/wasm/right_shift.js +1 -1
- package/dist/esm/common/wasm/rng.js +1 -0
- package/dist/esm/common/wasm/roll.js +1 -1
- package/dist/esm/common/wasm/runtime.js +1 -1
- package/dist/esm/common/wasm/searchsorted.js +1 -1
- package/dist/esm/common/wasm/sign.js +1 -1
- package/dist/esm/common/wasm/signbit.js +1 -0
- package/dist/esm/common/wasm/sin.js +1 -0
- package/dist/esm/common/wasm/sinh.js +1 -1
- package/dist/esm/common/wasm/sort.js +1 -1
- package/dist/esm/common/wasm/sqrt.js +1 -1
- package/dist/esm/common/wasm/square.js +1 -1
- package/dist/esm/common/wasm/sub.js +1 -1
- package/dist/esm/common/wasm/svd.js +1 -1
- package/dist/esm/common/wasm/tan.js +1 -1
- package/dist/esm/common/wasm/tanh.js +1 -1
- package/dist/esm/common/wasm/tile.js +1 -1
- package/dist/esm/common/wasm/unravel_index.js +1 -0
- package/dist/esm/common/wasm/vdot.js +1 -1
- package/dist/esm/common/wasm/vecdot.js +1 -1
- package/dist/esm/common/wasm/vecmat.js +1 -1
- package/dist/esm/common/wasm/vector_norm.js +1 -0
- package/dist/esm/core/advanced.js +1 -1
- package/dist/esm/core/arithmetic.js +1 -1
- package/dist/esm/core/bitwise.js +1 -1
- package/dist/esm/core/complex.js +1 -1
- package/dist/esm/core/creation.js +1 -1
- package/dist/esm/core/formatting.js +1 -1
- package/dist/esm/core/gradient.js +1 -1
- package/dist/esm/core/index.js +1 -1
- package/dist/esm/core/linalg.js +1 -1
- package/dist/esm/core/logic.js +1 -1
- package/dist/esm/core/polynomial.js +1 -1
- package/dist/esm/core/reduction.js +1 -1
- package/dist/esm/core/rounding.js +1 -1
- package/dist/esm/core/sets.js +1 -1
- package/dist/esm/core/shape-extra.js +1 -1
- package/dist/esm/core/shape.js +1 -1
- package/dist/esm/core/sorting.js +1 -1
- package/dist/esm/core/statistics.js +1 -1
- package/dist/esm/core/trig.js +1 -1
- package/dist/esm/core/typechecking.js +1 -1
- package/dist/esm/core/types.js +1 -1
- package/dist/esm/core/utility.js +1 -1
- package/dist/esm/core.js +1 -1
- package/dist/esm/full/index.js +1 -1
- package/dist/esm/full/ndarray.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/io/file-ops.js +1 -0
- package/dist/esm/io/filesystem.js +1 -0
- package/dist/esm/io/index.js +1 -1
- package/dist/esm/io/npy/format.js +1 -1
- package/dist/esm/io/npy/index.js +1 -1
- package/dist/esm/io/npy/parser.js +1 -1
- package/dist/esm/io/npy/serializer.js +2 -2
- package/dist/esm/io/npz/index.js +1 -1
- package/dist/esm/io/npz/parser.js +1 -1
- package/dist/esm/io/npz/serializer.js +1 -1
- package/dist/esm/io/txt/index.js +1 -1
- package/dist/esm/io/txt/parser.js +1 -1
- package/dist/esm/io/zip/index.js +1 -1
- package/dist/esm/io/zip/reader.js +1 -1
- package/dist/esm/io/zip/writer.js +1 -1
- package/dist/esm/node.js +1 -1
- package/dist/numpy-ts.browser.js +6 -6
- package/dist/types/common/dtype.d.ts +55 -4
- package/dist/types/common/float16-conv.d.ts +27 -0
- package/dist/types/common/internal/indexing.d.ts +9 -21
- package/dist/types/common/ndarray-core.d.ts +20 -0
- package/dist/types/common/ops/advanced.d.ts +17 -2
- package/dist/types/common/ops/complex.d.ts +19 -1
- package/dist/types/common/ops/linalg.d.ts +1 -1
- package/dist/types/common/ops/random.d.ts +10 -5
- package/dist/types/common/ops/reduction.d.ts +2 -2
- package/dist/types/common/ops/sets.d.ts +2 -1
- package/dist/types/common/ops/shape.d.ts +2 -2
- package/dist/types/common/ops/statistics.d.ts +2 -1
- package/dist/types/common/storage.d.ts +54 -2
- package/dist/types/common/wasm/all_finite.d.ts +8 -0
- package/dist/types/common/wasm/arccos.d.ts +4 -2
- package/dist/types/common/wasm/arcsin.d.ts +4 -2
- package/dist/types/common/wasm/arctan.d.ts +4 -2
- package/dist/types/common/wasm/arctan2.d.ts +17 -0
- package/dist/types/common/wasm/argpartition.d.ts +8 -3
- package/dist/types/common/wasm/argsort.d.ts +8 -3
- package/dist/types/common/wasm/bins/abs.wasm.d.ts +1 -0
- package/dist/types/common/wasm/bins/all_finite.wasm.d.ts +4 -0
- package/dist/types/common/wasm/bins/alloc.wasm.d.ts +6 -0
- package/dist/types/common/wasm/bins/arccos.wasm.d.ts +8 -2
- package/dist/types/common/wasm/bins/arcsin.wasm.d.ts +8 -2
- package/dist/types/common/wasm/bins/arctan.wasm.d.ts +8 -2
- package/dist/types/common/wasm/bins/arctan2.wasm.d.ts +11 -0
- package/dist/types/common/wasm/bins/convolve.wasm.d.ts +6 -0
- package/dist/types/common/wasm/bins/copysign.wasm.d.ts +2 -0
- package/dist/types/common/wasm/bins/correlate.wasm.d.ts +6 -0
- package/dist/types/common/wasm/bins/cos.wasm.d.ts +8 -0
- package/dist/types/common/wasm/bins/cosh.wasm.d.ts +8 -2
- package/dist/types/common/wasm/bins/divmod.wasm.d.ts +11 -0
- package/dist/types/common/wasm/bins/dot_float-relaxed.wasm.d.ts +5 -0
- package/dist/types/common/wasm/bins/dot_float.wasm.d.ts +5 -0
- package/dist/types/common/wasm/bins/dot_int.wasm.d.ts +5 -0
- package/dist/types/common/wasm/bins/exp.wasm.d.ts +8 -2
- package/dist/types/common/wasm/bins/exp2.wasm.d.ts +8 -2
- package/dist/types/common/wasm/bins/fft.wasm.d.ts +11 -0
- package/dist/types/common/wasm/bins/frexp.wasm.d.ts +1 -0
- package/dist/types/common/wasm/bins/gather.wasm.d.ts +0 -1
- package/dist/types/common/wasm/bins/gcd.wasm.d.ts +8 -0
- package/dist/types/common/wasm/bins/indices.wasm.d.ts +6 -2
- package/dist/types/common/wasm/bins/inner_float-relaxed.wasm.d.ts +5 -0
- package/dist/types/common/wasm/bins/inner_float.wasm.d.ts +5 -0
- package/dist/types/common/wasm/bins/inner_int.wasm.d.ts +5 -0
- package/dist/types/common/wasm/bins/isfinite.wasm.d.ts +4 -0
- package/dist/types/common/wasm/bins/isnan.wasm.d.ts +4 -0
- package/dist/types/common/wasm/bins/lexsort.wasm.d.ts +4 -4
- package/dist/types/common/wasm/bins/logical_and.wasm.d.ts +2 -0
- package/dist/types/common/wasm/bins/logical_not.wasm.d.ts +1 -0
- package/dist/types/common/wasm/bins/logical_or.wasm.d.ts +2 -0
- package/dist/types/common/wasm/bins/logical_xor.wasm.d.ts +2 -0
- package/dist/types/common/wasm/bins/lu.wasm.d.ts +7 -0
- package/dist/types/common/wasm/bins/matmul_float-relaxed.wasm.d.ts +5 -0
- package/dist/types/common/wasm/bins/matmul_float.wasm.d.ts +5 -0
- package/dist/types/common/wasm/bins/matmul_int.wasm.d.ts +5 -0
- package/dist/types/common/wasm/bins/matvec_float-relaxed.wasm.d.ts +5 -0
- package/dist/types/common/wasm/bins/matvec_float.wasm.d.ts +5 -0
- package/dist/types/common/wasm/bins/matvec_int.wasm.d.ts +5 -0
- package/dist/types/common/wasm/bins/neg.wasm.d.ts +1 -0
- package/dist/types/common/wasm/bins/qr.wasm.d.ts +0 -1
- package/dist/types/common/wasm/bins/reciprocal.wasm.d.ts +8 -4
- package/dist/types/common/wasm/bins/reduce_argmax.wasm.d.ts +8 -0
- package/dist/types/common/wasm/bins/reduce_argmin.wasm.d.ts +8 -0
- package/dist/types/common/wasm/bins/reduce_max.wasm.d.ts +1 -0
- package/dist/types/common/wasm/bins/reduce_min.wasm.d.ts +1 -0
- package/dist/types/common/wasm/bins/reduce_prod.wasm.d.ts +2 -0
- package/dist/types/common/wasm/bins/reduce_sum.wasm.d.ts +8 -2
- package/dist/types/common/wasm/bins/rng.wasm.d.ts +57 -0
- package/dist/types/common/wasm/bins/sign.wasm.d.ts +1 -0
- package/dist/types/common/wasm/bins/signbit.wasm.d.ts +8 -0
- package/dist/types/common/wasm/bins/sin.wasm.d.ts +11 -0
- package/dist/types/common/wasm/bins/sinh.wasm.d.ts +8 -2
- package/dist/types/common/wasm/bins/sort.wasm.d.ts +6 -4
- package/dist/types/common/wasm/bins/sqrt.wasm.d.ts +2 -2
- package/dist/types/common/wasm/bins/svd.wasm.d.ts +1 -0
- package/dist/types/common/wasm/bins/tan.wasm.d.ts +8 -0
- package/dist/types/common/wasm/bins/tanh.wasm.d.ts +8 -2
- package/dist/types/common/wasm/bins/unravel_index.wasm.d.ts +4 -0
- package/dist/types/common/wasm/bins/vecdot_float-relaxed.wasm.d.ts +5 -0
- package/dist/types/common/wasm/bins/vecdot_float.wasm.d.ts +5 -0
- package/dist/types/common/wasm/bins/vecdot_int.wasm.d.ts +5 -0
- package/dist/types/common/wasm/bins/vecmat_float-relaxed.wasm.d.ts +5 -0
- package/dist/types/common/wasm/bins/vecmat_float.wasm.d.ts +5 -0
- package/dist/types/common/wasm/bins/vecmat_int.wasm.d.ts +5 -0
- package/dist/types/common/wasm/bins/vector_norm-relaxed.wasm.d.ts +3 -0
- package/dist/types/common/wasm/bins/vector_norm.wasm.d.ts +3 -0
- package/dist/types/common/wasm/config.d.ts +25 -0
- package/dist/types/common/wasm/convolve.d.ts +1 -1
- package/dist/types/common/wasm/cos.d.ts +4 -2
- package/dist/types/common/wasm/cosh.d.ts +4 -2
- package/dist/types/common/wasm/detect.d.ts +17 -0
- package/dist/types/common/wasm/divide.d.ts +4 -0
- package/dist/types/common/wasm/divmod.d.ts +13 -0
- package/dist/types/common/wasm/exp.d.ts +4 -2
- package/dist/types/common/wasm/exp2.d.ts +4 -2
- package/dist/types/common/wasm/fft.d.ts +36 -0
- package/dist/types/common/wasm/frexp.d.ts +1 -0
- package/dist/types/common/wasm/gather.d.ts +4 -0
- package/dist/types/common/wasm/gcd.d.ts +1 -0
- package/dist/types/common/wasm/heaviside.d.ts +2 -2
- package/dist/types/common/wasm/hypot.d.ts +4 -2
- package/dist/types/common/wasm/indices.d.ts +2 -1
- package/dist/types/common/wasm/isfinite.d.ts +7 -0
- package/dist/types/common/wasm/isnan.d.ts +7 -0
- package/dist/types/common/wasm/lexsort.d.ts +3 -1
- package/dist/types/common/wasm/logaddexp.d.ts +4 -2
- package/dist/types/common/wasm/lu.d.ts +27 -0
- package/dist/types/common/wasm/partition.d.ts +3 -1
- package/dist/types/common/wasm/reduce_argmax.d.ts +5 -0
- package/dist/types/common/wasm/reduce_argmin.d.ts +5 -0
- package/dist/types/common/wasm/reduce_prod.d.ts +4 -0
- package/dist/types/common/wasm/reduce_quantile.d.ts +11 -3
- package/dist/types/common/wasm/reduce_sum.d.ts +10 -0
- package/dist/types/common/wasm/rng.d.ts +75 -0
- package/dist/types/common/wasm/runtime.d.ts +117 -23
- package/dist/types/common/wasm/searchsorted.d.ts +3 -1
- package/dist/types/common/wasm/signbit.d.ts +14 -0
- package/dist/types/common/wasm/sin.d.ts +17 -0
- package/dist/types/common/wasm/sinh.d.ts +4 -2
- package/dist/types/common/wasm/sort.d.ts +4 -1
- package/dist/types/common/wasm/sqrt.d.ts +4 -2
- package/dist/types/common/wasm/svd.d.ts +6 -0
- package/dist/types/common/wasm/tan.d.ts +4 -2
- package/dist/types/common/wasm/tanh.d.ts +4 -2
- package/dist/types/common/wasm/unravel_index.d.ts +12 -0
- package/dist/types/common/wasm/vector_norm.d.ts +11 -0
- package/dist/types/core/advanced.d.ts +10 -2
- package/dist/types/core/creation.d.ts +1 -1
- package/dist/types/core/index.d.ts +96 -2
- package/dist/types/core/linalg.d.ts +1 -1
- package/dist/types/core/rounding.d.ts +0 -2
- package/dist/types/core/sets.d.ts +4 -1
- package/dist/types/core/statistics.d.ts +2 -1
- package/dist/types/full/index.d.ts +19 -6
- package/dist/types/index.d.ts +20 -4
- package/dist/types/io/file-ops.d.ts +269 -0
- package/dist/types/io/filesystem.d.ts +21 -0
- package/dist/types/node.d.ts +3 -275
- package/package.json +52 -62
- package/dist/esm/common/wasm/bins/dot.wasm.js +0 -1
- package/dist/esm/common/wasm/bins/flip.wasm.js +0 -1
- package/dist/esm/common/wasm/bins/inner.wasm.js +0 -1
- package/dist/esm/common/wasm/bins/matmul.wasm.js +0 -1
- package/dist/esm/common/wasm/bins/matvec.wasm.js +0 -1
- package/dist/esm/common/wasm/bins/reduce_quantile.wasm.js +0 -1
- package/dist/esm/common/wasm/bins/rot90.wasm.js +0 -1
- package/dist/esm/common/wasm/bins/vecdot.wasm.js +0 -1
- package/dist/esm/common/wasm/bins/vecmat.wasm.js +0 -1
- package/dist/esm/common/wasm/flip.js +0 -1
- package/dist/esm/common/wasm/lstsq.js +0 -1
- package/dist/esm/common/wasm/rot90.js +0 -1
- package/dist/numpy-ts.node-io.cjs +0 -8
- package/dist/numpy-ts.node-io.cjs.map +0 -7
- package/dist/numpy-ts.node-io.mjs +0 -8
- package/dist/numpy-ts.node-io.mjs.map +0 -7
- package/dist/numpy-ts.node.cjs +0 -8
- package/dist/numpy-ts.node.cjs.map +0 -7
- package/dist/types/common/wasm/bins/dot.wasm.d.ts +0 -9
- package/dist/types/common/wasm/bins/flip.wasm.d.ts +0 -7
- package/dist/types/common/wasm/bins/inner.wasm.d.ts +0 -9
- package/dist/types/common/wasm/bins/matmul.wasm.d.ts +0 -9
- package/dist/types/common/wasm/bins/matvec.wasm.d.ts +0 -9
- package/dist/types/common/wasm/bins/reduce_quantile.wasm.d.ts +0 -2
- package/dist/types/common/wasm/bins/rot90.wasm.d.ts +0 -7
- package/dist/types/common/wasm/bins/vecdot.wasm.d.ts +0 -9
- package/dist/types/common/wasm/bins/vecmat.wasm.d.ts +0 -9
- package/dist/types/common/wasm/flip.d.ts +0 -13
- package/dist/types/common/wasm/lstsq.d.ts +0 -14
- package/dist/types/common/wasm/rot90.d.ts +0 -14
package/dist/types/node.d.ts
CHANGED
|
@@ -1,280 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Deprecated: use `import from 'numpy-ts'` instead.
|
|
3
3
|
*
|
|
4
|
-
* This module
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Usage:
|
|
8
|
-
* import * as np from 'numpy-ts/node';
|
|
9
|
-
* // Has everything from numpy-ts + file I/O
|
|
10
|
-
* const arr = await np.loadNpy('data.npy');
|
|
11
|
-
* await np.saveNpz('output.npz', { x: arr });
|
|
12
|
-
*
|
|
13
|
-
* For browser usage, use the main entry point (no file I/O).
|
|
4
|
+
* This module re-exports everything from the main entry point.
|
|
5
|
+
* File IO functions (loadNpy, saveNpy, etc.) are now available directly from 'numpy-ts'.
|
|
14
6
|
*/
|
|
15
|
-
import { NDArray } from './full/ndarray';
|
|
16
|
-
import type { NpzParseOptions } from './io/npz/parser';
|
|
17
|
-
import { type NpzSerializeOptions, type NpzArraysInput } from './io/npz/serializer';
|
|
18
|
-
import { type ParseTxtOptions, type SerializeTxtOptions } from './io/txt';
|
|
19
|
-
import type { DType } from './common/dtype';
|
|
20
|
-
interface NpzParseResultNDArray {
|
|
21
|
-
arrays: Map<string, NDArray>;
|
|
22
|
-
skipped: string[];
|
|
23
|
-
errors: Map<string, string>;
|
|
24
|
-
}
|
|
25
7
|
export * from './index';
|
|
26
|
-
/**
|
|
27
|
-
* Options for loading NPY/NPZ files
|
|
28
|
-
*/
|
|
29
|
-
export interface LoadOptions extends NpzParseOptions {
|
|
30
|
-
/**
|
|
31
|
-
* If true, allow loading .npy files.
|
|
32
|
-
* Default: true
|
|
33
|
-
*/
|
|
34
|
-
allowNpy?: boolean;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Options for saving NPZ files
|
|
38
|
-
*/
|
|
39
|
-
export interface SaveNpzOptions extends NpzSerializeOptions {
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Load an NDArray from a .npy file
|
|
43
|
-
*
|
|
44
|
-
* @param path - Path to the .npy file
|
|
45
|
-
* @returns The loaded NDArray
|
|
46
|
-
*/
|
|
47
|
-
export declare function loadNpy(path: string): Promise<NDArray>;
|
|
48
|
-
/**
|
|
49
|
-
* Synchronously load an NDArray from a .npy file
|
|
50
|
-
*
|
|
51
|
-
* @param path - Path to the .npy file
|
|
52
|
-
* @returns The loaded NDArray
|
|
53
|
-
*/
|
|
54
|
-
export declare function loadNpySync(path: string): NDArray;
|
|
55
|
-
/**
|
|
56
|
-
* Save an NDArray to a .npy file
|
|
57
|
-
*
|
|
58
|
-
* @param path - Path to save the .npy file
|
|
59
|
-
* @param arr - The NDArray to save
|
|
60
|
-
*/
|
|
61
|
-
export declare function saveNpy(path: string, arr: NDArray): Promise<void>;
|
|
62
|
-
/**
|
|
63
|
-
* Synchronously save an NDArray to a .npy file
|
|
64
|
-
*
|
|
65
|
-
* @param path - Path to save the .npy file
|
|
66
|
-
* @param arr - The NDArray to save
|
|
67
|
-
*/
|
|
68
|
-
export declare function saveNpySync(path: string, arr: NDArray): void;
|
|
69
|
-
/**
|
|
70
|
-
* Load arrays from a .npz file
|
|
71
|
-
*
|
|
72
|
-
* @param path - Path to the .npz file
|
|
73
|
-
* @param options - Load options
|
|
74
|
-
* @returns Object with array names as keys
|
|
75
|
-
*/
|
|
76
|
-
export declare function loadNpzFile(path: string, options?: NpzParseOptions): Promise<NpzParseResultNDArray>;
|
|
77
|
-
/**
|
|
78
|
-
* Synchronously load arrays from a .npz file
|
|
79
|
-
*
|
|
80
|
-
* Note: Only works if the NPZ file is not DEFLATE compressed.
|
|
81
|
-
*
|
|
82
|
-
* @param path - Path to the .npz file
|
|
83
|
-
* @param options - Load options
|
|
84
|
-
* @returns Object with array names as keys
|
|
85
|
-
*/
|
|
86
|
-
export declare function loadNpzFileSync(path: string, options?: NpzParseOptions): NpzParseResultNDArray;
|
|
87
|
-
/**
|
|
88
|
-
* Save arrays to a .npz file
|
|
89
|
-
*
|
|
90
|
-
* @param path - Path to save the .npz file
|
|
91
|
-
* @param arrays - Arrays to save:
|
|
92
|
-
* - Array of NDArrays (positional, named arr_0, arr_1, etc.)
|
|
93
|
-
* - Map of names to NDArrays
|
|
94
|
-
* - Object with names as keys
|
|
95
|
-
* @param options - Save options
|
|
96
|
-
*/
|
|
97
|
-
export declare function saveNpz(path: string, arrays: NpzArraysInput, options?: SaveNpzOptions): Promise<void>;
|
|
98
|
-
/**
|
|
99
|
-
* Synchronously save arrays to a .npz file (no compression)
|
|
100
|
-
*
|
|
101
|
-
* @param path - Path to save the .npz file
|
|
102
|
-
* @param arrays - Arrays to save (same types as saveNpz)
|
|
103
|
-
*/
|
|
104
|
-
export declare function saveNpzSync(path: string, arrays: NpzArraysInput): void;
|
|
105
|
-
/**
|
|
106
|
-
* Load an array or arrays from a .npy or .npz file
|
|
107
|
-
*
|
|
108
|
-
* This is a convenience function that auto-detects the file format based on extension.
|
|
109
|
-
*
|
|
110
|
-
* @param path - Path to the file
|
|
111
|
-
* @param options - Load options
|
|
112
|
-
* @returns NDArray for .npy files, or NpzParseResult for .npz files
|
|
113
|
-
*/
|
|
114
|
-
export declare function load(path: string, options?: LoadOptions): Promise<NDArray | NpzParseResultNDArray>;
|
|
115
|
-
/**
|
|
116
|
-
* Synchronously load an array or arrays from a .npy or .npz file
|
|
117
|
-
*
|
|
118
|
-
* @param path - Path to the file
|
|
119
|
-
* @param options - Load options
|
|
120
|
-
* @returns NDArray for .npy files, or NpzParseResult for .npz files
|
|
121
|
-
*/
|
|
122
|
-
export declare function loadSync(path: string, options?: LoadOptions): NDArray | NpzParseResultNDArray;
|
|
123
|
-
/**
|
|
124
|
-
* Save an array to a .npy file
|
|
125
|
-
*
|
|
126
|
-
* @param path - Path to save the file (should end with .npy)
|
|
127
|
-
* @param arr - The NDArray to save
|
|
128
|
-
*/
|
|
129
|
-
export declare function save(path: string, arr: NDArray): Promise<void>;
|
|
130
|
-
/**
|
|
131
|
-
* Synchronously save an array to a .npy file
|
|
132
|
-
*
|
|
133
|
-
* @param path - Path to save the file (should end with .npy)
|
|
134
|
-
* @param arr - The NDArray to save
|
|
135
|
-
*/
|
|
136
|
-
export declare function saveSync(path: string, arr: NDArray): void;
|
|
137
|
-
/**
|
|
138
|
-
* Save multiple arrays to a .npz file (like np.savez)
|
|
139
|
-
*
|
|
140
|
-
* @param path - Path to save the .npz file
|
|
141
|
-
* @param arrays - Arrays to save:
|
|
142
|
-
* - Array of NDArrays: named arr_0, arr_1, etc. (like np.savez positional args)
|
|
143
|
-
* - Object/Map with names as keys (like np.savez keyword args)
|
|
144
|
-
*
|
|
145
|
-
* @example
|
|
146
|
-
* // Positional arrays
|
|
147
|
-
* await savez('data.npz', [arr1, arr2]) // saved as arr_0, arr_1
|
|
148
|
-
*
|
|
149
|
-
* // Named arrays
|
|
150
|
-
* await savez('data.npz', { x: arr1, y: arr2 })
|
|
151
|
-
*/
|
|
152
|
-
export declare function savez(path: string, arrays: NpzArraysInput): Promise<void>;
|
|
153
|
-
/**
|
|
154
|
-
* Save multiple arrays to a compressed .npz file (like np.savez_compressed)
|
|
155
|
-
*
|
|
156
|
-
* @param path - Path to save the .npz file
|
|
157
|
-
* @param arrays - Arrays to save (same input types as savez)
|
|
158
|
-
*/
|
|
159
|
-
export declare function savez_compressed(path: string, arrays: NpzArraysInput): Promise<void>;
|
|
160
|
-
/**
|
|
161
|
-
* Options for loadtxt
|
|
162
|
-
*/
|
|
163
|
-
export interface LoadTxtOptions extends ParseTxtOptions {
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Options for savetxt
|
|
167
|
-
*/
|
|
168
|
-
export interface SaveTxtOptions extends SerializeTxtOptions {
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Load data from a text file.
|
|
172
|
-
*
|
|
173
|
-
* Each row in the text file must have the same number of values.
|
|
174
|
-
*
|
|
175
|
-
* @param path - Path to the text file
|
|
176
|
-
* @param options - Load options
|
|
177
|
-
* @returns NDArray with the loaded data
|
|
178
|
-
*
|
|
179
|
-
* @example
|
|
180
|
-
* ```typescript
|
|
181
|
-
* // Load a CSV file
|
|
182
|
-
* const arr = await loadtxt('data.csv', { delimiter: ',' });
|
|
183
|
-
*
|
|
184
|
-
* // Load with specific columns
|
|
185
|
-
* const arr = await loadtxt('data.txt', { usecols: [0, 2] });
|
|
186
|
-
*
|
|
187
|
-
* // Skip header rows
|
|
188
|
-
* const arr = await loadtxt('data.txt', { skiprows: 1 });
|
|
189
|
-
* ```
|
|
190
|
-
*/
|
|
191
|
-
export declare function loadtxt(path: string, options?: LoadTxtOptions): Promise<NDArray>;
|
|
192
|
-
/**
|
|
193
|
-
* Synchronously load data from a text file.
|
|
194
|
-
*
|
|
195
|
-
* @param path - Path to the text file
|
|
196
|
-
* @param options - Load options
|
|
197
|
-
* @returns NDArray with the loaded data
|
|
198
|
-
*/
|
|
199
|
-
export declare function loadtxtSync(path: string, options?: LoadTxtOptions): NDArray;
|
|
200
|
-
/**
|
|
201
|
-
* Save an array to a text file.
|
|
202
|
-
*
|
|
203
|
-
* @param path - Path to save the text file
|
|
204
|
-
* @param arr - The array to save (must be 1D or 2D)
|
|
205
|
-
* @param options - Save options
|
|
206
|
-
*
|
|
207
|
-
* @example
|
|
208
|
-
* ```typescript
|
|
209
|
-
* // Save as CSV
|
|
210
|
-
* await savetxt('data.csv', arr, { delimiter: ',' });
|
|
211
|
-
*
|
|
212
|
-
* // Save with custom format
|
|
213
|
-
* await savetxt('data.txt', arr, { fmt: '%.2f', delimiter: '\t' });
|
|
214
|
-
*
|
|
215
|
-
* // Save with header
|
|
216
|
-
* await savetxt('data.txt', arr, { header: 'x y z' });
|
|
217
|
-
* ```
|
|
218
|
-
*/
|
|
219
|
-
export declare function savetxt(path: string, arr: NDArray, options?: SaveTxtOptions): Promise<void>;
|
|
220
|
-
/**
|
|
221
|
-
* Synchronously save an array to a text file.
|
|
222
|
-
*
|
|
223
|
-
* @param path - Path to save the text file
|
|
224
|
-
* @param arr - The array to save (must be 1D or 2D)
|
|
225
|
-
* @param options - Save options
|
|
226
|
-
*/
|
|
227
|
-
export declare function savetxtSync(path: string, arr: NDArray, options?: SaveTxtOptions): void;
|
|
228
|
-
/**
|
|
229
|
-
* Load data from a text file with more flexible handling.
|
|
230
|
-
*
|
|
231
|
-
* Similar to loadtxt but handles missing values more gracefully.
|
|
232
|
-
*
|
|
233
|
-
* @param path - Path to the text file
|
|
234
|
-
* @param options - Load options
|
|
235
|
-
* @returns NDArray with the loaded data
|
|
236
|
-
*
|
|
237
|
-
* @example
|
|
238
|
-
* ```typescript
|
|
239
|
-
* // Load file with missing values
|
|
240
|
-
* const arr = await genfromtxt('data.csv', {
|
|
241
|
-
* delimiter: ',',
|
|
242
|
-
* missing_values: ['NA', ''],
|
|
243
|
-
* filling_values: 0
|
|
244
|
-
* });
|
|
245
|
-
* ```
|
|
246
|
-
*/
|
|
247
|
-
export declare function genfromtxt(path: string, options?: LoadTxtOptions): Promise<NDArray>;
|
|
248
|
-
/**
|
|
249
|
-
* Synchronously load data from a text file with more flexible handling.
|
|
250
|
-
*
|
|
251
|
-
* @param path - Path to the text file
|
|
252
|
-
* @param options - Load options
|
|
253
|
-
* @returns NDArray with the loaded data
|
|
254
|
-
*/
|
|
255
|
-
export declare function genfromtxtSync(path: string, options?: LoadTxtOptions): NDArray;
|
|
256
|
-
/**
|
|
257
|
-
* Load data from a text file using regular expressions.
|
|
258
|
-
*
|
|
259
|
-
* @param path - Path to the text file
|
|
260
|
-
* @param regexp - Regular expression with capture groups for extracting values
|
|
261
|
-
* @param dtype - Data type of the resulting array (default: 'float64')
|
|
262
|
-
* @returns NDArray with the extracted data
|
|
263
|
-
*
|
|
264
|
-
* @example
|
|
265
|
-
* ```typescript
|
|
266
|
-
* // Extract x,y pairs from "Point: x=1.0, y=2.0" format
|
|
267
|
-
* const arr = await fromregex('points.txt', /x=([\d.]+), y=([\d.]+)/);
|
|
268
|
-
* ```
|
|
269
|
-
*/
|
|
270
|
-
export declare function fromregex(path: string, regexp: RegExp | string, dtype?: DType): Promise<NDArray>;
|
|
271
|
-
/**
|
|
272
|
-
* Synchronously load data from a text file using regular expressions.
|
|
273
|
-
*
|
|
274
|
-
* @param path - Path to the text file
|
|
275
|
-
* @param regexp - Regular expression with capture groups for extracting values
|
|
276
|
-
* @param dtype - Data type of the resulting array (default: 'float64')
|
|
277
|
-
* @returns NDArray with the extracted data
|
|
278
|
-
*/
|
|
279
|
-
export declare function fromregexSync(path: string, regexp: RegExp | string, dtype?: DType): NDArray;
|
|
280
8
|
//# sourceMappingURL=node.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "numpy-ts",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Complete NumPy
|
|
5
|
-
"main": "dist/
|
|
3
|
+
"version": "1.3.0",
|
|
4
|
+
"description": "Fast, Complete NumPy for TypeScript & JavaScript",
|
|
5
|
+
"main": "dist/esm/index.js",
|
|
6
6
|
"browser": "dist/numpy-ts.browser.js",
|
|
7
7
|
"module": "dist/esm/index.js",
|
|
8
8
|
"types": "dist/types/index.d.ts",
|
|
9
9
|
"type": "module",
|
|
10
10
|
"sideEffects": false,
|
|
11
11
|
"files": [
|
|
12
|
-
"dist
|
|
13
|
-
"dist/**/*.cjs",
|
|
14
|
-
"dist/**/*.mjs",
|
|
15
|
-
"dist/**/*.cjs.map",
|
|
16
|
-
"dist/**/*.mjs.map",
|
|
12
|
+
"dist/numpy-ts.browser.js",
|
|
17
13
|
"dist/esm/**/*.js",
|
|
18
14
|
"dist/types/**/*.d.ts",
|
|
19
15
|
"README.md",
|
|
@@ -22,16 +18,14 @@
|
|
|
22
18
|
"exports": {
|
|
23
19
|
".": {
|
|
24
20
|
"types": "./dist/types/index.d.ts",
|
|
25
|
-
"node": "./dist/numpy-ts.node.cjs",
|
|
26
21
|
"browser": "./dist/numpy-ts.browser.js",
|
|
27
22
|
"import": "./dist/esm/index.js",
|
|
28
23
|
"default": "./dist/esm/index.js"
|
|
29
24
|
},
|
|
30
25
|
"./node": {
|
|
31
|
-
"types": "./dist/types/
|
|
32
|
-
"import": "./dist/
|
|
33
|
-
"
|
|
34
|
-
"default": "./dist/numpy-ts.node-io.cjs"
|
|
26
|
+
"types": "./dist/types/index.d.ts",
|
|
27
|
+
"import": "./dist/esm/index.js",
|
|
28
|
+
"default": "./dist/esm/index.js"
|
|
35
29
|
},
|
|
36
30
|
"./core": {
|
|
37
31
|
"types": "./dist/types/core.d.ts",
|
|
@@ -40,54 +34,51 @@
|
|
|
40
34
|
}
|
|
41
35
|
},
|
|
42
36
|
"scripts": {
|
|
43
|
-
"generate": "tsx scripts/generate-full.ts && prettier --write src/full/index.ts src/full/ndarray.ts",
|
|
44
37
|
"build": "npm run build:clean && npm run generate && npm run build:wasm && tsx build.ts && npm run build:types",
|
|
45
38
|
"build:clean": "rm -rf dist",
|
|
46
39
|
"build:types": "tsc --emitDeclarationOnly --outDir dist/types",
|
|
47
|
-
"
|
|
40
|
+
"build:wasm": "tsx scripts/build-wasm.ts",
|
|
41
|
+
"build:wasm:safe": "tsx scripts/build-wasm.ts --safe",
|
|
42
|
+
"build:wasm:small": "tsx scripts/build-wasm.ts --small",
|
|
43
|
+
"build:test": "npm run build:clean && npm run generate && npm run build:wasm:safe && tsx build.ts --skip-wasm && npm run build:types",
|
|
44
|
+
"generate": "tsx scripts/generate-full.ts && prettier --write src/full/index.ts src/full/ndarray.ts",
|
|
45
|
+
"test": "npm run build:test && vitest run --project=unit --project=validation --project=runtime-io --project=bundle-esm --project=wasm-memory --project=tree-shaking --project=leaks",
|
|
48
46
|
"test:unit": "vitest run --project=unit",
|
|
49
47
|
"test:validation": "vitest run --project=validation",
|
|
50
|
-
"test:
|
|
48
|
+
"test:io": "vitest run --project=runtime-io",
|
|
49
|
+
"test:wasm-memory": "vitest run --project=wasm-memory",
|
|
50
|
+
"test:leaks": "vitest run --project=leaks",
|
|
51
|
+
"test:leaks:large": "LEAK_SIZE_SCALE=large vitest run --project=leaks",
|
|
52
|
+
"test:dtypes": "vitest run --project=validation tests/validation/dtype-sweep/",
|
|
53
|
+
"test:dtypes:js": "FORCE_BACKEND=js vitest run --project=validation tests/validation/dtype-sweep/",
|
|
54
|
+
"test:dtypes:wasm": "FORCE_BACKEND=wasm vitest run --project=validation tests/validation/dtype-sweep/",
|
|
51
55
|
"test:tree-shaking": "vitest run --project=tree-shaking",
|
|
56
|
+
"test:browser": "npm run build:clean && npm run generate && tsx build.ts --skip-wasm && npm run build:types && vitest run --project=browser-unit --project=bundle-browser --project=bundle-esm",
|
|
57
|
+
"test:bun": "npm run build:test && bun vitest run --project=unit --project=validation --project=runtime-io",
|
|
58
|
+
"test:deno": "npm run build:test && deno run -A node_modules/.bin/vitest run --project=unit --project=validation --project=runtime-io",
|
|
59
|
+
"test:coverage": "vitest run --project=unit --project=validation --project=runtime-io --project=wasm-memory --coverage",
|
|
52
60
|
"test:ci": "npm run lint && npm run typecheck && npm run test",
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"lint:ts": "eslint --cache src tests",
|
|
57
|
-
"lint:ts:fix": "eslint --cache src tests --fix",
|
|
58
|
-
"lint:zig": "zig fmt --check src/common/wasm/zig",
|
|
59
|
-
"lint:fix": "npm run lint:ts:fix && npm run format:zig",
|
|
60
|
-
"format": "npm run format:ts && npm run format:zig",
|
|
61
|
-
"format:ts": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
|
|
62
|
-
"format:zig": "zig fmt src/common/wasm/zig",
|
|
63
|
-
"format:check": "npm run format:check:ts && npm run lint:zig",
|
|
64
|
-
"format:check:ts": "prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"",
|
|
61
|
+
"lint": "eslint --cache src tests && zig fmt --check src/common/wasm/zig",
|
|
62
|
+
"lint:fix": "eslint --cache src tests --fix && zig fmt src/common/wasm/zig",
|
|
63
|
+
"format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\" \"benchmarks/src/**/*.ts\" && zig fmt src/common/wasm/zig",
|
|
65
64
|
"typecheck": "tsc --noEmit",
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"bench:
|
|
72
|
-
"bench
|
|
73
|
-
"bench:
|
|
74
|
-
"bench:
|
|
75
|
-
"bench:
|
|
76
|
-
"bench:deno": "npm run bench:build && node benchmarks/dist/bench.cjs --runtime deno",
|
|
77
|
-
"bench:bun": "npm run bench:build && node benchmarks/dist/bench.cjs --runtime bun",
|
|
78
|
-
"bench:
|
|
79
|
-
"bench:
|
|
80
|
-
"bench:
|
|
81
|
-
"bench:
|
|
82
|
-
"
|
|
83
|
-
"bench:full:view": "open benchmarks/results/plots/latest-full.html || xdg-open benchmarks/results/plots/latest-full.html",
|
|
84
|
-
"bench:docs": "python3 scripts/generate-bench-docs.py benchmarks/results/latest-full.json",
|
|
85
|
-
"compare-api": "python3 scripts/compare-api-coverage.py",
|
|
86
|
-
"compare-docs-api": "python3 scripts/compare-docs-api-coverage.py",
|
|
87
|
-
"wasm:size": "tsx scripts/wasm-size.ts",
|
|
88
|
-
"build:wasm": "tsx scripts/build-wasm.ts",
|
|
89
|
-
"build:wasm:safe": "tsx scripts/build-wasm.ts --safe",
|
|
90
|
-
"build:test": "npm run build:clean && npm run generate && npm run build:wasm:safe && tsx build.ts --skip-wasm && npm run build:types"
|
|
65
|
+
"report:api-coverage": "python3 scripts/compare-api-coverage.py",
|
|
66
|
+
"report:docs-api-coverage": "python3 scripts/compare-docs-api-coverage.py",
|
|
67
|
+
"report:dtype-coverage": "npx tsx scripts/dtype-coverage-report.ts",
|
|
68
|
+
"report:zig-coverage": "npx tsx scripts/zig-fn-coverage.ts",
|
|
69
|
+
"report:zig-dead-code": "npx tsx scripts/zig-dead-code.ts",
|
|
70
|
+
"bench:build": "esbuild benchmarks/src/index.ts --bundle --platform=node --format=cjs --external:pyodide --outfile=benchmarks/dist/bench.cjs && esbuild benchmarks/src/runtime-runner.ts --bundle --platform=neutral --format=esm --external:node:fs --external:node:fs/promises --outfile=benchmarks/dist/runtime-runner.mjs",
|
|
71
|
+
"bench": "npm run bench:build && node benchmarks/dist/bench.cjs --full",
|
|
72
|
+
"bench:node": "npm run bench:build && node benchmarks/dist/bench.cjs --full --runtime node",
|
|
73
|
+
"bench:pyodide": "npm run bench:build && node benchmarks/dist/bench.cjs --full --pyodide --runtime node",
|
|
74
|
+
"bench:all": "npm run bench:node && npm run bench:node -- --size small && npm run bench:node -- --size large && npm run bench:pyodide && npm run bench",
|
|
75
|
+
"bench:deno": "npm run bench:build && node benchmarks/dist/bench.cjs --full --runtime deno",
|
|
76
|
+
"bench:bun": "npm run bench:build && node benchmarks/dist/bench.cjs --full --runtime bun",
|
|
77
|
+
"bench:compare": "tsx benchmarks/scripts/compare.ts latest-full",
|
|
78
|
+
"bench:regenerate": "tsx benchmarks/scripts/regenerate-charts.ts",
|
|
79
|
+
"bench:view": "open benchmarks/results/plots/latest-full.html || xdg-open benchmarks/results/plots/latest-full.html",
|
|
80
|
+
"bench:docs": "python3 scripts/generate-bench-docs.py && python3 scripts/generate-overview-charts.py",
|
|
81
|
+
"wasm:size": "tsx scripts/wasm-size.ts"
|
|
91
82
|
},
|
|
92
83
|
"keywords": [
|
|
93
84
|
"numpy",
|
|
@@ -113,32 +104,31 @@
|
|
|
113
104
|
},
|
|
114
105
|
"homepage": "https://numpyts.dev",
|
|
115
106
|
"devDependencies": {
|
|
107
|
+
"@eslint/js": "^10.0.1",
|
|
116
108
|
"@rollup/plugin-alias": "^6.0.0",
|
|
117
109
|
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
118
110
|
"@rollup/plugin-terser": "^1.0.0",
|
|
119
111
|
"@rollup/plugin-typescript": "^12.1.2",
|
|
120
112
|
"@types/node": "^25.0.3",
|
|
121
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
122
|
-
"@typescript-eslint/parser": "^8.
|
|
113
|
+
"@typescript-eslint/eslint-plugin": "^8.57.2",
|
|
114
|
+
"@typescript-eslint/parser": "^8.57.2",
|
|
123
115
|
"@vitest/browser": "^4.0.3",
|
|
124
116
|
"@vitest/browser-playwright": "^4.0.3",
|
|
125
117
|
"@vitest/coverage-v8": "^4.0.3",
|
|
126
118
|
"chart.js": "^4.5.1",
|
|
127
119
|
"chartjs-node-canvas": "^5.0.0",
|
|
128
120
|
"esbuild": "^0.27.2",
|
|
129
|
-
"eslint": "^
|
|
121
|
+
"eslint": "^10.1.0",
|
|
130
122
|
"eslint-config-prettier": "^10.1.8",
|
|
131
|
-
"eslint-plugin-prettier": "^5.
|
|
132
|
-
"husky": "^9.1.7",
|
|
133
|
-
"lint-staged": "^16.2.6",
|
|
123
|
+
"eslint-plugin-prettier": "^5.5.5",
|
|
134
124
|
"playwright": "^1.56.1",
|
|
135
125
|
"prettier": "^3.1.1",
|
|
136
|
-
"pyodide": "^0.
|
|
126
|
+
"pyodide": "^0.29.3",
|
|
137
127
|
"rollup": "^4.40.0",
|
|
138
|
-
"ts-loader": "^9.5.
|
|
128
|
+
"ts-loader": "^9.5.4",
|
|
139
129
|
"ts-morph": "^27.0.2",
|
|
140
130
|
"tsx": "^4.20.6",
|
|
141
|
-
"typescript": "^5.
|
|
131
|
+
"typescript": "^5.9.3",
|
|
142
132
|
"vitest": "^4.0.3",
|
|
143
133
|
"webpack": "^5.99.9"
|
|
144
134
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{getSharedMemory as i,setHeapBase as o}from"../runtime";const D="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";let B=null;function C(){if(B)return B;const I=atob(D),g=new Uint8Array(I.length);for(let A=0;A<I.length;A++)g[A]=I.charCodeAt(A);B=new WebAssembly.Instance(new WebAssembly.Module(g),{env:{memory:i()}});const Q=B.exports.__heap_base;return Q&&typeof Q.value=="number"&&o(Q.value),B}function h(I,g,Q,A){C().exports.dot_f64(I,g,Q,A)}function w(I,g,Q,A){C().exports.dot_f32(I,g,Q,A)}function G(I,g,Q,A){C().exports.dot_c128(I,g,Q,A)}function s(I,g,Q,A){C().exports.dot_c64(I,g,Q,A)}function e(I,g,Q,A){C().exports.dot_i64(I,g,Q,A)}function r(I,g,Q,A){C().exports.dot_i32(I,g,Q,A)}function F(I,g,Q,A){C().exports.dot_i16(I,g,Q,A)}function R(I,g,Q,A){C().exports.dot_i8(I,g,Q,A)}export{G as dot_c128,s as dot_c64,w as dot_f32,h as dot_f64,F as dot_i16,r as dot_i32,e as dot_i64,R as dot_i8};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{getSharedMemory as C,setHeapBase as i}from"../runtime";const o="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";let E=null;function g(){if(E)return E;const A=atob(o),Q=new Uint8Array(A.length);for(let I=0;I<A.length;I++)Q[I]=A.charCodeAt(I);E=new WebAssembly.Instance(new WebAssembly.Module(Q),{env:{memory:C()}});const B=E.exports.__heap_base;return B&&typeof B.value=="number"&&i(B.value),E}function G(A,Q,B){g().exports.flip_f64(A,Q,B)}function s(A,Q,B){g().exports.flip_f32(A,Q,B)}function e(A,Q,B){g().exports.flip_i64(A,Q,B)}function D(A,Q,B){g().exports.flip_i32(A,Q,B)}function n(A,Q,B){g().exports.flip_i16(A,Q,B)}function r(A,Q,B){g().exports.flip_i8(A,Q,B)}export{s as flip_f32,G as flip_f64,n as flip_i16,D as flip_i32,e as flip_i64,r as flip_i8};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{getSharedMemory as h,setHeapBase as R}from"../runtime";const G="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";let D=null;function C(){if(D)return D;const I=atob(G),Q=new Uint8Array(I.length);for(let A=0;A<I.length;A++)Q[A]=I.charCodeAt(A);D=new WebAssembly.Instance(new WebAssembly.Module(Q),{env:{memory:h()}});const g=D.exports.__heap_base;return g&&typeof g.value=="number"&&R(g.value),D}function S(I,Q,g,A,E,B){C().exports.inner_f64(I,Q,g,A,E,B)}function w(I,Q,g,A,E,B){C().exports.inner_f32(I,Q,g,A,E,B)}function H(I,Q,g,A,E,B){C().exports.inner_c128(I,Q,g,A,E,B)}function a(I,Q,g,A,E,B){C().exports.inner_c64(I,Q,g,A,E,B)}function F(I,Q,g,A,E,B){C().exports.inner_i64(I,Q,g,A,E,B)}function k(I,Q,g,A,E,B){C().exports.inner_i32(I,Q,g,A,E,B)}function q(I,Q,g,A,E,B){C().exports.inner_i16(I,Q,g,A,E,B)}function M(I,Q,g,A,E,B){C().exports.inner_i8(I,Q,g,A,E,B)}export{H as inner_c128,a as inner_c64,w as inner_f32,S as inner_f64,q as inner_i16,k as inner_i32,F as inner_i64,M as inner_i8};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{getSharedMemory as G,setHeapBase as S}from"../runtime";const h="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";let D=null;function C(){if(D)return D;const I=atob(h),Q=new Uint8Array(I.length);for(let A=0;A<I.length;A++)Q[A]=I.charCodeAt(A);D=new WebAssembly.Instance(new WebAssembly.Module(Q),{env:{memory:G()}});const g=D.exports.__heap_base;return g&&typeof g.value=="number"&&S(g.value),D}function R(I,Q,g,A,B,E){C().exports.matmul_f64(I,Q,g,A,B,E)}function F(I,Q,g,A,B,E){C().exports.matmul_f32(I,Q,g,A,B,E)}function a(I,Q,g,A,B,E){C().exports.matmul_c128(I,Q,g,A,B,E)}function U(I,Q,g,A,B,E){C().exports.matmul_c64(I,Q,g,A,B,E)}function w(I,Q,g,A,B,E){C().exports.matmul_i64(I,Q,g,A,B,E)}function q(I,Q,g,A,B,E){C().exports.matmul_i32(I,Q,g,A,B,E)}function k(I,Q,g,A,B,E){C().exports.matmul_i16(I,Q,g,A,B,E)}function N(I,Q,g,A,B,E){C().exports.matmul_i8(I,Q,g,A,B,E)}export{a as matmul_c128,U as matmul_c64,F as matmul_f32,R as matmul_f64,k as matmul_i16,q as matmul_i32,w as matmul_i64,N as matmul_i8};
|