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.
Files changed (456) hide show
  1. package/README.md +3 -11
  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 -1
  30. package/dist/esm/common/wasm/add.js +1 -1
  31. package/dist/esm/common/wasm/all_finite.js +1 -0
  32. package/dist/esm/common/wasm/arccos.js +1 -1
  33. package/dist/esm/common/wasm/arcsin.js +1 -1
  34. package/dist/esm/common/wasm/arctan.js +1 -1
  35. package/dist/esm/common/wasm/arctan2.js +1 -0
  36. package/dist/esm/common/wasm/argpartition.js +1 -1
  37. package/dist/esm/common/wasm/argsort.js +1 -1
  38. package/dist/esm/common/wasm/bins/abs.wasm.js +1 -1
  39. package/dist/esm/common/wasm/bins/add.wasm.js +1 -1
  40. package/dist/esm/common/wasm/bins/all_finite.wasm.js +1 -0
  41. package/dist/esm/common/wasm/bins/alloc.wasm.js +1 -0
  42. package/dist/esm/common/wasm/bins/arccos.wasm.js +1 -1
  43. package/dist/esm/common/wasm/bins/arcsin.wasm.js +1 -1
  44. package/dist/esm/common/wasm/bins/arctan.wasm.js +1 -1
  45. package/dist/esm/common/wasm/bins/arctan2.wasm.js +1 -0
  46. package/dist/esm/common/wasm/bins/argpartition.wasm.js +1 -1
  47. package/dist/esm/common/wasm/bins/argsort.wasm.js +1 -1
  48. package/dist/esm/common/wasm/bins/bitwise_and.wasm.js +1 -1
  49. package/dist/esm/common/wasm/bins/bitwise_count.wasm.js +1 -1
  50. package/dist/esm/common/wasm/bins/bitwise_not.wasm.js +1 -1
  51. package/dist/esm/common/wasm/bins/bitwise_or.wasm.js +1 -1
  52. package/dist/esm/common/wasm/bins/bitwise_xor.wasm.js +1 -1
  53. package/dist/esm/common/wasm/bins/cholesky.wasm.js +1 -1
  54. package/dist/esm/common/wasm/bins/clip.wasm.js +1 -1
  55. package/dist/esm/common/wasm/bins/convolve.wasm.js +1 -1
  56. package/dist/esm/common/wasm/bins/copysign.wasm.js +1 -1
  57. package/dist/esm/common/wasm/bins/correlate.wasm.js +1 -1
  58. package/dist/esm/common/wasm/bins/cos.wasm.js +1 -1
  59. package/dist/esm/common/wasm/bins/cosh.wasm.js +1 -1
  60. package/dist/esm/common/wasm/bins/cross.wasm.js +1 -1
  61. package/dist/esm/common/wasm/bins/diff.wasm.js +1 -1
  62. package/dist/esm/common/wasm/bins/divide.wasm.js +1 -1
  63. package/dist/esm/common/wasm/bins/divmod.wasm.js +1 -0
  64. package/dist/esm/common/wasm/bins/dot_float-relaxed.wasm.js +1 -0
  65. package/dist/esm/common/wasm/bins/dot_float.wasm.js +1 -0
  66. package/dist/esm/common/wasm/bins/dot_int.wasm.js +1 -0
  67. package/dist/esm/common/wasm/bins/exp.wasm.js +1 -1
  68. package/dist/esm/common/wasm/bins/exp2.wasm.js +1 -1
  69. package/dist/esm/common/wasm/bins/fft.wasm.js +1 -1
  70. package/dist/esm/common/wasm/bins/frexp.wasm.js +1 -1
  71. package/dist/esm/common/wasm/bins/gather.wasm.js +1 -1
  72. package/dist/esm/common/wasm/bins/gcd.wasm.js +1 -1
  73. package/dist/esm/common/wasm/bins/gradient.wasm.js +1 -1
  74. package/dist/esm/common/wasm/bins/heaviside.wasm.js +1 -1
  75. package/dist/esm/common/wasm/bins/hypot.wasm.js +1 -1
  76. package/dist/esm/common/wasm/bins/indices.wasm.js +1 -1
  77. package/dist/esm/common/wasm/bins/inner_float-relaxed.wasm.js +1 -0
  78. package/dist/esm/common/wasm/bins/inner_float.wasm.js +1 -0
  79. package/dist/esm/common/wasm/bins/inner_int.wasm.js +1 -0
  80. package/dist/esm/common/wasm/bins/isfinite.wasm.js +1 -0
  81. package/dist/esm/common/wasm/bins/isnan.wasm.js +1 -0
  82. package/dist/esm/common/wasm/bins/kron.wasm.js +1 -1
  83. package/dist/esm/common/wasm/bins/ldexp.wasm.js +1 -1
  84. package/dist/esm/common/wasm/bins/left_shift.wasm.js +1 -1
  85. package/dist/esm/common/wasm/bins/lexsort.wasm.js +1 -1
  86. package/dist/esm/common/wasm/bins/logaddexp.wasm.js +1 -1
  87. package/dist/esm/common/wasm/bins/logical_and.wasm.js +1 -1
  88. package/dist/esm/common/wasm/bins/logical_not.wasm.js +1 -1
  89. package/dist/esm/common/wasm/bins/logical_or.wasm.js +1 -1
  90. package/dist/esm/common/wasm/bins/logical_xor.wasm.js +1 -1
  91. package/dist/esm/common/wasm/bins/lu.wasm.js +1 -0
  92. package/dist/esm/common/wasm/bins/matmul_float-relaxed.wasm.js +1 -0
  93. package/dist/esm/common/wasm/bins/matmul_float.wasm.js +1 -0
  94. package/dist/esm/common/wasm/bins/matmul_int.wasm.js +1 -0
  95. package/dist/esm/common/wasm/bins/matvec_float-relaxed.wasm.js +1 -0
  96. package/dist/esm/common/wasm/bins/matvec_float.wasm.js +1 -0
  97. package/dist/esm/common/wasm/bins/matvec_int.wasm.js +1 -0
  98. package/dist/esm/common/wasm/bins/max.wasm.js +1 -1
  99. package/dist/esm/common/wasm/bins/min.wasm.js +1 -1
  100. package/dist/esm/common/wasm/bins/mul.wasm.js +1 -1
  101. package/dist/esm/common/wasm/bins/neg.wasm.js +1 -1
  102. package/dist/esm/common/wasm/bins/outer.wasm.js +1 -1
  103. package/dist/esm/common/wasm/bins/pad.wasm.js +1 -1
  104. package/dist/esm/common/wasm/bins/partition.wasm.js +1 -1
  105. package/dist/esm/common/wasm/bins/power.wasm.js +1 -1
  106. package/dist/esm/common/wasm/bins/qr.wasm.js +1 -1
  107. package/dist/esm/common/wasm/bins/reciprocal.wasm.js +1 -1
  108. package/dist/esm/common/wasm/bins/reduce_all.wasm.js +1 -1
  109. package/dist/esm/common/wasm/bins/reduce_any.wasm.js +1 -1
  110. package/dist/esm/common/wasm/bins/reduce_argmax.wasm.js +1 -1
  111. package/dist/esm/common/wasm/bins/reduce_argmin.wasm.js +1 -1
  112. package/dist/esm/common/wasm/bins/reduce_count_nz.wasm.js +1 -1
  113. package/dist/esm/common/wasm/bins/reduce_max.wasm.js +1 -1
  114. package/dist/esm/common/wasm/bins/reduce_mean.wasm.js +1 -1
  115. package/dist/esm/common/wasm/bins/reduce_min.wasm.js +1 -1
  116. package/dist/esm/common/wasm/bins/reduce_nanmax.wasm.js +1 -1
  117. package/dist/esm/common/wasm/bins/reduce_nanmin.wasm.js +1 -1
  118. package/dist/esm/common/wasm/bins/reduce_nansum.wasm.js +1 -1
  119. package/dist/esm/common/wasm/bins/reduce_prod.wasm.js +1 -1
  120. package/dist/esm/common/wasm/bins/reduce_std.wasm.js +1 -1
  121. package/dist/esm/common/wasm/bins/reduce_sum.wasm.js +1 -1
  122. package/dist/esm/common/wasm/bins/reduce_var.wasm.js +1 -1
  123. package/dist/esm/common/wasm/bins/repeat.wasm.js +1 -1
  124. package/dist/esm/common/wasm/bins/right_shift.wasm.js +1 -1
  125. package/dist/esm/common/wasm/bins/rng.wasm.js +1 -0
  126. package/dist/esm/common/wasm/bins/roll.wasm.js +1 -1
  127. package/dist/esm/common/wasm/bins/searchsorted.wasm.js +1 -1
  128. package/dist/esm/common/wasm/bins/sign.wasm.js +1 -1
  129. package/dist/esm/common/wasm/bins/signbit.wasm.js +1 -0
  130. package/dist/esm/common/wasm/bins/sin.wasm.js +1 -0
  131. package/dist/esm/common/wasm/bins/sinh.wasm.js +1 -1
  132. package/dist/esm/common/wasm/bins/sort.wasm.js +1 -1
  133. package/dist/esm/common/wasm/bins/sqrt.wasm.js +1 -1
  134. package/dist/esm/common/wasm/bins/square.wasm.js +1 -1
  135. package/dist/esm/common/wasm/bins/sub.wasm.js +1 -1
  136. package/dist/esm/common/wasm/bins/svd.wasm.js +1 -1
  137. package/dist/esm/common/wasm/bins/tan.wasm.js +1 -1
  138. package/dist/esm/common/wasm/bins/tanh.wasm.js +1 -1
  139. package/dist/esm/common/wasm/bins/tile.wasm.js +1 -1
  140. package/dist/esm/common/wasm/bins/unravel_index.wasm.js +1 -0
  141. package/dist/esm/common/wasm/bins/vdot.wasm.js +1 -1
  142. package/dist/esm/common/wasm/bins/vecdot_float-relaxed.wasm.js +1 -0
  143. package/dist/esm/common/wasm/bins/vecdot_float.wasm.js +1 -0
  144. package/dist/esm/common/wasm/bins/vecdot_int.wasm.js +1 -0
  145. package/dist/esm/common/wasm/bins/vecmat_float-relaxed.wasm.js +1 -0
  146. package/dist/esm/common/wasm/bins/vecmat_float.wasm.js +1 -0
  147. package/dist/esm/common/wasm/bins/vecmat_int.wasm.js +1 -0
  148. package/dist/esm/common/wasm/bins/vector_norm-relaxed.wasm.js +1 -0
  149. package/dist/esm/common/wasm/bins/vector_norm.wasm.js +1 -0
  150. package/dist/esm/common/wasm/bitwise_and.js +1 -1
  151. package/dist/esm/common/wasm/bitwise_count.js +1 -1
  152. package/dist/esm/common/wasm/bitwise_not.js +1 -1
  153. package/dist/esm/common/wasm/bitwise_or.js +1 -1
  154. package/dist/esm/common/wasm/bitwise_xor.js +1 -1
  155. package/dist/esm/common/wasm/cholesky.js +1 -1
  156. package/dist/esm/common/wasm/clip.js +1 -1
  157. package/dist/esm/common/wasm/config.js +1 -1
  158. package/dist/esm/common/wasm/convolve.js +1 -1
  159. package/dist/esm/common/wasm/copysign.js +1 -1
  160. package/dist/esm/common/wasm/correlate.js +1 -1
  161. package/dist/esm/common/wasm/cos.js +1 -1
  162. package/dist/esm/common/wasm/cosh.js +1 -1
  163. package/dist/esm/common/wasm/cross.js +1 -1
  164. package/dist/esm/common/wasm/detect.js +1 -0
  165. package/dist/esm/common/wasm/diff.js +1 -1
  166. package/dist/esm/common/wasm/divide.js +1 -1
  167. package/dist/esm/common/wasm/divmod.js +1 -0
  168. package/dist/esm/common/wasm/dot.js +1 -1
  169. package/dist/esm/common/wasm/exp.js +1 -1
  170. package/dist/esm/common/wasm/exp2.js +1 -1
  171. package/dist/esm/common/wasm/fft.js +1 -1
  172. package/dist/esm/common/wasm/frexp.js +1 -1
  173. package/dist/esm/common/wasm/gather.js +1 -1
  174. package/dist/esm/common/wasm/gcd.js +1 -1
  175. package/dist/esm/common/wasm/gradient.js +1 -1
  176. package/dist/esm/common/wasm/heaviside.js +1 -1
  177. package/dist/esm/common/wasm/hypot.js +1 -1
  178. package/dist/esm/common/wasm/indices.js +1 -1
  179. package/dist/esm/common/wasm/inner.js +1 -1
  180. package/dist/esm/common/wasm/isfinite.js +1 -0
  181. package/dist/esm/common/wasm/isnan.js +1 -0
  182. package/dist/esm/common/wasm/kron.js +1 -1
  183. package/dist/esm/common/wasm/ldexp.js +1 -1
  184. package/dist/esm/common/wasm/left_shift.js +1 -1
  185. package/dist/esm/common/wasm/lexsort.js +1 -1
  186. package/dist/esm/common/wasm/logaddexp.js +1 -1
  187. package/dist/esm/common/wasm/logical_and.js +1 -1
  188. package/dist/esm/common/wasm/logical_not.js +1 -1
  189. package/dist/esm/common/wasm/logical_or.js +1 -1
  190. package/dist/esm/common/wasm/logical_xor.js +1 -1
  191. package/dist/esm/common/wasm/lu.js +1 -0
  192. package/dist/esm/common/wasm/matmul.js +1 -1
  193. package/dist/esm/common/wasm/matvec.js +1 -1
  194. package/dist/esm/common/wasm/max.js +1 -1
  195. package/dist/esm/common/wasm/min.js +1 -1
  196. package/dist/esm/common/wasm/mul.js +1 -1
  197. package/dist/esm/common/wasm/neg.js +1 -1
  198. package/dist/esm/common/wasm/outer.js +1 -1
  199. package/dist/esm/common/wasm/pad.js +1 -1
  200. package/dist/esm/common/wasm/partition.js +1 -1
  201. package/dist/esm/common/wasm/power.js +1 -1
  202. package/dist/esm/common/wasm/qr.js +1 -1
  203. package/dist/esm/common/wasm/reciprocal.js +1 -1
  204. package/dist/esm/common/wasm/reduce_all.js +1 -1
  205. package/dist/esm/common/wasm/reduce_any.js +1 -1
  206. package/dist/esm/common/wasm/reduce_argmax.js +1 -1
  207. package/dist/esm/common/wasm/reduce_argmin.js +1 -1
  208. package/dist/esm/common/wasm/reduce_count_nz.js +1 -1
  209. package/dist/esm/common/wasm/reduce_max.js +1 -1
  210. package/dist/esm/common/wasm/reduce_mean.js +1 -1
  211. package/dist/esm/common/wasm/reduce_min.js +1 -1
  212. package/dist/esm/common/wasm/reduce_nanmax.js +1 -1
  213. package/dist/esm/common/wasm/reduce_nanmin.js +1 -1
  214. package/dist/esm/common/wasm/reduce_nansum.js +1 -1
  215. package/dist/esm/common/wasm/reduce_prod.js +1 -1
  216. package/dist/esm/common/wasm/reduce_quantile.js +1 -1
  217. package/dist/esm/common/wasm/reduce_std.js +1 -1
  218. package/dist/esm/common/wasm/reduce_sum.js +1 -1
  219. package/dist/esm/common/wasm/reduce_var.js +1 -1
  220. package/dist/esm/common/wasm/repeat.js +1 -1
  221. package/dist/esm/common/wasm/right_shift.js +1 -1
  222. package/dist/esm/common/wasm/rng.js +1 -0
  223. package/dist/esm/common/wasm/roll.js +1 -1
  224. package/dist/esm/common/wasm/runtime.js +1 -1
  225. package/dist/esm/common/wasm/searchsorted.js +1 -1
  226. package/dist/esm/common/wasm/sign.js +1 -1
  227. package/dist/esm/common/wasm/signbit.js +1 -0
  228. package/dist/esm/common/wasm/sin.js +1 -0
  229. package/dist/esm/common/wasm/sinh.js +1 -1
  230. package/dist/esm/common/wasm/sort.js +1 -1
  231. package/dist/esm/common/wasm/sqrt.js +1 -1
  232. package/dist/esm/common/wasm/square.js +1 -1
  233. package/dist/esm/common/wasm/sub.js +1 -1
  234. package/dist/esm/common/wasm/svd.js +1 -1
  235. package/dist/esm/common/wasm/tan.js +1 -1
  236. package/dist/esm/common/wasm/tanh.js +1 -1
  237. package/dist/esm/common/wasm/tile.js +1 -1
  238. package/dist/esm/common/wasm/unravel_index.js +1 -0
  239. package/dist/esm/common/wasm/vdot.js +1 -1
  240. package/dist/esm/common/wasm/vecdot.js +1 -1
  241. package/dist/esm/common/wasm/vecmat.js +1 -1
  242. package/dist/esm/common/wasm/vector_norm.js +1 -0
  243. package/dist/esm/core/advanced.js +1 -1
  244. package/dist/esm/core/arithmetic.js +1 -1
  245. package/dist/esm/core/bitwise.js +1 -1
  246. package/dist/esm/core/complex.js +1 -1
  247. package/dist/esm/core/creation.js +1 -1
  248. package/dist/esm/core/formatting.js +1 -1
  249. package/dist/esm/core/gradient.js +1 -1
  250. package/dist/esm/core/index.js +1 -1
  251. package/dist/esm/core/linalg.js +1 -1
  252. package/dist/esm/core/logic.js +1 -1
  253. package/dist/esm/core/polynomial.js +1 -1
  254. package/dist/esm/core/reduction.js +1 -1
  255. package/dist/esm/core/rounding.js +1 -1
  256. package/dist/esm/core/sets.js +1 -1
  257. package/dist/esm/core/shape-extra.js +1 -1
  258. package/dist/esm/core/shape.js +1 -1
  259. package/dist/esm/core/sorting.js +1 -1
  260. package/dist/esm/core/statistics.js +1 -1
  261. package/dist/esm/core/trig.js +1 -1
  262. package/dist/esm/core/typechecking.js +1 -1
  263. package/dist/esm/core/types.js +1 -1
  264. package/dist/esm/core/utility.js +1 -1
  265. package/dist/esm/core.js +1 -1
  266. package/dist/esm/full/index.js +1 -1
  267. package/dist/esm/full/ndarray.js +1 -1
  268. package/dist/esm/index.js +1 -1
  269. package/dist/esm/io/file-ops.js +1 -0
  270. package/dist/esm/io/filesystem.js +1 -0
  271. package/dist/esm/io/index.js +1 -1
  272. package/dist/esm/io/npy/format.js +1 -1
  273. package/dist/esm/io/npy/index.js +1 -1
  274. package/dist/esm/io/npy/parser.js +1 -1
  275. package/dist/esm/io/npy/serializer.js +2 -2
  276. package/dist/esm/io/npz/index.js +1 -1
  277. package/dist/esm/io/npz/parser.js +1 -1
  278. package/dist/esm/io/npz/serializer.js +1 -1
  279. package/dist/esm/io/txt/index.js +1 -1
  280. package/dist/esm/io/txt/parser.js +1 -1
  281. package/dist/esm/io/zip/index.js +1 -1
  282. package/dist/esm/io/zip/reader.js +1 -1
  283. package/dist/esm/io/zip/writer.js +1 -1
  284. package/dist/esm/node.js +1 -1
  285. package/dist/numpy-ts.browser.js +6 -6
  286. package/dist/types/common/dtype.d.ts +55 -4
  287. package/dist/types/common/float16-conv.d.ts +27 -0
  288. package/dist/types/common/internal/indexing.d.ts +9 -21
  289. package/dist/types/common/ndarray-core.d.ts +20 -0
  290. package/dist/types/common/ops/advanced.d.ts +17 -2
  291. package/dist/types/common/ops/complex.d.ts +19 -1
  292. package/dist/types/common/ops/linalg.d.ts +1 -1
  293. package/dist/types/common/ops/random.d.ts +10 -5
  294. package/dist/types/common/ops/reduction.d.ts +2 -2
  295. package/dist/types/common/ops/sets.d.ts +2 -1
  296. package/dist/types/common/ops/shape.d.ts +2 -2
  297. package/dist/types/common/ops/statistics.d.ts +2 -1
  298. package/dist/types/common/storage.d.ts +54 -2
  299. package/dist/types/common/wasm/all_finite.d.ts +8 -0
  300. package/dist/types/common/wasm/arccos.d.ts +4 -2
  301. package/dist/types/common/wasm/arcsin.d.ts +4 -2
  302. package/dist/types/common/wasm/arctan.d.ts +4 -2
  303. package/dist/types/common/wasm/arctan2.d.ts +17 -0
  304. package/dist/types/common/wasm/argpartition.d.ts +8 -3
  305. package/dist/types/common/wasm/argsort.d.ts +8 -3
  306. package/dist/types/common/wasm/bins/abs.wasm.d.ts +1 -0
  307. package/dist/types/common/wasm/bins/all_finite.wasm.d.ts +4 -0
  308. package/dist/types/common/wasm/bins/alloc.wasm.d.ts +6 -0
  309. package/dist/types/common/wasm/bins/arccos.wasm.d.ts +8 -2
  310. package/dist/types/common/wasm/bins/arcsin.wasm.d.ts +8 -2
  311. package/dist/types/common/wasm/bins/arctan.wasm.d.ts +8 -2
  312. package/dist/types/common/wasm/bins/arctan2.wasm.d.ts +11 -0
  313. package/dist/types/common/wasm/bins/convolve.wasm.d.ts +6 -0
  314. package/dist/types/common/wasm/bins/copysign.wasm.d.ts +2 -0
  315. package/dist/types/common/wasm/bins/correlate.wasm.d.ts +6 -0
  316. package/dist/types/common/wasm/bins/cos.wasm.d.ts +8 -0
  317. package/dist/types/common/wasm/bins/cosh.wasm.d.ts +8 -2
  318. package/dist/types/common/wasm/bins/divmod.wasm.d.ts +11 -0
  319. package/dist/types/common/wasm/bins/dot_float-relaxed.wasm.d.ts +5 -0
  320. package/dist/types/common/wasm/bins/dot_float.wasm.d.ts +5 -0
  321. package/dist/types/common/wasm/bins/dot_int.wasm.d.ts +5 -0
  322. package/dist/types/common/wasm/bins/exp.wasm.d.ts +8 -2
  323. package/dist/types/common/wasm/bins/exp2.wasm.d.ts +8 -2
  324. package/dist/types/common/wasm/bins/fft.wasm.d.ts +11 -0
  325. package/dist/types/common/wasm/bins/frexp.wasm.d.ts +1 -0
  326. package/dist/types/common/wasm/bins/gather.wasm.d.ts +0 -1
  327. package/dist/types/common/wasm/bins/gcd.wasm.d.ts +8 -0
  328. package/dist/types/common/wasm/bins/indices.wasm.d.ts +6 -2
  329. package/dist/types/common/wasm/bins/inner_float-relaxed.wasm.d.ts +5 -0
  330. package/dist/types/common/wasm/bins/inner_float.wasm.d.ts +5 -0
  331. package/dist/types/common/wasm/bins/inner_int.wasm.d.ts +5 -0
  332. package/dist/types/common/wasm/bins/isfinite.wasm.d.ts +4 -0
  333. package/dist/types/common/wasm/bins/isnan.wasm.d.ts +4 -0
  334. package/dist/types/common/wasm/bins/lexsort.wasm.d.ts +4 -4
  335. package/dist/types/common/wasm/bins/logical_and.wasm.d.ts +2 -0
  336. package/dist/types/common/wasm/bins/logical_not.wasm.d.ts +1 -0
  337. package/dist/types/common/wasm/bins/logical_or.wasm.d.ts +2 -0
  338. package/dist/types/common/wasm/bins/logical_xor.wasm.d.ts +2 -0
  339. package/dist/types/common/wasm/bins/lu.wasm.d.ts +7 -0
  340. package/dist/types/common/wasm/bins/matmul_float-relaxed.wasm.d.ts +5 -0
  341. package/dist/types/common/wasm/bins/matmul_float.wasm.d.ts +5 -0
  342. package/dist/types/common/wasm/bins/matmul_int.wasm.d.ts +5 -0
  343. package/dist/types/common/wasm/bins/matvec_float-relaxed.wasm.d.ts +5 -0
  344. package/dist/types/common/wasm/bins/matvec_float.wasm.d.ts +5 -0
  345. package/dist/types/common/wasm/bins/matvec_int.wasm.d.ts +5 -0
  346. package/dist/types/common/wasm/bins/neg.wasm.d.ts +1 -0
  347. package/dist/types/common/wasm/bins/qr.wasm.d.ts +0 -1
  348. package/dist/types/common/wasm/bins/reciprocal.wasm.d.ts +8 -4
  349. package/dist/types/common/wasm/bins/reduce_argmax.wasm.d.ts +8 -0
  350. package/dist/types/common/wasm/bins/reduce_argmin.wasm.d.ts +8 -0
  351. package/dist/types/common/wasm/bins/reduce_max.wasm.d.ts +1 -0
  352. package/dist/types/common/wasm/bins/reduce_min.wasm.d.ts +1 -0
  353. package/dist/types/common/wasm/bins/reduce_prod.wasm.d.ts +2 -0
  354. package/dist/types/common/wasm/bins/reduce_sum.wasm.d.ts +8 -2
  355. package/dist/types/common/wasm/bins/rng.wasm.d.ts +57 -0
  356. package/dist/types/common/wasm/bins/sign.wasm.d.ts +1 -0
  357. package/dist/types/common/wasm/bins/signbit.wasm.d.ts +8 -0
  358. package/dist/types/common/wasm/bins/sin.wasm.d.ts +11 -0
  359. package/dist/types/common/wasm/bins/sinh.wasm.d.ts +8 -2
  360. package/dist/types/common/wasm/bins/sort.wasm.d.ts +6 -4
  361. package/dist/types/common/wasm/bins/sqrt.wasm.d.ts +2 -2
  362. package/dist/types/common/wasm/bins/svd.wasm.d.ts +1 -0
  363. package/dist/types/common/wasm/bins/tan.wasm.d.ts +8 -0
  364. package/dist/types/common/wasm/bins/tanh.wasm.d.ts +8 -2
  365. package/dist/types/common/wasm/bins/unravel_index.wasm.d.ts +4 -0
  366. package/dist/types/common/wasm/bins/vecdot_float-relaxed.wasm.d.ts +5 -0
  367. package/dist/types/common/wasm/bins/vecdot_float.wasm.d.ts +5 -0
  368. package/dist/types/common/wasm/bins/vecdot_int.wasm.d.ts +5 -0
  369. package/dist/types/common/wasm/bins/vecmat_float-relaxed.wasm.d.ts +5 -0
  370. package/dist/types/common/wasm/bins/vecmat_float.wasm.d.ts +5 -0
  371. package/dist/types/common/wasm/bins/vecmat_int.wasm.d.ts +5 -0
  372. package/dist/types/common/wasm/bins/vector_norm-relaxed.wasm.d.ts +3 -0
  373. package/dist/types/common/wasm/bins/vector_norm.wasm.d.ts +3 -0
  374. package/dist/types/common/wasm/config.d.ts +25 -0
  375. package/dist/types/common/wasm/convolve.d.ts +1 -1
  376. package/dist/types/common/wasm/cos.d.ts +4 -2
  377. package/dist/types/common/wasm/cosh.d.ts +4 -2
  378. package/dist/types/common/wasm/detect.d.ts +17 -0
  379. package/dist/types/common/wasm/divide.d.ts +4 -0
  380. package/dist/types/common/wasm/divmod.d.ts +13 -0
  381. package/dist/types/common/wasm/exp.d.ts +4 -2
  382. package/dist/types/common/wasm/exp2.d.ts +4 -2
  383. package/dist/types/common/wasm/fft.d.ts +36 -0
  384. package/dist/types/common/wasm/frexp.d.ts +1 -0
  385. package/dist/types/common/wasm/gather.d.ts +4 -0
  386. package/dist/types/common/wasm/gcd.d.ts +1 -0
  387. package/dist/types/common/wasm/heaviside.d.ts +2 -2
  388. package/dist/types/common/wasm/hypot.d.ts +4 -2
  389. package/dist/types/common/wasm/indices.d.ts +2 -1
  390. package/dist/types/common/wasm/isfinite.d.ts +7 -0
  391. package/dist/types/common/wasm/isnan.d.ts +7 -0
  392. package/dist/types/common/wasm/lexsort.d.ts +3 -1
  393. package/dist/types/common/wasm/logaddexp.d.ts +4 -2
  394. package/dist/types/common/wasm/lu.d.ts +27 -0
  395. package/dist/types/common/wasm/partition.d.ts +3 -1
  396. package/dist/types/common/wasm/reduce_argmax.d.ts +5 -0
  397. package/dist/types/common/wasm/reduce_argmin.d.ts +5 -0
  398. package/dist/types/common/wasm/reduce_prod.d.ts +4 -0
  399. package/dist/types/common/wasm/reduce_quantile.d.ts +11 -3
  400. package/dist/types/common/wasm/reduce_sum.d.ts +10 -0
  401. package/dist/types/common/wasm/rng.d.ts +75 -0
  402. package/dist/types/common/wasm/runtime.d.ts +117 -23
  403. package/dist/types/common/wasm/searchsorted.d.ts +3 -1
  404. package/dist/types/common/wasm/signbit.d.ts +14 -0
  405. package/dist/types/common/wasm/sin.d.ts +17 -0
  406. package/dist/types/common/wasm/sinh.d.ts +4 -2
  407. package/dist/types/common/wasm/sort.d.ts +4 -1
  408. package/dist/types/common/wasm/sqrt.d.ts +4 -2
  409. package/dist/types/common/wasm/svd.d.ts +6 -0
  410. package/dist/types/common/wasm/tan.d.ts +4 -2
  411. package/dist/types/common/wasm/tanh.d.ts +4 -2
  412. package/dist/types/common/wasm/unravel_index.d.ts +12 -0
  413. package/dist/types/common/wasm/vector_norm.d.ts +11 -0
  414. package/dist/types/core/advanced.d.ts +10 -2
  415. package/dist/types/core/creation.d.ts +1 -1
  416. package/dist/types/core/index.d.ts +96 -2
  417. package/dist/types/core/linalg.d.ts +1 -1
  418. package/dist/types/core/rounding.d.ts +0 -2
  419. package/dist/types/core/sets.d.ts +4 -1
  420. package/dist/types/core/statistics.d.ts +2 -1
  421. package/dist/types/full/index.d.ts +19 -6
  422. package/dist/types/index.d.ts +20 -4
  423. package/dist/types/io/file-ops.d.ts +269 -0
  424. package/dist/types/io/filesystem.d.ts +21 -0
  425. package/dist/types/node.d.ts +3 -275
  426. package/package.json +52 -62
  427. package/dist/esm/common/wasm/bins/dot.wasm.js +0 -1
  428. package/dist/esm/common/wasm/bins/flip.wasm.js +0 -1
  429. package/dist/esm/common/wasm/bins/inner.wasm.js +0 -1
  430. package/dist/esm/common/wasm/bins/matmul.wasm.js +0 -1
  431. package/dist/esm/common/wasm/bins/matvec.wasm.js +0 -1
  432. package/dist/esm/common/wasm/bins/reduce_quantile.wasm.js +0 -1
  433. package/dist/esm/common/wasm/bins/rot90.wasm.js +0 -1
  434. package/dist/esm/common/wasm/bins/vecdot.wasm.js +0 -1
  435. package/dist/esm/common/wasm/bins/vecmat.wasm.js +0 -1
  436. package/dist/esm/common/wasm/flip.js +0 -1
  437. package/dist/esm/common/wasm/lstsq.js +0 -1
  438. package/dist/esm/common/wasm/rot90.js +0 -1
  439. package/dist/numpy-ts.node-io.cjs +0 -8
  440. package/dist/numpy-ts.node-io.cjs.map +0 -7
  441. package/dist/numpy-ts.node-io.mjs +0 -8
  442. package/dist/numpy-ts.node-io.mjs.map +0 -7
  443. package/dist/numpy-ts.node.cjs +0 -8
  444. package/dist/numpy-ts.node.cjs.map +0 -7
  445. package/dist/types/common/wasm/bins/dot.wasm.d.ts +0 -9
  446. package/dist/types/common/wasm/bins/flip.wasm.d.ts +0 -7
  447. package/dist/types/common/wasm/bins/inner.wasm.d.ts +0 -9
  448. package/dist/types/common/wasm/bins/matmul.wasm.d.ts +0 -9
  449. package/dist/types/common/wasm/bins/matvec.wasm.d.ts +0 -9
  450. package/dist/types/common/wasm/bins/reduce_quantile.wasm.d.ts +0 -2
  451. package/dist/types/common/wasm/bins/rot90.wasm.d.ts +0 -7
  452. package/dist/types/common/wasm/bins/vecdot.wasm.d.ts +0 -9
  453. package/dist/types/common/wasm/bins/vecmat.wasm.d.ts +0 -9
  454. package/dist/types/common/wasm/flip.d.ts +0 -13
  455. package/dist/types/common/wasm/lstsq.d.ts +0 -14
  456. package/dist/types/common/wasm/rot90.d.ts +0 -14
@@ -0,0 +1,75 @@
1
+ /**
2
+ * WASM RNG wrapper — NumPy-compatible random number generation.
3
+ *
4
+ * Unlike other WASM wrappers, this is always used (no JS fallback).
5
+ * State persists in WASM globals across calls.
6
+ */
7
+ import { fill_uniform_f64_mt, fill_uniform_f64_pcg, fill_standard_normal_pcg, fill_standard_exponential_pcg, fill_legacy_gauss, fill_legacy_standard_exponential, fill_rk_interval, fill_legacy_standard_gamma, fill_legacy_chisquare, fill_pareto, fill_power, fill_weibull, fill_logistic, fill_gumbel, fill_laplace, fill_rayleigh, fill_triangular, fill_standard_cauchy, fill_lognormal, fill_wald, fill_standard_t, fill_beta, fill_f, fill_noncentral_chisquare, fill_noncentral_f, fill_geometric, fill_poisson, fill_binomial, fill_negative_binomial, fill_hypergeometric, fill_logseries, fill_zipf, fill_vonmises, fill_randint_i64, fill_randint_u8, fill_randint_u16, fill_permutation, fill_permutation_pcg, fill_bounded_uint64_pcg } from './bins/rng.wasm';
8
+ /**
9
+ * Fill directly into a WASM pointer — zero-copy path for callers that already
10
+ * have a persistent WASM allocation (e.g., ArrayStorage.empty()).
11
+ * @param ptr - byte offset into WASM memory to write to
12
+ * @param n - number of elements
13
+ * @param fn - the raw WASM fill kernel
14
+ */
15
+ export declare function directFill(ptr: number, n: number, fn: (outPtr: number, n: number) => void): void;
16
+ export declare function initMT19937(seed: number): void;
17
+ export declare function mt19937Uint32(): number;
18
+ export declare function mt19937Float64(): number;
19
+ export declare function getMT19937State(): {
20
+ mt: Uint32Array;
21
+ mti: number;
22
+ };
23
+ export declare function setMT19937State(mt: Uint32Array, mti: number): void;
24
+ export declare function initPCG64FromSeed(seed: number): void;
25
+ export declare function pcg64Float64(): number;
26
+ export declare function pcg64BoundedUint64(off: number, rng: number): bigint;
27
+ export declare function pcg64SaveState(): BigUint64Array;
28
+ export declare function pcg64RestoreState(state: BigUint64Array): void;
29
+ export declare const standardNormalPCG: () => number;
30
+ export declare const standardExponentialPCG: () => number;
31
+ export declare const legacyGauss: () => number;
32
+ export declare const legacyStandardExponential: () => number;
33
+ export declare const legacyGaussReset: () => void;
34
+ export declare const wasmLegacyStandardGamma: (shape: number) => number;
35
+ export { fill_uniform_f64_mt as rawFillUniformF64MT, fill_uniform_f64_pcg as rawFillUniformF64PCG, fill_standard_normal_pcg as rawFillStandardNormalPCG, fill_standard_exponential_pcg as rawFillStandardExponentialPCG, fill_legacy_gauss as rawFillLegacyGauss, fill_legacy_standard_exponential as rawFillLegacyStandardExponential, fill_standard_cauchy as rawFillStandardCauchy, fill_permutation as rawFillPermutation, fill_permutation_pcg as rawFillPermutationPCG, fill_legacy_standard_gamma as rawFillLegacyStandardGamma, fill_legacy_chisquare as rawFillLegacyChisquare, fill_pareto as rawFillPareto, fill_power as rawFillPower, fill_weibull as rawFillWeibull, fill_logistic as rawFillLogistic, fill_gumbel as rawFillGumbel, fill_laplace as rawFillLaplace, fill_rayleigh as rawFillRayleigh, fill_triangular as rawFillTriangular, fill_lognormal as rawFillLognormal, fill_wald as rawFillWald, fill_standard_t as rawFillStandardT, fill_beta as rawFillBeta, fill_f as rawFillF, fill_noncentral_chisquare as rawFillNoncentralChisquare, fill_noncentral_f as rawFillNoncentralF, fill_vonmises as rawFillVonmises, fill_geometric as rawFillGeometric, fill_poisson as rawFillPoisson, fill_binomial as rawFillBinomial, fill_negative_binomial as rawFillNegativeBinomial, fill_hypergeometric as rawFillHypergeometric, fill_logseries as rawFillLogseries, fill_zipf as rawFillZipf, fill_rk_interval as rawFillRkInterval, fill_randint_i64 as rawFillRandintI64, fill_randint_u8 as rawFillRandintU8, fill_randint_u16 as rawFillRandintU16, fill_bounded_uint64_pcg as rawFillBoundedUint64PCG, };
36
+ export declare const fillUniformF64MT: (n: number) => Float64Array<ArrayBuffer>;
37
+ export declare const fillUniformF64PCG: (n: number) => Float64Array<ArrayBuffer>;
38
+ export declare const fillStandardNormalPCG: (n: number) => Float64Array<ArrayBuffer>;
39
+ export declare const fillStandardExponentialPCG: (n: number) => Float64Array<ArrayBuffer>;
40
+ export declare const fillLegacyGauss: (n: number) => Float64Array<ArrayBuffer>;
41
+ export declare const fillLegacyStandardExponential: (n: number) => Float64Array<ArrayBuffer>;
42
+ export declare const fillStandardCauchy: (n: number) => Float64Array<ArrayBuffer>;
43
+ export declare const fillPermutation: (n: number) => Float64Array<ArrayBuffer>;
44
+ export declare const fillPermutationPCG: (n: number) => BigInt64Array<ArrayBuffer>;
45
+ export declare const fillLegacyStandardGamma: (n: number, shape: number) => Float64Array<ArrayBuffer>;
46
+ export declare const fillLegacyChisquare: (n: number, df: number) => Float64Array<ArrayBuffer>;
47
+ export declare const fillPareto: (n: number, a: number) => Float64Array<ArrayBuffer>;
48
+ export declare const fillPower: (n: number, a: number) => Float64Array<ArrayBuffer>;
49
+ export declare const fillWeibull: (n: number, a: number) => Float64Array<ArrayBuffer>;
50
+ export declare const fillLogistic: (n: number, loc: number, scale: number) => Float64Array<ArrayBuffer>;
51
+ export declare const fillGumbel: (n: number, loc: number, scale: number) => Float64Array<ArrayBuffer>;
52
+ export declare const fillLaplace: (n: number, loc: number, scale: number) => Float64Array<ArrayBuffer>;
53
+ export declare const fillRayleigh: (n: number, scale: number) => Float64Array<ArrayBuffer>;
54
+ export declare const fillTriangular: (n: number, left: number, mode: number, right: number) => Float64Array<ArrayBuffer>;
55
+ export declare const fillLognormal: (n: number, mean: number, sigma: number) => Float64Array<ArrayBuffer>;
56
+ export declare const fillWald: (n: number, mean: number, scale: number) => Float64Array<ArrayBuffer>;
57
+ export declare const fillStandardT: (n: number, df: number) => Float64Array<ArrayBuffer>;
58
+ export declare const fillBeta: (n: number, a: number, b: number) => Float64Array<ArrayBuffer>;
59
+ export declare const fillF: (n: number, dfnum: number, dfden: number) => Float64Array<ArrayBuffer>;
60
+ export declare const fillNoncentralChisquare: (n: number, df: number, nonc: number) => Float64Array<ArrayBuffer>;
61
+ export declare const fillNoncentralF: (n: number, dfnum: number, dfden: number, nonc: number) => Float64Array<ArrayBuffer>;
62
+ export declare const fillVonmises: (n: number, mu: number, kappa: number) => Float64Array<ArrayBuffer>;
63
+ export declare const fillGeometric: (n: number, p: number) => BigInt64Array<ArrayBuffer>;
64
+ export declare const fillPoisson: (n: number, lam: number) => BigInt64Array<ArrayBuffer>;
65
+ export declare const fillBinomial: (n: number, trials: number, p: number) => BigInt64Array<ArrayBuffer>;
66
+ export declare const fillNegativeBinomial: (n: number, nn2: number, p: number) => BigInt64Array<ArrayBuffer>;
67
+ export declare const fillHypergeometric: (n: number, ngood: number, nbad: number, nsample: number) => BigInt64Array<ArrayBuffer>;
68
+ export declare const fillLogseries: (n: number, p: number) => BigInt64Array<ArrayBuffer>;
69
+ export declare const fillZipf: (n: number, a: number) => BigInt64Array<ArrayBuffer>;
70
+ export declare const fillRkInterval: (n: number, max: number) => Uint32Array<ArrayBuffer>;
71
+ export declare const fillRandintI64: (n: number, max: number, low: number) => BigInt64Array<ArrayBuffer>;
72
+ export declare const fillRandintU8: (n: number, rng: number, off: number) => Uint8Array<ArrayBuffer>;
73
+ export declare const fillRandintU16: (n: number, rng: number, off: number) => Uint16Array<ArrayBuffer>;
74
+ export declare const fillBoundedUint64PCG: (n: number, off: number, rng: number) => BigInt64Array<ArrayBuffer>;
75
+ //# sourceMappingURL=rng.d.ts.map
@@ -1,44 +1,138 @@
1
1
  /**
2
- * WASM Runtime — shared memory management for all WASM kernels.
2
+ * WASM Runtime — zero-copy memory management for all WASM kernels.
3
3
  *
4
- * All kernel modules share a single WebAssembly.Memory instance.
5
- * Uses a bump allocator that resets on every kernel call (no fragmentation).
6
- * Memory grows monotonically (high-water-mark pattern).
4
+ * All array data lives in a single fixed-size WebAssembly.Memory instance.
5
+ * A persistent free-list allocator (alloc.zig) manages long-lived ArrayStorage
6
+ * data. A scratch bump allocator handles temporary copy-ins for JS-fallback
7
+ * arrays during kernel calls.
8
+ *
9
+ * Memory layout:
10
+ * [WASM statics][--- persistent heap (free-list) ---][--- scratch (bump) ---]
11
+ * 0 heapBase scratchBase maxBytes
12
+ *
13
+ * Because initial === maximum pages, memory.buffer is never detached by grow().
14
+ * All TypedArray views into it remain valid for the program lifetime.
7
15
  */
8
16
  import type { TypedArray } from '../dtype';
17
+ import { type ConfigureWasmOptions } from './config';
9
18
  /**
10
19
  * Get the shared WebAssembly.Memory instance.
11
- * All WASM kernel modules import this same memory.
12
- * Starts with 17 pages (~1.1MB) — enough for debug (ReleaseSmall/Safe) WASM builds
13
- * which have larger binaries and declare higher minimum memory.
20
+ * Allocated once with initial === maximum pages so the buffer never detaches.
14
21
  */
15
22
  export declare function getSharedMemory(): WebAssembly.Memory;
16
23
  /**
17
- * Ensure the shared memory has at least `bytes` of usable space
18
- * (above heapBase). Grows if necessary.
24
+ * Set the heap base offset. Called by each WASM module on first init
25
+ * (reads __heap_base from exports). The highest value wins.
19
26
  */
20
- export declare function ensureMemory(bytes: number): void;
27
+ export declare function setHeapBase(base: number): void;
21
28
  /**
22
- * Reset the bump allocator. Call before each kernel invocation.
23
- * Also increments wasmCallCount so callers can detect WASM execution.
29
+ * Configure WASM memory settings. Must be called before any array operations
30
+ * (i.e. before the WASM memory is initialized on first use).
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * import { configureWasm } from 'numpy-ts';
35
+ * configureWasm({ maxMemory: 512 * 1024 * 1024 }); // 512 MiB
36
+ * ```
24
37
  */
25
- export declare function resetAllocator(base?: number): void;
38
+ export declare function configureWasm(options: ConfigureWasmOptions): void;
39
+ export declare class WasmRegion {
40
+ readonly ptr: number;
41
+ readonly byteLength: number;
42
+ private _refCount;
43
+ constructor(ptr: number, byteLength: number);
44
+ retain(): void;
45
+ release(): void;
46
+ get refCount(): number;
47
+ }
26
48
  /**
27
- * Set the heap base offset. Called once when the first WASM instance
28
- * is initialized (reads __heap_base from the WASM exports).
49
+ * Register an object (typically ArrayStorage) so that when it is garbage
50
+ * collected, the associated WasmRegion's refcount is decremented.
51
+ * The instance itself is used as the unregister token, allowing
52
+ * eager cleanup via unregisterCleanup() to prevent double-free.
29
53
  */
30
- export declare function setHeapBase(base: number): void;
54
+ export declare function registerForCleanup(instance: object, region: WasmRegion): void;
55
+ /**
56
+ * Unregister an object from the FinalizationRegistry.
57
+ * Must be called when eagerly releasing WASM memory to prevent
58
+ * the GC callback from double-freeing the region.
59
+ */
60
+ export declare function unregisterCleanup(instance: object): void;
61
+ /**
62
+ * Allocate `bytes` from the persistent WASM heap.
63
+ * Returns a WasmRegion, or null if out of memory (caller should fall back to JS).
64
+ */
65
+ export declare function wasmMalloc(bytes: number): WasmRegion | null;
66
+ /**
67
+ * Total free bytes in the persistent heap.
68
+ */
69
+ export declare function wasmFreeBytes(): number;
70
+ /**
71
+ * Reset the scratch bump allocator. Call before each kernel invocation
72
+ * that may need to copy JS-fallback inputs into WASM memory.
73
+ * Also frees any temp heap allocations from the previous kernel call.
74
+ */
75
+ export declare function resetScratchAllocator(): void;
76
+ /**
77
+ * Bump-allocate `bytes` from the scratch region. Returns byte offset.
78
+ * Always 8-byte aligned. Falls back to heap if scratch space is exhausted.
79
+ */
80
+ export declare function scratchAlloc(bytes: number): number;
81
+ /**
82
+ * Copy a JS TypedArray into the scratch region. Returns byte offset.
83
+ */
84
+ export declare function scratchCopyIn(src: TypedArray): number;
85
+ /**
86
+ * Resolve an ArrayStorage input to a WASM pointer for kernel use.
87
+ * If the storage is WASM-backed, returns its direct pointer (zero-copy).
88
+ * If JS-backed, copies data into the scratch region.
89
+ *
90
+ * @param data - The TypedArray from storage.data
91
+ * @param isWasmBacked - Whether the storage is backed by WASM memory
92
+ * @param wasmPtr - The WASM pointer (only valid if isWasmBacked)
93
+ * @param offset - Element offset into the data
94
+ * @param elementCount - Number of elements to resolve
95
+ * @param bpe - Bytes per element
96
+ */
97
+ export declare function resolveInputPtr(data: TypedArray, isWasmBacked: boolean, wasmPtr: number, offset: number, elementCount: number, bpe: number): number;
98
+ /**
99
+ * Resolve a TypedArray to a WASM pointer. If the array is already a view
100
+ * into WASM memory, returns its byte offset directly (zero-copy).
101
+ * Otherwise copies to scratch. Useful when you have a TypedArray but
102
+ * don't know if it's WASM-backed (e.g. from getContiguousData).
103
+ */
104
+ export declare function resolveTypedArrayPtr(data: TypedArray): number;
31
105
  /**
32
- * Bump-allocate `bytes` from WASM memory. Returns the byte offset.
33
- * Always 8-byte aligned for TypedArray compatibility.
106
+ * Convert f16 input to f32 in the scratch region using .set() — no JS allocation.
107
+ * Creates Float32Array view on WASM scratch memory and uses .set(f16Data) which
108
+ * converts f16→f32 in-place. 1.2x–3x faster than f16ToF32Input + scratchCopyIn.
109
+ *
110
+ * @param a - The ArrayStorage with f16 data
111
+ * @param size - Number of elements
112
+ * @returns WASM byte offset of the f32 scratch data
34
113
  */
35
- export declare function alloc(bytes: number): number;
114
+ export declare function f16InputToScratchF32(a: {
115
+ data: TypedArray;
116
+ isWasmBacked: boolean;
117
+ wasmPtr: number;
118
+ offset: number;
119
+ }, size: number): number;
36
120
  /**
37
- * Copy a JS TypedArray into WASM memory. Returns the byte offset.
121
+ * Convert f32 kernel output to f16 in a new WASM region using .set() no JS round-trip.
122
+ * Allocates a persistent f16 WasmRegion, creates Float16Array + Float32Array views
123
+ * on WASM memory, and uses .set() to convert in-place.
124
+ * Replaces: copyOut + f32ToF16Output + fromData (saves 2 copies).
125
+ *
126
+ * @param outRegion - The WasmRegion containing f32 output from the kernel
127
+ * @param size - Number of elements
128
+ * @returns New WasmRegion with f16 data, or null on OOM. Caller must release outRegion.
38
129
  */
39
- export declare function copyIn(src: TypedArray): number;
130
+ export declare function f32OutputToF16Region(outRegion: WasmRegion, size: number): WasmRegion | null;
40
131
  /**
41
- * Copy data from WASM memory into a new JS TypedArray.
132
+ * Convert f32 WASM output to f16 in-place within the same region.
133
+ * Safe because f16[i] at byte 2i never reaches unread f32[j>i] at byte 4j.
134
+ * Avoids extra wasmMalloc + release overhead of f32OutputToF16Region.
135
+ * The region retains its original (f32-sized) allocation; the extra bytes are unused.
42
136
  */
43
- export declare function copyOut<T extends TypedArray>(ptr: number, length: number, Ctor: new (buffer: ArrayBuffer, byteOffset: number, length: number) => T): T;
137
+ export declare function f32ToF16InPlace(outRegion: WasmRegion, size: number): void;
44
138
  //# sourceMappingURL=runtime.d.ts.map
@@ -1,12 +1,14 @@
1
1
  /**
2
2
  * WASM-accelerated searchsorted (binary search for insertion indices).
3
3
  *
4
+ * Output is float64 indices for JS ergonomics (no BigInt).
5
+ * WASM searches u32 internally and converts to f64 before returning.
4
6
  * Returns null if WASM can't handle this case.
5
7
  */
6
8
  import { ArrayStorage } from '../storage';
7
9
  /**
8
10
  * WASM-accelerated searchsorted.
9
- * Returns ArrayStorage of int32 insertion indices or null if WASM can't handle it.
11
+ * Returns ArrayStorage of float64 insertion indices or null if WASM can't handle it.
10
12
  */
11
13
  export declare function wasmSearchsorted(sorted: ArrayStorage, values: ArrayStorage, side: 'left' | 'right'): ArrayStorage | null;
12
14
  //# sourceMappingURL=searchsorted.d.ts.map
@@ -0,0 +1,14 @@
1
+ /**
2
+ * WASM-accelerated element-wise signbit with SIMD.
3
+ *
4
+ * Unary: out[i] = 1 if a[i] has negative sign bit, 0 otherwise
5
+ * Returns a boolean (uint8) array.
6
+ * For unsigned types, signbit is always 0 — returns zeros directly.
7
+ */
8
+ import { ArrayStorage } from '../storage';
9
+ /**
10
+ * WASM-accelerated element-wise signbit.
11
+ * Returns null if WASM can't handle (complex, non-contiguous, too small).
12
+ */
13
+ export declare function wasmSignbit(a: ArrayStorage): ArrayStorage | null;
14
+ //# sourceMappingURL=signbit.d.ts.map
@@ -0,0 +1,17 @@
1
+ /**
2
+ * WASM-accelerated element-wise sine.
3
+ *
4
+ * Unary: out[i] = sin(a[i])
5
+ * Returns null if WASM can't handle this case.
6
+ * Float types use native kernels; integer types use type-appropriate output:
7
+ * i8/u8 → f32 (then downcast to f16 if available)
8
+ * i16/u16 → f32
9
+ * i32/u32/i64/u64 → f64
10
+ */
11
+ import { ArrayStorage } from '../storage';
12
+ /**
13
+ * WASM-accelerated element-wise sine.
14
+ * Returns null if WASM can't handle (complex, non-contiguous, too small).
15
+ */
16
+ export declare function wasmSin(a: ArrayStorage): ArrayStorage | null;
17
+ //# sourceMappingURL=sin.d.ts.map
@@ -3,8 +3,10 @@
3
3
  *
4
4
  * Unary: out[i] = sinh(a[i])
5
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).
6
+ * Float types use native kernels; integer types use type-appropriate output:
7
+ * i8/u8 f32 (then downcast to f16 if available)
8
+ * i16/u16 → f32
9
+ * i32/u32/i64/u64 → f64
8
10
  */
9
11
  import { ArrayStorage } from '../storage';
10
12
  /**
@@ -5,11 +5,14 @@
5
5
  * Returns null if WASM can't handle this case.
6
6
  */
7
7
  import { ArrayStorage } from '../storage';
8
- import type { DType, TypedArray } from '../dtype';
8
+ import { type DType, TypedArray } from '../dtype';
9
9
  /**
10
10
  * WASM-accelerated sort of contiguous slices in a typed array buffer.
11
11
  * Uses a single batched WASM call for all slices (eliminates per-slice JS→WASM overhead).
12
12
  * Returns true if WASM handled it.
13
+ *
14
+ * Note: wasmSortSlices operates on pre-existing JS buffers (resultData), so it uses
15
+ * scratch copy-in and copy-out rather than wasmMalloc. The caller owns the buffer.
13
16
  */
14
17
  export declare function wasmSortSlices(resultData: TypedArray, sliceOffsets: Int32Array | number[], axisSize: number, outerSize: number, dtype: DType): boolean;
15
18
  /**
@@ -3,8 +3,10 @@
3
3
  *
4
4
  * Unary: out[i] = sqrt(a[i])
5
5
  * Returns null if WASM can't handle this case.
6
- * Float types output same type; integer types use native WASM kernels
7
- * that convert to f64 internally (no JS conversion loop needed).
6
+ * Float types output same type; integer types use type-appropriate output:
7
+ * i8/u8 f32 (then downcast to f16 if available)
8
+ * i16/u16 → f32
9
+ * i32/u32/i64/u64 → f64
8
10
  */
9
11
  import { ArrayStorage } from '../storage';
10
12
  /**
@@ -15,4 +15,10 @@ export declare function wasmSvd(a: ArrayStorage): {
15
15
  s: ArrayStorage;
16
16
  vt: ArrayStorage;
17
17
  } | null;
18
+ /**
19
+ * WASM-accelerated singular values only (no U, V) via Golub-Kahan.
20
+ * Much faster than full SVD for svdvals/cond/matrix_rank.
21
+ * Returns ArrayStorage with singular values, or null.
22
+ */
23
+ export declare function wasmSvdValues(a: ArrayStorage): ArrayStorage | null;
18
24
  //# sourceMappingURL=svd.d.ts.map
@@ -3,8 +3,10 @@
3
3
  *
4
4
  * Unary: out[i] = tan(a[i])
5
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).
6
+ * Float types use native kernels; integer types use type-appropriate output:
7
+ * i8/u8 f32 (then downcast to f16 if available)
8
+ * i16/u16 → f32
9
+ * i32/u32/i64/u64 → f64
8
10
  */
9
11
  import { ArrayStorage } from '../storage';
10
12
  /**
@@ -3,8 +3,10 @@
3
3
  *
4
4
  * Unary: out[i] = tanh(a[i])
5
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).
6
+ * Float types use native kernels; integer types use type-appropriate output:
7
+ * i8/u8 f32 (then downcast to f16 if available)
8
+ * i16/u16 → f32
9
+ * i32/u32/i64/u64 → f64
8
10
  */
9
11
  import { ArrayStorage } from '../storage';
10
12
  /**
@@ -0,0 +1,12 @@
1
+ /**
2
+ * WASM-accelerated unravel_index: convert flat indices to multi-dimensional indices.
3
+ * Uses native i32/i64 kernels for integer inputs (no JS conversion overhead),
4
+ * with f64 kernel as fallback. All kernels output f64 directly.
5
+ */
6
+ import { ArrayStorage } from '../storage';
7
+ /**
8
+ * WASM-accelerated unravel_index for flat indices with C-order strides.
9
+ * Returns ndim ArrayStorage arrays (float64), or null if WASM can't handle this case.
10
+ */
11
+ export declare function wasmUnravelIndex(indices: ArrayStorage, shape: number[]): ArrayStorage[] | null;
12
+ //# sourceMappingURL=unravel_index.d.ts.map
@@ -0,0 +1,11 @@
1
+ /**
2
+ * WASM-accelerated L2 vector norm: sqrt(sum(x[i]^2)).
3
+ * Returns null if WASM can't handle.
4
+ */
5
+ import { ArrayStorage } from '../storage';
6
+ /**
7
+ * WASM-accelerated L2 norm (Euclidean norm).
8
+ * Returns sqrt(sum(x^2)) as a number, or null if WASM can't handle.
9
+ */
10
+ export declare function wasmVectorNorm2(a: ArrayStorage): number | null;
11
+ //# sourceMappingURL=vector_norm.d.ts.map
@@ -31,7 +31,7 @@ export declare function select(condlist: NDArrayCore[], choicelist: NDArrayCore[
31
31
  export declare function place(a: NDArrayCore, mask: NDArrayCore, vals: NDArrayCore): void;
32
32
  export declare function putmask(a: NDArrayCore, mask: NDArrayCore, values: NDArrayCore): void;
33
33
  export declare function copyto(dst: NDArrayCore, src: NDArrayCore | number | bigint): void;
34
- export declare function indices(dimensions: number[], dtype?: 'int32' | 'int64' | 'float64'): NDArrayCore;
34
+ export declare function indices(dimensions: number[], dtype?: string): NDArrayCore;
35
35
  export declare function ix_(...args: NDArrayCore[]): NDArrayCore[];
36
36
  export declare function ravel_multi_index(multi_index: NDArrayCore[], dims: number[], mode?: 'raise' | 'wrap' | 'clip'): NDArrayCore;
37
37
  export declare function unravel_index(indices: NDArrayCore | number, shape: number[]): NDArrayCore[];
@@ -42,7 +42,7 @@ export declare function tril_indices(n: number, k?: number, m?: number): NDArray
42
42
  export declare function tril_indices_from(a: NDArrayCore, k?: number): NDArrayCore[];
43
43
  export declare function triu_indices(n: number, k?: number, m?: number): NDArrayCore[];
44
44
  export declare function triu_indices_from(a: NDArrayCore, k?: number): NDArrayCore[];
45
- export declare function mask_indices(n: number, mask_func: (n: number, k: number) => NDArrayCore, k?: number): NDArrayCore[];
45
+ export declare function mask_indices(n: number, mask_func: (m: NDArrayCore, k: number) => NDArrayCore, k?: number): NDArrayCore[];
46
46
  export declare function array_equal(a: NDArrayCore, b: NDArrayCore, equal_nan?: boolean): boolean;
47
47
  export declare function array_equiv(a: NDArrayCore, b: NDArrayCore): boolean;
48
48
  export declare function apply_along_axis(func1d: (arr: NDArrayCore) => NDArrayCore | number, axis: number, arr: NDArrayCore): NDArrayCore;
@@ -51,4 +51,12 @@ export declare function may_share_memory(a: NDArrayCore, b: NDArrayCore): boolea
51
51
  export declare function shares_memory(a: NDArrayCore, b: NDArrayCore): boolean;
52
52
  export declare const geterr: typeof advancedOps.geterr;
53
53
  export declare const seterr: typeof advancedOps.seterr;
54
+ export type NDIndex = number | string | number[] | NDArrayCore;
55
+ /**
56
+ * Vectorized multi-dimensional indexing (dask.vindex semantics).
57
+ *
58
+ * Integer-array subspace dimensions come first in the output, followed by
59
+ * slice dimensions in their original order.
60
+ */
61
+ export declare function vindex(a: NDArrayCore, ...indices: (number | string | number[] | NDArrayCore)[]): NDArrayCore;
54
62
  //# sourceMappingURL=advanced.d.ts.map
@@ -19,7 +19,7 @@ export declare function zeros(shape: number[], dtype?: DType): NDArrayCore;
19
19
  */
20
20
  export declare function ones(shape: number[], dtype?: DType): NDArrayCore;
21
21
  /**
22
- * Create an uninitialized array (zeros in JS)
22
+ * Create an uninitialized array
23
23
  */
24
24
  export declare function empty(shape: number[], dtype?: DType): NDArrayCore;
25
25
  /**
@@ -19,12 +19,13 @@ export { sum, mean, prod, max, amax, min, amin, ptp, argmin, argmax, variance, v
19
19
  export { logical_and, logical_or, logical_not, logical_xor, isfinite, isinf, isnan, isnat, isneginf, isposinf, iscomplex, iscomplexobj, isreal, isrealobj, real_if_close, isfortran, isscalar, iterable, isdtype, promote_types, copysign, signbit, nextafter, spacing, greater, greater_equal, less, less_equal, equal, not_equal, isclose, allclose, } from './logic';
20
20
  export { sort, argsort, lexsort, partition, argpartition, sort_complex, nonzero, argwhere, flatnonzero, where, searchsorted, extract, count_nonzero, } from './sorting';
21
21
  export { bitwise_and, bitwise_or, bitwise_xor, bitwise_not, invert, left_shift, right_shift, packbits, unpackbits, bitwise_count, bitwise_invert, bitwise_left_shift, bitwise_right_shift, } from './bitwise';
22
- export { around, round_, round, ceil, fix, floor, rint, trunc } from './rounding';
22
+ export { around, round, ceil, fix, floor, rint, trunc } from './rounding';
23
23
  export { unique, in1d, intersect1d, isin, setdiff1d, setxor1d, union1d, trim_zeros, unique_all, unique_counts, unique_inverse, unique_values, } from './sets';
24
24
  export { bincount, digitize, histogram, histogram2d, histogramdd, correlate, convolve, cov, corrcoef, histogram_bin_edges, trapezoid, } from './statistics';
25
25
  export { diff, ediff1d, gradient } from './gradient';
26
26
  export { real, imag, conj, conjugate, angle } from './complex';
27
- export { broadcast_to, broadcast_arrays, broadcast_shapes, take, put, take_along_axis, put_along_axis, choose, compress, select, place, putmask, copyto, indices, ix_, ravel_multi_index, unravel_index, diag_indices, diag_indices_from, fill_diagonal, tril_indices, tril_indices_from, triu_indices, triu_indices_from, mask_indices, array_equal, array_equiv, apply_along_axis, apply_over_axes, may_share_memory, shares_memory, geterr, seterr, iindex, bindex, } from './advanced';
27
+ export { broadcast_to, broadcast_arrays, broadcast_shapes, take, put, take_along_axis, put_along_axis, choose, compress, select, place, putmask, copyto, indices, ix_, ravel_multi_index, unravel_index, diag_indices, diag_indices_from, fill_diagonal, tril_indices, tril_indices_from, triu_indices, triu_indices_from, mask_indices, array_equal, array_equiv, apply_along_axis, apply_over_axes, may_share_memory, shares_memory, geterr, seterr, iindex, bindex, vindex, } from './advanced';
28
+ export type { NDIndex } from './advanced';
28
29
  export { set_printoptions, get_printoptions, printoptions, format_float_positional, format_float_scientific, base_repr, binary_repr, array2string, array_repr, array_str, } from './formatting';
29
30
  export { ndim, shape, size, item, tolist, tobytes, byteswap, view, tofile, fill } from './utility';
30
31
  export { append, delete_, delete_ as delete, insert, pad } from './shape-extra';
@@ -37,4 +38,97 @@ export { parseNpz, parseNpzSync, loadNpz, loadNpzSync, type NpzParseOptions, typ
37
38
  export { serializeNpz, serializeNpzSync, type NpzArraysInput, type NpzSerializeOptions, } from '../io/npz/serializer';
38
39
  export { parseTxt, genfromtxt, fromregex, type ParseTxtOptions } from '../io/txt/parser';
39
40
  export { serializeTxt, type SerializeTxtOptions } from '../io/txt/serializer';
41
+ import * as randomOps from '../common/ops/random';
42
+ import { ArrayStorage } from '../common/storage';
43
+ import { NDArrayCore as NDArrayCoreClass } from '../common/ndarray-core';
44
+ import { DType } from '../common/dtype';
45
+ export declare const random: {
46
+ seed: typeof randomOps.seed;
47
+ get_state: typeof randomOps.get_state;
48
+ set_state: typeof randomOps.set_state;
49
+ get_bit_generator: typeof randomOps.get_bit_generator;
50
+ set_bit_generator: typeof randomOps.set_bit_generator;
51
+ default_rng: (seedValue?: number) => {
52
+ random: (size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
53
+ integers: (low: number, high?: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
54
+ standard_normal: (size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
55
+ normal: (loc?: number, scale?: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
56
+ uniform: (low?: number, high?: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
57
+ choice: (a: number | (ArrayStorage | NDArrayCoreClass), size?: number | number[], replace?: boolean, p?: (ArrayStorage | NDArrayCoreClass) | number[]) => number | ArrayStorage | NDArrayCoreClass;
58
+ permutation: (x: number | (ArrayStorage | NDArrayCoreClass)) => ArrayStorage | NDArrayCoreClass;
59
+ shuffle: (x: ArrayStorage | NDArrayCoreClass) => void;
60
+ exponential: (scale?: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
61
+ poisson: (lam?: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
62
+ binomial: (n: number, p: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
63
+ };
64
+ Generator: typeof randomOps.Generator;
65
+ random: (size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
66
+ rand: (...shape: number[]) => number | ArrayStorage | NDArrayCoreClass;
67
+ randn: (...shape: number[]) => number | ArrayStorage | NDArrayCoreClass;
68
+ randint: (low: number, high?: number | null, size?: number | number[], dtype?: DType) => number | ArrayStorage | NDArrayCoreClass;
69
+ random_sample: (size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
70
+ ranf: (size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
71
+ sample: (size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
72
+ random_integers: (low: number, high?: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
73
+ bytes: typeof randomOps.bytes;
74
+ uniform: (low?: number, high?: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
75
+ normal: (loc?: number, scale?: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
76
+ standard_normal: (size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
77
+ exponential: (scale?: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
78
+ standard_exponential: (size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
79
+ gamma: (shape: number, scale?: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
80
+ standard_gamma: (shape: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
81
+ beta: (a: number, b: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
82
+ chisquare: (df: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
83
+ noncentral_chisquare: (df: number, nonc: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
84
+ f: (dfnum: number, dfden: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
85
+ noncentral_f: (dfnum: number, dfden: number, nonc: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
86
+ standard_cauchy: (size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
87
+ standard_t: (df: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
88
+ laplace: (loc?: number, scale?: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
89
+ logistic: (loc?: number, scale?: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
90
+ lognormal: (mean?: number, sigma?: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
91
+ gumbel: (loc?: number, scale?: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
92
+ pareto: (a: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
93
+ power: (a: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
94
+ rayleigh: (scale?: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
95
+ triangular: (left: number, mode: number, right: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
96
+ wald: (mean: number, scale: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
97
+ weibull: (a: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
98
+ poisson: (lam?: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
99
+ binomial: (n: number, p: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
100
+ geometric: (p: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
101
+ hypergeometric: (ngood: number, nbad: number, nsample: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
102
+ logseries: (p: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
103
+ negative_binomial: (n: number, p: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
104
+ zipf: (a: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
105
+ multinomial: (n: number, pvals: number[] | ArrayStorage, size?: number | number[]) => ArrayStorage | NDArrayCoreClass;
106
+ multivariate_normal: (mean: number[] | ArrayStorage, cov: number[][] | ArrayStorage, size?: number | number[], check_valid?: "warn" | "raise" | "ignore", tol?: number) => ArrayStorage | NDArrayCoreClass;
107
+ dirichlet: (alpha: number[] | ArrayStorage, size?: number | number[]) => ArrayStorage | NDArrayCoreClass;
108
+ vonmises: (mu: number, kappa: number, size?: number | number[]) => number | ArrayStorage | NDArrayCoreClass;
109
+ choice: (a: number | ArrayStorage, size?: number | number[], replace?: boolean, p?: ArrayStorage | number[]) => number | ArrayStorage | NDArrayCoreClass;
110
+ permutation: (x: number | ArrayStorage) => ArrayStorage | NDArrayCoreClass;
111
+ shuffle: (x: NDArrayCoreClass | ArrayStorage) => void;
112
+ };
113
+ type ArrayInput = NDArrayCoreClass | ArrayStorage;
114
+ export declare const fft: {
115
+ fft: (a: ArrayInput, n?: number, axis?: number, norm?: "backward" | "ortho" | "forward") => NDArrayCoreClass;
116
+ ifft: (a: ArrayInput, n?: number, axis?: number, norm?: "backward" | "ortho" | "forward") => NDArrayCoreClass;
117
+ fft2: (a: ArrayInput, s?: [number, number], axes?: [number, number], norm?: "backward" | "ortho" | "forward") => NDArrayCoreClass;
118
+ ifft2: (a: ArrayInput, s?: [number, number], axes?: [number, number], norm?: "backward" | "ortho" | "forward") => NDArrayCoreClass;
119
+ fftn: (a: ArrayInput, s?: number[], axes?: number[], norm?: "backward" | "ortho" | "forward") => NDArrayCoreClass;
120
+ ifftn: (a: ArrayInput, s?: number[], axes?: number[], norm?: "backward" | "ortho" | "forward") => NDArrayCoreClass;
121
+ rfft: (a: ArrayInput, n?: number, axis?: number, norm?: "backward" | "ortho" | "forward") => NDArrayCoreClass;
122
+ irfft: (a: ArrayInput, n?: number, axis?: number, norm?: "backward" | "ortho" | "forward") => NDArrayCoreClass;
123
+ rfft2: (a: ArrayInput, s?: [number, number], axes?: [number, number], norm?: "backward" | "ortho" | "forward") => NDArrayCoreClass;
124
+ irfft2: (a: ArrayInput, s?: [number, number], axes?: [number, number], norm?: "backward" | "ortho" | "forward") => NDArrayCoreClass;
125
+ rfftn: (a: ArrayInput, s?: number[], axes?: number[], norm?: "backward" | "ortho" | "forward") => NDArrayCoreClass;
126
+ irfftn: (a: ArrayInput, s?: number[], axes?: number[], norm?: "backward" | "ortho" | "forward") => NDArrayCoreClass;
127
+ hfft: (a: ArrayInput, n?: number, axis?: number, norm?: "backward" | "ortho" | "forward") => NDArrayCoreClass;
128
+ ihfft: (a: ArrayInput, n?: number, axis?: number, norm?: "backward" | "ortho" | "forward") => NDArrayCoreClass;
129
+ fftfreq: (n: number, d?: number) => NDArrayCoreClass;
130
+ rfftfreq: (n: number, d?: number) => NDArrayCoreClass;
131
+ fftshift: (a: ArrayInput, axes?: number | number[]) => NDArrayCoreClass;
132
+ ifftshift: (a: ArrayInput, axes?: number | number[]) => NDArrayCoreClass;
133
+ };
40
134
  //# sourceMappingURL=index.d.ts.map
@@ -48,7 +48,7 @@ export declare const linalg: {
48
48
  /** Dot product */
49
49
  dot: (a: NDArrayCore, b: NDArrayCore) => NDArrayCore | number | bigint | Complex;
50
50
  /** Matrix determinant (supports batched ND input) */
51
- det: (a: NDArrayCore) => number | NDArrayCore;
51
+ det: (a: NDArrayCore) => number | Complex | NDArrayCore;
52
52
  /** Matrix inverse */
53
53
  inv: (a: NDArrayCore) => NDArrayCore;
54
54
  /** Solve linear system Ax = b */
@@ -7,8 +7,6 @@
7
7
  import { NDArrayCore } from './types';
8
8
  /** Round to given decimals */
9
9
  export declare function around(a: NDArrayCore, decimals?: number): NDArrayCore;
10
- /** Alias for around */
11
- export declare const round_: typeof around;
12
10
  /** Round (same as around) */
13
11
  export declare function round(a: NDArrayCore, decimals?: number): NDArrayCore;
14
12
  /** Ceiling */
@@ -12,7 +12,10 @@ export declare function unique(ar: NDArrayCore, returnIndex?: boolean, returnInv
12
12
  inverse?: NDArrayCore;
13
13
  counts?: NDArrayCore;
14
14
  };
15
- /** Test if elements in ar1 are in ar2 (deprecated, use isin) */
15
+ /**
16
+ * Test if elements in ar1 are in ar2.
17
+ * @deprecated Use {@link isin} instead. `in1d` follows NumPy's deprecation and will be removed in a future release.
18
+ */
16
19
  export declare function in1d(ar1: NDArrayCore, ar2: NDArrayCore): NDArrayCore;
17
20
  /** Find intersection of two arrays */
18
21
  export declare function intersect1d(ar1: NDArrayCore, ar2: NDArrayCore): NDArrayCore;
@@ -4,6 +4,7 @@
4
4
  * This module provides statistical operations that can be
5
5
  * imported independently for optimal tree-shaking.
6
6
  */
7
+ import { Complex } from '../common/complex';
7
8
  import { NDArrayCore } from './types';
8
9
  type BinStrategyString = 'auto' | 'fd' | 'doane' | 'scott' | 'stone' | 'rice' | 'sturges' | 'sqrt';
9
10
  /** Count occurrences of values */
@@ -27,6 +28,6 @@ export declare function corrcoef(x: NDArrayCore, y?: NDArrayCore, rowvar?: boole
27
28
  /** Compute histogram bin edges */
28
29
  export declare function histogram_bin_edges(a: NDArrayCore, bins?: number | BinStrategyString, range?: [number, number], weights?: NDArrayCore): NDArrayCore;
29
30
  /** Integrate using trapezoidal rule */
30
- export declare function trapezoid(y: NDArrayCore, x?: NDArrayCore, dx?: number, axis?: number): NDArrayCore | number;
31
+ export declare function trapezoid(y: NDArrayCore, x?: NDArrayCore, dx?: number, axis?: number): NDArrayCore | number | Complex;
31
32
  export {};
32
33
  //# sourceMappingURL=statistics.d.ts.map