@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,174 @@
1
+ /**
2
+ * Shared generic implementation for IEEE‑754 binary floating‑point
3
+ * encoding, decoding, and rounding.
4
+ *
5
+ * @module internal/ieee754
6
+ */
7
+ /** Descriptor for an IEEE‑754 binary floating‑point format. */
8
+ export interface BigIntFloatFormat extends Format {
9
+ /** Controls the output type of the bit pattern. @default {false} */
10
+ bigint: true;
11
+ }
12
+ /** Descriptor for an IEEE‑754 binary floating‑point format. */
13
+ export interface FloatFormat extends Format {
14
+ /** Optional flag indicating the output type should be a number. */
15
+ bigint?: false | undefined;
16
+ }
17
+ interface Format {
18
+ /** Number of exponent bits (e.g. 8 for binary32). */
19
+ exponent: number;
20
+ /** Number of mantissa bits (e.g. 23 for binary32). */
21
+ mantissa: number;
22
+ /** Exponent bias (e.g. 127 for binary32). */
23
+ bias: number;
24
+ /** Encoded bit‑pattern for NaN. */
25
+ nan: number | bigint;
26
+ /** Encoded bit‑pattern for +∞. */
27
+ positive_infinity: number | bigint;
28
+ /** Encoded bit‑pattern for –∞. */
29
+ negative_infinity: number | bigint;
30
+ /** Encoded bit‑pattern for –0. */
31
+ negative_zero: number | bigint;
32
+ /** Encoded bit‑pattern for +0. */
33
+ positive_zero: number | bigint;
34
+ /** Optional flag indicating whether the output should be a bigint. */
35
+ bigint?: boolean | undefined;
36
+ }
37
+ /**
38
+ * Encode a JS number into an IEEE‑754 bit pattern (as a BigInt).
39
+ *
40
+ * @param value The number to encode.
41
+ * @param fmt Describes exponent/mantissa sizes, bias, and specials.
42
+ * @returns The raw bits (as BigInt).
43
+ * @internal
44
+ */
45
+ export declare function encode(value: number, fmt: BigIntFloatFormat): bigint;
46
+ export declare function encode(value: number, fmt: FloatFormat): number;
47
+ /**
48
+ * Decode an IEEE‑754 bit pattern back into a JavaScript number.
49
+ *
50
+ * @param bits The raw bits (BigInt or number).
51
+ * @param fmt Describes exponent/mantissa sizes, bias, and specials.
52
+ * @returns The decoded JS number.
53
+ * @internal
54
+ */
55
+ export declare function decode(bits: string | bigint | number, fmt: FloatFormat): number;
56
+ /**
57
+ * Round a JS number to the nearest representable value in the given format.
58
+ *
59
+ * @param value The number to round.
60
+ * @param fmt Describes exponent/mantissa sizes, bias, and specials.
61
+ * @returns The rounded JS number.
62
+ * @internal
63
+ */
64
+ export declare function fround(value: number, fmt?: FloatFormat): number;
65
+ /**
66
+ * Represents the IEEE-754 binary16 (half-precision) floating-point format.
67
+ *
68
+ * @internal
69
+ */
70
+ export declare const float16: {
71
+ readonly exponent: 5;
72
+ readonly mantissa: 10;
73
+ readonly bias: 15;
74
+ readonly nan: 32256n;
75
+ readonly positive_infinity: 31744n;
76
+ readonly negative_infinity: 64512n;
77
+ readonly negative_zero: 32768n;
78
+ readonly positive_zero: 0n;
79
+ };
80
+ /**
81
+ * Represents the IEEE-754 binary32 (single-precision) floating-point format.
82
+ *
83
+ * @internal
84
+ */
85
+ export declare const float32: {
86
+ readonly exponent: 8;
87
+ readonly mantissa: 23;
88
+ readonly bias: 127;
89
+ readonly nan: 2143289344n;
90
+ readonly positive_infinity: 2139095040n;
91
+ readonly negative_infinity: 4286578688n;
92
+ readonly negative_zero: 2147483648n;
93
+ readonly positive_zero: 0n;
94
+ };
95
+ /**
96
+ * Represents the IEEE-754 binary64 (double-precision) floating-point format.
97
+ *
98
+ * @internal
99
+ */
100
+ export declare const float64: {
101
+ readonly exponent: 11;
102
+ readonly mantissa: 52;
103
+ readonly bias: 1023;
104
+ readonly nan: 9221120237041090560n;
105
+ readonly positive_infinity: 9218868437227405312n;
106
+ readonly negative_infinity: 18442240474082181120n;
107
+ readonly negative_zero: 9223372036854775808n;
108
+ readonly positive_zero: 0n;
109
+ };
110
+ /**
111
+ * Represents the IEEE-754 binary128 (quadruple-precision) floating-point
112
+ * format.
113
+ *
114
+ * @internal
115
+ */
116
+ export declare const float128: {
117
+ readonly exponent: 15;
118
+ readonly mantissa: 112;
119
+ readonly bias: 16383;
120
+ readonly nan: 170138587312039964317873038467719495680n;
121
+ readonly positive_infinity: 170135991163610696904058773219554885632n;
122
+ readonly negative_infinity: 340277174624079928635746076935438991360n;
123
+ readonly negative_zero: 170141183460469231731687303715884105728n;
124
+ readonly positive_zero: 0n;
125
+ };
126
+ /**
127
+ * Represents all supported IEEE-754 floating-point formats.
128
+ *
129
+ * @internal
130
+ */
131
+ export declare const formats: {
132
+ readonly float16: {
133
+ readonly exponent: 5;
134
+ readonly mantissa: 10;
135
+ readonly bias: 15;
136
+ readonly nan: 32256n;
137
+ readonly positive_infinity: 31744n;
138
+ readonly negative_infinity: 64512n;
139
+ readonly negative_zero: 32768n;
140
+ readonly positive_zero: 0n;
141
+ };
142
+ readonly float32: {
143
+ readonly exponent: 8;
144
+ readonly mantissa: 23;
145
+ readonly bias: 127;
146
+ readonly nan: 2143289344n;
147
+ readonly positive_infinity: 2139095040n;
148
+ readonly negative_infinity: 4286578688n;
149
+ readonly negative_zero: 2147483648n;
150
+ readonly positive_zero: 0n;
151
+ };
152
+ readonly float64: {
153
+ readonly exponent: 11;
154
+ readonly mantissa: 52;
155
+ readonly bias: 1023;
156
+ readonly nan: 9221120237041090560n;
157
+ readonly positive_infinity: 9218868437227405312n;
158
+ readonly negative_infinity: 18442240474082181120n;
159
+ readonly negative_zero: 9223372036854775808n;
160
+ readonly positive_zero: 0n;
161
+ };
162
+ readonly float128: {
163
+ readonly exponent: 15;
164
+ readonly mantissa: 112;
165
+ readonly bias: 16383;
166
+ readonly nan: 170138587312039964317873038467719495680n;
167
+ readonly positive_infinity: 170135991163610696904058773219554885632n;
168
+ readonly negative_infinity: 340277174624079928635746076935438991360n;
169
+ readonly negative_zero: 170141183460469231731687303715884105728n;
170
+ readonly positive_zero: 0n;
171
+ };
172
+ };
173
+ export {};
174
+ //# sourceMappingURL=ieee754.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ieee754.d.ts","sourceRoot":"","sources":["../../src/internal/ieee754.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAoBH,+DAA+D;AAC/D,MAAM,WAAW,iBAAkB,SAAQ,MAAM;IAC/C,oEAAoE;IACpE,MAAM,EAAE,IAAI,CAAC;CACd;AAED,+DAA+D;AAC/D,MAAM,WAAW,WAAY,SAAQ,MAAM;IACzC,mEAAmE;IACnE,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CAC5B;AAED,UAAU,MAAM;IACd,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,kCAAkC;IAClC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,kCAAkC;IAClC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,kCAAkC;IAClC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,kCAAkC;IAClC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,sEAAsE;IACtE,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,GAAG,MAAM,CAAC;AACtE,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAAC;AAwDhE;;;;;;;GAOG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAC9B,GAAG,EAAE,WAAW,GACf,MAAM,CA6BR;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,WAAW,GAAG,MAAM,CAG/D;AAED;;;;GAIG;AACH,eAAO,MAAM,OAAO;;;;;;;;;CASY,CAAC;AAEjC;;;;GAIG;AACH,eAAO,MAAM,OAAO;;;;;;;;;CASY,CAAC;AAEjC;;;;GAIG;AACH,eAAO,MAAM,OAAO;;;;;;;;;CASY,CAAC;AAEjC;;;;;GAKG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;CASW,CAAC;AAEjC;;;;GAIG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK4B,CAAC"}
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ // src/internal/ieee754.ts
3
+ /**
4
+ * Shared generic implementation for IEEE‑754 binary floating‑point
5
+ * encoding, decoding, and rounding.
6
+ *
7
+ * @module internal/ieee754
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.formats = exports.float128 = exports.float64 = exports.float32 = exports.float16 = void 0;
11
+ exports.encode = encode;
12
+ exports.decode = decode;
13
+ exports.fround = fround;
14
+ const positive_infinity_js_1 = require("../guards/positive_infinity.js");
15
+ const negative_infinity_js_1 = require("../guards/negative_infinity.js");
16
+ const nan_js_1 = require("../guards/nan.js");
17
+ const negative_zero_js_1 = require("../guards/negative_zero.js");
18
+ const positive_zero_js_1 = require("../guards/positive_zero.js");
19
+ const abs_js_1 = require("../abs.js");
20
+ const floor_js_1 = require("../floor.js");
21
+ const log2_js_1 = require("../log2.js");
22
+ const pow_js_1 = require("../pow.js");
23
+ const round_js_1 = require("../round.js");
24
+ const primordials_js_1 = require("./primordials.js");
25
+ function encode(value, fmt) {
26
+ return (fmt.bigint ? primordials_js_1.BigInt : primordials_js_1.Number)(inner_encode(value, fmt));
27
+ }
28
+ function inner_encode(value, fmt) {
29
+ if ((0, nan_js_1.isNaN)(value))
30
+ return fmt.nan;
31
+ if ((0, positive_infinity_js_1.isPositiveInfinity)(value))
32
+ return fmt.positive_infinity;
33
+ if ((0, negative_infinity_js_1.isNegativeInfinity)(value))
34
+ return fmt.negative_infinity;
35
+ if ((0, negative_zero_js_1.isNegativeZero)(value))
36
+ return fmt.negative_zero;
37
+ if ((0, positive_zero_js_1.isPositiveZero)(value))
38
+ return fmt.positive_zero;
39
+ const normal = 1 - fmt.bias;
40
+ // subnormal threshold = 2^(1-bias)
41
+ const cutoff = (0, pow_js_1.pow)(2, normal);
42
+ const sign = (0, primordials_js_1.BigInt)(value < 0 ? 1 : 0);
43
+ const shift = (0, primordials_js_1.BigInt)(fmt.exponent + fmt.mantissa);
44
+ const absolute = (0, abs_js_1.abs)(value);
45
+ if (absolute < cutoff) {
46
+ // subnormal
47
+ const scale = normal - fmt.mantissa;
48
+ const mant = (0, primordials_js_1.BigInt)((0, round_js_1.round)(absolute / (0, pow_js_1.pow)(2, scale)));
49
+ return (sign << shift) | mant;
50
+ }
51
+ // normal
52
+ let expo = (0, floor_js_1.floor)((0, log2_js_1.log2)(absolute)), mant = absolute / (0, pow_js_1.pow)(2, expo);
53
+ if (mant < 1) {
54
+ mant *= 2;
55
+ expo--;
56
+ }
57
+ else if (mant >= 2) {
58
+ mant /= 2;
59
+ expo++;
60
+ }
61
+ const mant_scale = (0, pow_js_1.pow)(2, fmt.mantissa);
62
+ let mant_bits = (0, round_js_1.round)((mant - 1) * mant_scale);
63
+ if (mant_bits === mant_scale) {
64
+ mant_bits = 0;
65
+ expo++;
66
+ }
67
+ const biased = expo + fmt.bias;
68
+ if (biased >= (1 << fmt.exponent) - 1) {
69
+ return value < 0 ? fmt.negative_infinity : fmt.positive_infinity;
70
+ }
71
+ const e = (0, primordials_js_1.BigInt)(biased);
72
+ const m = (0, primordials_js_1.BigInt)(mant_bits);
73
+ return (sign << shift) | (e << (0, primordials_js_1.BigInt)(fmt.mantissa)) | m;
74
+ }
75
+ /**
76
+ * Decode an IEEE‑754 bit pattern back into a JavaScript number.
77
+ *
78
+ * @param bits The raw bits (BigInt or number).
79
+ * @param fmt Describes exponent/mantissa sizes, bias, and specials.
80
+ * @returns The decoded JS number.
81
+ * @internal
82
+ */
83
+ function decode(bits, fmt) {
84
+ const b = (0, primordials_js_1.BigInt)(bits);
85
+ if (b === (0, primordials_js_1.BigInt)(fmt.nan))
86
+ return nan_js_1.NAN;
87
+ if (b === (0, primordials_js_1.BigInt)(fmt.positive_infinity))
88
+ return positive_infinity_js_1.POSITIVE_INFINITY;
89
+ if (b === (0, primordials_js_1.BigInt)(fmt.negative_infinity))
90
+ return negative_infinity_js_1.NEGATIVE_INFINITY;
91
+ if (b === (0, primordials_js_1.BigInt)(fmt.negative_zero))
92
+ return negative_zero_js_1.NEGATIVE_ZERO;
93
+ if (b === (0, primordials_js_1.BigInt)(fmt.positive_zero))
94
+ return positive_zero_js_1.POSITIVE_ZERO;
95
+ const shift = fmt.exponent + fmt.mantissa;
96
+ const m = (0, primordials_js_1.BigInt)(fmt.mantissa), e = (0, primordials_js_1.BigInt)(fmt.exponent);
97
+ const mask_m = (1n << m) - 1n;
98
+ const mask_e = ((1n << e) - 1n) << m;
99
+ const sign = ((b >> (0, primordials_js_1.BigInt)(shift)) & 1n) === 1n ? -1 : 1;
100
+ const expo = (b & mask_e) >> m, mant = b & mask_m;
101
+ if (expo === 0n) {
102
+ // subnormal
103
+ const subx = 1 - fmt.bias;
104
+ return sign * (0, primordials_js_1.Number)(mant) * (0, pow_js_1.pow)(2, subx - fmt.mantissa);
105
+ }
106
+ else if (expo === (1n << e) - 1n) {
107
+ if (mant)
108
+ return nan_js_1.NAN;
109
+ if (sign > 0)
110
+ return positive_infinity_js_1.POSITIVE_INFINITY;
111
+ return negative_infinity_js_1.NEGATIVE_INFINITY;
112
+ }
113
+ const exp = (0, primordials_js_1.Number)(expo) - fmt.bias;
114
+ return sign * (1 + (0, primordials_js_1.Number)(mant) / (0, pow_js_1.pow)(2, fmt.mantissa)) * (0, pow_js_1.pow)(2, exp);
115
+ }
116
+ /**
117
+ * Round a JS number to the nearest representable value in the given format.
118
+ *
119
+ * @param value The number to round.
120
+ * @param fmt Describes exponent/mantissa sizes, bias, and specials.
121
+ * @returns The rounded JS number.
122
+ * @internal
123
+ */
124
+ function fround(value, fmt) {
125
+ fmt ?? (fmt = exports.float32);
126
+ return decode(encode(value, fmt), fmt);
127
+ }
128
+ /**
129
+ * Represents the IEEE-754 binary16 (half-precision) floating-point format.
130
+ *
131
+ * @internal
132
+ */
133
+ exports.float16 = {
134
+ exponent: 5,
135
+ mantissa: 10,
136
+ bias: 15,
137
+ nan: 0x7e00n,
138
+ positive_infinity: 0x7c00n,
139
+ negative_infinity: 0xfc00n,
140
+ negative_zero: 0x8000n,
141
+ positive_zero: 0n,
142
+ };
143
+ /**
144
+ * Represents the IEEE-754 binary32 (single-precision) floating-point format.
145
+ *
146
+ * @internal
147
+ */
148
+ exports.float32 = {
149
+ exponent: 8,
150
+ mantissa: 23,
151
+ bias: 127,
152
+ nan: 0x7fc00000n,
153
+ positive_infinity: 0x7f800000n,
154
+ negative_infinity: 0xff800000n,
155
+ negative_zero: 0x80000000n,
156
+ positive_zero: 0n,
157
+ };
158
+ /**
159
+ * Represents the IEEE-754 binary64 (double-precision) floating-point format.
160
+ *
161
+ * @internal
162
+ */
163
+ exports.float64 = {
164
+ exponent: 11,
165
+ mantissa: 52,
166
+ bias: 1023,
167
+ nan: 0x7ff8000000000000n,
168
+ positive_infinity: 0x7ff0000000000000n,
169
+ negative_infinity: 0xfff0000000000000n,
170
+ negative_zero: 0x8000000000000000n,
171
+ positive_zero: 0n,
172
+ };
173
+ /**
174
+ * Represents the IEEE-754 binary128 (quadruple-precision) floating-point
175
+ * format.
176
+ *
177
+ * @internal
178
+ */
179
+ exports.float128 = {
180
+ exponent: 15,
181
+ mantissa: 112,
182
+ bias: 16383,
183
+ nan: 0x7fff8000000000000000000000000000n,
184
+ positive_infinity: 0x7fff0000000000000000000000000000n,
185
+ negative_infinity: 0xffff0000000000000000000000000000n,
186
+ negative_zero: 0x80000000000000000000000000000000n,
187
+ positive_zero: 0n,
188
+ };
189
+ /**
190
+ * Represents all supported IEEE-754 floating-point formats.
191
+ *
192
+ * @internal
193
+ */
194
+ exports.formats = {
195
+ float16: exports.float16,
196
+ float32: exports.float32,
197
+ float64: exports.float64,
198
+ float128: exports.float128,
199
+ };
200
+ //# sourceMappingURL=ieee754.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ieee754.js","sourceRoot":"","sources":["../../src/internal/ieee754.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ export declare const Date: DateConstructor;
2
+ export declare const DateNow: () => number;
3
+ export declare const DateUTC: {
4
+ (year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number;
5
+ (year: number, monthIndex?: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number;
6
+ };
7
+ export declare const DateParse: (s: string) => number;
8
+ export declare const DatePrototype: Date;
9
+ export declare const String: StringConstructor;
10
+ export declare const StringPrototype: String;
11
+ export declare const Number: NumberConstructor;
12
+ export declare const NumberPrototype: Number;
13
+ export declare const BigInt: BigIntConstructor;
14
+ export declare const BigIntAsIntN: (bits: number, int: bigint) => bigint;
15
+ export declare const BigIntAsUintN: (bits: number, int: bigint) => bigint;
16
+ export declare const BigIntPrototype: BigInt;
17
+ export declare const Object: ObjectConstructor;
18
+ export declare const ObjectPrototype: Object;
19
+ export declare const Array: ArrayConstructor;
20
+ export declare const ArrayFrom: typeof Array.from;
21
+ export declare const ArrayPrototype: any[];
22
+ export declare const Function: FunctionConstructor;
23
+ export declare const FunctionPrototype: Function;
24
+ export declare const Symbol: SymbolConstructor;
25
+ export declare const SymbolPrototype: typeof Symbol.prototype;
26
+ export declare const SymbolFor: typeof Symbol.for;
27
+ export declare const SymbolIterator: typeof Symbol.iterator;
28
+ export declare const SymbolToStringTag: typeof Symbol.toStringTag;
29
+ export declare const SymbolToPrimitive: typeof Symbol.toPrimitive;
30
+ //# sourceMappingURL=primordials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primordials.d.ts","sourceRoot":"","sources":["../../src/internal/primordials.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,EAAE,eAAiC,CAAC;AACrD,eAAO,MAAM,OAAO,cAAW,CAAC;AAChC,eAAO,MAAM,OAAO;;;CAAW,CAAC;AAChC,eAAO,MAAM,SAAS,uBAAa,CAAC;AACpC,eAAO,MAAM,aAAa,MAAiB,CAAC;AAE5C,eAAO,MAAM,MAAM,EAAE,iBAAqC,CAAC;AAC3D,eAAO,MAAM,eAAe,QAAmB,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,iBAAqC,CAAC;AAC3D,eAAO,MAAM,eAAe,QAAmB,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,iBAAqC,CAAC;AAC3D,eAAO,MAAM,YAAY,uCAA6B,CAAC;AACvD,eAAO,MAAM,aAAa,uCAA8B,CAAC;AACzD,eAAO,MAAM,eAAe,QAAmB,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,iBAAqC,CAAC;AAC3D,eAAO,MAAM,eAAe,QAAmB,CAAC;AAEhD,eAAO,MAAM,KAAK,EAAE,gBAAmC,CAAC;AACxD,eAAO,MAAM,SAAS,EAAE,OAAO,KAAK,CAAC,IAA6B,CAAC;AACnE,eAAO,MAAM,cAAc,OAAkB,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,mBAAyC,CAAC;AACjE,eAAO,MAAM,iBAAiB,UAAqB,CAAC;AAEpD,eAAO,MAAM,MAAM,EAAE,iBAAqC,CAAC;AAC3D,eAAO,MAAM,eAAe,EAAE,OAAO,MAAM,CAAC,SAA4B,CAAC;AACzE,eAAO,MAAM,SAAS,EAAE,OAAO,MAAM,CAAC,GAAgB,CAAC;AACvD,eAAO,MAAM,cAAc,EAAE,OAAO,MAAM,CAAC,QAA0B,CAAC;AACtE,eAAO,MAAM,iBAAiB,EAAE,OAAO,MAAM,CAAC,WAAgC,CAAC;AAC/E,eAAO,MAAM,iBAAiB,EAAE,OAAO,MAAM,CAAC,WAAgC,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SymbolToPrimitive = exports.SymbolToStringTag = exports.SymbolIterator = exports.SymbolFor = exports.SymbolPrototype = exports.Symbol = exports.FunctionPrototype = exports.Function = exports.ArrayPrototype = exports.ArrayFrom = exports.Array = exports.ObjectPrototype = exports.Object = exports.BigIntPrototype = exports.BigIntAsUintN = exports.BigIntAsIntN = exports.BigInt = exports.NumberPrototype = exports.Number = exports.StringPrototype = exports.String = exports.DatePrototype = exports.DateParse = exports.DateUTC = exports.DateNow = exports.Date = void 0;
4
+ exports.Date = globalThis.Date;
5
+ exports.DateNow = exports.Date.now;
6
+ exports.DateUTC = exports.Date.UTC;
7
+ exports.DateParse = exports.Date.parse;
8
+ exports.DatePrototype = exports.Date.prototype;
9
+ exports.String = globalThis.String;
10
+ exports.StringPrototype = exports.String.prototype;
11
+ exports.Number = globalThis.Number;
12
+ exports.NumberPrototype = exports.Number.prototype;
13
+ exports.BigInt = globalThis.BigInt;
14
+ exports.BigIntAsIntN = exports.BigInt.asIntN.bind(exports.BigInt);
15
+ exports.BigIntAsUintN = exports.BigInt.asUintN.bind(exports.BigInt);
16
+ exports.BigIntPrototype = exports.BigInt.prototype;
17
+ exports.Object = globalThis.Object;
18
+ exports.ObjectPrototype = exports.Object.prototype;
19
+ exports.Array = globalThis.Array;
20
+ exports.ArrayFrom = exports.Array.from.bind(exports.Array);
21
+ exports.ArrayPrototype = exports.Array.prototype;
22
+ exports.Function = globalThis.Function;
23
+ exports.FunctionPrototype = exports.Function.prototype;
24
+ exports.Symbol = globalThis.Symbol;
25
+ exports.SymbolPrototype = exports.Symbol.prototype;
26
+ exports.SymbolFor = exports.Symbol.for;
27
+ exports.SymbolIterator = exports.Symbol.iterator;
28
+ exports.SymbolToStringTag = exports.Symbol.toStringTag;
29
+ exports.SymbolToPrimitive = exports.Symbol.toPrimitive;
30
+ //# sourceMappingURL=primordials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primordials.js","sourceRoot":"","sources":["../../src/internal/primordials.ts"],"names":[],"mappings":";;;AAAa,QAAA,IAAI,GAAoB,UAAU,CAAC,IAAI,CAAC;AACxC,QAAA,OAAO,GAAG,YAAI,CAAC,GAAG,CAAC;AACnB,QAAA,OAAO,GAAG,YAAI,CAAC,GAAG,CAAC;AACnB,QAAA,SAAS,GAAG,YAAI,CAAC,KAAK,CAAC;AACvB,QAAA,aAAa,GAAG,YAAI,CAAC,SAAS,CAAC;AAE/B,QAAA,MAAM,GAAsB,UAAU,CAAC,MAAM,CAAC;AAC9C,QAAA,eAAe,GAAG,cAAM,CAAC,SAAS,CAAC;AAEnC,QAAA,MAAM,GAAsB,UAAU,CAAC,MAAM,CAAC;AAC9C,QAAA,eAAe,GAAG,cAAM,CAAC,SAAS,CAAC;AAEnC,QAAA,MAAM,GAAsB,UAAU,CAAC,MAAM,CAAC;AAC9C,QAAA,YAAY,GAAG,cAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAM,CAAC,CAAC;AAC1C,QAAA,aAAa,GAAG,cAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAM,CAAC,CAAC;AAC5C,QAAA,eAAe,GAAG,cAAM,CAAC,SAAS,CAAC;AAEnC,QAAA,MAAM,GAAsB,UAAU,CAAC,MAAM,CAAC;AAC9C,QAAA,eAAe,GAAG,cAAM,CAAC,SAAS,CAAC;AAEnC,QAAA,KAAK,GAAqB,UAAU,CAAC,KAAK,CAAC;AAC3C,QAAA,SAAS,GAAsB,aAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAK,CAAC,CAAC;AACtD,QAAA,cAAc,GAAG,aAAK,CAAC,SAAS,CAAC;AAEjC,QAAA,QAAQ,GAAwB,UAAU,CAAC,QAAQ,CAAC;AACpD,QAAA,iBAAiB,GAAG,gBAAQ,CAAC,SAAS,CAAC;AAEvC,QAAA,MAAM,GAAsB,UAAU,CAAC,MAAM,CAAC;AAC9C,QAAA,eAAe,GAA4B,cAAM,CAAC,SAAS,CAAC;AAC5D,QAAA,SAAS,GAAsB,cAAM,CAAC,GAAG,CAAC;AAC1C,QAAA,cAAc,GAA2B,cAAM,CAAC,QAAQ,CAAC;AACzD,QAAA,iBAAiB,GAA8B,cAAM,CAAC,WAAW,CAAC;AAClE,QAAA,iBAAiB,GAA8B,cAAM,CAAC,WAAW,CAAC"}
package/cjs/log.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Calculates the natural logarithm of a number (logₑ).
3
+ *
4
+ * @param x The number to calculate the natural logarithm of (logₑ)
5
+ * @returns The natural logarithm of the provided number.
6
+ * @category Logarithmic
7
+ */
8
+ export declare function log(x: number): number;
9
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAYA;;;;;;GAMG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAsBrC"}
package/cjs/log.js ADDED
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.log = log;
4
+ /**
5
+ * Calculates the natural logarithm of a number (logₑ).
6
+ *
7
+ * @module log
8
+ */
9
+ const epsilon_js_1 = require("./constants/epsilon.js");
10
+ const ln2_js_1 = require("./constants/ln2.js");
11
+ const nan_js_1 = require("./constants/nan.js");
12
+ const positive_infinity_js_1 = require("./constants/positive_infinity.js");
13
+ const negative_infinity_js_1 = require("./constants/negative_infinity.js");
14
+ const abs_js_1 = require("./abs.js");
15
+ /**
16
+ * Calculates the natural logarithm of a number (logₑ).
17
+ *
18
+ * @param x The number to calculate the natural logarithm of (logₑ)
19
+ * @returns The natural logarithm of the provided number.
20
+ * @category Logarithmic
21
+ */
22
+ function log(x) {
23
+ if ((x = +x) !== x || x < 0)
24
+ return nan_js_1.NAN; // NaN for x < 0
25
+ if (x === 0)
26
+ return negative_infinity_js_1.NEGATIVE_INFINITY; // -Infinity for x <= 0
27
+ if (x === 1)
28
+ return 0; // 0 for x = 1
29
+ if (x === positive_infinity_js_1.POSITIVE_INFINITY)
30
+ return x; // Infinity for x = Infinity
31
+ const seriesEpsilon = epsilon_js_1.EPSILON * 16;
32
+ let n = 0;
33
+ while (x > 2)
34
+ x /= 2, n++;
35
+ const z = (x - 1) / (x + 1), z2 = z * z;
36
+ let sum = 0, term = z, i = 1;
37
+ // series expansion for ln(1+z) converges faster when z is [-1, 1]
38
+ while ((0, abs_js_1.abs)(term) >= seriesEpsilon) {
39
+ sum += term / i;
40
+ term *= z2;
41
+ i += 2;
42
+ }
43
+ // ln(x) + adjustment factor for original input
44
+ return 2 * sum + n * ln2_js_1.LN2;
45
+ }
46
+ //# sourceMappingURL=log.js.map
package/cjs/log.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":";;AAmBA,kBAsBC;AAzCD;;;;GAIG;AACH,uDAAiD;AACjD,+CAAyC;AACzC,+CAAyC;AACzC,2EAAqE;AACrE,2EAAqE;AACrE,qCAA+B;AAE/B;;;;;;GAMG;AACH,SAAgB,GAAG,CAAC,CAAS;IAC3B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,YAAG,CAAC,CAAC,gBAAgB;IACzD,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,wCAAiB,CAAC,CAAC,uBAAuB;IAC9D,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC,cAAc;IACrC,IAAI,CAAC,KAAK,wCAAiB;QAAE,OAAO,CAAC,CAAC,CAAC,4BAA4B;IAEnE,MAAM,aAAa,GAAG,oBAAO,GAAG,EAAE,CAAC;IACnC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,CAAC;QAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IAE1B,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAE7B,kEAAkE;IAClE,OAAO,IAAA,YAAG,EAAC,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;QAClC,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC;QAChB,IAAI,IAAI,EAAE,CAAC;QACX,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IAED,+CAA+C;IAC/C,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,YAAG,CAAC;AAC3B,CAAC"}
package/cjs/log10.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Calculates the base-10 logarithm of a number.
3
+ *
4
+ * @param x The number to calculate the base-10 logarithm of (log₁₀)
5
+ * @returns The base-10 logarithm of the provided number.
6
+ * @category Logarithmic
7
+ */
8
+ export declare function log10(x: number): number;
9
+ //# sourceMappingURL=log10.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log10.d.ts","sourceRoot":"","sources":["../src/log10.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEvC"}
package/cjs/log10.js ADDED
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.log10 = log10;
4
+ /**
5
+ * Calculates the base-10 logarithm of a number.
6
+ *
7
+ * @module log10
8
+ */
9
+ const log10e_js_1 = require("./constants/log10e.js");
10
+ const log_js_1 = require("./log.js");
11
+ /**
12
+ * Calculates the base-10 logarithm of a number.
13
+ *
14
+ * @param x The number to calculate the base-10 logarithm of (log₁₀)
15
+ * @returns The base-10 logarithm of the provided number.
16
+ * @category Logarithmic
17
+ */
18
+ function log10(x) {
19
+ return (0, log_js_1.log)(x) * log10e_js_1.LOG10E;
20
+ }
21
+ //# sourceMappingURL=log10.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log10.js","sourceRoot":"","sources":["../src/log10.ts"],"names":[],"mappings":";;AAeA,sBAEC;AAjBD;;;;GAIG;AACH,qDAA+C;AAC/C,qCAA+B;AAE/B;;;;;;GAMG;AACH,SAAgB,KAAK,CAAC,CAAS;IAC7B,OAAO,IAAA,YAAG,EAAC,CAAC,CAAC,GAAG,kBAAM,CAAC;AACzB,CAAC"}
package/cjs/log1p.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Calculates the natural logarithm of 1 + x (`log(1 + x)`), accurately even
3
+ * for very small values of x.
4
+ *
5
+ * @param x The number whose logarithm of (1 + x) is to be calculated.
6
+ * @returns The natural logarithm of 1 + x.
7
+ * @category Logarithmic
8
+ */
9
+ export declare function log1p(x: number): number;
10
+ //# sourceMappingURL=log1p.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log1p.d.ts","sourceRoot":"","sources":["../src/log1p.ts"],"names":[],"mappings":"AAYA;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKvC"}
package/cjs/log1p.js ADDED
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.log1p = log1p;
4
+ /**
5
+ * Calculates the natural logarithm of 1 + x (`log(1 + x)`), accurately even
6
+ * for very small values of x.
7
+ *
8
+ * @module log1p
9
+ */
10
+ const epsilon_js_1 = require("./constants/epsilon.js");
11
+ const nan_js_1 = require("./constants/nan.js");
12
+ const negative_infinity_js_1 = require("./constants/negative_infinity.js");
13
+ const abs_js_1 = require("./abs.js");
14
+ const log_js_1 = require("./log.js");
15
+ /**
16
+ * Calculates the natural logarithm of 1 + x (`log(1 + x)`), accurately even
17
+ * for very small values of x.
18
+ *
19
+ * @param x The number whose logarithm of (1 + x) is to be calculated.
20
+ * @returns The natural logarithm of 1 + x.
21
+ * @category Logarithmic
22
+ */
23
+ function log1p(x) {
24
+ if (x === -1)
25
+ return negative_infinity_js_1.NEGATIVE_INFINITY;
26
+ if (x < -1)
27
+ return nan_js_1.NAN;
28
+ if ((0, abs_js_1.abs)(x) < epsilon_js_1.EPSILON)
29
+ return x;
30
+ return (0, log_js_1.log)(1 + x);
31
+ }
32
+ //# sourceMappingURL=log1p.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log1p.js","sourceRoot":"","sources":["../src/log1p.ts"],"names":[],"mappings":";;AAoBA,sBAKC;AAzBD;;;;;GAKG;AACH,uDAAiD;AACjD,+CAAyC;AACzC,2EAAqE;AACrE,qCAA+B;AAC/B,qCAA+B;AAE/B;;;;;;;GAOG;AACH,SAAgB,KAAK,CAAC,CAAS;IAC7B,IAAI,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,wCAAiB,CAAC;IACvC,IAAI,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,YAAG,CAAC;IACvB,IAAI,IAAA,YAAG,EAAC,CAAC,CAAC,GAAG,oBAAO;QAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,IAAA,YAAG,EAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACpB,CAAC"}
package/cjs/log2.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Calculates the base-2 logarithm of a number (log₂).
3
+ *
4
+ * @param x The number to calculate the base-2 logarithm of (log₂)
5
+ * @returns The base-2 logarithm of the provided number.
6
+ * @category Logarithmic
7
+ * @see {@linkcode log} for the natural logarithm.
8
+ * @see {@linkcode log10} for the base-10 logarithm.
9
+ * @see {@linkcode LOG2E} for the base-2 logarithm of {@linkcode E}.
10
+ */
11
+ export declare function log2(x: number): number;
12
+ //# sourceMappingURL=log2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log2.d.ts","sourceRoot":"","sources":["../src/log2.ts"],"names":[],"mappings":"AAQA;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtC"}
package/cjs/log2.js ADDED
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.log2 = log2;
4
+ /**
5
+ * Calculates the base-2 logarithm of a number (log₂).
6
+ *
7
+ * @module log2
8
+ */
9
+ const log2e_js_1 = require("./constants/log2e.js");
10
+ const log_js_1 = require("./log.js");
11
+ /**
12
+ * Calculates the base-2 logarithm of a number (log₂).
13
+ *
14
+ * @param x The number to calculate the base-2 logarithm of (log₂)
15
+ * @returns The base-2 logarithm of the provided number.
16
+ * @category Logarithmic
17
+ * @see {@linkcode log} for the natural logarithm.
18
+ * @see {@linkcode log10} for the base-10 logarithm.
19
+ * @see {@linkcode LOG2E} for the base-2 logarithm of {@linkcode E}.
20
+ */
21
+ function log2(x) {
22
+ return (0, log_js_1.log)(x) * log2e_js_1.LOG2E;
23
+ }
24
+ //# sourceMappingURL=log2.js.map