@nberlette/math 0.7.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 (806) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +889 -0
  3. package/cjs/abs.d.ts +14 -0
  4. package/cjs/abs.d.ts.map +1 -0
  5. package/cjs/abs.js +22 -0
  6. package/cjs/abs.js.map +1 -0
  7. package/cjs/acos.d.ts +17 -0
  8. package/cjs/acos.d.ts.map +1 -0
  9. package/cjs/acos.js +27 -0
  10. package/cjs/acos.js.map +1 -0
  11. package/cjs/acosh.d.ts +11 -0
  12. package/cjs/acosh.d.ts.map +1 -0
  13. package/cjs/acosh.js +35 -0
  14. package/cjs/acosh.js.map +1 -0
  15. package/cjs/asin.d.ts +11 -0
  16. package/cjs/asin.d.ts.map +1 -0
  17. package/cjs/asin.js +28 -0
  18. package/cjs/asin.js.map +1 -0
  19. package/cjs/asinh.d.ts +9 -0
  20. package/cjs/asinh.d.ts.map +1 -0
  21. package/cjs/asinh.js +26 -0
  22. package/cjs/asinh.js.map +1 -0
  23. package/cjs/atan.d.ts +11 -0
  24. package/cjs/atan.d.ts.map +1 -0
  25. package/cjs/atan.js +65 -0
  26. package/cjs/atan.js.map +1 -0
  27. package/cjs/atan2.d.ts +12 -0
  28. package/cjs/atan2.d.ts.map +1 -0
  29. package/cjs/atan2.js +70 -0
  30. package/cjs/atan2.js.map +1 -0
  31. package/cjs/atanh.d.ts +11 -0
  32. package/cjs/atanh.d.ts.map +1 -0
  33. package/cjs/atanh.js +32 -0
  34. package/cjs/atanh.js.map +1 -0
  35. package/cjs/cbrt.d.ts +9 -0
  36. package/cjs/cbrt.d.ts.map +1 -0
  37. package/cjs/cbrt.js +26 -0
  38. package/cjs/cbrt.js.map +1 -0
  39. package/cjs/ceil.d.ts +15 -0
  40. package/cjs/ceil.d.ts.map +1 -0
  41. package/cjs/ceil.js +34 -0
  42. package/cjs/ceil.js.map +1 -0
  43. package/cjs/clamp.d.ts +15 -0
  44. package/cjs/clamp.d.ts.map +1 -0
  45. package/cjs/clamp.js +32 -0
  46. package/cjs/clamp.js.map +1 -0
  47. package/cjs/clz32.d.ts +20 -0
  48. package/cjs/clz32.d.ts.map +1 -0
  49. package/cjs/clz32.js +48 -0
  50. package/cjs/clz32.js.map +1 -0
  51. package/cjs/constants/e.d.ts +17 -0
  52. package/cjs/constants/e.d.ts.map +1 -0
  53. package/cjs/constants/e.js +19 -0
  54. package/cjs/constants/e.js.map +1 -0
  55. package/cjs/constants/epsilon.d.ts +24 -0
  56. package/cjs/constants/epsilon.d.ts.map +1 -0
  57. package/cjs/constants/epsilon.js +26 -0
  58. package/cjs/constants/epsilon.js.map +1 -0
  59. package/cjs/constants/index.d.ts +23 -0
  60. package/cjs/constants/index.d.ts.map +1 -0
  61. package/cjs/constants/index.js +39 -0
  62. package/cjs/constants/index.js.map +1 -0
  63. package/cjs/constants/infinity.d.ts +3 -0
  64. package/cjs/constants/infinity.d.ts.map +1 -0
  65. package/cjs/constants/infinity.js +19 -0
  66. package/cjs/constants/infinity.js.map +1 -0
  67. package/cjs/constants/ln10.d.ts +10 -0
  68. package/cjs/constants/ln10.d.ts.map +1 -0
  69. package/cjs/constants/ln10.js +12 -0
  70. package/cjs/constants/ln10.js.map +1 -0
  71. package/cjs/constants/ln2.d.ts +10 -0
  72. package/cjs/constants/ln2.d.ts.map +1 -0
  73. package/cjs/constants/ln2.js +12 -0
  74. package/cjs/constants/ln2.js.map +1 -0
  75. package/cjs/constants/log10e.d.ts +10 -0
  76. package/cjs/constants/log10e.d.ts.map +1 -0
  77. package/cjs/constants/log10e.js +12 -0
  78. package/cjs/constants/log10e.js.map +1 -0
  79. package/cjs/constants/log2e.d.ts +10 -0
  80. package/cjs/constants/log2e.d.ts.map +1 -0
  81. package/cjs/constants/log2e.js +12 -0
  82. package/cjs/constants/log2e.js.map +1 -0
  83. package/cjs/constants/max_safe_integer.d.ts +11 -0
  84. package/cjs/constants/max_safe_integer.d.ts.map +1 -0
  85. package/cjs/constants/max_safe_integer.js +13 -0
  86. package/cjs/constants/max_safe_integer.js.map +1 -0
  87. package/cjs/constants/max_value.d.ts +10 -0
  88. package/cjs/constants/max_value.d.ts.map +1 -0
  89. package/cjs/constants/max_value.js +12 -0
  90. package/cjs/constants/max_value.js.map +1 -0
  91. package/cjs/constants/min_safe_integer.d.ts +12 -0
  92. package/cjs/constants/min_safe_integer.d.ts.map +1 -0
  93. package/cjs/constants/min_safe_integer.js +14 -0
  94. package/cjs/constants/min_safe_integer.js.map +1 -0
  95. package/cjs/constants/min_value.d.ts +10 -0
  96. package/cjs/constants/min_value.d.ts.map +1 -0
  97. package/cjs/constants/min_value.js +12 -0
  98. package/cjs/constants/min_value.js.map +1 -0
  99. package/cjs/constants/nan.d.ts +47 -0
  100. package/cjs/constants/nan.d.ts.map +1 -0
  101. package/cjs/constants/nan.js +30 -0
  102. package/cjs/constants/nan.js.map +1 -0
  103. package/cjs/constants/negative_infinity.d.ts +28 -0
  104. package/cjs/constants/negative_infinity.d.ts.map +1 -0
  105. package/cjs/constants/negative_infinity.js +15 -0
  106. package/cjs/constants/negative_infinity.js.map +1 -0
  107. package/cjs/constants/negative_zero.d.ts +31 -0
  108. package/cjs/constants/negative_zero.d.ts.map +1 -0
  109. package/cjs/constants/negative_zero.js +21 -0
  110. package/cjs/constants/negative_zero.js.map +1 -0
  111. package/cjs/constants/pi.d.ts +10 -0
  112. package/cjs/constants/pi.d.ts.map +1 -0
  113. package/cjs/constants/pi.js +12 -0
  114. package/cjs/constants/pi.js.map +1 -0
  115. package/cjs/constants/positive_infinity.d.ts +29 -0
  116. package/cjs/constants/positive_infinity.d.ts.map +1 -0
  117. package/cjs/constants/positive_infinity.js +16 -0
  118. package/cjs/constants/positive_infinity.js.map +1 -0
  119. package/cjs/constants/positive_zero.d.ts +38 -0
  120. package/cjs/constants/positive_zero.d.ts.map +1 -0
  121. package/cjs/constants/positive_zero.js +36 -0
  122. package/cjs/constants/positive_zero.js.map +1 -0
  123. package/cjs/constants/sqrt1_2.d.ts +9 -0
  124. package/cjs/constants/sqrt1_2.d.ts.map +1 -0
  125. package/cjs/constants/sqrt1_2.js +11 -0
  126. package/cjs/constants/sqrt1_2.js.map +1 -0
  127. package/cjs/constants/sqrt2.d.ts +9 -0
  128. package/cjs/constants/sqrt2.d.ts.map +1 -0
  129. package/cjs/constants/sqrt2.js +11 -0
  130. package/cjs/constants/sqrt2.js.map +1 -0
  131. package/cjs/cos.d.ts +10 -0
  132. package/cjs/cos.d.ts.map +1 -0
  133. package/cjs/cos.js +32 -0
  134. package/cjs/cos.js.map +1 -0
  135. package/cjs/cosh.d.ts +10 -0
  136. package/cjs/cosh.d.ts.map +1 -0
  137. package/cjs/cosh.js +21 -0
  138. package/cjs/cosh.js.map +1 -0
  139. package/cjs/exp.d.ts +20 -0
  140. package/cjs/exp.d.ts.map +1 -0
  141. package/cjs/exp.js +48 -0
  142. package/cjs/exp.js.map +1 -0
  143. package/cjs/expm1.d.ts +11 -0
  144. package/cjs/expm1.d.ts.map +1 -0
  145. package/cjs/expm1.js +38 -0
  146. package/cjs/expm1.js.map +1 -0
  147. package/cjs/f16round.d.ts +24 -0
  148. package/cjs/f16round.d.ts.map +1 -0
  149. package/cjs/f16round.js +42 -0
  150. package/cjs/f16round.js.map +1 -0
  151. package/cjs/float16/constants.d.ts +97 -0
  152. package/cjs/float16/constants.d.ts.map +1 -0
  153. package/cjs/float16/constants.js +99 -0
  154. package/cjs/float16/constants.js.map +1 -0
  155. package/cjs/float16/decode.d.ts +40 -0
  156. package/cjs/float16/decode.d.ts.map +1 -0
  157. package/cjs/float16/decode.js +67 -0
  158. package/cjs/float16/decode.js.map +1 -0
  159. package/cjs/float16/encode.d.ts +67 -0
  160. package/cjs/float16/encode.d.ts.map +1 -0
  161. package/cjs/float16/encode.js +77 -0
  162. package/cjs/float16/encode.js.map +1 -0
  163. package/cjs/float16/guards.d.ts +22 -0
  164. package/cjs/float16/guards.d.ts.map +1 -0
  165. package/cjs/float16/guards.js +15 -0
  166. package/cjs/float16/guards.js.map +1 -0
  167. package/cjs/float16/index.d.ts +11 -0
  168. package/cjs/float16/index.d.ts.map +1 -0
  169. package/cjs/float16/index.js +27 -0
  170. package/cjs/float16/index.js.map +1 -0
  171. package/cjs/float16/round.d.ts +25 -0
  172. package/cjs/float16/round.d.ts.map +1 -0
  173. package/cjs/float16/round.js +46 -0
  174. package/cjs/float16/round.js.map +1 -0
  175. package/cjs/float32/constants.d.ts +96 -0
  176. package/cjs/float32/constants.d.ts.map +1 -0
  177. package/cjs/float32/constants.js +98 -0
  178. package/cjs/float32/constants.js.map +1 -0
  179. package/cjs/float32/decode.d.ts +38 -0
  180. package/cjs/float32/decode.d.ts.map +1 -0
  181. package/cjs/float32/decode.js +70 -0
  182. package/cjs/float32/decode.js.map +1 -0
  183. package/cjs/float32/encode.d.ts +50 -0
  184. package/cjs/float32/encode.d.ts.map +1 -0
  185. package/cjs/float32/encode.js +77 -0
  186. package/cjs/float32/encode.js.map +1 -0
  187. package/cjs/float32/guards.d.ts +37 -0
  188. package/cjs/float32/guards.d.ts.map +1 -0
  189. package/cjs/float32/guards.js +20 -0
  190. package/cjs/float32/guards.js.map +1 -0
  191. package/cjs/float32/index.d.ts +11 -0
  192. package/cjs/float32/index.d.ts.map +1 -0
  193. package/cjs/float32/index.js +27 -0
  194. package/cjs/float32/index.js.map +1 -0
  195. package/cjs/float32/round.d.ts +23 -0
  196. package/cjs/float32/round.d.ts.map +1 -0
  197. package/cjs/float32/round.js +36 -0
  198. package/cjs/float32/round.js.map +1 -0
  199. package/cjs/floor.d.ts +10 -0
  200. package/cjs/floor.d.ts.map +1 -0
  201. package/cjs/floor.js +32 -0
  202. package/cjs/floor.js.map +1 -0
  203. package/cjs/fround.d.ts +23 -0
  204. package/cjs/fround.d.ts.map +1 -0
  205. package/cjs/fround.js +35 -0
  206. package/cjs/fround.js.map +1 -0
  207. package/cjs/guards/finite.d.ts +23 -0
  208. package/cjs/guards/finite.d.ts.map +1 -0
  209. package/cjs/guards/finite.js +21 -0
  210. package/cjs/guards/finite.js.map +1 -0
  211. package/cjs/guards/index.d.ts +50 -0
  212. package/cjs/guards/index.d.ts.map +1 -0
  213. package/cjs/guards/index.js +66 -0
  214. package/cjs/guards/index.js.map +1 -0
  215. package/cjs/guards/infinity.d.ts +3 -0
  216. package/cjs/guards/infinity.d.ts.map +1 -0
  217. package/cjs/guards/infinity.js +19 -0
  218. package/cjs/guards/infinity.js.map +1 -0
  219. package/cjs/guards/integer.d.ts +47 -0
  220. package/cjs/guards/integer.d.ts.map +1 -0
  221. package/cjs/guards/integer.js +23 -0
  222. package/cjs/guards/integer.js.map +1 -0
  223. package/cjs/guards/nan.d.ts +61 -0
  224. package/cjs/guards/nan.d.ts.map +1 -0
  225. package/cjs/guards/nan.js +68 -0
  226. package/cjs/guards/nan.js.map +1 -0
  227. package/cjs/guards/negative_infinity.d.ts +19 -0
  228. package/cjs/guards/negative_infinity.d.ts.map +1 -0
  229. package/cjs/guards/negative_infinity.js +25 -0
  230. package/cjs/guards/negative_infinity.js.map +1 -0
  231. package/cjs/guards/negative_zero.d.ts +12 -0
  232. package/cjs/guards/negative_zero.d.ts.map +1 -0
  233. package/cjs/guards/negative_zero.js +24 -0
  234. package/cjs/guards/negative_zero.js.map +1 -0
  235. package/cjs/guards/positive_infinity.d.ts +19 -0
  236. package/cjs/guards/positive_infinity.d.ts.map +1 -0
  237. package/cjs/guards/positive_infinity.js +25 -0
  238. package/cjs/guards/positive_infinity.js.map +1 -0
  239. package/cjs/guards/positive_zero.d.ts +17 -0
  240. package/cjs/guards/positive_zero.d.ts.map +1 -0
  241. package/cjs/guards/positive_zero.js +36 -0
  242. package/cjs/guards/positive_zero.js.map +1 -0
  243. package/cjs/guards/safe_integer.d.ts +33 -0
  244. package/cjs/guards/safe_integer.d.ts.map +1 -0
  245. package/cjs/guards/safe_integer.js +27 -0
  246. package/cjs/guards/safe_integer.js.map +1 -0
  247. package/cjs/hypot.d.ts +18 -0
  248. package/cjs/hypot.d.ts.map +1 -0
  249. package/cjs/hypot.js +63 -0
  250. package/cjs/hypot.js.map +1 -0
  251. package/cjs/ieee754.d.ts +16 -0
  252. package/cjs/ieee754.d.ts.map +1 -0
  253. package/cjs/ieee754.js +32 -0
  254. package/cjs/ieee754.js.map +1 -0
  255. package/cjs/imul.d.ts +17 -0
  256. package/cjs/imul.d.ts.map +1 -0
  257. package/cjs/imul.js +24 -0
  258. package/cjs/imul.js.map +1 -0
  259. package/cjs/index.d.ts +84 -0
  260. package/cjs/index.d.ts.map +1 -0
  261. package/cjs/index.js +113 -0
  262. package/cjs/index.js.map +1 -0
  263. package/cjs/internal/ieee754.d.ts +174 -0
  264. package/cjs/internal/ieee754.d.ts.map +1 -0
  265. package/cjs/internal/ieee754.js +200 -0
  266. package/cjs/internal/ieee754.js.map +1 -0
  267. package/cjs/internal/primordials.d.ts +30 -0
  268. package/cjs/internal/primordials.d.ts.map +1 -0
  269. package/cjs/internal/primordials.js +30 -0
  270. package/cjs/internal/primordials.js.map +1 -0
  271. package/cjs/log.d.ts +9 -0
  272. package/cjs/log.d.ts.map +1 -0
  273. package/cjs/log.js +46 -0
  274. package/cjs/log.js.map +1 -0
  275. package/cjs/log10.d.ts +9 -0
  276. package/cjs/log10.d.ts.map +1 -0
  277. package/cjs/log10.js +21 -0
  278. package/cjs/log10.js.map +1 -0
  279. package/cjs/log1p.d.ts +10 -0
  280. package/cjs/log1p.d.ts.map +1 -0
  281. package/cjs/log1p.js +32 -0
  282. package/cjs/log1p.js.map +1 -0
  283. package/cjs/log2.d.ts +12 -0
  284. package/cjs/log2.d.ts.map +1 -0
  285. package/cjs/log2.js +24 -0
  286. package/cjs/log2.js.map +1 -0
  287. package/cjs/max.d.ts +22 -0
  288. package/cjs/max.d.ts.map +1 -0
  289. package/cjs/max.js +51 -0
  290. package/cjs/max.js.map +1 -0
  291. package/cjs/min.d.ts +10 -0
  292. package/cjs/min.d.ts.map +1 -0
  293. package/cjs/min.js +36 -0
  294. package/cjs/min.js.map +1 -0
  295. package/cjs/package.json +3 -0
  296. package/cjs/pow.d.ts +31 -0
  297. package/cjs/pow.d.ts.map +1 -0
  298. package/cjs/pow.js +36 -0
  299. package/cjs/pow.js.map +1 -0
  300. package/cjs/random.d.ts +93 -0
  301. package/cjs/random.d.ts.map +1 -0
  302. package/cjs/random.js +242 -0
  303. package/cjs/random.js.map +1 -0
  304. package/cjs/round.d.ts +9 -0
  305. package/cjs/round.d.ts.map +1 -0
  306. package/cjs/round.js +24 -0
  307. package/cjs/round.js.map +1 -0
  308. package/cjs/sign.d.ts +17 -0
  309. package/cjs/sign.d.ts.map +1 -0
  310. package/cjs/sign.js +22 -0
  311. package/cjs/sign.js.map +1 -0
  312. package/cjs/sin.d.ts +14 -0
  313. package/cjs/sin.d.ts.map +1 -0
  314. package/cjs/sin.js +31 -0
  315. package/cjs/sin.js.map +1 -0
  316. package/cjs/sinh.d.ts +14 -0
  317. package/cjs/sinh.d.ts.map +1 -0
  318. package/cjs/sinh.js +22 -0
  319. package/cjs/sinh.js.map +1 -0
  320. package/cjs/sqrt.d.ts +19 -0
  321. package/cjs/sqrt.d.ts.map +1 -0
  322. package/cjs/sqrt.js +45 -0
  323. package/cjs/sqrt.js.map +1 -0
  324. package/cjs/tan.d.ts +9 -0
  325. package/cjs/tan.d.ts.map +1 -0
  326. package/cjs/tan.js +26 -0
  327. package/cjs/tan.js.map +1 -0
  328. package/cjs/tanh.d.ts +17 -0
  329. package/cjs/tanh.d.ts.map +1 -0
  330. package/cjs/tanh.js +34 -0
  331. package/cjs/tanh.js.map +1 -0
  332. package/cjs/trunc.d.ts +21 -0
  333. package/cjs/trunc.d.ts.map +1 -0
  334. package/cjs/trunc.js +50 -0
  335. package/cjs/trunc.js.map +1 -0
  336. package/cjs/types/finite.d.ts +16 -0
  337. package/cjs/types/finite.d.ts.map +1 -0
  338. package/cjs/types/finite.js +4 -0
  339. package/cjs/types/finite.js.map +1 -0
  340. package/cjs/types/float.d.ts +65 -0
  341. package/cjs/types/float.d.ts.map +1 -0
  342. package/cjs/types/float.js +4 -0
  343. package/cjs/types/float.js.map +1 -0
  344. package/cjs/types/index.d.ts +6 -0
  345. package/cjs/types/index.d.ts.map +1 -0
  346. package/cjs/types/index.js +22 -0
  347. package/cjs/types/index.js.map +1 -0
  348. package/cjs/types/integer.d.ts +147 -0
  349. package/cjs/types/integer.d.ts.map +1 -0
  350. package/cjs/types/integer.js +5 -0
  351. package/cjs/types/integer.js.map +1 -0
  352. package/cjs/types/precision.d.ts +46 -0
  353. package/cjs/types/precision.d.ts.map +1 -0
  354. package/cjs/types/precision.js +9 -0
  355. package/cjs/types/precision.js.map +1 -0
  356. package/cjs/types/safe_integer.d.ts +17 -0
  357. package/cjs/types/safe_integer.d.ts.map +1 -0
  358. package/cjs/types/safe_integer.js +5 -0
  359. package/cjs/types/safe_integer.js.map +1 -0
  360. package/esm/abs.d.ts +14 -0
  361. package/esm/abs.d.ts.map +1 -0
  362. package/esm/abs.js +19 -0
  363. package/esm/abs.js.map +1 -0
  364. package/esm/acos.d.ts +17 -0
  365. package/esm/acos.d.ts.map +1 -0
  366. package/esm/acos.js +24 -0
  367. package/esm/acos.js.map +1 -0
  368. package/esm/acosh.d.ts +11 -0
  369. package/esm/acosh.d.ts.map +1 -0
  370. package/esm/acosh.js +32 -0
  371. package/esm/acosh.js.map +1 -0
  372. package/esm/asin.d.ts +11 -0
  373. package/esm/asin.d.ts.map +1 -0
  374. package/esm/asin.js +25 -0
  375. package/esm/asin.js.map +1 -0
  376. package/esm/asinh.d.ts +9 -0
  377. package/esm/asinh.d.ts.map +1 -0
  378. package/esm/asinh.js +23 -0
  379. package/esm/asinh.js.map +1 -0
  380. package/esm/atan.d.ts +11 -0
  381. package/esm/atan.d.ts.map +1 -0
  382. package/esm/atan.js +62 -0
  383. package/esm/atan.js.map +1 -0
  384. package/esm/atan2.d.ts +12 -0
  385. package/esm/atan2.d.ts.map +1 -0
  386. package/esm/atan2.js +67 -0
  387. package/esm/atan2.js.map +1 -0
  388. package/esm/atanh.d.ts +11 -0
  389. package/esm/atanh.d.ts.map +1 -0
  390. package/esm/atanh.js +29 -0
  391. package/esm/atanh.js.map +1 -0
  392. package/esm/cbrt.d.ts +9 -0
  393. package/esm/cbrt.d.ts.map +1 -0
  394. package/esm/cbrt.js +23 -0
  395. package/esm/cbrt.js.map +1 -0
  396. package/esm/ceil.d.ts +15 -0
  397. package/esm/ceil.d.ts.map +1 -0
  398. package/esm/ceil.js +31 -0
  399. package/esm/ceil.js.map +1 -0
  400. package/esm/clamp.d.ts +15 -0
  401. package/esm/clamp.d.ts.map +1 -0
  402. package/esm/clamp.js +29 -0
  403. package/esm/clamp.js.map +1 -0
  404. package/esm/clz32.d.ts +20 -0
  405. package/esm/clz32.d.ts.map +1 -0
  406. package/esm/clz32.js +45 -0
  407. package/esm/clz32.js.map +1 -0
  408. package/esm/constants/e.d.ts +17 -0
  409. package/esm/constants/e.d.ts.map +1 -0
  410. package/esm/constants/e.js +16 -0
  411. package/esm/constants/e.js.map +1 -0
  412. package/esm/constants/epsilon.d.ts +24 -0
  413. package/esm/constants/epsilon.d.ts.map +1 -0
  414. package/esm/constants/epsilon.js +23 -0
  415. package/esm/constants/epsilon.js.map +1 -0
  416. package/esm/constants/index.d.ts +23 -0
  417. package/esm/constants/index.d.ts.map +1 -0
  418. package/esm/constants/index.js +23 -0
  419. package/esm/constants/index.js.map +1 -0
  420. package/esm/constants/infinity.d.ts +3 -0
  421. package/esm/constants/infinity.d.ts.map +1 -0
  422. package/esm/constants/infinity.js +3 -0
  423. package/esm/constants/infinity.js.map +1 -0
  424. package/esm/constants/ln10.d.ts +10 -0
  425. package/esm/constants/ln10.d.ts.map +1 -0
  426. package/esm/constants/ln10.js +9 -0
  427. package/esm/constants/ln10.js.map +1 -0
  428. package/esm/constants/ln2.d.ts +10 -0
  429. package/esm/constants/ln2.d.ts.map +1 -0
  430. package/esm/constants/ln2.js +9 -0
  431. package/esm/constants/ln2.js.map +1 -0
  432. package/esm/constants/log10e.d.ts +10 -0
  433. package/esm/constants/log10e.d.ts.map +1 -0
  434. package/esm/constants/log10e.js +9 -0
  435. package/esm/constants/log10e.js.map +1 -0
  436. package/esm/constants/log2e.d.ts +10 -0
  437. package/esm/constants/log2e.d.ts.map +1 -0
  438. package/esm/constants/log2e.js +9 -0
  439. package/esm/constants/log2e.js.map +1 -0
  440. package/esm/constants/max_safe_integer.d.ts +11 -0
  441. package/esm/constants/max_safe_integer.d.ts.map +1 -0
  442. package/esm/constants/max_safe_integer.js +10 -0
  443. package/esm/constants/max_safe_integer.js.map +1 -0
  444. package/esm/constants/max_value.d.ts +10 -0
  445. package/esm/constants/max_value.d.ts.map +1 -0
  446. package/esm/constants/max_value.js +9 -0
  447. package/esm/constants/max_value.js.map +1 -0
  448. package/esm/constants/min_safe_integer.d.ts +12 -0
  449. package/esm/constants/min_safe_integer.d.ts.map +1 -0
  450. package/esm/constants/min_safe_integer.js +11 -0
  451. package/esm/constants/min_safe_integer.js.map +1 -0
  452. package/esm/constants/min_value.d.ts +10 -0
  453. package/esm/constants/min_value.d.ts.map +1 -0
  454. package/esm/constants/min_value.js +9 -0
  455. package/esm/constants/min_value.js.map +1 -0
  456. package/esm/constants/nan.d.ts +47 -0
  457. package/esm/constants/nan.d.ts.map +1 -0
  458. package/esm/constants/nan.js +27 -0
  459. package/esm/constants/nan.js.map +1 -0
  460. package/esm/constants/negative_infinity.d.ts +28 -0
  461. package/esm/constants/negative_infinity.d.ts.map +1 -0
  462. package/esm/constants/negative_infinity.js +12 -0
  463. package/esm/constants/negative_infinity.js.map +1 -0
  464. package/esm/constants/negative_zero.d.ts +31 -0
  465. package/esm/constants/negative_zero.d.ts.map +1 -0
  466. package/esm/constants/negative_zero.js +18 -0
  467. package/esm/constants/negative_zero.js.map +1 -0
  468. package/esm/constants/pi.d.ts +10 -0
  469. package/esm/constants/pi.d.ts.map +1 -0
  470. package/esm/constants/pi.js +9 -0
  471. package/esm/constants/pi.js.map +1 -0
  472. package/esm/constants/positive_infinity.d.ts +29 -0
  473. package/esm/constants/positive_infinity.d.ts.map +1 -0
  474. package/esm/constants/positive_infinity.js +13 -0
  475. package/esm/constants/positive_infinity.js.map +1 -0
  476. package/esm/constants/positive_zero.d.ts +38 -0
  477. package/esm/constants/positive_zero.d.ts.map +1 -0
  478. package/esm/constants/positive_zero.js +33 -0
  479. package/esm/constants/positive_zero.js.map +1 -0
  480. package/esm/constants/sqrt1_2.d.ts +9 -0
  481. package/esm/constants/sqrt1_2.d.ts.map +1 -0
  482. package/esm/constants/sqrt1_2.js +8 -0
  483. package/esm/constants/sqrt1_2.js.map +1 -0
  484. package/esm/constants/sqrt2.d.ts +9 -0
  485. package/esm/constants/sqrt2.d.ts.map +1 -0
  486. package/esm/constants/sqrt2.js +8 -0
  487. package/esm/constants/sqrt2.js.map +1 -0
  488. package/esm/cos.d.ts +10 -0
  489. package/esm/cos.d.ts.map +1 -0
  490. package/esm/cos.js +29 -0
  491. package/esm/cos.js.map +1 -0
  492. package/esm/cosh.d.ts +10 -0
  493. package/esm/cosh.d.ts.map +1 -0
  494. package/esm/cosh.js +18 -0
  495. package/esm/cosh.js.map +1 -0
  496. package/esm/exp.d.ts +20 -0
  497. package/esm/exp.d.ts.map +1 -0
  498. package/esm/exp.js +45 -0
  499. package/esm/exp.js.map +1 -0
  500. package/esm/expm1.d.ts +11 -0
  501. package/esm/expm1.d.ts.map +1 -0
  502. package/esm/expm1.js +35 -0
  503. package/esm/expm1.js.map +1 -0
  504. package/esm/f16round.d.ts +24 -0
  505. package/esm/f16round.d.ts.map +1 -0
  506. package/esm/f16round.js +39 -0
  507. package/esm/f16round.js.map +1 -0
  508. package/esm/float16/constants.d.ts +97 -0
  509. package/esm/float16/constants.d.ts.map +1 -0
  510. package/esm/float16/constants.js +96 -0
  511. package/esm/float16/constants.js.map +1 -0
  512. package/esm/float16/decode.d.ts +40 -0
  513. package/esm/float16/decode.d.ts.map +1 -0
  514. package/esm/float16/decode.js +61 -0
  515. package/esm/float16/decode.js.map +1 -0
  516. package/esm/float16/encode.d.ts +67 -0
  517. package/esm/float16/encode.d.ts.map +1 -0
  518. package/esm/float16/encode.js +71 -0
  519. package/esm/float16/encode.js.map +1 -0
  520. package/esm/float16/guards.d.ts +22 -0
  521. package/esm/float16/guards.d.ts.map +1 -0
  522. package/esm/float16/guards.js +12 -0
  523. package/esm/float16/guards.js.map +1 -0
  524. package/esm/float16/index.d.ts +11 -0
  525. package/esm/float16/index.d.ts.map +1 -0
  526. package/esm/float16/index.js +11 -0
  527. package/esm/float16/index.js.map +1 -0
  528. package/esm/float16/round.d.ts +25 -0
  529. package/esm/float16/round.d.ts.map +1 -0
  530. package/esm/float16/round.js +43 -0
  531. package/esm/float16/round.js.map +1 -0
  532. package/esm/float32/constants.d.ts +96 -0
  533. package/esm/float32/constants.d.ts.map +1 -0
  534. package/esm/float32/constants.js +95 -0
  535. package/esm/float32/constants.js.map +1 -0
  536. package/esm/float32/decode.d.ts +38 -0
  537. package/esm/float32/decode.d.ts.map +1 -0
  538. package/esm/float32/decode.js +64 -0
  539. package/esm/float32/decode.js.map +1 -0
  540. package/esm/float32/encode.d.ts +50 -0
  541. package/esm/float32/encode.d.ts.map +1 -0
  542. package/esm/float32/encode.js +71 -0
  543. package/esm/float32/encode.js.map +1 -0
  544. package/esm/float32/guards.d.ts +37 -0
  545. package/esm/float32/guards.d.ts.map +1 -0
  546. package/esm/float32/guards.js +16 -0
  547. package/esm/float32/guards.js.map +1 -0
  548. package/esm/float32/index.d.ts +11 -0
  549. package/esm/float32/index.d.ts.map +1 -0
  550. package/esm/float32/index.js +11 -0
  551. package/esm/float32/index.js.map +1 -0
  552. package/esm/float32/round.d.ts +23 -0
  553. package/esm/float32/round.d.ts.map +1 -0
  554. package/esm/float32/round.js +33 -0
  555. package/esm/float32/round.js.map +1 -0
  556. package/esm/floor.d.ts +10 -0
  557. package/esm/floor.d.ts.map +1 -0
  558. package/esm/floor.js +29 -0
  559. package/esm/floor.js.map +1 -0
  560. package/esm/fround.d.ts +23 -0
  561. package/esm/fround.d.ts.map +1 -0
  562. package/esm/fround.js +32 -0
  563. package/esm/fround.js.map +1 -0
  564. package/esm/guards/finite.d.ts +23 -0
  565. package/esm/guards/finite.d.ts.map +1 -0
  566. package/esm/guards/finite.js +18 -0
  567. package/esm/guards/finite.js.map +1 -0
  568. package/esm/guards/index.d.ts +50 -0
  569. package/esm/guards/index.d.ts.map +1 -0
  570. package/esm/guards/index.js +50 -0
  571. package/esm/guards/index.js.map +1 -0
  572. package/esm/guards/infinity.d.ts +3 -0
  573. package/esm/guards/infinity.d.ts.map +1 -0
  574. package/esm/guards/infinity.js +3 -0
  575. package/esm/guards/infinity.js.map +1 -0
  576. package/esm/guards/integer.d.ts +47 -0
  577. package/esm/guards/integer.d.ts.map +1 -0
  578. package/esm/guards/integer.js +19 -0
  579. package/esm/guards/integer.js.map +1 -0
  580. package/esm/guards/nan.d.ts +61 -0
  581. package/esm/guards/nan.d.ts.map +1 -0
  582. package/esm/guards/nan.js +63 -0
  583. package/esm/guards/nan.js.map +1 -0
  584. package/esm/guards/negative_infinity.d.ts +19 -0
  585. package/esm/guards/negative_infinity.d.ts.map +1 -0
  586. package/esm/guards/negative_infinity.js +21 -0
  587. package/esm/guards/negative_infinity.js.map +1 -0
  588. package/esm/guards/negative_zero.d.ts +12 -0
  589. package/esm/guards/negative_zero.d.ts.map +1 -0
  590. package/esm/guards/negative_zero.js +20 -0
  591. package/esm/guards/negative_zero.js.map +1 -0
  592. package/esm/guards/positive_infinity.d.ts +19 -0
  593. package/esm/guards/positive_infinity.d.ts.map +1 -0
  594. package/esm/guards/positive_infinity.js +21 -0
  595. package/esm/guards/positive_infinity.js.map +1 -0
  596. package/esm/guards/positive_zero.d.ts +17 -0
  597. package/esm/guards/positive_zero.d.ts.map +1 -0
  598. package/esm/guards/positive_zero.js +19 -0
  599. package/esm/guards/positive_zero.js.map +1 -0
  600. package/esm/guards/safe_integer.d.ts +33 -0
  601. package/esm/guards/safe_integer.d.ts.map +1 -0
  602. package/esm/guards/safe_integer.js +22 -0
  603. package/esm/guards/safe_integer.js.map +1 -0
  604. package/esm/hypot.d.ts +18 -0
  605. package/esm/hypot.d.ts.map +1 -0
  606. package/esm/hypot.js +60 -0
  607. package/esm/hypot.js.map +1 -0
  608. package/esm/ieee754.d.ts +16 -0
  609. package/esm/ieee754.d.ts.map +1 -0
  610. package/esm/ieee754.js +16 -0
  611. package/esm/ieee754.js.map +1 -0
  612. package/esm/imul.d.ts +17 -0
  613. package/esm/imul.d.ts.map +1 -0
  614. package/esm/imul.js +21 -0
  615. package/esm/imul.js.map +1 -0
  616. package/esm/index.d.ts +84 -0
  617. package/esm/index.d.ts.map +1 -0
  618. package/esm/index.js +84 -0
  619. package/esm/index.js.map +1 -0
  620. package/esm/internal/ieee754.d.ts +174 -0
  621. package/esm/internal/ieee754.d.ts.map +1 -0
  622. package/esm/internal/ieee754.js +194 -0
  623. package/esm/internal/ieee754.js.map +1 -0
  624. package/esm/internal/primordials.d.ts +30 -0
  625. package/esm/internal/primordials.d.ts.map +1 -0
  626. package/esm/internal/primordials.js +27 -0
  627. package/esm/internal/primordials.js.map +1 -0
  628. package/esm/log.d.ts +9 -0
  629. package/esm/log.d.ts.map +1 -0
  630. package/esm/log.js +43 -0
  631. package/esm/log.js.map +1 -0
  632. package/esm/log10.d.ts +9 -0
  633. package/esm/log10.d.ts.map +1 -0
  634. package/esm/log10.js +18 -0
  635. package/esm/log10.js.map +1 -0
  636. package/esm/log1p.d.ts +10 -0
  637. package/esm/log1p.d.ts.map +1 -0
  638. package/esm/log1p.js +29 -0
  639. package/esm/log1p.js.map +1 -0
  640. package/esm/log2.d.ts +12 -0
  641. package/esm/log2.d.ts.map +1 -0
  642. package/esm/log2.js +21 -0
  643. package/esm/log2.js.map +1 -0
  644. package/esm/max.d.ts +22 -0
  645. package/esm/max.d.ts.map +1 -0
  646. package/esm/max.js +48 -0
  647. package/esm/max.js.map +1 -0
  648. package/esm/min.d.ts +10 -0
  649. package/esm/min.d.ts.map +1 -0
  650. package/esm/min.js +33 -0
  651. package/esm/min.js.map +1 -0
  652. package/esm/package.json +3 -0
  653. package/esm/pow.d.ts +31 -0
  654. package/esm/pow.d.ts.map +1 -0
  655. package/esm/pow.js +33 -0
  656. package/esm/pow.js.map +1 -0
  657. package/esm/random.d.ts +93 -0
  658. package/esm/random.d.ts.map +1 -0
  659. package/esm/random.js +237 -0
  660. package/esm/random.js.map +1 -0
  661. package/esm/round.d.ts +9 -0
  662. package/esm/round.d.ts.map +1 -0
  663. package/esm/round.js +21 -0
  664. package/esm/round.js.map +1 -0
  665. package/esm/sign.d.ts +17 -0
  666. package/esm/sign.d.ts.map +1 -0
  667. package/esm/sign.js +19 -0
  668. package/esm/sign.js.map +1 -0
  669. package/esm/sin.d.ts +14 -0
  670. package/esm/sin.d.ts.map +1 -0
  671. package/esm/sin.js +28 -0
  672. package/esm/sin.js.map +1 -0
  673. package/esm/sinh.d.ts +14 -0
  674. package/esm/sinh.d.ts.map +1 -0
  675. package/esm/sinh.js +19 -0
  676. package/esm/sinh.js.map +1 -0
  677. package/esm/sqrt.d.ts +19 -0
  678. package/esm/sqrt.d.ts.map +1 -0
  679. package/esm/sqrt.js +42 -0
  680. package/esm/sqrt.js.map +1 -0
  681. package/esm/tan.d.ts +9 -0
  682. package/esm/tan.d.ts.map +1 -0
  683. package/esm/tan.js +23 -0
  684. package/esm/tan.js.map +1 -0
  685. package/esm/tanh.d.ts +17 -0
  686. package/esm/tanh.d.ts.map +1 -0
  687. package/esm/tanh.js +31 -0
  688. package/esm/tanh.js.map +1 -0
  689. package/esm/trunc.d.ts +21 -0
  690. package/esm/trunc.d.ts.map +1 -0
  691. package/esm/trunc.js +47 -0
  692. package/esm/trunc.js.map +1 -0
  693. package/esm/types/finite.d.ts +16 -0
  694. package/esm/types/finite.d.ts.map +1 -0
  695. package/esm/types/finite.js +3 -0
  696. package/esm/types/finite.js.map +1 -0
  697. package/esm/types/float.d.ts +65 -0
  698. package/esm/types/float.d.ts.map +1 -0
  699. package/esm/types/float.js +3 -0
  700. package/esm/types/float.js.map +1 -0
  701. package/esm/types/index.d.ts +6 -0
  702. package/esm/types/index.d.ts.map +1 -0
  703. package/esm/types/index.js +6 -0
  704. package/esm/types/index.js.map +1 -0
  705. package/esm/types/integer.d.ts +147 -0
  706. package/esm/types/integer.d.ts.map +1 -0
  707. package/esm/types/integer.js +4 -0
  708. package/esm/types/integer.js.map +1 -0
  709. package/esm/types/precision.d.ts +46 -0
  710. package/esm/types/precision.d.ts.map +1 -0
  711. package/esm/types/precision.js +8 -0
  712. package/esm/types/precision.js.map +1 -0
  713. package/esm/types/safe_integer.d.ts +17 -0
  714. package/esm/types/safe_integer.d.ts.map +1 -0
  715. package/esm/types/safe_integer.js +4 -0
  716. package/esm/types/safe_integer.js.map +1 -0
  717. package/package.json +1834 -0
  718. package/src/abs.ts +18 -0
  719. package/src/acos.ts +24 -0
  720. package/src/acosh.ts +28 -0
  721. package/src/asin.ts +24 -0
  722. package/src/asinh.ts +21 -0
  723. package/src/atan.ts +64 -0
  724. package/src/atan2.ts +58 -0
  725. package/src/atanh.ts +26 -0
  726. package/src/cbrt.ts +22 -0
  727. package/src/ceil.ts +27 -0
  728. package/src/clamp.ts +29 -0
  729. package/src/clz32.ts +45 -0
  730. package/src/constants/e.ts +18 -0
  731. package/src/constants/epsilon.ts +25 -0
  732. package/src/constants/index.ts +22 -0
  733. package/src/constants/infinity.ts +2 -0
  734. package/src/constants/ln10.ts +9 -0
  735. package/src/constants/ln2.ts +9 -0
  736. package/src/constants/log10e.ts +9 -0
  737. package/src/constants/log2e.ts +9 -0
  738. package/src/constants/max_safe_integer.ts +10 -0
  739. package/src/constants/max_value.ts +9 -0
  740. package/src/constants/min_safe_integer.ts +11 -0
  741. package/src/constants/min_value.ts +9 -0
  742. package/src/constants/nan.ts +57 -0
  743. package/src/constants/negative_infinity.ts +28 -0
  744. package/src/constants/negative_zero.ts +34 -0
  745. package/src/constants/pi.ts +9 -0
  746. package/src/constants/positive_infinity.ts +30 -0
  747. package/src/constants/positive_zero.ts +41 -0
  748. package/src/constants/sqrt1_2.ts +8 -0
  749. package/src/constants/sqrt2.ts +8 -0
  750. package/src/cos.ts +29 -0
  751. package/src/cosh.ts +18 -0
  752. package/src/exp.ts +45 -0
  753. package/src/expm1.ts +31 -0
  754. package/src/f16round.ts +39 -0
  755. package/src/float16/constants.ts +106 -0
  756. package/src/float16/decode.ts +61 -0
  757. package/src/float16/encode.ts +72 -0
  758. package/src/float16/guards.ts +33 -0
  759. package/src/float16/index.ts +10 -0
  760. package/src/float16/round.ts +43 -0
  761. package/src/float32/constants.ts +105 -0
  762. package/src/float32/decode.ts +64 -0
  763. package/src/float32/encode.ts +71 -0
  764. package/src/float32/guards.ts +54 -0
  765. package/src/float32/index.ts +10 -0
  766. package/src/float32/round.ts +33 -0
  767. package/src/floor.ts +26 -0
  768. package/src/fround.ts +32 -0
  769. package/src/guards/finite.ts +45 -0
  770. package/src/guards/index.ts +49 -0
  771. package/src/guards/infinity.ts +2 -0
  772. package/src/guards/integer.ts +62 -0
  773. package/src/guards/nan.ts +65 -0
  774. package/src/guards/negative_infinity.ts +22 -0
  775. package/src/guards/negative_zero.ts +21 -0
  776. package/src/guards/positive_infinity.ts +22 -0
  777. package/src/guards/positive_zero.ts +19 -0
  778. package/src/guards/safe_integer.ts +56 -0
  779. package/src/hypot.ts +59 -0
  780. package/src/ieee754.ts +15 -0
  781. package/src/imul.ts +21 -0
  782. package/src/index.ts +84 -0
  783. package/src/internal/ieee754.ts +255 -0
  784. package/src/internal/primordials.ts +33 -0
  785. package/src/log.ts +42 -0
  786. package/src/log10.ts +18 -0
  787. package/src/log1p.ts +26 -0
  788. package/src/log2.ts +21 -0
  789. package/src/max.ts +46 -0
  790. package/src/min.ts +32 -0
  791. package/src/pow.ts +33 -0
  792. package/src/random.ts +241 -0
  793. package/src/round.ts +20 -0
  794. package/src/sign.ts +19 -0
  795. package/src/sin.ts +29 -0
  796. package/src/sinh.ts +19 -0
  797. package/src/sqrt.ts +40 -0
  798. package/src/tan.ts +22 -0
  799. package/src/tanh.ts +28 -0
  800. package/src/trunc.ts +44 -0
  801. package/src/types/finite.ts +23 -0
  802. package/src/types/float.ts +74 -0
  803. package/src/types/index.ts +5 -0
  804. package/src/types/integer.ts +167 -0
  805. package/src/types/precision.ts +51 -0
  806. package/src/types/safe_integer.ts +18 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log2.js","sourceRoot":"","sources":["../src/log2.ts"],"names":[],"mappings":";;AAkBA,oBAEC;AApBD;;;;GAIG;AACH,mDAA6C;AAC7C,qCAA+B;AAE/B;;;;;;;;;GASG;AACH,SAAgB,IAAI,CAAC,CAAS;IAC5B,OAAO,IAAA,YAAG,EAAC,CAAC,CAAC,GAAG,gBAAK,CAAC;AACxB,CAAC"}
package/cjs/max.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Returns the largest of its arguments, or `NaN` if any argument is `NaN`.
3
+ * If no arguments are provided, the result is `-Infinity`.
4
+ *
5
+ * This function is designed as a fast alternative to the built-in `Math.max`
6
+ * function. It is optimized for performance, and isn't susceptible to any
7
+ * global state changes or monkey-patching that might affect the built-in
8
+ * `Math.max` function.
9
+ *
10
+ * @param numbers The numbers to compare.
11
+ * @returns The largest number in the list.
12
+ * @category Comparison
13
+ * @example
14
+ * ```ts
15
+ * import { max } from "@nick/math";
16
+ *
17
+ * const largest = max(1, 2); // 2
18
+ * const alsoLargest = max(-1, 0); // 0
19
+ * ```
20
+ */
21
+ export declare function max(...numbers: number[]): number;
22
+ //# sourceMappingURL=max.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"max.d.ts","sourceRoot":"","sources":["../src/max.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,GAAG,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAQhD"}
package/cjs/max.js ADDED
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.max = max;
4
+ /**
5
+ * Returns the largest of its arguments, or `NaN` if any argument is `NaN`.
6
+ * If no arguments are provided, the result is `-Infinity`.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import { max } from "@nick/math";
11
+ *
12
+ * const atLeastZero = (x: number) => max(x, 0);
13
+ *
14
+ * atLeastZero(+1); // 1
15
+ * atLeastZero(-1); // 0
16
+ * ```
17
+ * @module max
18
+ */
19
+ const negative_infinity_js_1 = require("./constants/negative_infinity.js");
20
+ /**
21
+ * Returns the largest of its arguments, or `NaN` if any argument is `NaN`.
22
+ * If no arguments are provided, the result is `-Infinity`.
23
+ *
24
+ * This function is designed as a fast alternative to the built-in `Math.max`
25
+ * function. It is optimized for performance, and isn't susceptible to any
26
+ * global state changes or monkey-patching that might affect the built-in
27
+ * `Math.max` function.
28
+ *
29
+ * @param numbers The numbers to compare.
30
+ * @returns The largest number in the list.
31
+ * @category Comparison
32
+ * @example
33
+ * ```ts
34
+ * import { max } from "@nick/math";
35
+ *
36
+ * const largest = max(1, 2); // 2
37
+ * const alsoLargest = max(-1, 0); // 0
38
+ * ```
39
+ */
40
+ function max(...numbers) {
41
+ let result = negative_infinity_js_1.NEGATIVE_INFINITY;
42
+ for (let i = 0; i < numbers.length; i++) {
43
+ const number = numbers[i];
44
+ if (number !== number)
45
+ return number;
46
+ if (number > result)
47
+ result = number;
48
+ }
49
+ return result;
50
+ }
51
+ //# sourceMappingURL=max.js.map
package/cjs/max.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"max.js","sourceRoot":"","sources":["../src/max.ts"],"names":[],"mappings":";;AAqCA,kBAQC;AA7CD;;;;;;;;;;;;;;GAcG;AACH,2EAAqE;AAErE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,GAAG,CAAC,GAAG,OAAiB;IACtC,IAAI,MAAM,GAAG,wCAA2B,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QACrC,IAAI,MAAM,GAAG,MAAM;YAAE,MAAM,GAAG,MAAM,CAAC;IACvC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/cjs/min.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Returns the smallest of its arguments, or `NaN` if any argument is `NaN`.
3
+ * If no arguments are provided, the result is `Infinity`.
4
+ *
5
+ * @param numbers The numbers to compare.
6
+ * @returns The smallest number in the list.
7
+ * @category Comparison
8
+ */
9
+ export declare function min(...numbers: number[]): number;
10
+ //# sourceMappingURL=min.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"min.d.ts","sourceRoot":"","sources":["../src/min.ts"],"names":[],"mappings":"AASA;;;;;;;GAOG;AACH,wBAAgB,GAAG,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAchD"}
package/cjs/min.js ADDED
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.min = min;
4
+ /**
5
+ * Returns the smallest of its arguments, or `NaN` if any argument is `NaN`.
6
+ * If no arguments are provided, the result is `Infinity`.
7
+ *
8
+ * @module min
9
+ */
10
+ const positive_infinity_js_1 = require("./constants/positive_infinity.js");
11
+ const negative_zero_js_1 = require("./guards/negative_zero.js");
12
+ /**
13
+ * Returns the smallest of its arguments, or `NaN` if any argument is `NaN`.
14
+ * If no arguments are provided, the result is `Infinity`.
15
+ *
16
+ * @param numbers The numbers to compare.
17
+ * @returns The smallest number in the list.
18
+ * @category Comparison
19
+ */
20
+ function min(...numbers) {
21
+ let result = positive_infinity_js_1.POSITIVE_INFINITY;
22
+ for (let i = 0; i < numbers.length; i++) {
23
+ const number = numbers[i];
24
+ if (number !== number)
25
+ return number;
26
+ if (number < result) {
27
+ result = number;
28
+ continue;
29
+ }
30
+ if (number === 0 && result === 0 && (0, negative_zero_js_1.isNegativeZero)(number)) {
31
+ result = number;
32
+ }
33
+ }
34
+ return result;
35
+ }
36
+ //# sourceMappingURL=min.js.map
package/cjs/min.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"min.js","sourceRoot":"","sources":["../src/min.ts"],"names":[],"mappings":";;AAiBA,kBAcC;AA/BD;;;;;GAKG;AACH,2EAAqE;AACrE,gEAA2D;AAE3D;;;;;;;GAOG;AACH,SAAgB,GAAG,CAAC,GAAG,OAAiB;IACtC,IAAI,MAAM,GAAG,wCAA2B,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QACrC,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;YACpB,MAAM,GAAG,MAAM,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,IAAA,iCAAc,EAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,MAAM,GAAG,MAAM,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
package/cjs/pow.d.ts ADDED
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Calculates the base number raised to the power of the exponent.
3
+ *
4
+ * @module pow
5
+ */
6
+ /**
7
+ * Calculates the base number raised to the power of the exponent.
8
+ *
9
+ * **Note**: the `**` operator is equivalent to the `^` operator in standard
10
+ * mathematical notation, and is used to raise a number to a power. For those
11
+ * unfamiliar with its syntax: `x ** y` is the same as `x^y`.
12
+ *
13
+ * @param x The base number to raise to the power of `y`
14
+ * @param y The exponent to raise the base number by
15
+ * @returns The base number raised to the power of the exponent.
16
+ * @category Exponentiation
17
+ * @example
18
+ * ```ts
19
+ * import { pow } from "@nick/math";
20
+ *
21
+ * const MAX_SAFE_INTEGER = pow(2, 53) - 1;
22
+ *
23
+ * const foursquared = pow(4, 2); // 16
24
+ *
25
+ * const infinity = pow(1, 309); // Infinity
26
+ *
27
+ * const almost_infinity = pow(1, 308); // 1.7976931348623157e+308
28
+ * ```
29
+ */
30
+ export declare function pow(x: number, y: number): number;
31
+ //# sourceMappingURL=pow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pow.d.ts","sourceRoot":"","sources":["../src/pow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhD"}
package/cjs/pow.js ADDED
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ /**
3
+ * Calculates the base number raised to the power of the exponent.
4
+ *
5
+ * @module pow
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.pow = pow;
9
+ /**
10
+ * Calculates the base number raised to the power of the exponent.
11
+ *
12
+ * **Note**: the `**` operator is equivalent to the `^` operator in standard
13
+ * mathematical notation, and is used to raise a number to a power. For those
14
+ * unfamiliar with its syntax: `x ** y` is the same as `x^y`.
15
+ *
16
+ * @param x The base number to raise to the power of `y`
17
+ * @param y The exponent to raise the base number by
18
+ * @returns The base number raised to the power of the exponent.
19
+ * @category Exponentiation
20
+ * @example
21
+ * ```ts
22
+ * import { pow } from "@nick/math";
23
+ *
24
+ * const MAX_SAFE_INTEGER = pow(2, 53) - 1;
25
+ *
26
+ * const foursquared = pow(4, 2); // 16
27
+ *
28
+ * const infinity = pow(1, 309); // Infinity
29
+ *
30
+ * const almost_infinity = pow(1, 308); // 1.7976931348623157e+308
31
+ * ```
32
+ */
33
+ function pow(x, y) {
34
+ return x ** y;
35
+ }
36
+ //# sourceMappingURL=pow.js.map
package/cjs/pow.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pow.js","sourceRoot":"","sources":["../src/pow.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA0BH,kBAEC;AA1BD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,GAAG,CAAC,CAAS,EAAE,CAAS;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Mersenne Twister implementation in TypeScript.
3
+ *
4
+ * Based on the original C-code by Makoto Matsumoto and Takuji Nishimura.
5
+ *
6
+ * @remarks
7
+ * This implementation is a simplified version of the original API, providing
8
+ * only a `random()` and `randomInt()` method for generating pseudo-random
9
+ * numbers, and a `init()` method for seeding the generator.
10
+ *
11
+ * Benchmarks show this API to be ever-so-slightly slower than the native
12
+ * `Math.random` function, while still performing well within an acceptable
13
+ * timing window. Since this is a pure-JS implementation, achieving speeds on
14
+ * the same level as a native API is simply not possible.
15
+ * @example
16
+ * ```ts
17
+ * import { MT19937 } from "@nick/math/random";
18
+ *
19
+ * const mt = new MT19937();
20
+ * const n = mt.random(); // e.g. 0.9507143115624784
21
+ * ```
22
+ * @example
23
+ * ```ts
24
+ * import { MT19937 } from "@nick/math/random";
25
+ *
26
+ * const mt = new MT19937(42);
27
+ * console.log(mt.random()); // 0.37454011430963874
28
+ * ```
29
+ *
30
+ * @see http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html for the
31
+ * original C code this is based on and more information on Mersenne Twister.
32
+ */
33
+ export declare class MT19937 {
34
+ #private;
35
+ /**
36
+ * Initialize the singleton instance with a seed.
37
+ *
38
+ * @param seed - The seed value.
39
+ * @returns The singleton instance.
40
+ */
41
+ static init(...seed: number[]): MT19937;
42
+ /**
43
+ * Generates a random number on [0, 1)-real-interval.
44
+ * @returns A floating-point number between 0 and 1.
45
+ */
46
+ static random(): number;
47
+ /**
48
+ * Generates a random number on [0, 0xffffffff]-interval.
49
+ * @returns A 32-bit unsigned integer.
50
+ */
51
+ static randomInt(): number;
52
+ /**
53
+ * Initializes a new instance of the MersenneTwister class.
54
+ * @param seed - The seed value.
55
+ */
56
+ constructor(seed?: number);
57
+ /**
58
+ * Initializes mt[N] with a seed.
59
+ * @param seed - The seed value.
60
+ */
61
+ init(seed?: number): this;
62
+ /**
63
+ * Initialize by an array with array-length.
64
+ * @param seeds - The array for initializing keys.
65
+ */
66
+ initFromArray(...seeds: number[]): this;
67
+ /**
68
+ * Generates a random number on [0, 0xffffffff]-interval.
69
+ * @returns A 32-bit unsigned integer.
70
+ */
71
+ randomInt(): number;
72
+ /**
73
+ * Generates a random number on [0, 1)-real-interval.
74
+ * @returns A floating-point number between 0 and 1.
75
+ */
76
+ random(): number;
77
+ }
78
+ /**
79
+ * Generates a pseudo-random number in the range `[0, 1)`. This function is not
80
+ * cryptographically secure, and should not be used for any security-sensitive
81
+ * applications. It was designed to be a drop-in replacement for the native
82
+ * `Math.random()` function, with support for seeding the generator.
83
+ *
84
+ * @returns A pseudo-random number in the range `[0, 1)`.
85
+ * @category Random
86
+ * @see {@linkcode random.init} for seeding the generator.
87
+ * @see {@linkcode MT19937} for the Mersenne-Twister implementation this uses.
88
+ */
89
+ export declare function random(): number;
90
+ export declare namespace random {
91
+ var init: typeof MT19937.init;
92
+ }
93
+ //# sourceMappingURL=random.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../src/random.ts"],"names":[],"mappings":"AA8BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,OAAO;;IAGlB;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO;IAQvC;;;OAGG;IACH,MAAM,CAAC,MAAM,IAAI,MAAM;IAIvB;;;OAGG;IACH,MAAM,CAAC,SAAS,IAAI,MAAM;IAU1B;;;OAGG;gBACS,IAAI,CAAC,EAAE,MAAM;IAIzB;;;OAGG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAezB;;;OAGG;IACH,aAAa,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAmCvC;;;OAGG;IACH,SAAS,IAAI,MAAM;IAoCnB;;;OAGG;IACH,MAAM,IAAI,MAAM;CAGjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,IAAI,MAAM,CAE/B;yBAFe,MAAM"}
package/cjs/random.js ADDED
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
+ };
7
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
8
+ if (kind === "m") throw new TypeError("Private method is not writable");
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
+ };
13
+ var _a, _MT19937_instance, _MT19937_mt, _MT19937_mti;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.MT19937 = void 0;
16
+ exports.random = random;
17
+ /**
18
+ * Generates a pseudo-random number in the range `[0, 1)`.
19
+ *
20
+ * **Important**: This function is not cryptographically secure. Do not use it
21
+ * for security-sensitive applications.
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * import { random } from "@nick/math/random";
26
+ *
27
+ * console.log(random());
28
+ * // => 0.5390711768976619
29
+ * ```
30
+ * @module random
31
+ */
32
+ const primordials_js_1 = require("./internal/primordials.js");
33
+ /** Period parameters */
34
+ const N = 624;
35
+ /** The number of 32 bit words */
36
+ const M = 397;
37
+ /** Constant Vector A */
38
+ const MATRIX_A = 0x9908b0df;
39
+ /** Most significant W-R bits */
40
+ const UPPER_MASK = 0x80000000;
41
+ /** Least significant R bits */
42
+ const LOWER_MASK = 0x7fffffff;
43
+ /** UPPER_MASK + LOWER_MASK + 1 */
44
+ const TOTAL_MASK = 0x100000000;
45
+ /**
46
+ * Mersenne Twister implementation in TypeScript.
47
+ *
48
+ * Based on the original C-code by Makoto Matsumoto and Takuji Nishimura.
49
+ *
50
+ * @remarks
51
+ * This implementation is a simplified version of the original API, providing
52
+ * only a `random()` and `randomInt()` method for generating pseudo-random
53
+ * numbers, and a `init()` method for seeding the generator.
54
+ *
55
+ * Benchmarks show this API to be ever-so-slightly slower than the native
56
+ * `Math.random` function, while still performing well within an acceptable
57
+ * timing window. Since this is a pure-JS implementation, achieving speeds on
58
+ * the same level as a native API is simply not possible.
59
+ * @example
60
+ * ```ts
61
+ * import { MT19937 } from "@nick/math/random";
62
+ *
63
+ * const mt = new MT19937();
64
+ * const n = mt.random(); // e.g. 0.9507143115624784
65
+ * ```
66
+ * @example
67
+ * ```ts
68
+ * import { MT19937 } from "@nick/math/random";
69
+ *
70
+ * const mt = new MT19937(42);
71
+ * console.log(mt.random()); // 0.37454011430963874
72
+ * ```
73
+ *
74
+ * @see http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html for the
75
+ * original C code this is based on and more information on Mersenne Twister.
76
+ */
77
+ class MT19937 {
78
+ /**
79
+ * Initialize the singleton instance with a seed.
80
+ *
81
+ * @param seed - The seed value.
82
+ * @returns The singleton instance.
83
+ */
84
+ static init(...seed) {
85
+ if (seed.length > 1) {
86
+ return __classPrivateFieldGet(_a, _a, "f", _MT19937_instance).initFromArray(...seed);
87
+ }
88
+ else {
89
+ return __classPrivateFieldGet(_a, _a, "f", _MT19937_instance).init(seed[0]);
90
+ }
91
+ }
92
+ /**
93
+ * Generates a random number on [0, 1)-real-interval.
94
+ * @returns A floating-point number between 0 and 1.
95
+ */
96
+ static random() {
97
+ return __classPrivateFieldGet(_a, _a, "f", _MT19937_instance).random();
98
+ }
99
+ /**
100
+ * Generates a random number on [0, 0xffffffff]-interval.
101
+ * @returns A 32-bit unsigned integer.
102
+ */
103
+ static randomInt() {
104
+ return __classPrivateFieldGet(_a, _a, "f", _MT19937_instance).randomInt();
105
+ }
106
+ /**
107
+ * Initializes a new instance of the MersenneTwister class.
108
+ * @param seed - The seed value.
109
+ */
110
+ constructor(seed) {
111
+ /** the array for the state vector */
112
+ _MT19937_mt.set(this, (0, primordials_js_1.ArrayFrom)({ length: N }, () => 0));
113
+ /** mti == N + 1 means mt[N] is not initialized */
114
+ _MT19937_mti.set(this, N + 1);
115
+ this.init(seed);
116
+ }
117
+ /**
118
+ * Initializes mt[N] with a seed.
119
+ * @param seed - The seed value.
120
+ */
121
+ init(seed) {
122
+ seed ?? (seed = (0, primordials_js_1.DateNow)());
123
+ __classPrivateFieldGet(this, _MT19937_mt, "f")[0] = seed >>> 0;
124
+ const mt = __classPrivateFieldGet(this, _MT19937_mt, "f");
125
+ const x = 1812433253, y = 0xffff0000, z = 0x0000ffff;
126
+ for (let i = 1; i < N; i++) {
127
+ const s = mt[i - 1] ^ (mt[i - 1] >>> 30);
128
+ const l = (((s & y) >>> 16) * x) << 16;
129
+ const r = (s & z) * x;
130
+ mt[__classPrivateFieldSet(this, _MT19937_mti, i, "f")] = (l + r + i) >>> 0;
131
+ }
132
+ __classPrivateFieldSet(this, _MT19937_mti, N, "f");
133
+ return this;
134
+ }
135
+ /**
136
+ * Initialize by an array with array-length.
137
+ * @param seeds - The array for initializing keys.
138
+ */
139
+ initFromArray(...seeds) {
140
+ let i = 1, j = 0;
141
+ const len = seeds.length;
142
+ this.init(19650218);
143
+ let k = N > len ? N : len;
144
+ const w = 1566083941;
145
+ const x = 1664525, y = 0xffff0000, z = 0x0000ffff;
146
+ for (; k > 0; k--) {
147
+ const s = __classPrivateFieldGet(this, _MT19937_mt, "f")[i - 1] ^ (__classPrivateFieldGet(this, _MT19937_mt, "f")[i - 1] >>> 30);
148
+ const u = (s & z) * x;
149
+ let t = ((s & y) >>> 16) * x << 16;
150
+ __classPrivateFieldGet(this, _MT19937_mt, "f")[i] = (t = __classPrivateFieldGet(this, _MT19937_mt, "f")[i] ^ t + u, t += seeds[j] + j, t >>> 0);
151
+ i++, j++;
152
+ if (i >= N) {
153
+ __classPrivateFieldGet(this, _MT19937_mt, "f")[0] = __classPrivateFieldGet(this, _MT19937_mt, "f")[N - 1];
154
+ i = 1;
155
+ }
156
+ if (j >= len)
157
+ j = 0;
158
+ }
159
+ for (k = N - 1; k > 0; k--) {
160
+ const s = __classPrivateFieldGet(this, _MT19937_mt, "f")[i - 1] ^ (__classPrivateFieldGet(this, _MT19937_mt, "f")[i - 1] >>> 30);
161
+ let t = __classPrivateFieldGet(this, _MT19937_mt, "f")[i];
162
+ t ^= (((s & y) >>> 16) * w << 16) + (s & z) * w;
163
+ __classPrivateFieldGet(this, _MT19937_mt, "f")[i] = (t - i) >>> 0;
164
+ i++;
165
+ if (i >= N) {
166
+ __classPrivateFieldGet(this, _MT19937_mt, "f")[0] = __classPrivateFieldGet(this, _MT19937_mt, "f")[N - 1];
167
+ i = 1;
168
+ }
169
+ }
170
+ /* MSB is 1; assuring non-zero initial array */
171
+ __classPrivateFieldGet(this, _MT19937_mt, "f")[0] = 0x80000000;
172
+ return this;
173
+ }
174
+ /**
175
+ * Generates a random number on [0, 0xffffffff]-interval.
176
+ * @returns A 32-bit unsigned integer.
177
+ */
178
+ randomInt() {
179
+ var _b, _c;
180
+ let y;
181
+ const mag01 = [0x0, MATRIX_A];
182
+ if (__classPrivateFieldGet(this, _MT19937_mti, "f") >= N) {
183
+ let kk;
184
+ /* a default initial seed is used */
185
+ if (__classPrivateFieldGet(this, _MT19937_mti, "f") === N + 1)
186
+ this.init(5489);
187
+ for (kk = 0; kk < N - M; kk++) {
188
+ y = (__classPrivateFieldGet(this, _MT19937_mt, "f")[kk] & UPPER_MASK) | (__classPrivateFieldGet(this, _MT19937_mt, "f")[kk + 1] & LOWER_MASK);
189
+ __classPrivateFieldGet(this, _MT19937_mt, "f")[kk] = __classPrivateFieldGet(this, _MT19937_mt, "f")[kk + M] ^ (y >>> 1) ^ mag01[y & 0x1];
190
+ }
191
+ for (; kk < N - 1; kk++) {
192
+ y = (__classPrivateFieldGet(this, _MT19937_mt, "f")[kk] & UPPER_MASK) | (__classPrivateFieldGet(this, _MT19937_mt, "f")[kk + 1] & LOWER_MASK);
193
+ __classPrivateFieldGet(this, _MT19937_mt, "f")[kk] = __classPrivateFieldGet(this, _MT19937_mt, "f")[kk + (M - N)] ^ (y >>> 1) ^ mag01[y & 0x1];
194
+ }
195
+ y = (__classPrivateFieldGet(this, _MT19937_mt, "f")[N - 1] & UPPER_MASK) | (__classPrivateFieldGet(this, _MT19937_mt, "f")[0] & LOWER_MASK);
196
+ __classPrivateFieldGet(this, _MT19937_mt, "f")[N - 1] = __classPrivateFieldGet(this, _MT19937_mt, "f")[M - 1] ^ (y >>> 1) ^ mag01[y & 0x1];
197
+ __classPrivateFieldSet(this, _MT19937_mti, 0, "f");
198
+ }
199
+ y = __classPrivateFieldGet(this, _MT19937_mt, "f")[__classPrivateFieldSet(this, _MT19937_mti, (_c = __classPrivateFieldGet(this, _MT19937_mti, "f"), _b = _c++, _c), "f"), _b];
200
+ // Tempering
201
+ y ^= y >>> 11;
202
+ y ^= (y << 7) & 0x9d2c5680;
203
+ y ^= (y << 15) & 0xefc60000;
204
+ y ^= y >>> 18;
205
+ return y >>> 0;
206
+ }
207
+ /**
208
+ * Generates a random number on [0, 1)-real-interval.
209
+ * @returns A floating-point number between 0 and 1.
210
+ */
211
+ random() {
212
+ return this.randomInt() / TOTAL_MASK;
213
+ }
214
+ }
215
+ exports.MT19937 = MT19937;
216
+ _a = MT19937, _MT19937_mt = new WeakMap(), _MT19937_mti = new WeakMap();
217
+ _MT19937_instance = { value: new _a() };
218
+ /**
219
+ * Generates a pseudo-random number in the range `[0, 1)`. This function is not
220
+ * cryptographically secure, and should not be used for any security-sensitive
221
+ * applications. It was designed to be a drop-in replacement for the native
222
+ * `Math.random()` function, with support for seeding the generator.
223
+ *
224
+ * @returns A pseudo-random number in the range `[0, 1)`.
225
+ * @category Random
226
+ * @see {@linkcode random.init} for seeding the generator.
227
+ * @see {@linkcode MT19937} for the Mersenne-Twister implementation this uses.
228
+ */
229
+ function random() {
230
+ return MT19937.random();
231
+ }
232
+ /**
233
+ * Initializes the random number generator with a seed or sequence of seeds.
234
+ *
235
+ * This is useful for testing, allowing you to generate a deterministic
236
+ * sequence of pseudo-random numbers based on the provided seed value.
237
+ *
238
+ * @param seed - The seed value or sequence of seed values.
239
+ * @returns The singleton instance of the random number generator.
240
+ */
241
+ random.init = MT19937.init;
242
+ //# sourceMappingURL=random.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random.js","sourceRoot":"","sources":["../src/random.ts"],"names":[],"mappings":"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"}
package/cjs/round.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Rounds a number to the nearest whole number.
3
+ *
4
+ * @param x The number to round to the nearest whole number
5
+ * @returns The nearest whole number to the provided number.
6
+ * @category Rounding
7
+ */
8
+ export declare function round(x: number): number;
9
+ //# sourceMappingURL=round.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"round.d.ts","sourceRoot":"","sources":["../src/round.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKvC"}
package/cjs/round.js ADDED
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.round = round;
4
+ /**
5
+ * Rounds a number to the nearest whole number.
6
+ *
7
+ * @module round
8
+ */
9
+ const floor_js_1 = require("./floor.js");
10
+ /**
11
+ * Rounds a number to the nearest whole number.
12
+ *
13
+ * @param x The number to round to the nearest whole number
14
+ * @returns The nearest whole number to the provided number.
15
+ * @category Rounding
16
+ */
17
+ function round(x) {
18
+ x = +x;
19
+ if (x !== x || x === 0)
20
+ return x;
21
+ const rounded = (0, floor_js_1.floor)(x + 0.5);
22
+ return rounded === 0 && x < 0 ? -0 : rounded;
23
+ }
24
+ //# sourceMappingURL=round.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"round.js","sourceRoot":"","sources":["../src/round.ts"],"names":[],"mappings":";;AAcA,sBAKC;AAnBD;;;;GAIG;AACH,yCAAmC;AAEnC;;;;;;GAMG;AACH,SAAgB,KAAK,CAAC,CAAS;IAC7B,CAAC,GAAG,CAAC,CAAC,CAAC;IACP,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,IAAA,gBAAK,EAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/B,OAAO,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/C,CAAC"}
package/cjs/sign.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Returns the sign of a number, indicating whether the number is positive,
3
+ * negative, or zero.
4
+ *
5
+ * @module sign
6
+ */
7
+ /**
8
+ * Returns the sign of a number, indicating whether the number is positive,
9
+ * negative, or zero. This preserves the sign of `-0`, and returns `NaN` as-is.
10
+ *
11
+ * @param x The number to return the sign of
12
+ * @returns `1` if `x` is positive, `-1` if it is negative, and `0` if it is
13
+ * zero. This preserves the sign of `-0`, and returns `NaN` as-is.
14
+ * @category Arithmetic
15
+ */
16
+ export declare function sign(x: number): number;
17
+ //# sourceMappingURL=sign.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../src/sign.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtC"}
package/cjs/sign.js ADDED
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /**
3
+ * Returns the sign of a number, indicating whether the number is positive,
4
+ * negative, or zero.
5
+ *
6
+ * @module sign
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.sign = sign;
10
+ /**
11
+ * Returns the sign of a number, indicating whether the number is positive,
12
+ * negative, or zero. This preserves the sign of `-0`, and returns `NaN` as-is.
13
+ *
14
+ * @param x The number to return the sign of
15
+ * @returns `1` if `x` is positive, `-1` if it is negative, and `0` if it is
16
+ * zero. This preserves the sign of `-0`, and returns `NaN` as-is.
17
+ * @category Arithmetic
18
+ */
19
+ function sign(x) {
20
+ return x < 0 ? -1 : x > 0 ? 1 : x;
21
+ }
22
+ //# sourceMappingURL=sign.js.map