numpy-ts 1.0.0 → 1.2.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.
Files changed (469) hide show
  1. package/README.md +4 -3
  2. package/dist/esm/common/broadcasting.js +1 -1
  3. package/dist/esm/common/dtype.js +1 -1
  4. package/dist/esm/common/float16-conv.js +1 -0
  5. package/dist/esm/common/internal/compute.js +1 -1
  6. package/dist/esm/common/internal/indexing.js +1 -1
  7. package/dist/esm/common/ndarray-core.js +1 -1
  8. package/dist/esm/common/ops/advanced.js +1 -1
  9. package/dist/esm/common/ops/arithmetic.js +1 -1
  10. package/dist/esm/common/ops/bitwise.js +1 -1
  11. package/dist/esm/common/ops/comparison.js +1 -1
  12. package/dist/esm/common/ops/complex.js +1 -1
  13. package/dist/esm/common/ops/exponential.js +1 -1
  14. package/dist/esm/common/ops/fft.js +1 -1
  15. package/dist/esm/common/ops/formatting.js +1 -1
  16. package/dist/esm/common/ops/gradient.js +1 -1
  17. package/dist/esm/common/ops/hyperbolic.js +1 -1
  18. package/dist/esm/common/ops/linalg.js +2 -2
  19. package/dist/esm/common/ops/logic.js +1 -1
  20. package/dist/esm/common/ops/random.js +1 -1
  21. package/dist/esm/common/ops/reduction.js +1 -1
  22. package/dist/esm/common/ops/rounding.js +1 -1
  23. package/dist/esm/common/ops/sets.js +1 -1
  24. package/dist/esm/common/ops/shape.js +1 -1
  25. package/dist/esm/common/ops/sorting.js +1 -1
  26. package/dist/esm/common/ops/statistics.js +1 -1
  27. package/dist/esm/common/ops/trig.js +1 -1
  28. package/dist/esm/common/storage.js +1 -1
  29. package/dist/esm/common/wasm/abs.js +1 -0
  30. package/dist/esm/common/wasm/add.js +1 -0
  31. package/dist/esm/common/wasm/arccos.js +1 -0
  32. package/dist/esm/common/wasm/arcsin.js +1 -0
  33. package/dist/esm/common/wasm/arctan.js +1 -0
  34. package/dist/esm/common/wasm/argpartition.js +1 -0
  35. package/dist/esm/common/wasm/argsort.js +1 -0
  36. package/dist/esm/common/wasm/bins/abs.wasm.js +1 -0
  37. package/dist/esm/common/wasm/bins/add.wasm.js +1 -0
  38. package/dist/esm/common/wasm/bins/arccos.wasm.js +1 -0
  39. package/dist/esm/common/wasm/bins/arcsin.wasm.js +1 -0
  40. package/dist/esm/common/wasm/bins/arctan.wasm.js +1 -0
  41. package/dist/esm/common/wasm/bins/argpartition.wasm.js +1 -0
  42. package/dist/esm/common/wasm/bins/argsort.wasm.js +1 -0
  43. package/dist/esm/common/wasm/bins/bitwise_and.wasm.js +1 -0
  44. package/dist/esm/common/wasm/bins/bitwise_count.wasm.js +1 -0
  45. package/dist/esm/common/wasm/bins/bitwise_not.wasm.js +1 -0
  46. package/dist/esm/common/wasm/bins/bitwise_or.wasm.js +1 -0
  47. package/dist/esm/common/wasm/bins/bitwise_xor.wasm.js +1 -0
  48. package/dist/esm/common/wasm/bins/cholesky.wasm.js +1 -0
  49. package/dist/esm/common/wasm/bins/clip.wasm.js +1 -0
  50. package/dist/esm/common/wasm/bins/convolve.wasm.js +1 -0
  51. package/dist/esm/common/wasm/bins/copysign.wasm.js +1 -0
  52. package/dist/esm/common/wasm/bins/correlate.wasm.js +1 -0
  53. package/dist/esm/common/wasm/bins/cos.wasm.js +1 -0
  54. package/dist/esm/common/wasm/bins/cosh.wasm.js +1 -0
  55. package/dist/esm/common/wasm/bins/cross.wasm.js +1 -0
  56. package/dist/esm/common/wasm/bins/diff.wasm.js +1 -0
  57. package/dist/esm/common/wasm/bins/divide.wasm.js +1 -0
  58. package/dist/esm/common/wasm/bins/dot.wasm.js +1 -0
  59. package/dist/esm/common/wasm/bins/exp.wasm.js +1 -0
  60. package/dist/esm/common/wasm/bins/exp2.wasm.js +1 -0
  61. package/dist/esm/common/wasm/bins/fft.wasm.js +1 -0
  62. package/dist/esm/common/wasm/bins/flip.wasm.js +1 -0
  63. package/dist/esm/common/wasm/bins/frexp.wasm.js +1 -0
  64. package/dist/esm/common/wasm/bins/gather.wasm.js +1 -0
  65. package/dist/esm/common/wasm/bins/gcd.wasm.js +1 -0
  66. package/dist/esm/common/wasm/bins/gradient.wasm.js +1 -0
  67. package/dist/esm/common/wasm/bins/heaviside.wasm.js +1 -0
  68. package/dist/esm/common/wasm/bins/hypot.wasm.js +1 -0
  69. package/dist/esm/common/wasm/bins/indices.wasm.js +1 -0
  70. package/dist/esm/common/wasm/bins/inner.wasm.js +1 -0
  71. package/dist/esm/common/wasm/bins/kron.wasm.js +1 -0
  72. package/dist/esm/common/wasm/bins/ldexp.wasm.js +1 -0
  73. package/dist/esm/common/wasm/bins/left_shift.wasm.js +1 -0
  74. package/dist/esm/common/wasm/bins/lexsort.wasm.js +1 -0
  75. package/dist/esm/common/wasm/bins/logaddexp.wasm.js +1 -0
  76. package/dist/esm/common/wasm/bins/logical_and.wasm.js +1 -0
  77. package/dist/esm/common/wasm/bins/logical_not.wasm.js +1 -0
  78. package/dist/esm/common/wasm/bins/logical_or.wasm.js +1 -0
  79. package/dist/esm/common/wasm/bins/logical_xor.wasm.js +1 -0
  80. package/dist/esm/common/wasm/bins/matmul.wasm.js +1 -0
  81. package/dist/esm/common/wasm/bins/matvec.wasm.js +1 -0
  82. package/dist/esm/common/wasm/bins/max.wasm.js +1 -0
  83. package/dist/esm/common/wasm/bins/min.wasm.js +1 -0
  84. package/dist/esm/common/wasm/bins/mul.wasm.js +1 -0
  85. package/dist/esm/common/wasm/bins/neg.wasm.js +1 -0
  86. package/dist/esm/common/wasm/bins/outer.wasm.js +1 -0
  87. package/dist/esm/common/wasm/bins/pad.wasm.js +1 -0
  88. package/dist/esm/common/wasm/bins/partition.wasm.js +1 -0
  89. package/dist/esm/common/wasm/bins/power.wasm.js +1 -0
  90. package/dist/esm/common/wasm/bins/qr.wasm.js +1 -0
  91. package/dist/esm/common/wasm/bins/reciprocal.wasm.js +1 -0
  92. package/dist/esm/common/wasm/bins/reduce_all.wasm.js +1 -0
  93. package/dist/esm/common/wasm/bins/reduce_any.wasm.js +1 -0
  94. package/dist/esm/common/wasm/bins/reduce_argmax.wasm.js +1 -0
  95. package/dist/esm/common/wasm/bins/reduce_argmin.wasm.js +1 -0
  96. package/dist/esm/common/wasm/bins/reduce_count_nz.wasm.js +1 -0
  97. package/dist/esm/common/wasm/bins/reduce_max.wasm.js +1 -0
  98. package/dist/esm/common/wasm/bins/reduce_mean.wasm.js +1 -0
  99. package/dist/esm/common/wasm/bins/reduce_min.wasm.js +1 -0
  100. package/dist/esm/common/wasm/bins/reduce_nanmax.wasm.js +1 -0
  101. package/dist/esm/common/wasm/bins/reduce_nanmin.wasm.js +1 -0
  102. package/dist/esm/common/wasm/bins/reduce_nansum.wasm.js +1 -0
  103. package/dist/esm/common/wasm/bins/reduce_prod.wasm.js +1 -0
  104. package/dist/esm/common/wasm/bins/reduce_quantile.wasm.js +1 -0
  105. package/dist/esm/common/wasm/bins/reduce_std.wasm.js +1 -0
  106. package/dist/esm/common/wasm/bins/reduce_sum.wasm.js +1 -0
  107. package/dist/esm/common/wasm/bins/reduce_var.wasm.js +1 -0
  108. package/dist/esm/common/wasm/bins/repeat.wasm.js +1 -0
  109. package/dist/esm/common/wasm/bins/right_shift.wasm.js +1 -0
  110. package/dist/esm/common/wasm/bins/rng.wasm.js +1 -0
  111. package/dist/esm/common/wasm/bins/roll.wasm.js +1 -0
  112. package/dist/esm/common/wasm/bins/rot90.wasm.js +1 -0
  113. package/dist/esm/common/wasm/bins/searchsorted.wasm.js +1 -0
  114. package/dist/esm/common/wasm/bins/sign.wasm.js +1 -0
  115. package/dist/esm/common/wasm/bins/sinh.wasm.js +1 -0
  116. package/dist/esm/common/wasm/bins/sort.wasm.js +1 -0
  117. package/dist/esm/common/wasm/bins/sqrt.wasm.js +1 -0
  118. package/dist/esm/common/wasm/bins/square.wasm.js +1 -0
  119. package/dist/esm/common/wasm/bins/sub.wasm.js +1 -0
  120. package/dist/esm/common/wasm/bins/svd.wasm.js +1 -0
  121. package/dist/esm/common/wasm/bins/tan.wasm.js +1 -0
  122. package/dist/esm/common/wasm/bins/tanh.wasm.js +1 -0
  123. package/dist/esm/common/wasm/bins/tile.wasm.js +1 -0
  124. package/dist/esm/common/wasm/bins/vdot.wasm.js +1 -0
  125. package/dist/esm/common/wasm/bins/vecdot.wasm.js +1 -0
  126. package/dist/esm/common/wasm/bins/vecmat.wasm.js +1 -0
  127. package/dist/esm/common/wasm/bitwise_and.js +1 -0
  128. package/dist/esm/common/wasm/bitwise_count.js +1 -0
  129. package/dist/esm/common/wasm/bitwise_not.js +1 -0
  130. package/dist/esm/common/wasm/bitwise_or.js +1 -0
  131. package/dist/esm/common/wasm/bitwise_xor.js +1 -0
  132. package/dist/esm/common/wasm/cholesky.js +1 -0
  133. package/dist/esm/common/wasm/clip.js +1 -0
  134. package/dist/esm/common/wasm/config.js +1 -0
  135. package/dist/esm/common/wasm/convolve.js +1 -0
  136. package/dist/esm/common/wasm/copysign.js +1 -0
  137. package/dist/esm/common/wasm/correlate.js +1 -0
  138. package/dist/esm/common/wasm/cos.js +1 -0
  139. package/dist/esm/common/wasm/cosh.js +1 -0
  140. package/dist/esm/common/wasm/cross.js +1 -0
  141. package/dist/esm/common/wasm/diff.js +1 -0
  142. package/dist/esm/common/wasm/divide.js +1 -0
  143. package/dist/esm/common/wasm/dot.js +1 -0
  144. package/dist/esm/common/wasm/exp.js +1 -0
  145. package/dist/esm/common/wasm/exp2.js +1 -0
  146. package/dist/esm/common/wasm/fft.js +1 -0
  147. package/dist/esm/common/wasm/flip.js +1 -0
  148. package/dist/esm/common/wasm/frexp.js +1 -0
  149. package/dist/esm/common/wasm/gather.js +1 -0
  150. package/dist/esm/common/wasm/gcd.js +1 -0
  151. package/dist/esm/common/wasm/gradient.js +1 -0
  152. package/dist/esm/common/wasm/heaviside.js +1 -0
  153. package/dist/esm/common/wasm/hypot.js +1 -0
  154. package/dist/esm/common/wasm/indices.js +1 -0
  155. package/dist/esm/common/wasm/inner.js +1 -0
  156. package/dist/esm/common/wasm/kron.js +1 -0
  157. package/dist/esm/common/wasm/ldexp.js +1 -0
  158. package/dist/esm/common/wasm/left_shift.js +1 -0
  159. package/dist/esm/common/wasm/lexsort.js +1 -0
  160. package/dist/esm/common/wasm/logaddexp.js +1 -0
  161. package/dist/esm/common/wasm/logical_and.js +1 -0
  162. package/dist/esm/common/wasm/logical_not.js +1 -0
  163. package/dist/esm/common/wasm/logical_or.js +1 -0
  164. package/dist/esm/common/wasm/logical_xor.js +1 -0
  165. package/dist/esm/common/wasm/matmul.js +1 -0
  166. package/dist/esm/common/wasm/matvec.js +1 -0
  167. package/dist/esm/common/wasm/max.js +1 -0
  168. package/dist/esm/common/wasm/min.js +1 -0
  169. package/dist/esm/common/wasm/mul.js +1 -0
  170. package/dist/esm/common/wasm/neg.js +1 -0
  171. package/dist/esm/common/wasm/outer.js +1 -0
  172. package/dist/esm/common/wasm/pad.js +1 -0
  173. package/dist/esm/common/wasm/partition.js +1 -0
  174. package/dist/esm/common/wasm/power.js +1 -0
  175. package/dist/esm/common/wasm/qr.js +1 -0
  176. package/dist/esm/common/wasm/reciprocal.js +1 -0
  177. package/dist/esm/common/wasm/reduce_all.js +1 -0
  178. package/dist/esm/common/wasm/reduce_any.js +1 -0
  179. package/dist/esm/common/wasm/reduce_argmax.js +1 -0
  180. package/dist/esm/common/wasm/reduce_argmin.js +1 -0
  181. package/dist/esm/common/wasm/reduce_count_nz.js +1 -0
  182. package/dist/esm/common/wasm/reduce_max.js +1 -0
  183. package/dist/esm/common/wasm/reduce_mean.js +1 -0
  184. package/dist/esm/common/wasm/reduce_min.js +1 -0
  185. package/dist/esm/common/wasm/reduce_nanmax.js +1 -0
  186. package/dist/esm/common/wasm/reduce_nanmin.js +1 -0
  187. package/dist/esm/common/wasm/reduce_nansum.js +1 -0
  188. package/dist/esm/common/wasm/reduce_prod.js +1 -0
  189. package/dist/esm/common/wasm/reduce_quantile.js +1 -0
  190. package/dist/esm/common/wasm/reduce_std.js +1 -0
  191. package/dist/esm/common/wasm/reduce_sum.js +1 -0
  192. package/dist/esm/common/wasm/reduce_var.js +1 -0
  193. package/dist/esm/common/wasm/repeat.js +1 -0
  194. package/dist/esm/common/wasm/right_shift.js +1 -0
  195. package/dist/esm/common/wasm/rng.js +1 -0
  196. package/dist/esm/common/wasm/roll.js +1 -0
  197. package/dist/esm/common/wasm/rot90.js +1 -0
  198. package/dist/esm/common/wasm/runtime.js +1 -0
  199. package/dist/esm/common/wasm/searchsorted.js +1 -0
  200. package/dist/esm/common/wasm/sign.js +1 -0
  201. package/dist/esm/common/wasm/sinh.js +1 -0
  202. package/dist/esm/common/wasm/sort.js +1 -0
  203. package/dist/esm/common/wasm/sqrt.js +1 -0
  204. package/dist/esm/common/wasm/square.js +1 -0
  205. package/dist/esm/common/wasm/sub.js +1 -0
  206. package/dist/esm/common/wasm/svd.js +1 -0
  207. package/dist/esm/common/wasm/tan.js +1 -0
  208. package/dist/esm/common/wasm/tanh.js +1 -0
  209. package/dist/esm/common/wasm/tile.js +1 -0
  210. package/dist/esm/common/wasm/vdot.js +1 -0
  211. package/dist/esm/common/wasm/vecdot.js +1 -0
  212. package/dist/esm/common/wasm/vecmat.js +1 -0
  213. package/dist/esm/core/advanced.js +1 -1
  214. package/dist/esm/core/arithmetic.js +1 -1
  215. package/dist/esm/core/bitwise.js +1 -1
  216. package/dist/esm/core/complex.js +1 -1
  217. package/dist/esm/core/creation.js +1 -1
  218. package/dist/esm/core/formatting.js +1 -1
  219. package/dist/esm/core/gradient.js +1 -1
  220. package/dist/esm/core/index.js +1 -1
  221. package/dist/esm/core/linalg.js +1 -1
  222. package/dist/esm/core/logic.js +1 -1
  223. package/dist/esm/core/polynomial.js +1 -1
  224. package/dist/esm/core/reduction.js +1 -1
  225. package/dist/esm/core/rounding.js +1 -1
  226. package/dist/esm/core/sets.js +1 -1
  227. package/dist/esm/core/shape-extra.js +1 -1
  228. package/dist/esm/core/shape.js +1 -1
  229. package/dist/esm/core/sorting.js +1 -1
  230. package/dist/esm/core/statistics.js +1 -1
  231. package/dist/esm/core/trig.js +1 -1
  232. package/dist/esm/core/typechecking.js +1 -1
  233. package/dist/esm/core/types.js +1 -1
  234. package/dist/esm/core/utility.js +1 -1
  235. package/dist/esm/core.js +1 -1
  236. package/dist/esm/full/index.js +1 -1
  237. package/dist/esm/full/ndarray.js +1 -1
  238. package/dist/esm/index.js +1 -1
  239. package/dist/esm/io/file-ops.js +1 -0
  240. package/dist/esm/io/filesystem.js +1 -0
  241. package/dist/esm/io/index.js +1 -1
  242. package/dist/esm/io/npy/format.js +1 -1
  243. package/dist/esm/io/npy/index.js +1 -1
  244. package/dist/esm/io/npy/parser.js +1 -1
  245. package/dist/esm/io/npy/serializer.js +2 -2
  246. package/dist/esm/io/npz/index.js +1 -1
  247. package/dist/esm/io/npz/parser.js +1 -1
  248. package/dist/esm/io/npz/serializer.js +1 -1
  249. package/dist/esm/io/txt/index.js +1 -1
  250. package/dist/esm/io/txt/parser.js +1 -1
  251. package/dist/esm/io/zip/index.js +1 -1
  252. package/dist/esm/io/zip/reader.js +1 -1
  253. package/dist/esm/io/zip/types.js +1 -1
  254. package/dist/esm/io/zip/writer.js +1 -1
  255. package/dist/esm/node.js +1 -1
  256. package/dist/numpy-ts.browser.js +6 -6
  257. package/dist/types/common/dtype.d.ts +9 -4
  258. package/dist/types/common/float16-conv.d.ts +27 -0
  259. package/dist/types/common/internal/indexing.d.ts +15 -18
  260. package/dist/types/common/ndarray-core.d.ts +3 -13
  261. package/dist/types/common/ops/linalg.d.ts +13 -12
  262. package/dist/types/common/ops/random.d.ts +10 -5
  263. package/dist/types/common/ops/sets.d.ts +1 -1
  264. package/dist/types/common/ops/shape.d.ts +11 -0
  265. package/dist/types/common/storage.d.ts +4 -0
  266. package/dist/types/common/wasm/abs.d.ts +14 -0
  267. package/dist/types/common/wasm/add.d.ts +19 -0
  268. package/dist/types/common/wasm/arccos.d.ts +15 -0
  269. package/dist/types/common/wasm/arcsin.d.ts +15 -0
  270. package/dist/types/common/wasm/arctan.d.ts +15 -0
  271. package/dist/types/common/wasm/argpartition.d.ts +18 -0
  272. package/dist/types/common/wasm/argsort.d.ts +18 -0
  273. package/dist/types/common/wasm/bins/abs.wasm.d.ts +7 -0
  274. package/dist/types/common/wasm/bins/add.wasm.d.ts +17 -0
  275. package/dist/types/common/wasm/bins/arccos.wasm.d.ts +5 -0
  276. package/dist/types/common/wasm/bins/arcsin.wasm.d.ts +5 -0
  277. package/dist/types/common/wasm/bins/arctan.wasm.d.ts +5 -0
  278. package/dist/types/common/wasm/bins/argpartition.wasm.d.ts +21 -0
  279. package/dist/types/common/wasm/bins/argsort.wasm.d.ts +25 -0
  280. package/dist/types/common/wasm/bins/bitwise_and.wasm.d.ts +5 -0
  281. package/dist/types/common/wasm/bins/bitwise_count.wasm.d.ts +9 -0
  282. package/dist/types/common/wasm/bins/bitwise_not.wasm.d.ts +5 -0
  283. package/dist/types/common/wasm/bins/bitwise_or.wasm.d.ts +5 -0
  284. package/dist/types/common/wasm/bins/bitwise_xor.wasm.d.ts +5 -0
  285. package/dist/types/common/wasm/bins/cholesky.wasm.d.ts +3 -0
  286. package/dist/types/common/wasm/bins/clip.wasm.d.ts +11 -0
  287. package/dist/types/common/wasm/bins/convolve.wasm.d.ts +3 -0
  288. package/dist/types/common/wasm/bins/copysign.wasm.d.ts +21 -0
  289. package/dist/types/common/wasm/bins/correlate.wasm.d.ts +3 -0
  290. package/dist/types/common/wasm/bins/cos.wasm.d.ts +3 -0
  291. package/dist/types/common/wasm/bins/cosh.wasm.d.ts +5 -0
  292. package/dist/types/common/wasm/bins/cross.wasm.d.ts +9 -0
  293. package/dist/types/common/wasm/bins/diff.wasm.d.ts +13 -0
  294. package/dist/types/common/wasm/bins/divide.wasm.d.ts +23 -0
  295. package/dist/types/common/wasm/bins/dot.wasm.d.ts +9 -0
  296. package/dist/types/common/wasm/bins/exp.wasm.d.ts +5 -0
  297. package/dist/types/common/wasm/bins/exp2.wasm.d.ts +5 -0
  298. package/dist/types/common/wasm/bins/fft.wasm.d.ts +22 -0
  299. package/dist/types/common/wasm/bins/flip.wasm.d.ts +7 -0
  300. package/dist/types/common/wasm/bins/frexp.wasm.d.ts +2 -0
  301. package/dist/types/common/wasm/bins/gather.wasm.d.ts +32 -0
  302. package/dist/types/common/wasm/bins/gcd.wasm.d.ts +3 -0
  303. package/dist/types/common/wasm/bins/gradient.wasm.d.ts +11 -0
  304. package/dist/types/common/wasm/bins/heaviside.wasm.d.ts +5 -0
  305. package/dist/types/common/wasm/bins/hypot.wasm.d.ts +13 -0
  306. package/dist/types/common/wasm/bins/indices.wasm.d.ts +3 -0
  307. package/dist/types/common/wasm/bins/inner.wasm.d.ts +9 -0
  308. package/dist/types/common/wasm/bins/kron.wasm.d.ts +9 -0
  309. package/dist/types/common/wasm/bins/ldexp.wasm.d.ts +3 -0
  310. package/dist/types/common/wasm/bins/left_shift.wasm.d.ts +9 -0
  311. package/dist/types/common/wasm/bins/lexsort.wasm.d.ts +11 -0
  312. package/dist/types/common/wasm/bins/logaddexp.wasm.d.ts +21 -0
  313. package/dist/types/common/wasm/bins/logical_and.wasm.d.ts +13 -0
  314. package/dist/types/common/wasm/bins/logical_not.wasm.d.ts +7 -0
  315. package/dist/types/common/wasm/bins/logical_or.wasm.d.ts +13 -0
  316. package/dist/types/common/wasm/bins/logical_xor.wasm.d.ts +13 -0
  317. package/dist/types/common/wasm/bins/matmul.wasm.d.ts +9 -0
  318. package/dist/types/common/wasm/bins/matvec.wasm.d.ts +9 -0
  319. package/dist/types/common/wasm/bins/max.wasm.d.ts +21 -0
  320. package/dist/types/common/wasm/bins/min.wasm.d.ts +21 -0
  321. package/dist/types/common/wasm/bins/mul.wasm.d.ts +17 -0
  322. package/dist/types/common/wasm/bins/neg.wasm.d.ts +9 -0
  323. package/dist/types/common/wasm/bins/outer.wasm.d.ts +9 -0
  324. package/dist/types/common/wasm/bins/pad.wasm.d.ts +7 -0
  325. package/dist/types/common/wasm/bins/partition.wasm.d.ts +21 -0
  326. package/dist/types/common/wasm/bins/power.wasm.d.ts +13 -0
  327. package/dist/types/common/wasm/bins/qr.wasm.d.ts +3 -0
  328. package/dist/types/common/wasm/bins/reciprocal.wasm.d.ts +7 -0
  329. package/dist/types/common/wasm/bins/reduce_all.wasm.d.ts +7 -0
  330. package/dist/types/common/wasm/bins/reduce_any.wasm.d.ts +7 -0
  331. package/dist/types/common/wasm/bins/reduce_argmax.wasm.d.ts +11 -0
  332. package/dist/types/common/wasm/bins/reduce_argmin.wasm.d.ts +11 -0
  333. package/dist/types/common/wasm/bins/reduce_count_nz.wasm.d.ts +7 -0
  334. package/dist/types/common/wasm/bins/reduce_max.wasm.d.ts +20 -0
  335. package/dist/types/common/wasm/bins/reduce_mean.wasm.d.ts +21 -0
  336. package/dist/types/common/wasm/bins/reduce_min.wasm.d.ts +20 -0
  337. package/dist/types/common/wasm/bins/reduce_nanmax.wasm.d.ts +3 -0
  338. package/dist/types/common/wasm/bins/reduce_nanmin.wasm.d.ts +3 -0
  339. package/dist/types/common/wasm/bins/reduce_nansum.wasm.d.ts +3 -0
  340. package/dist/types/common/wasm/bins/reduce_prod.wasm.d.ts +19 -0
  341. package/dist/types/common/wasm/bins/reduce_quantile.wasm.d.ts +2 -0
  342. package/dist/types/common/wasm/bins/reduce_std.wasm.d.ts +11 -0
  343. package/dist/types/common/wasm/bins/reduce_sum.wasm.d.ts +17 -0
  344. package/dist/types/common/wasm/bins/reduce_var.wasm.d.ts +11 -0
  345. package/dist/types/common/wasm/bins/repeat.wasm.d.ts +7 -0
  346. package/dist/types/common/wasm/bins/right_shift.wasm.d.ts +17 -0
  347. package/dist/types/common/wasm/bins/rng.wasm.d.ts +60 -0
  348. package/dist/types/common/wasm/bins/roll.wasm.d.ts +7 -0
  349. package/dist/types/common/wasm/bins/rot90.wasm.d.ts +7 -0
  350. package/dist/types/common/wasm/bins/searchsorted.wasm.d.ts +21 -0
  351. package/dist/types/common/wasm/bins/sign.wasm.d.ts +7 -0
  352. package/dist/types/common/wasm/bins/sinh.wasm.d.ts +5 -0
  353. package/dist/types/common/wasm/bins/sort.wasm.d.ts +27 -0
  354. package/dist/types/common/wasm/bins/sqrt.wasm.d.ts +7 -0
  355. package/dist/types/common/wasm/bins/square.wasm.d.ts +9 -0
  356. package/dist/types/common/wasm/bins/sub.wasm.d.ts +17 -0
  357. package/dist/types/common/wasm/bins/svd.wasm.d.ts +2 -0
  358. package/dist/types/common/wasm/bins/tan.wasm.d.ts +3 -0
  359. package/dist/types/common/wasm/bins/tanh.wasm.d.ts +5 -0
  360. package/dist/types/common/wasm/bins/tile.wasm.d.ts +7 -0
  361. package/dist/types/common/wasm/bins/vdot.wasm.d.ts +3 -0
  362. package/dist/types/common/wasm/bins/vecdot.wasm.d.ts +9 -0
  363. package/dist/types/common/wasm/bins/vecmat.wasm.d.ts +9 -0
  364. package/dist/types/common/wasm/bitwise_and.d.ts +9 -0
  365. package/dist/types/common/wasm/bitwise_count.d.ts +11 -0
  366. package/dist/types/common/wasm/bitwise_not.d.ts +9 -0
  367. package/dist/types/common/wasm/bitwise_or.d.ts +9 -0
  368. package/dist/types/common/wasm/bitwise_xor.d.ts +9 -0
  369. package/dist/types/common/wasm/cholesky.d.ts +20 -0
  370. package/dist/types/common/wasm/clip.d.ts +13 -0
  371. package/dist/types/common/wasm/config.d.ts +21 -0
  372. package/dist/types/common/wasm/convolve.d.ts +14 -0
  373. package/dist/types/common/wasm/copysign.d.ts +19 -0
  374. package/dist/types/common/wasm/correlate.d.ts +14 -0
  375. package/dist/types/common/wasm/cos.d.ts +15 -0
  376. package/dist/types/common/wasm/cosh.d.ts +15 -0
  377. package/dist/types/common/wasm/cross.d.ts +15 -0
  378. package/dist/types/common/wasm/diff.d.ts +15 -0
  379. package/dist/types/common/wasm/divide.d.ts +11 -0
  380. package/dist/types/common/wasm/dot.d.ts +14 -0
  381. package/dist/types/common/wasm/exp.d.ts +15 -0
  382. package/dist/types/common/wasm/exp2.d.ts +15 -0
  383. package/dist/types/common/wasm/fft.d.ts +65 -0
  384. package/dist/types/common/wasm/flip.d.ts +13 -0
  385. package/dist/types/common/wasm/frexp.d.ts +9 -0
  386. package/dist/types/common/wasm/gather.d.ts +23 -0
  387. package/dist/types/common/wasm/gcd.d.ts +11 -0
  388. package/dist/types/common/wasm/gradient.d.ts +13 -0
  389. package/dist/types/common/wasm/heaviside.d.ts +11 -0
  390. package/dist/types/common/wasm/hypot.d.ts +21 -0
  391. package/dist/types/common/wasm/indices.d.ts +10 -0
  392. package/dist/types/common/wasm/inner.d.ts +20 -0
  393. package/dist/types/common/wasm/kron.d.ts +13 -0
  394. package/dist/types/common/wasm/ldexp.d.ts +9 -0
  395. package/dist/types/common/wasm/left_shift.d.ts +11 -0
  396. package/dist/types/common/wasm/lexsort.d.ts +14 -0
  397. package/dist/types/common/wasm/logaddexp.d.ts +21 -0
  398. package/dist/types/common/wasm/logical_and.d.ts +19 -0
  399. package/dist/types/common/wasm/logical_not.d.ts +13 -0
  400. package/dist/types/common/wasm/logical_or.d.ts +19 -0
  401. package/dist/types/common/wasm/logical_xor.d.ts +19 -0
  402. package/dist/types/common/wasm/matmul.d.ts +18 -0
  403. package/dist/types/common/wasm/matvec.d.ts +13 -0
  404. package/dist/types/common/wasm/max.d.ts +11 -0
  405. package/dist/types/common/wasm/min.d.ts +11 -0
  406. package/dist/types/common/wasm/mul.d.ts +19 -0
  407. package/dist/types/common/wasm/neg.d.ts +13 -0
  408. package/dist/types/common/wasm/outer.d.ts +13 -0
  409. package/dist/types/common/wasm/pad.d.ts +14 -0
  410. package/dist/types/common/wasm/partition.d.ts +20 -0
  411. package/dist/types/common/wasm/power.d.ts +19 -0
  412. package/dist/types/common/wasm/qr.d.ts +17 -0
  413. package/dist/types/common/wasm/reciprocal.d.ts +9 -0
  414. package/dist/types/common/wasm/reduce_all.d.ts +14 -0
  415. package/dist/types/common/wasm/reduce_any.d.ts +14 -0
  416. package/dist/types/common/wasm/reduce_argmax.d.ts +14 -0
  417. package/dist/types/common/wasm/reduce_argmin.d.ts +14 -0
  418. package/dist/types/common/wasm/reduce_count_nz.d.ts +14 -0
  419. package/dist/types/common/wasm/reduce_max.d.ts +19 -0
  420. package/dist/types/common/wasm/reduce_mean.d.ts +19 -0
  421. package/dist/types/common/wasm/reduce_min.d.ts +19 -0
  422. package/dist/types/common/wasm/reduce_nanmax.d.ts +14 -0
  423. package/dist/types/common/wasm/reduce_nanmin.d.ts +14 -0
  424. package/dist/types/common/wasm/reduce_nansum.d.ts +14 -0
  425. package/dist/types/common/wasm/reduce_prod.d.ts +20 -0
  426. package/dist/types/common/wasm/reduce_quantile.d.ts +15 -0
  427. package/dist/types/common/wasm/reduce_std.d.ts +14 -0
  428. package/dist/types/common/wasm/reduce_sum.d.ts +20 -0
  429. package/dist/types/common/wasm/reduce_var.d.ts +14 -0
  430. package/dist/types/common/wasm/repeat.d.ts +14 -0
  431. package/dist/types/common/wasm/right_shift.d.ts +11 -0
  432. package/dist/types/common/wasm/rng.d.ts +65 -0
  433. package/dist/types/common/wasm/roll.d.ts +13 -0
  434. package/dist/types/common/wasm/rot90.d.ts +14 -0
  435. package/dist/types/common/wasm/runtime.d.ts +55 -0
  436. package/dist/types/common/wasm/searchsorted.d.ts +12 -0
  437. package/dist/types/common/wasm/sign.d.ts +14 -0
  438. package/dist/types/common/wasm/sinh.d.ts +15 -0
  439. package/dist/types/common/wasm/sort.d.ts +20 -0
  440. package/dist/types/common/wasm/sqrt.d.ts +15 -0
  441. package/dist/types/common/wasm/square.d.ts +13 -0
  442. package/dist/types/common/wasm/sub.d.ts +19 -0
  443. package/dist/types/common/wasm/svd.d.ts +18 -0
  444. package/dist/types/common/wasm/tan.d.ts +15 -0
  445. package/dist/types/common/wasm/tanh.d.ts +15 -0
  446. package/dist/types/common/wasm/tile.d.ts +14 -0
  447. package/dist/types/common/wasm/vdot.d.ts +16 -0
  448. package/dist/types/common/wasm/vecdot.d.ts +15 -0
  449. package/dist/types/common/wasm/vecmat.d.ts +13 -0
  450. package/dist/types/core/index.d.ts +94 -1
  451. package/dist/types/core/linalg.d.ts +10 -10
  452. package/dist/types/core/reduction.d.ts +17 -17
  453. package/dist/types/core/rounding.d.ts +0 -2
  454. package/dist/types/core/sets.d.ts +1 -1
  455. package/dist/types/core/sorting.d.ts +1 -1
  456. package/dist/types/full/index.d.ts +20 -18
  457. package/dist/types/full/ndarray.d.ts +16 -22
  458. package/dist/types/index.d.ts +18 -3
  459. package/dist/types/io/file-ops.d.ts +269 -0
  460. package/dist/types/io/filesystem.d.ts +21 -0
  461. package/dist/types/io/zip/types.d.ts +2 -1
  462. package/dist/types/node.d.ts +3 -275
  463. package/package.json +54 -35
  464. package/dist/numpy-ts.node-io.cjs +0 -8
  465. package/dist/numpy-ts.node-io.cjs.map +0 -7
  466. package/dist/numpy-ts.node-io.mjs +0 -8
  467. package/dist/numpy-ts.node-io.mjs.map +0 -7
  468. package/dist/numpy-ts.node.cjs +0 -8
  469. package/dist/numpy-ts.node.cjs.map +0 -7
@@ -2,7 +2,7 @@
2
2
  * DType (Data Type) system for numpy-ts
3
3
  *
4
4
  * Supports NumPy numeric types:
5
- * - Floating point: float32, float64
5
+ * - Floating point: float16, float32, float64
6
6
  * - Complex: complex64, complex128
7
7
  * - Signed integers: int8, int16, int32, int64
8
8
  * - Unsigned integers: uint8, uint16, uint32, uint64
@@ -11,11 +11,16 @@
11
11
  /**
12
12
  * All supported dtypes
13
13
  */
14
- export type DType = 'float64' | 'float32' | 'complex128' | 'complex64' | 'int64' | 'int32' | 'int16' | 'int8' | 'uint64' | 'uint32' | 'uint16' | 'uint8' | 'bool';
14
+ export type DType = 'float64' | 'float32' | 'float16' | 'complex128' | 'complex64' | 'int64' | 'int32' | 'int16' | 'int8' | 'uint64' | 'uint32' | 'uint16' | 'uint8' | 'bool';
15
15
  /**
16
16
  * TypedArray types for each dtype
17
17
  */
18
- export type TypedArray = Float64Array | Float32Array | BigInt64Array | Int32Array | Int16Array | Int8Array | BigUint64Array | Uint32Array | Uint16Array | Uint8Array;
18
+ export type TypedArray = Float64Array | Float32Array | Float16Array | BigInt64Array | Int32Array | Int16Array | Int8Array | BigUint64Array | Uint32Array | Uint16Array | Uint8Array;
19
+ /**
20
+ * Whether the runtime supports native Float16Array (TC39 proposal, available in modern engines).
21
+ * When false, float16 dtype uses Float32Array as a fallback backing store.
22
+ */
23
+ export declare const hasFloat16: boolean;
19
24
  /**
20
25
  * Default dtype (matches NumPy)
21
26
  */
@@ -27,7 +32,7 @@ export declare const DEFAULT_DTYPE: DType;
27
32
  * Note: Complex arrays have 2x the physical elements (interleaved real, imag).
28
33
  */
29
34
  export declare function getTypedArrayConstructor(dtype: DType): TypedArrayConstructor | null;
30
- type TypedArrayConstructor = Float64ArrayConstructor | Float32ArrayConstructor | BigInt64ArrayConstructor | Int32ArrayConstructor | Int16ArrayConstructor | Int8ArrayConstructor | BigUint64ArrayConstructor | Uint32ArrayConstructor | Uint16ArrayConstructor | Uint8ArrayConstructor;
35
+ type TypedArrayConstructor = Float64ArrayConstructor | Float32ArrayConstructor | Float16ArrayConstructor | BigInt64ArrayConstructor | Int32ArrayConstructor | Int16ArrayConstructor | Int8ArrayConstructor | BigUint64ArrayConstructor | Uint32ArrayConstructor | Uint16ArrayConstructor | Uint8ArrayConstructor;
31
36
  /**
32
37
  * Get the element size in bytes for a given dtype.
33
38
  * For complex types, returns the full element size (both real and imag parts).
@@ -0,0 +1,27 @@
1
+ /**
2
+ * IEEE 754 half-precision (float16) conversion utilities.
3
+ *
4
+ * Used for NPY serialization/deserialization when native Float16Array
5
+ * is not available. When Float16Array IS available, these are only needed
6
+ * for NPY byte-level operations.
7
+ *
8
+ * @internal
9
+ */
10
+ /**
11
+ * Convert a float16 (stored as uint16 bits) to a float64 number.
12
+ * Handles denormals, infinities, NaN, and signed zero.
13
+ */
14
+ export declare function float16BitsToNumber(bits: number): number;
15
+ /**
16
+ * Convert a float64 number to float16 bits (uint16).
17
+ * Rounds to nearest even. Handles overflow to infinity and underflow to zero/denormal.
18
+ */
19
+ export declare function numberToFloat16Bits(value: number): number;
20
+ /**
21
+ * Create a typed array from float16 raw bytes (for NPY parsing).
22
+ *
23
+ * If native Float16Array is available, constructs one directly.
24
+ * Otherwise, converts each float16 value to float32 and returns a Float32Array.
25
+ */
26
+ export declare function float16BytesToTypedArray(buffer: ArrayBuffer, byteOffset: number, numElements: number, needsByteSwap: boolean): Float32Array;
27
+ //# sourceMappingURL=float16-conv.d.ts.map
@@ -7,24 +7,21 @@
7
7
  */
8
8
  export declare function computeStrides(shape: readonly number[]): number[];
9
9
  /**
10
- * Convert multi-index to linear index in row-major order
11
- */
12
- export declare function multiIndexToLinear(indices: number[], shape: readonly number[]): number;
13
- /**
14
- * Convert multi-index to buffer position using actual strides and offset.
15
- * Unlike multiIndexToLinear (which assumes C-contiguous layout),
16
- * this works correctly for non-contiguous views/slices.
17
- */
18
- export declare function multiIndexToBuffer(indices: number[], strides: readonly number[], offset: number): number;
19
- /**
20
- * Convert outer index and axis index to full multi-index
21
- * Used in reductions along a specific axis
10
+ * Precompute stride-based offsets for iterating over an axis reduction.
11
+ *
12
+ * Returns { baseOffsets, axisStride } where:
13
+ * - baseOffsets[outerIdx] is the buffer offset of the first element along the
14
+ * reduction axis for that output position
15
+ * - axisStride is the stride along the reduction axis in the buffer
16
+ *
17
+ * Inner loop becomes:
18
+ * let off = baseOffsets[outerIdx];
19
+ * for (k = 0; k < axisSize; k++, off += axisStride) { data[off] ... }
22
20
  *
23
- * @param outerIdx - Linear index in the reduced (output) array
24
- * @param axis - The axis being reduced
25
- * @param axisIdx - Position along the reduction axis
26
- * @param shape - Original array shape
27
- * @returns Full multi-index in the original array
21
+ * This eliminates per-element allocations and index decomposition.
28
22
  */
29
- export declare function outerIndexToMultiIndex(outerIdx: number, axis: number, axisIdx: number, shape: readonly number[]): number[];
23
+ export declare function precomputeAxisOffsets(shape: readonly number[], strides: readonly number[], offset: number, axis: number, outerSize: number): {
24
+ baseOffsets: Int32Array;
25
+ axisStride: number;
26
+ };
30
27
  //# sourceMappingURL=indexing.d.ts.map
@@ -10,21 +10,11 @@
10
10
  import { type DType, type TypedArray } from './dtype';
11
11
  import { Complex } from './complex';
12
12
  import { ArrayStorage } from './storage';
13
- /**
14
- * Minimal NDArray class - core functionality without operation methods
15
- *
16
- * This class provides:
17
- * - Array properties (shape, dtype, data, etc.)
18
- * - Element access (get, set, iget, iset)
19
- * - Basic methods (copy, astype, fill, slice)
20
- * - Conversion methods (toArray, tolist, tobytes)
21
- *
22
- * Operation methods (add, sin, reshape, etc.) are NOT included.
23
- * Use NDArray from ndarray-full.ts for the complete API.
24
- */
25
13
  export declare class NDArrayCore {
26
14
  protected _storage: ArrayStorage;
27
15
  protected _base?: NDArrayCore;
16
+ [key: number]: NDArrayCore | number | bigint | Complex;
17
+ private static readonly _proxyHandler;
28
18
  constructor(storage: ArrayStorage, base?: NDArrayCore);
29
19
  /**
30
20
  * Get internal storage (for ops modules)
@@ -100,7 +90,7 @@ export declare class NDArrayCore {
100
90
  /**
101
91
  * Slice the array
102
92
  */
103
- slice(...sliceStrs: string[]): NDArrayCore;
93
+ slice(...sliceStrs: string[]): this;
104
94
  /**
105
95
  * String representation
106
96
  */
@@ -24,14 +24,15 @@ import { Complex } from '../complex';
24
24
  */
25
25
  export declare function dot(a: ArrayStorage, b: ArrayStorage): ArrayStorage | number | bigint | Complex;
26
26
  /**
27
- * Matrix multiplication
28
- * Requires 2D arrays with compatible shapes
27
+ * Matrix multiplication - fully NumPy-compatible.
29
28
  *
30
- * Automatically detects transposed/non-contiguous arrays via strides
31
- * and uses appropriate DGEMM transpose parameters.
32
- *
33
- * Note: Currently uses float64 precision for all operations.
34
- * Integer inputs are promoted to float64 (matching NumPy behavior).
29
+ * Behavior by input dimensions:
30
+ * - 0D: raises ValueError (at least 1-D required)
31
+ * - 1D @ 1D: inner product → 0D scalar array
32
+ * - 2D @ 1D: matrix-vector 1D
33
+ * - 1D @ 2D: vector-matrix 1D
34
+ * - 2D @ 2D: matrix multiplication → 2D (optimized with DGEMM)
35
+ * - ND @ ND (N≥3): batched matrix multiply, batch dims broadcast → ND
35
36
  */
36
37
  export declare function matmul(a: ArrayStorage, b: ArrayStorage): ArrayStorage;
37
38
  /**
@@ -43,7 +44,7 @@ export declare function matmul(a: ArrayStorage, b: ArrayStorage): ArrayStorage;
43
44
  * @param a - Input 2D array
44
45
  * @returns Sum of diagonal elements
45
46
  */
46
- export declare function trace(a: ArrayStorage): number | bigint | Complex;
47
+ export declare function trace(a: ArrayStorage, offset?: number, axis1?: number, axis2?: number): ArrayStorage | number | bigint | Complex;
47
48
  /**
48
49
  * Permute the dimensions of an array
49
50
  *
@@ -158,7 +159,7 @@ export declare function kron(a: ArrayStorage, b: ArrayStorage): ArrayStorage;
158
159
  * @param axis - If defined, the axis of a, b and c that defines the vectors
159
160
  * @returns Cross product of a and b
160
161
  */
161
- export declare function cross(a: ArrayStorage, b: ArrayStorage, axisa?: number, axisb?: number, axisc?: number, axis?: number): ArrayStorage | number | Complex;
162
+ export declare function cross(a: ArrayStorage, b: ArrayStorage, axisa?: number, axisb?: number, axisc?: number, axis?: number): ArrayStorage | number | bigint | Complex;
162
163
  /**
163
164
  * Vector norm.
164
165
  *
@@ -246,7 +247,7 @@ export declare function svd(a: ArrayStorage, full_matrices?: boolean, compute_uv
246
247
  * @param a - Square matrix
247
248
  * @returns Determinant
248
249
  */
249
- export declare function det(a: ArrayStorage): number;
250
+ export declare function det(a: ArrayStorage): number | ArrayStorage;
250
251
  /**
251
252
  * Compute the matrix inverse - optimized to do LU decomposition once.
252
253
  *
@@ -442,8 +443,8 @@ export declare function vecmat(x1: ArrayStorage, x2: ArrayStorage): ArrayStorage
442
443
  * @returns { sign, logabsdet }
443
444
  */
444
445
  export declare function slogdet(a: ArrayStorage): {
445
- sign: number;
446
- logabsdet: number;
446
+ sign: number | ArrayStorage;
447
+ logabsdet: number | ArrayStorage;
447
448
  };
448
449
  /**
449
450
  * Compute singular values of a matrix.
@@ -5,17 +5,21 @@
5
5
  * - Legacy API (np.random.seed, random, rand, uniform, etc.) uses MT19937
6
6
  * - Modern API (np.random.default_rng) uses PCG64 with SeedSequence
7
7
  *
8
- * Both implementations produce identical output to NumPy when seeded.
8
+ * Core RNG and distribution algorithms run in WASM (Zig) for:
9
+ * - Exact NumPy output matching (Ziggurat for Generator, polar for legacy)
10
+ * - Native u128 for PCG64 (vs slow JS BigInt)
9
11
  */
10
12
  import { ArrayStorage } from '../storage';
11
13
  import { type DType } from '../dtype';
12
14
  /**
13
- * Random number generator class (matches NumPy's Generator from default_rng)
15
+ * Random number generator class (matches NumPy's Generator from default_rng).
16
+ * Each instance maintains its own PCG64 state snapshot, swapped into WASM on each call.
14
17
  */
15
18
  export declare class Generator {
16
- private _pcgState;
19
+ private _state;
17
20
  constructor(seedValue?: number);
18
- private _randomFloat;
21
+ /** Load this instance's state into WASM, run fn, snapshot state back. */
22
+ private _withState;
19
23
  random(size?: number | number[]): ArrayStorage | number;
20
24
  integers(low: number, high?: number, size?: number | number[]): ArrayStorage | number;
21
25
  standard_normal(size?: number | number[]): ArrayStorage | number;
@@ -185,7 +189,7 @@ export declare function set_bit_generator(bitgen: BitGenerator): void;
185
189
  export declare function standard_exponential(size?: number | number[]): ArrayStorage | number;
186
190
  /**
187
191
  * Draw samples from a standard gamma distribution
188
- * Uses Marsaglia and Tsang's method
192
+ * Uses NumPy's legacy_standard_gamma algorithm exactly
189
193
  * @param shape - Shape parameter (alpha, must be > 0)
190
194
  * @param size - Output shape
191
195
  */
@@ -203,6 +207,7 @@ export declare function standard_cauchy(size?: number | number[]): ArrayStorage
203
207
  export declare function standard_t(df: number, size?: number | number[]): ArrayStorage | number;
204
208
  /**
205
209
  * Draw samples from a Gamma distribution
210
+ * NumPy: scale * legacy_standard_gamma(shape)
206
211
  * @param shape - Shape parameter (k, alpha) (must be > 0)
207
212
  * @param scale - Scale parameter (theta) (default 1.0)
208
213
  * @param size - Output shape
@@ -5,7 +5,7 @@ import { ArrayStorage } from '../storage';
5
5
  /**
6
6
  * Find the unique elements of an array
7
7
  */
8
- export declare function unique(a: ArrayStorage, returnIndex?: boolean, returnInverse?: boolean, returnCounts?: boolean): ArrayStorage | {
8
+ export declare function unique(a: ArrayStorage, returnIndex?: boolean, returnInverse?: boolean, returnCounts?: boolean, axis?: number): ArrayStorage | {
9
9
  values: ArrayStorage;
10
10
  indices?: ArrayStorage;
11
11
  inverse?: ArrayStorage;
@@ -5,6 +5,17 @@
5
5
  * @module ops/shape
6
6
  */
7
7
  import { ArrayStorage } from '../storage';
8
+ /**
9
+ * Slice an array along one or more dimensions
10
+ * Returns a view (no data copy) with adjusted shape, strides, and offset
11
+ */
12
+ export declare function slice(storage: ArrayStorage, ...sliceStrs: string[]): ArrayStorage;
13
+ /**
14
+ * Slice an array along one or more dimensions, keeping all dimensions (rank-preserving)
15
+ * Like slice(), but integer-index specs produce a size-1 dimension instead of dropping it.
16
+ * Returns a view (no data copy) with adjusted shape, strides, and offset
17
+ */
18
+ export declare function sliceKeepDim(storage: ArrayStorage, ...sliceStrs: string[]): ArrayStorage;
8
19
  /**
9
20
  * Reshape array to a new shape
10
21
  * Returns a view if array is C-contiguous, otherwise copies data
@@ -7,6 +7,10 @@
7
7
  */
8
8
  import { type DType, type TypedArray } from './dtype';
9
9
  import { Complex } from './complex';
10
+ /**
11
+ * Maximum number of dimensions an array can have (matches NumPy's limit).
12
+ */
13
+ export declare const MAX_NDIM = 64;
10
14
  /**
11
15
  * Internal storage for NDArray data
12
16
  * Manages the underlying TypedArray and metadata
@@ -0,0 +1,14 @@
1
+ /**
2
+ * WASM-accelerated element-wise absolute value.
3
+ *
4
+ * Unary: out[i] = |a[i]|
5
+ * Returns null if WASM can't handle this case.
6
+ * Complex types are not handled here (magnitude needs sqrt, handled in JS).
7
+ */
8
+ import { ArrayStorage } from '../storage';
9
+ /**
10
+ * WASM-accelerated element-wise absolute value.
11
+ * Returns null if WASM can't handle (complex types, non-contiguous, too small).
12
+ */
13
+ export declare function wasmAbs(a: ArrayStorage): ArrayStorage | null;
14
+ //# sourceMappingURL=abs.d.ts.map
@@ -0,0 +1,19 @@
1
+ /**
2
+ * WASM-accelerated element-wise addition.
3
+ *
4
+ * Binary: out[i] = a[i] + b[i] (same-shape contiguous arrays)
5
+ * Scalar: out[i] = a[i] + scalar
6
+ * Returns null if WASM can't handle this case.
7
+ */
8
+ import { ArrayStorage } from '../storage';
9
+ /**
10
+ * WASM-accelerated element-wise add of two same-shape contiguous arrays.
11
+ * Returns null if WASM can't handle.
12
+ */
13
+ export declare function wasmAdd(a: ArrayStorage, b: ArrayStorage): ArrayStorage | null;
14
+ /**
15
+ * WASM-accelerated element-wise add of array + scalar.
16
+ * Returns null if WASM can't handle.
17
+ */
18
+ export declare function wasmAddScalar(a: ArrayStorage, scalar: number): ArrayStorage | null;
19
+ //# sourceMappingURL=add.d.ts.map
@@ -0,0 +1,15 @@
1
+ /**
2
+ * WASM-accelerated element-wise arccos.
3
+ *
4
+ * Unary: out[i] = acos(a[i])
5
+ * Returns null if WASM can't handle this case.
6
+ * Float types use native kernels; integer types are converted to float64
7
+ * in JS and run through the f64 SIMD kernel (matches NumPy's promotion).
8
+ */
9
+ import { ArrayStorage } from '../storage';
10
+ /**
11
+ * WASM-accelerated element-wise arccos.
12
+ * Returns null if WASM can't handle (complex, non-contiguous, too small).
13
+ */
14
+ export declare function wasmArccos(a: ArrayStorage): ArrayStorage | null;
15
+ //# sourceMappingURL=arccos.d.ts.map
@@ -0,0 +1,15 @@
1
+ /**
2
+ * WASM-accelerated element-wise arcsin.
3
+ *
4
+ * Unary: out[i] = asin(a[i])
5
+ * Returns null if WASM can't handle this case.
6
+ * Float types use native kernels; integer types are converted to float64
7
+ * in JS and run through the f64 SIMD kernel (matches NumPy's promotion).
8
+ */
9
+ import { ArrayStorage } from '../storage';
10
+ /**
11
+ * WASM-accelerated element-wise arcsin.
12
+ * Returns null if WASM can't handle (complex, non-contiguous, too small).
13
+ */
14
+ export declare function wasmArcsin(a: ArrayStorage): ArrayStorage | null;
15
+ //# sourceMappingURL=arcsin.d.ts.map
@@ -0,0 +1,15 @@
1
+ /**
2
+ * WASM-accelerated element-wise arctangent.
3
+ *
4
+ * Unary: out[i] = arctan(a[i])
5
+ * Returns null if WASM can't handle this case.
6
+ * Float types use native kernels; integer types are converted to float64
7
+ * in JS and run through the f64 SIMD kernel (matches NumPy's promotion).
8
+ */
9
+ import { ArrayStorage } from '../storage';
10
+ /**
11
+ * WASM-accelerated element-wise arctangent.
12
+ * Returns null if WASM can't handle (complex, non-contiguous, too small).
13
+ */
14
+ export declare function wasmArctan(a: ArrayStorage): ArrayStorage | null;
15
+ //# sourceMappingURL=arctan.d.ts.map
@@ -0,0 +1,18 @@
1
+ /**
2
+ * WASM-accelerated argpartition (returns indices for quickselect partition).
3
+ *
4
+ * Returns null if WASM can't handle this case.
5
+ */
6
+ import { ArrayStorage } from '../storage';
7
+ import type { DType, TypedArray } from '../dtype';
8
+ /**
9
+ * WASM-accelerated argpartition of contiguous slices.
10
+ * Uses batch kernel when slices are packed contiguously.
11
+ */
12
+ export declare function wasmArgpartitionSlices(inputData: TypedArray, resultData: Int32Array, inputSliceOffsets: Int32Array | number[], outputSliceOffsets: Int32Array | number[], axisSize: number, outerSize: number, kth: number, dtype: DType): boolean;
13
+ /**
14
+ * WASM-accelerated argpartition of a contiguous 1D buffer.
15
+ * Returns ArrayStorage of int32 indices or null if WASM can't handle it.
16
+ */
17
+ export declare function wasmArgpartition(a: ArrayStorage, kth: number): ArrayStorage | null;
18
+ //# sourceMappingURL=argpartition.d.ts.map
@@ -0,0 +1,18 @@
1
+ /**
2
+ * WASM-accelerated argsort (returns indices that would sort an array).
3
+ *
4
+ * Returns null if WASM can't handle this case.
5
+ */
6
+ import { ArrayStorage } from '../storage';
7
+ import type { DType, TypedArray } from '../dtype';
8
+ /**
9
+ * WASM-accelerated argsort of contiguous slices.
10
+ * Uses batch kernel when slices are packed contiguously.
11
+ */
12
+ export declare function wasmArgsortSlices(inputData: TypedArray, resultData: Int32Array, inputSliceOffsets: Int32Array | number[], outputSliceOffsets: Int32Array | number[], axisSize: number, outerSize: number, dtype: DType): boolean;
13
+ /**
14
+ * WASM-accelerated argsort of a contiguous 1D buffer.
15
+ * Returns ArrayStorage of int32 indices or null if WASM can't handle it.
16
+ */
17
+ export declare function wasmArgsort(a: ArrayStorage): ArrayStorage | null;
18
+ //# sourceMappingURL=argsort.d.ts.map
@@ -0,0 +1,7 @@
1
+ export declare function abs_f64(a: number, out: number, N: number): void;
2
+ export declare function abs_f32(a: number, out: number, N: number): void;
3
+ export declare function abs_i64(a: number, out: number, N: number): void;
4
+ export declare function abs_i32(a: number, out: number, N: number): void;
5
+ export declare function abs_i16(a: number, out: number, N: number): void;
6
+ export declare function abs_i8(a: number, out: number, N: number): void;
7
+ //# sourceMappingURL=abs.wasm.d.ts.map
@@ -0,0 +1,17 @@
1
+ export declare function add_f64(a: number, b: number, out: number, N: number): void;
2
+ export declare function add_scalar_f64(a: number, out: number, N: number, scalar: number): void;
3
+ export declare function add_f32(a: number, b: number, out: number, N: number): void;
4
+ export declare function add_scalar_f32(a: number, out: number, N: number, scalar: number): void;
5
+ export declare function add_c128(a: number, b: number, out: number, N: number): void;
6
+ export declare function add_scalar_c128(a: number, out: number, N: number, scalar: number): void;
7
+ export declare function add_c64(a: number, b: number, out: number, N: number): void;
8
+ export declare function add_scalar_c64(a: number, out: number, N: number, scalar: number): void;
9
+ export declare function add_i64(a: number, b: number, out: number, N: number): void;
10
+ export declare function add_scalar_i64(a: number, out: number, N: number, scalar: number): void;
11
+ export declare function add_i32(a: number, b: number, out: number, N: number): void;
12
+ export declare function add_scalar_i32(a: number, out: number, N: number, scalar: number): void;
13
+ export declare function add_i16(a: number, b: number, out: number, N: number): void;
14
+ export declare function add_scalar_i16(a: number, out: number, N: number, scalar: number): void;
15
+ export declare function add_i8(a: number, b: number, out: number, N: number): void;
16
+ export declare function add_scalar_i8(a: number, out: number, N: number, scalar: number): void;
17
+ //# sourceMappingURL=add.wasm.d.ts.map
@@ -0,0 +1,5 @@
1
+ export declare function arccos_f64(a: number, out: number, N: number): void;
2
+ export declare function arccos_f32(a: number, out: number, N: number): void;
3
+ export declare function arccos_i64(a: number, out: number, N: number): void;
4
+ export declare function arccos_u64(a: number, out: number, N: number): void;
5
+ //# sourceMappingURL=arccos.wasm.d.ts.map
@@ -0,0 +1,5 @@
1
+ export declare function arcsin_f64(a: number, out: number, N: number): void;
2
+ export declare function arcsin_f32(a: number, out: number, N: number): void;
3
+ export declare function arcsin_i64(a: number, out: number, N: number): void;
4
+ export declare function arcsin_u64(a: number, out: number, N: number): void;
5
+ //# sourceMappingURL=arcsin.wasm.d.ts.map
@@ -0,0 +1,5 @@
1
+ export declare function arctan_f64(a: number, out: number, N: number): void;
2
+ export declare function arctan_f32(a: number, out: number, N: number): void;
3
+ export declare function arctan_i64(a: number, out: number, N: number): void;
4
+ export declare function arctan_u64(a: number, out: number, N: number): void;
5
+ //# sourceMappingURL=arctan.wasm.d.ts.map
@@ -0,0 +1,21 @@
1
+ export declare function argpartition_f64(a: number, out: number, N: number, kth: number): void;
2
+ export declare function argpartition_f32(a: number, out: number, N: number, kth: number): void;
3
+ export declare function argpartition_i64(a: number, out: number, N: number, kth: number): void;
4
+ export declare function argpartition_u64(a: number, out: number, N: number, kth: number): void;
5
+ export declare function argpartition_i32(a: number, out: number, N: number, kth: number): void;
6
+ export declare function argpartition_u32(a: number, out: number, N: number, kth: number): void;
7
+ export declare function argpartition_i16(a: number, out: number, N: number, kth: number): void;
8
+ export declare function argpartition_u16(a: number, out: number, N: number, kth: number): void;
9
+ export declare function argpartition_i8(a: number, out: number, N: number, kth: number): void;
10
+ export declare function argpartition_u8(a: number, out: number, N: number, kth: number): void;
11
+ export declare function argpartition_slices_f64(a: number, out: number, sliceSize: number, numSlices: number, kth: number): void;
12
+ export declare function argpartition_slices_f32(a: number, out: number, sliceSize: number, numSlices: number, kth: number): void;
13
+ export declare function argpartition_slices_i64(a: number, out: number, sliceSize: number, numSlices: number, kth: number): void;
14
+ export declare function argpartition_slices_u64(a: number, out: number, sliceSize: number, numSlices: number, kth: number): void;
15
+ export declare function argpartition_slices_i32(a: number, out: number, sliceSize: number, numSlices: number, kth: number): void;
16
+ export declare function argpartition_slices_u32(a: number, out: number, sliceSize: number, numSlices: number, kth: number): void;
17
+ export declare function argpartition_slices_i16(a: number, out: number, sliceSize: number, numSlices: number, kth: number): void;
18
+ export declare function argpartition_slices_u16(a: number, out: number, sliceSize: number, numSlices: number, kth: number): void;
19
+ export declare function argpartition_slices_i8(a: number, out: number, sliceSize: number, numSlices: number, kth: number): void;
20
+ export declare function argpartition_slices_u8(a: number, out: number, sliceSize: number, numSlices: number, kth: number): void;
21
+ //# sourceMappingURL=argpartition.wasm.d.ts.map
@@ -0,0 +1,25 @@
1
+ export declare function argsort_f64(a: number, out: number, N: number): void;
2
+ export declare function argsort_f32(a: number, out: number, N: number): void;
3
+ export declare function argsort_i64(a: number, out: number, N: number): void;
4
+ export declare function argsort_u64(a: number, out: number, N: number): void;
5
+ export declare function argsort_i32(a: number, out: number, N: number): void;
6
+ export declare function argsort_u32(a: number, out: number, N: number): void;
7
+ export declare function argsort_i16(a: number, out: number, N: number): void;
8
+ export declare function argsort_u16(a: number, out: number, N: number): void;
9
+ export declare function argsort_i8(a: number, out: number, N: number): void;
10
+ export declare function argsort_u8(a: number, out: number, N: number): void;
11
+ export declare function argsort_slices_f64(a: number, out: number, sliceSize: number, numSlices: number): void;
12
+ export declare function argsort_slices_f32(a: number, out: number, sliceSize: number, numSlices: number): void;
13
+ export declare function argsort_slices_i64(a: number, out: number, sliceSize: number, numSlices: number): void;
14
+ export declare function argsort_slices_u64(a: number, out: number, sliceSize: number, numSlices: number): void;
15
+ export declare function argsort_slices_i32(a: number, out: number, sliceSize: number, numSlices: number): void;
16
+ export declare function argsort_slices_u32(a: number, out: number, sliceSize: number, numSlices: number): void;
17
+ export declare function argsort_slices_i16(a: number, out: number, sliceSize: number, numSlices: number): void;
18
+ export declare function argsort_slices_u16(a: number, out: number, sliceSize: number, numSlices: number): void;
19
+ export declare function argsort_slices_i8(a: number, out: number, sliceSize: number, numSlices: number): void;
20
+ export declare function argsort_slices_u8(a: number, out: number, sliceSize: number, numSlices: number): void;
21
+ export declare function argsort_c128(a: number, out: number, N: number): void;
22
+ export declare function argsort_c64(a: number, out: number, N: number): void;
23
+ export declare function argsort_slices_c128(a: number, out: number, sliceSize: number, numSlices: number): void;
24
+ export declare function argsort_slices_c64(a: number, out: number, sliceSize: number, numSlices: number): void;
25
+ //# sourceMappingURL=argsort.wasm.d.ts.map
@@ -0,0 +1,5 @@
1
+ export declare function bitwise_and_i64(a: number, b: number, out: number, N: number): void;
2
+ export declare function bitwise_and_i32(a: number, b: number, out: number, N: number): void;
3
+ export declare function bitwise_and_i16(a: number, b: number, out: number, N: number): void;
4
+ export declare function bitwise_and_i8(a: number, b: number, out: number, N: number): void;
5
+ //# sourceMappingURL=bitwise_and.wasm.d.ts.map
@@ -0,0 +1,9 @@
1
+ export declare function bitwise_count_i64(a: number, out: number, N: number): void;
2
+ export declare function bitwise_count_u64(a: number, out: number, N: number): void;
3
+ export declare function bitwise_count_i32(a: number, out: number, N: number): void;
4
+ export declare function bitwise_count_u32(a: number, out: number, N: number): void;
5
+ export declare function bitwise_count_i16(a: number, out: number, N: number): void;
6
+ export declare function bitwise_count_u16(a: number, out: number, N: number): void;
7
+ export declare function bitwise_count_i8(a: number, out: number, N: number): void;
8
+ export declare function bitwise_count_u8(a: number, out: number, N: number): void;
9
+ //# sourceMappingURL=bitwise_count.wasm.d.ts.map
@@ -0,0 +1,5 @@
1
+ export declare function bitwise_not_i64(a: number, out: number, N: number): void;
2
+ export declare function bitwise_not_i32(a: number, out: number, N: number): void;
3
+ export declare function bitwise_not_i16(a: number, out: number, N: number): void;
4
+ export declare function bitwise_not_i8(a: number, out: number, N: number): void;
5
+ //# sourceMappingURL=bitwise_not.wasm.d.ts.map
@@ -0,0 +1,5 @@
1
+ export declare function bitwise_or_i64(a: number, b: number, out: number, N: number): void;
2
+ export declare function bitwise_or_i32(a: number, b: number, out: number, N: number): void;
3
+ export declare function bitwise_or_i16(a: number, b: number, out: number, N: number): void;
4
+ export declare function bitwise_or_i8(a: number, b: number, out: number, N: number): void;
5
+ //# sourceMappingURL=bitwise_or.wasm.d.ts.map
@@ -0,0 +1,5 @@
1
+ export declare function bitwise_xor_i64(a: number, b: number, out: number, N: number): void;
2
+ export declare function bitwise_xor_i32(a: number, b: number, out: number, N: number): void;
3
+ export declare function bitwise_xor_i16(a: number, b: number, out: number, N: number): void;
4
+ export declare function bitwise_xor_i8(a: number, b: number, out: number, N: number): void;
5
+ //# sourceMappingURL=bitwise_xor.wasm.d.ts.map
@@ -0,0 +1,3 @@
1
+ export declare function cholesky_f64(a: number, out: number, n_arg: number): number;
2
+ export declare function cholesky_f32(a: number, out: number, n_arg: number): number;
3
+ //# sourceMappingURL=cholesky.wasm.d.ts.map
@@ -0,0 +1,11 @@
1
+ export declare function clip_f64(a: number, out: number, N: number, lo: number, hi: number): void;
2
+ export declare function clip_f32(a: number, out: number, N: number, lo: number, hi: number): void;
3
+ export declare function clip_i64(a: number, out: number, N: number, lo: number, hi: number): void;
4
+ export declare function clip_u64(a: number, out: number, N: number, lo: number, hi: number): void;
5
+ export declare function clip_i32(a: number, out: number, N: number, lo: number, hi: number): void;
6
+ export declare function clip_u32(a: number, out: number, N: number, lo: number, hi: number): void;
7
+ export declare function clip_i16(a: number, out: number, N: number, lo: number, hi: number): void;
8
+ export declare function clip_u16(a: number, out: number, N: number, lo: number, hi: number): void;
9
+ export declare function clip_i8(a: number, out: number, N: number, lo: number, hi: number): void;
10
+ export declare function clip_u8(a: number, out: number, N: number, lo: number, hi: number): void;
11
+ //# sourceMappingURL=clip.wasm.d.ts.map
@@ -0,0 +1,3 @@
1
+ export declare function convolve_f64(a: number, na: number, b: number, nb: number, out: number, outLen: number): void;
2
+ export declare function convolve_f32(a: number, na: number, b: number, nb: number, out: number, outLen: number): void;
3
+ //# sourceMappingURL=convolve.wasm.d.ts.map
@@ -0,0 +1,21 @@
1
+ export declare function copysign_f64(x1: number, x2: number, out: number, N: number): void;
2
+ export declare function copysign_f32(x1: number, x2: number, out: number, N: number): void;
3
+ export declare function copysign_i64(x1: number, x2: number, out: number, N: number): void;
4
+ export declare function copysign_u64(x1: number, x2: number, out: number, N: number): void;
5
+ export declare function copysign_i32(x1: number, x2: number, out: number, N: number): void;
6
+ export declare function copysign_u32(x1: number, x2: number, out: number, N: number): void;
7
+ export declare function copysign_i16(x1: number, x2: number, out: number, N: number): void;
8
+ export declare function copysign_u16(x1: number, x2: number, out: number, N: number): void;
9
+ export declare function copysign_i8(x1: number, x2: number, out: number, N: number): void;
10
+ export declare function copysign_u8(x1: number, x2: number, out: number, N: number): void;
11
+ export declare function copysign_scalar_f64(x1: number, out: number, N: number, scalar: number): void;
12
+ export declare function copysign_scalar_f32(x1: number, out: number, N: number, scalar: number): void;
13
+ export declare function copysign_scalar_i64(x1: number, out: number, N: number, scalar: number): void;
14
+ export declare function copysign_scalar_u64(x1: number, out: number, N: number, scalar: number): void;
15
+ export declare function copysign_scalar_i32(x1: number, out: number, N: number, scalar: number): void;
16
+ export declare function copysign_scalar_u32(x1: number, out: number, N: number, scalar: number): void;
17
+ export declare function copysign_scalar_i16(x1: number, out: number, N: number, scalar: number): void;
18
+ export declare function copysign_scalar_u16(x1: number, out: number, N: number, scalar: number): void;
19
+ export declare function copysign_scalar_i8(x1: number, out: number, N: number, scalar: number): void;
20
+ export declare function copysign_scalar_u8(x1: number, out: number, N: number, scalar: number): void;
21
+ //# sourceMappingURL=copysign.wasm.d.ts.map
@@ -0,0 +1,3 @@
1
+ export declare function correlate_f64(a: number, na: number, b: number, nb: number, out: number, outLen: number): void;
2
+ export declare function correlate_f32(a: number, na: number, b: number, nb: number, out: number, outLen: number): void;
3
+ //# sourceMappingURL=correlate.wasm.d.ts.map
@@ -0,0 +1,3 @@
1
+ export declare function cos_f64(a: number, out: number, N: number): void;
2
+ export declare function cos_f32(a: number, out: number, N: number): void;
3
+ //# sourceMappingURL=cos.wasm.d.ts.map
@@ -0,0 +1,5 @@
1
+ export declare function cosh_f64(a: number, out: number, N: number): void;
2
+ export declare function cosh_f32(a: number, out: number, N: number): void;
3
+ export declare function cosh_i64(a: number, out: number, N: number): void;
4
+ export declare function cosh_u64(a: number, out: number, N: number): void;
5
+ //# sourceMappingURL=cosh.wasm.d.ts.map
@@ -0,0 +1,9 @@
1
+ export declare function cross_f64(a: number, b: number, out: number, n: number): void;
2
+ export declare function cross_f32(a: number, b: number, out: number, n: number): void;
3
+ export declare function cross_c128(a: number, b: number, out: number, n: number): void;
4
+ export declare function cross_c64(a: number, b: number, out: number, n: number): void;
5
+ export declare function cross_i64(a: number, b: number, out: number, n: number): void;
6
+ export declare function cross_i32(a: number, b: number, out: number, n: number): void;
7
+ export declare function cross_i16(a: number, b: number, out: number, n: number): void;
8
+ export declare function cross_i8(a: number, b: number, out: number, n: number): void;
9
+ //# sourceMappingURL=cross.wasm.d.ts.map