@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,30 @@
1
+ "use strict";
2
+ /**
3
+ * Not a Number (`NaN`) is a special value representing all values which are
4
+ * not valid numbers. It is approximately equal to `0 / 0`, meaning it is a
5
+ * non-representable, non-finite, non-zero result of an invalid math operation.
6
+ *
7
+ * `NaN` is the only value in JavaScript which is not less than, greater than,
8
+ * nor equal to any other value, including itself. It is the result of invalid
9
+ * mathematical operations, such as dividing zero by zero, or parsing a string
10
+ * that does not represent a valid number with `parseInt` or `parseFloat`.
11
+ *
12
+ * @module nan
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.NaN = exports.NAN = void 0;
16
+ // purposely kept private and local to this module only, preventing external
17
+ // code from imitating the `NaN` type below.
18
+ const Not_a_Number = Symbol("Is_NaN");
19
+ /**
20
+ * Represents the special value "Not a Number" (`NaN`), which is used to denote
21
+ * an invalid number. It is approximately equivalent to `0 / 0`.
22
+ *
23
+ * This is a local implementation of the native `Number.NaN` constant.
24
+ *
25
+ * @category Constants
26
+ * @tags Number, NaN
27
+ */
28
+ exports.NAN = 0 / 0;
29
+ exports.NaN = exports.NAN;
30
+ //# sourceMappingURL=nan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nan.js","sourceRoot":"","sources":["../../src/constants/nan.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEH,4EAA4E;AAC5E,4CAA4C;AAC5C,MAAM,YAAY,GAAkB,MAAM,CAAC,QAAQ,CAAC,CAAC;AAwBrD;;;;;;;;GAQG;AACU,QAAA,GAAG,GAAQ,CAAC,GAAG,CAAQ,CAAC;AAQrB,cARH,WAAG,CAQG"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Negative Infinity is a special value representing negative infinity, which
3
+ * is less than any other number. It is approximately equal to
4
+ * `-1.7976931348623159e+308`.
5
+ *
6
+ * This is a local implementation of the native `Number.NEGATIVE_INFINITY`
7
+ * constant.
8
+ * @category Constants
9
+ * @tags Infinity
10
+ */
11
+ export declare const NEGATIVE_INFINITY: NEGATIVE_INFINITY;
12
+ /**
13
+ * Special type used to represent `-Infinity` (negative infinity). TypeScript's
14
+ * built-in types do not distinguish between positive/negative infinity and any
15
+ * other `number`. However, its type checker _is_ capable of differentiating
16
+ * between those types and other literal numbers.
17
+ *
18
+ * This type simply (ab)uses the type system's handling of scientific notation:
19
+ * by using an arbitrary exponent in excess of `308`, the type checker can now
20
+ * recognize and represent the type as `Infinity`. Great success!
21
+ *
22
+ * NB: Credit to Sindre Sorhus and his type-fest project for this approach.
23
+ *
24
+ * @category Types
25
+ * @tags Infinity
26
+ */
27
+ export type NEGATIVE_INFINITY = -1e333;
28
+ //# sourceMappingURL=negative_infinity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"negative_infinity.d.ts","sourceRoot":"","sources":["../../src/constants/negative_infinity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBAA+C,CAAC;AAEhF;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NEGATIVE_INFINITY = void 0;
4
+ /**
5
+ * Negative Infinity is a special value representing negative infinity, which
6
+ * is less than any other number. It is approximately equal to
7
+ * `-1.7976931348623159e+308`.
8
+ *
9
+ * This is a local implementation of the native `Number.NEGATIVE_INFINITY`
10
+ * constant.
11
+ * @category Constants
12
+ * @tags Infinity
13
+ */
14
+ exports.NEGATIVE_INFINITY = -1 / 0;
15
+ //# sourceMappingURL=negative_infinity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"negative_infinity.js","sourceRoot":"","sources":["../../src/constants/negative_infinity.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACU,QAAA,iBAAiB,GAAsB,CAAC,CAAC,GAAG,CAAsB,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * This module provides a constant value and a branded nominal type for the
3
+ * special number negative zero (`-0`). This is a non-standard extension of the
4
+ * native JavaScript language, provided for stronger type-safety when working
5
+ * with negative zero values.
6
+ *
7
+ * @module negative-zero
8
+ */
9
+ declare const NegativeZero: unique symbol;
10
+ interface NegativeZero {
11
+ readonly [NegativeZero]: never;
12
+ }
13
+ /**
14
+ * Represents the special number negative zero (`-0`).
15
+ *
16
+ * @category Constants
17
+ * @tags Negative Zero
18
+ */
19
+ export declare const NEGATIVE_ZERO: NEGATIVE_ZERO;
20
+ /**
21
+ * @remarks
22
+ * TypeScript is not capable of distinguishing `-0` from `0` on a type level.
23
+ * This type helps fill that gap by providing a branded nominal type for it,
24
+ * allowing you to perform strict type checking and narrowing against negative
25
+ * zero values.
26
+ *
27
+ * @see {@linkcode isNegativeZero} to check runtime values against this type.
28
+ */
29
+ export type NEGATIVE_ZERO = -0 & NegativeZero;
30
+ export {};
31
+ //# sourceMappingURL=negative_zero.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"negative_zero.d.ts","sourceRoot":"","sources":["../../src/constants/negative_zero.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,QAAA,MAAM,YAAY,EAAE,OAAO,MAAqB,CAAC;AAEjD,UAAU,YAAY;IACpB,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;CAChC;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,aAAmC,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * This module provides a constant value and a branded nominal type for the
4
+ * special number negative zero (`-0`). This is a non-standard extension of the
5
+ * native JavaScript language, provided for stronger type-safety when working
6
+ * with negative zero values.
7
+ *
8
+ * @module negative-zero
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.NEGATIVE_ZERO = void 0;
12
+ // deno-lint-ignore no-unused-vars
13
+ const NegativeZero = Symbol("-0");
14
+ /**
15
+ * Represents the special number negative zero (`-0`).
16
+ *
17
+ * @category Constants
18
+ * @tags Negative Zero
19
+ */
20
+ exports.NEGATIVE_ZERO = -0;
21
+ //# sourceMappingURL=negative_zero.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"negative_zero.js","sourceRoot":"","sources":["../../src/constants/negative_zero.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,kCAAkC;AAClC,MAAM,YAAY,GAAkB,MAAM,CAAC,IAAI,CAAC,CAAC;AAMjD;;;;;GAKG;AACU,QAAA,aAAa,GAAkB,CAAC,CAAkB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Represents the mathematical constant `π` (pi), the ratio of a circle's
3
+ * circumference to its diameter, approximately equal to `3.141592653589793`.
4
+ *
5
+ * This is a local implementation of the native `Math.PI` constant.
6
+ * @category Constants
7
+ */
8
+ export declare const PI: PI;
9
+ export type PI = 3.141592653589793;
10
+ //# sourceMappingURL=pi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../src/constants/pi.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,EAAE,EAAE,EAAsB,CAAC;AACxC,MAAM,MAAM,EAAE,GAAG,iBAAiB,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PI = void 0;
4
+ /**
5
+ * Represents the mathematical constant `π` (pi), the ratio of a circle's
6
+ * circumference to its diameter, approximately equal to `3.141592653589793`.
7
+ *
8
+ * This is a local implementation of the native `Math.PI` constant.
9
+ * @category Constants
10
+ */
11
+ exports.PI = 3.141592653589793;
12
+ //# sourceMappingURL=pi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../src/constants/pi.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACU,QAAA,EAAE,GAAO,iBAAiB,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Positive Infinity is a special value representing positive infinity, which
3
+ * is greater than any other number. It is approximately equal to
4
+ * `1.7976931348623159e+308`.
5
+ *
6
+ * This is a local implementation of the native `Number.POSITIVE_INFINITY`
7
+ * constant.
8
+ * @category Constants
9
+ * @tags Infinity
10
+ */
11
+ export declare const POSITIVE_INFINITY: POSITIVE_INFINITY;
12
+ /**
13
+ * Special type used to represent `+Infinity` (positive infinity). TypeScript's
14
+ * built-in types do not distinguish between positive/negative infinity and any
15
+ * other `number`. However, its type checker _is_ capable of differentiating
16
+ * between those types and other literal numbers.
17
+ *
18
+ * This type simply (ab)uses the type system's handling of scientific notation:
19
+ * by using an arbitrary exponent in excess of `308`, the type checker can now
20
+ * recognize and represent the type as `Infinity`. Great success!
21
+ *
22
+ * NB: Credit to Sindre Sorhus and his type-fest project for this approach.
23
+ *
24
+ * @category Types
25
+ * @tags Infinity
26
+ */
27
+ export type POSITIVE_INFINITY = 1e333;
28
+ export { POSITIVE_INFINITY as Infinity };
29
+ //# sourceMappingURL=positive_infinity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"positive_infinity.d.ts","sourceRoot":"","sources":["../../src/constants/positive_infinity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBAA8C,CAAC;AAE/E;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEtC,OAAO,EAAE,iBAAiB,IAAI,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Infinity = exports.POSITIVE_INFINITY = void 0;
4
+ /**
5
+ * Positive Infinity is a special value representing positive infinity, which
6
+ * is greater than any other number. It is approximately equal to
7
+ * `1.7976931348623159e+308`.
8
+ *
9
+ * This is a local implementation of the native `Number.POSITIVE_INFINITY`
10
+ * constant.
11
+ * @category Constants
12
+ * @tags Infinity
13
+ */
14
+ exports.POSITIVE_INFINITY = 1 / 0;
15
+ exports.Infinity = exports.POSITIVE_INFINITY;
16
+ //# sourceMappingURL=positive_infinity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"positive_infinity.js","sourceRoot":"","sources":["../../src/constants/positive_infinity.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACU,QAAA,iBAAiB,GAAsB,CAAC,GAAG,CAAsB,CAAC;AAmBjD,mBAnBjB,yBAAiB,CAmBQ"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * This module provides a constant value and a branded nominal type for the
3
+ * special number positive zero (`-0`). This is a non-standard extension of the
4
+ * native JavaScript language, provided for stronger type-safety when working
5
+ * with positive zero values.
6
+ *
7
+ * @module positive-zero
8
+ */
9
+ declare const PositiveZero: unique symbol;
10
+ interface PositiveZero {
11
+ readonly [PositiveZero]: never;
12
+ }
13
+ /**
14
+ * Represents a value that has been verified at runtime to be positive zero,
15
+ * (i.e. exactly `0`, and not `-0`).
16
+ *
17
+ * This is provided as both a constant runtime value and as a branded nominal
18
+ * type alias for `0`, for use in type-level checks and narrowing where you
19
+ * need a higher level of type-safety than just a standard literal `0`.
20
+ *
21
+ * @category Constants
22
+ * @tags Positive Zero
23
+ * @example
24
+ * ```ts
25
+ * import { POSITIVE_ZERO } from "@nick/math/constants/positive-zero";
26
+ * import { isPositiveZero } from "@nick/math/is/positive-zero";
27
+ * import assert from "node:assert";
28
+ *
29
+ * assert.strictEqual(isPositiveZero(-0), false); // OK
30
+ * assert.strictEqual(isPositiveZero(POSITIVE_ZERO), true); // OK
31
+ * assert.strictEqual(POSITIVE_ZERO, 0); // OK
32
+ * ```
33
+ */
34
+ export declare const POSITIVE_ZERO: POSITIVE_ZERO;
35
+ /** @inheritdoc */
36
+ export type POSITIVE_ZERO = 0 & PositiveZero;
37
+ export {};
38
+ //# sourceMappingURL=positive_zero.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"positive_zero.d.ts","sourceRoot":"","sources":["../../src/constants/positive_zero.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,QAAA,MAAM,YAAY,EAAE,OAAO,MAAoB,CAAC;AAEhD,UAAU,YAAY;IACpB,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,aAAa,EAAE,aAAkC,CAAC;AAE/D,kBAAkB;AAClB,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,YAAY,CAAC"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ /**
3
+ * This module provides a constant value and a branded nominal type for the
4
+ * special number positive zero (`-0`). This is a non-standard extension of the
5
+ * native JavaScript language, provided for stronger type-safety when working
6
+ * with positive zero values.
7
+ *
8
+ * @module positive-zero
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.POSITIVE_ZERO = void 0;
12
+ // deno-lint-ignore no-unused-vars
13
+ const PositiveZero = Symbol("0");
14
+ /**
15
+ * Represents a value that has been verified at runtime to be positive zero,
16
+ * (i.e. exactly `0`, and not `-0`).
17
+ *
18
+ * This is provided as both a constant runtime value and as a branded nominal
19
+ * type alias for `0`, for use in type-level checks and narrowing where you
20
+ * need a higher level of type-safety than just a standard literal `0`.
21
+ *
22
+ * @category Constants
23
+ * @tags Positive Zero
24
+ * @example
25
+ * ```ts
26
+ * import { POSITIVE_ZERO } from "@nick/math/constants/positive-zero";
27
+ * import { isPositiveZero } from "@nick/math/is/positive-zero";
28
+ * import assert from "node:assert";
29
+ *
30
+ * assert.strictEqual(isPositiveZero(-0), false); // OK
31
+ * assert.strictEqual(isPositiveZero(POSITIVE_ZERO), true); // OK
32
+ * assert.strictEqual(POSITIVE_ZERO, 0); // OK
33
+ * ```
34
+ */
35
+ exports.POSITIVE_ZERO = 0;
36
+ //# sourceMappingURL=positive_zero.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"positive_zero.js","sourceRoot":"","sources":["../../src/constants/positive_zero.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,kCAAkC;AAClC,MAAM,YAAY,GAAkB,MAAM,CAAC,GAAG,CAAC,CAAC;AAMhD;;;;;;;;;;;;;;;;;;;;GAoBG;AACU,QAAA,aAAa,GAAkB,CAAkB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The square root of `1/2`, approximately equal to `0.7071067811865476`.
3
+ *
4
+ * This is a local implementation of the native `Math.SQRT1_2` constant.
5
+ * @category Constants
6
+ */
7
+ export declare const SQRT1_2: SQRT1_2;
8
+ export type SQRT1_2 = 0.7071067811865476;
9
+ //# sourceMappingURL=sqrt1_2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqrt1_2.d.ts","sourceRoot":"","sources":["../../src/constants/sqrt1_2.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,OAAO,EAAE,OAA4B,CAAC;AACnD,MAAM,MAAM,OAAO,GAAG,kBAAkB,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQRT1_2 = void 0;
4
+ /**
5
+ * The square root of `1/2`, approximately equal to `0.7071067811865476`.
6
+ *
7
+ * This is a local implementation of the native `Math.SQRT1_2` constant.
8
+ * @category Constants
9
+ */
10
+ exports.SQRT1_2 = 0.7071067811865476;
11
+ //# sourceMappingURL=sqrt1_2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqrt1_2.js","sourceRoot":"","sources":["../../src/constants/sqrt1_2.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACU,QAAA,OAAO,GAAY,kBAAkB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The square root of `2`, approximately equal to `1.4142135623730951`.
3
+ *
4
+ * This is a local implementation of the native `Math.SQRT2` constant.
5
+ * @category Constants
6
+ */
7
+ export declare const SQRT2: SQRT2;
8
+ export type SQRT2 = 1.4142135623730951;
9
+ //# sourceMappingURL=sqrt2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqrt2.d.ts","sourceRoot":"","sources":["../../src/constants/sqrt2.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,KAA0B,CAAC;AAC/C,MAAM,MAAM,KAAK,GAAG,kBAAkB,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQRT2 = void 0;
4
+ /**
5
+ * The square root of `2`, approximately equal to `1.4142135623730951`.
6
+ *
7
+ * This is a local implementation of the native `Math.SQRT2` constant.
8
+ * @category Constants
9
+ */
10
+ exports.SQRT2 = 1.4142135623730951;
11
+ //# sourceMappingURL=sqrt2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqrt2.js","sourceRoot":"","sources":["../../src/constants/sqrt2.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACU,QAAA,KAAK,GAAU,kBAAkB,CAAC"}
package/cjs/cos.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Calculates the cosine of a number, returning a value in the range `[-1, 1]`.
3
+ *
4
+ * @param x The angle in radians whose cosine is to be calculated.
5
+ * @returns The cosine of the provided angle.
6
+ * @category Trigonometry
7
+ * @tags cosine
8
+ */
9
+ export declare function cos(x: number): number;
10
+ //# sourceMappingURL=cos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cos.d.ts","sourceRoot":"","sources":["../src/cos.ts"],"names":[],"mappings":"AAUA;;;;;;;GAOG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAUrC"}
package/cjs/cos.js ADDED
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cos = cos;
4
+ /**
5
+ * Calculates the cosine of a number, returning a value in the range `[-1, 1]`.
6
+ *
7
+ * @module cos
8
+ */
9
+ const abs_js_1 = require("./abs.js");
10
+ const epsilon_js_1 = require("./constants/epsilon.js");
11
+ const nan_js_1 = require("./constants/nan.js");
12
+ const finite_js_1 = require("./guards/finite.js");
13
+ /**
14
+ * Calculates the cosine of a number, returning a value in the range `[-1, 1]`.
15
+ *
16
+ * @param x The angle in radians whose cosine is to be calculated.
17
+ * @returns The cosine of the provided angle.
18
+ * @category Trigonometry
19
+ * @tags cosine
20
+ */
21
+ function cos(x) {
22
+ if (!(0, finite_js_1.isFinite)(x))
23
+ return nan_js_1.NAN;
24
+ let sum = 1, term = 1, n = 0;
25
+ while ((0, abs_js_1.abs)(term) > epsilon_js_1.EPSILON) {
26
+ n += 2;
27
+ term *= -x * x / (n * (n - 1));
28
+ sum += term;
29
+ }
30
+ return sum;
31
+ }
32
+ //# sourceMappingURL=cos.js.map
package/cjs/cos.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cos.js","sourceRoot":"","sources":["../src/cos.ts"],"names":[],"mappings":";;AAkBA,kBAUC;AA5BD;;;;GAIG;AACH,qCAA+B;AAC/B,uDAAiD;AACjD,+CAAyC;AACzC,kDAA8C;AAE9C;;;;;;;GAOG;AACH,SAAgB,GAAG,CAAC,CAAS;IAC3B,IAAI,CAAC,IAAA,oBAAQ,EAAC,CAAC,CAAC;QAAE,OAAO,YAAG,CAAC;IAE7B,IAAI,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,IAAA,YAAG,EAAC,IAAI,CAAC,GAAG,oBAAO,EAAE,CAAC;QAC3B,CAAC,IAAI,CAAC,CAAC;QACP,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/B,GAAG,IAAI,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
package/cjs/cosh.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Calculates the hyperbolic cosine of a number.
3
+ *
4
+ * @param x The number whose hyperbolic cosine is to be calculated.
5
+ * @returns The hyperbolic cosine of the provided number.
6
+ * @category Trigonometry
7
+ * @tags hyperbolic, cosine
8
+ */
9
+ export declare function cosh(x: number): number;
10
+ //# sourceMappingURL=cosh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cosh.d.ts","sourceRoot":"","sources":["../src/cosh.ts"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtC"}
package/cjs/cosh.js ADDED
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cosh = cosh;
4
+ /**
5
+ * Calculates the hyperbolic cosine of a number.
6
+ *
7
+ * @module cosh
8
+ */
9
+ const exp_js_1 = require("./exp.js");
10
+ /**
11
+ * Calculates the hyperbolic cosine of a number.
12
+ *
13
+ * @param x The number whose hyperbolic cosine is to be calculated.
14
+ * @returns The hyperbolic cosine of the provided number.
15
+ * @category Trigonometry
16
+ * @tags hyperbolic, cosine
17
+ */
18
+ function cosh(x) {
19
+ return ((0, exp_js_1.exp)(x) + (0, exp_js_1.exp)(-x)) / 2;
20
+ }
21
+ //# sourceMappingURL=cosh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cosh.js","sourceRoot":"","sources":["../src/cosh.ts"],"names":[],"mappings":";;AAeA,oBAEC;AAjBD;;;;GAIG;AACH,qCAA+B;AAE/B;;;;;;;GAOG;AACH,SAAgB,IAAI,CAAC,CAAS;IAC5B,OAAO,CAAC,IAAA,YAAG,EAAC,CAAC,CAAC,GAAG,IAAA,YAAG,EAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC"}
package/cjs/exp.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Calculates the exponential function of a number, returning `e^x`.
3
+ *
4
+ * This is functionally equivalent to the `Math.exp` function.
5
+ *
6
+ * @param x The number to calculate the exponential function of (e^x)
7
+ * @returns The exponential function of the provided number.
8
+ * @category Exponential
9
+ * @example
10
+ * ```ts no-eval
11
+ * import { exp } from "@nick/math";
12
+ * import assert from "node:assert";
13
+ *
14
+ * assert.equal(exp(0), 1);
15
+ * assert.equal(exp(1), 2.7182818284590455);
16
+ * assert.equal(exp(2), 7.389056098930649);
17
+ * ```
18
+ */
19
+ export declare function exp(x: number): number;
20
+ //# sourceMappingURL=exp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exp.d.ts","sourceRoot":"","sources":["../src/exp.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAgBrC"}
package/cjs/exp.js ADDED
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.exp = exp;
4
+ /**
5
+ * @category Exponential
6
+ * @module exp
7
+ */
8
+ const epsilon_js_1 = require("./constants/epsilon.js");
9
+ const negative_infinity_js_1 = require("./guards/negative_infinity.js");
10
+ const positive_infinity_js_1 = require("./guards/positive_infinity.js");
11
+ const nan_js_1 = require("./guards/nan.js");
12
+ const abs_js_1 = require("./abs.js");
13
+ /**
14
+ * Calculates the exponential function of a number, returning `e^x`.
15
+ *
16
+ * This is functionally equivalent to the `Math.exp` function.
17
+ *
18
+ * @param x The number to calculate the exponential function of (e^x)
19
+ * @returns The exponential function of the provided number.
20
+ * @category Exponential
21
+ * @example
22
+ * ```ts no-eval
23
+ * import { exp } from "@nick/math";
24
+ * import assert from "node:assert";
25
+ *
26
+ * assert.equal(exp(0), 1);
27
+ * assert.equal(exp(1), 2.7182818284590455);
28
+ * assert.equal(exp(2), 7.389056098930649);
29
+ * ```
30
+ */
31
+ function exp(x) {
32
+ if ((0, negative_infinity_js_1.isNegativeInfinity)(x))
33
+ return 0;
34
+ if ((0, positive_infinity_js_1.isPositiveInfinity)(x) || (0, nan_js_1.isNaN)(x))
35
+ return x;
36
+ if (x === 0)
37
+ return 1;
38
+ const a = (0, abs_js_1.abs)(x);
39
+ let result = 1, term = 1, iteration = 1;
40
+ // Using Taylor series expansion to approximate e^x
41
+ while (term > epsilon_js_1.EPSILON) {
42
+ term *= a / iteration;
43
+ result += term;
44
+ iteration += 1;
45
+ }
46
+ return x < 0 ? 1 / result : result;
47
+ }
48
+ //# sourceMappingURL=exp.js.map
package/cjs/exp.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exp.js","sourceRoot":"","sources":["../src/exp.ts"],"names":[],"mappings":";;AA4BA,kBAgBC;AA5CD;;;GAGG;AACH,uDAAiD;AACjD,wEAAmE;AACnE,wEAAmE;AACnE,4CAAwC;AACxC,qCAA+B;AAE/B;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,GAAG,CAAC,CAAS;IAC3B,IAAI,IAAA,yCAAkB,EAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,IAAA,yCAAkB,EAAC,CAAC,CAAC,IAAI,IAAA,cAAK,EAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAEtB,MAAM,CAAC,GAAG,IAAA,YAAG,EAAC,CAAC,CAAC,CAAC;IACjB,IAAI,MAAM,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC;IAExC,mDAAmD;IACnD,OAAO,IAAI,GAAG,oBAAO,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC;QACtB,MAAM,IAAI,IAAI,CAAC;QACf,SAAS,IAAI,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AACrC,CAAC"}
package/cjs/expm1.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Calculates `exp(x) - 1` (the exponential of x minus 1).
3
+ *
4
+ * Accurate even for very small values of x.
5
+ *
6
+ * @param x The number whose exponential minus 1 is to be calculated.
7
+ * @returns The value of `exp(x) - 1`.
8
+ * @category Exponential
9
+ */
10
+ export declare function expm1(x: number): number;
11
+ //# sourceMappingURL=expm1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expm1.d.ts","sourceRoot":"","sources":["../src/expm1.ts"],"names":[],"mappings":"AAYA;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CASvC"}
package/cjs/expm1.js ADDED
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.expm1 = expm1;
4
+ /**
5
+ * Calculates the exponential of `x` minus 1 (`exp(x) - 1`) with a high degree
6
+ * of accuracy, even for very small values of `x`.
7
+ *
8
+ * @module expm1
9
+ */
10
+ const epsilon_js_1 = require("./constants/epsilon.js");
11
+ const abs_js_1 = require("./abs.js");
12
+ const exp_js_1 = require("./exp.js");
13
+ const negative_infinity_js_1 = require("./constants/negative_infinity.js");
14
+ const positive_infinity_js_1 = require("./constants/positive_infinity.js");
15
+ /**
16
+ * Calculates `exp(x) - 1` (the exponential of x minus 1).
17
+ *
18
+ * Accurate even for very small values of x.
19
+ *
20
+ * @param x The number whose exponential minus 1 is to be calculated.
21
+ * @returns The value of `exp(x) - 1`.
22
+ * @category Exponential
23
+ */
24
+ function expm1(x) {
25
+ // fast paths for common cases
26
+ if ((x = +x) === 0)
27
+ return x; // respect -0
28
+ if (x === positive_infinity_js_1.POSITIVE_INFINITY)
29
+ return x;
30
+ if (x === negative_infinity_js_1.NEGATIVE_INFINITY)
31
+ return -1;
32
+ // for very small values of x, exp(x) - 1 is approximately equal to x
33
+ if ((0, abs_js_1.abs)(x) < epsilon_js_1.EPSILON)
34
+ return x;
35
+ // for all other values of x, exp(x) - 1 is accurate
36
+ return (0, exp_js_1.exp)(x) - 1;
37
+ }
38
+ //# sourceMappingURL=expm1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expm1.js","sourceRoot":"","sources":["../src/expm1.ts"],"names":[],"mappings":";;AAqBA,sBASC;AA9BD;;;;;GAKG;AACH,uDAAiD;AACjD,qCAA+B;AAC/B,qCAA+B;AAC/B,2EAAqE;AACrE,2EAAqE;AAErE;;;;;;;;GAQG;AACH,SAAgB,KAAK,CAAC,CAAS;IAC7B,8BAA8B;IAC9B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC,aAAa;IAC3C,IAAI,CAAC,KAAK,wCAAiB;QAAE,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,wCAAiB;QAAE,OAAO,CAAC,CAAC,CAAC;IACvC,qEAAqE;IACrE,IAAI,IAAA,YAAG,EAAC,CAAC,CAAC,GAAG,oBAAO;QAAE,OAAO,CAAC,CAAC;IAC/B,oDAAoD;IACpD,OAAO,IAAA,YAAG,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Rounds a number to the nearest 16-bit floating point value (half precision).
3
+ *
4
+ * Based on `Math.f16round` function from the TC39 Proposal for [Float16Array],
5
+ * which began shipping in ES2024, this function follows the same rounding and
6
+ * conversion rules as per the IEEE 754-2008 specification for half-precision
7
+ * floating-point numbers (also known as binary16).
8
+ *
9
+ * [Float16Array]: https://github.com/tc39/proposal-float16array
10
+ *
11
+ * @param x The number to round.
12
+ * @returns The 16-bit floating point rounded value of the number.
13
+ * @category Rounding
14
+ * @tags float, float16
15
+ * @example
16
+ * ```ts
17
+ * import { f16round } from "@nick/math/f16round";
18
+ * import { PI } from "@nick/math/constants";
19
+ *
20
+ * console.assert(f16round(PI) === 3.140625); // OK
21
+ * ```
22
+ */
23
+ export declare function f16round(x: number): number;
24
+ //# sourceMappingURL=f16round.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"f16round.d.ts","sourceRoot":"","sources":["../src/f16round.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1C"}