@nberlette/math 0.7.0 → 0.7.1

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 (691) hide show
  1. package/cjs/abs.d.ts +7 -0
  2. package/cjs/abs.d.ts.map +1 -1
  3. package/cjs/abs.js +7 -0
  4. package/cjs/abs.js.map +1 -1
  5. package/cjs/acos.d.ts +7 -0
  6. package/cjs/acos.d.ts.map +1 -1
  7. package/cjs/acos.js +7 -0
  8. package/cjs/acos.js.map +1 -1
  9. package/cjs/acosh.d.ts.map +1 -1
  10. package/cjs/acosh.js +7 -0
  11. package/cjs/acosh.js.map +1 -1
  12. package/cjs/asin.d.ts.map +1 -1
  13. package/cjs/asin.js +7 -0
  14. package/cjs/asin.js.map +1 -1
  15. package/cjs/asinh.d.ts.map +1 -1
  16. package/cjs/asinh.js +7 -0
  17. package/cjs/asinh.js.map +1 -1
  18. package/cjs/atan.d.ts.map +1 -1
  19. package/cjs/atan.js +7 -0
  20. package/cjs/atan.js.map +1 -1
  21. package/cjs/atan2.d.ts.map +1 -1
  22. package/cjs/atan2.js +7 -0
  23. package/cjs/atan2.js.map +1 -1
  24. package/cjs/atanh.d.ts.map +1 -1
  25. package/cjs/atanh.js +7 -0
  26. package/cjs/atanh.js.map +1 -1
  27. package/cjs/cbrt.d.ts.map +1 -1
  28. package/cjs/cbrt.js +7 -0
  29. package/cjs/cbrt.js.map +1 -1
  30. package/cjs/ceil.d.ts +7 -0
  31. package/cjs/ceil.d.ts.map +1 -1
  32. package/cjs/ceil.js +7 -0
  33. package/cjs/ceil.js.map +1 -1
  34. package/cjs/clamp.d.ts.map +1 -1
  35. package/cjs/clamp.js +7 -0
  36. package/cjs/clamp.js.map +1 -1
  37. package/cjs/clz32.d.ts +7 -0
  38. package/cjs/clz32.d.ts.map +1 -1
  39. package/cjs/clz32.js +7 -0
  40. package/cjs/clz32.js.map +1 -1
  41. package/cjs/constants/e.d.ts +7 -0
  42. package/cjs/constants/e.d.ts.map +1 -1
  43. package/cjs/constants/e.js +7 -0
  44. package/cjs/constants/e.js.map +1 -1
  45. package/cjs/constants/epsilon.d.ts +7 -0
  46. package/cjs/constants/epsilon.d.ts.map +1 -1
  47. package/cjs/constants/epsilon.js +7 -0
  48. package/cjs/constants/epsilon.js.map +1 -1
  49. package/cjs/constants/index.d.ts +9 -0
  50. package/cjs/constants/index.d.ts.map +1 -1
  51. package/cjs/constants/index.js +9 -0
  52. package/cjs/constants/index.js.map +1 -1
  53. package/cjs/constants/infinity.d.ts +15 -0
  54. package/cjs/constants/infinity.d.ts.map +1 -1
  55. package/cjs/constants/infinity.js +15 -0
  56. package/cjs/constants/infinity.js.map +1 -1
  57. package/cjs/constants/ln10.d.ts +47 -3
  58. package/cjs/constants/ln10.d.ts.map +1 -1
  59. package/cjs/constants/ln10.js +33 -3
  60. package/cjs/constants/ln10.js.map +1 -1
  61. package/cjs/constants/ln2.d.ts +14 -0
  62. package/cjs/constants/ln2.d.ts.map +1 -1
  63. package/cjs/constants/ln2.js +14 -0
  64. package/cjs/constants/ln2.js.map +1 -1
  65. package/cjs/constants/log10e.d.ts +14 -0
  66. package/cjs/constants/log10e.d.ts.map +1 -1
  67. package/cjs/constants/log10e.js +14 -0
  68. package/cjs/constants/log10e.js.map +1 -1
  69. package/cjs/constants/log2e.d.ts +14 -0
  70. package/cjs/constants/log2e.d.ts.map +1 -1
  71. package/cjs/constants/log2e.js +14 -0
  72. package/cjs/constants/log2e.js.map +1 -1
  73. package/cjs/constants/max_safe_integer.d.ts +14 -0
  74. package/cjs/constants/max_safe_integer.d.ts.map +1 -1
  75. package/cjs/constants/max_safe_integer.js +14 -0
  76. package/cjs/constants/max_safe_integer.js.map +1 -1
  77. package/cjs/constants/max_value.d.ts +14 -0
  78. package/cjs/constants/max_value.d.ts.map +1 -1
  79. package/cjs/constants/max_value.js +14 -0
  80. package/cjs/constants/max_value.js.map +1 -1
  81. package/cjs/constants/min_safe_integer.d.ts +14 -0
  82. package/cjs/constants/min_safe_integer.d.ts.map +1 -1
  83. package/cjs/constants/min_safe_integer.js +14 -0
  84. package/cjs/constants/min_safe_integer.js.map +1 -1
  85. package/cjs/constants/min_value.d.ts +14 -0
  86. package/cjs/constants/min_value.d.ts.map +1 -1
  87. package/cjs/constants/min_value.js +14 -0
  88. package/cjs/constants/min_value.js.map +1 -1
  89. package/cjs/constants/nan.d.ts +7 -0
  90. package/cjs/constants/nan.d.ts.map +1 -1
  91. package/cjs/constants/nan.js +7 -0
  92. package/cjs/constants/nan.js.map +1 -1
  93. package/cjs/constants/negative_infinity.d.ts +14 -0
  94. package/cjs/constants/negative_infinity.d.ts.map +1 -1
  95. package/cjs/constants/negative_infinity.js +14 -0
  96. package/cjs/constants/negative_infinity.js.map +1 -1
  97. package/cjs/constants/pi.d.ts +14 -0
  98. package/cjs/constants/pi.d.ts.map +1 -1
  99. package/cjs/constants/pi.js +14 -0
  100. package/cjs/constants/pi.js.map +1 -1
  101. package/cjs/constants/positive_infinity.d.ts +14 -0
  102. package/cjs/constants/positive_infinity.d.ts.map +1 -1
  103. package/cjs/constants/positive_infinity.js +14 -0
  104. package/cjs/constants/positive_infinity.js.map +1 -1
  105. package/cjs/constants/positive_zero.d.ts +7 -0
  106. package/cjs/constants/positive_zero.d.ts.map +1 -1
  107. package/cjs/constants/positive_zero.js +7 -0
  108. package/cjs/constants/positive_zero.js.map +1 -1
  109. package/cjs/constants/sqrt1_2.d.ts +14 -0
  110. package/cjs/constants/sqrt1_2.d.ts.map +1 -1
  111. package/cjs/constants/sqrt1_2.js +14 -0
  112. package/cjs/constants/sqrt1_2.js.map +1 -1
  113. package/cjs/constants/sqrt2.d.ts +14 -0
  114. package/cjs/constants/sqrt2.d.ts.map +1 -1
  115. package/cjs/constants/sqrt2.js +14 -0
  116. package/cjs/constants/sqrt2.js.map +1 -1
  117. package/cjs/cos.d.ts.map +1 -1
  118. package/cjs/cos.js +7 -0
  119. package/cjs/cos.js.map +1 -1
  120. package/cjs/cosh.d.ts.map +1 -1
  121. package/cjs/cosh.js +7 -0
  122. package/cjs/cosh.js.map +1 -1
  123. package/cjs/exp.d.ts.map +1 -1
  124. package/cjs/exp.js +10 -0
  125. package/cjs/exp.js.map +1 -1
  126. package/cjs/expm1.d.ts.map +1 -1
  127. package/cjs/expm1.js +7 -0
  128. package/cjs/expm1.js.map +1 -1
  129. package/cjs/f16round.d.ts.map +1 -1
  130. package/cjs/f16round.js +7 -0
  131. package/cjs/f16round.js.map +1 -1
  132. package/cjs/float16/constants.d.ts +7 -0
  133. package/cjs/float16/constants.d.ts.map +1 -1
  134. package/cjs/float16/constants.js +7 -0
  135. package/cjs/float16/constants.js.map +1 -1
  136. package/cjs/float16/decode.d.ts.map +1 -1
  137. package/cjs/float16/decode.js +7 -0
  138. package/cjs/float16/decode.js.map +1 -1
  139. package/cjs/float16/encode.d.ts +7 -0
  140. package/cjs/float16/encode.d.ts.map +1 -1
  141. package/cjs/float16/encode.js +7 -0
  142. package/cjs/float16/encode.js.map +1 -1
  143. package/cjs/float16/guards.d.ts.map +1 -1
  144. package/cjs/float16/guards.js +8 -0
  145. package/cjs/float16/guards.js.map +1 -1
  146. package/cjs/float16/index.d.ts +9 -0
  147. package/cjs/float16/index.d.ts.map +1 -1
  148. package/cjs/float16/index.js +9 -0
  149. package/cjs/float16/index.js.map +1 -1
  150. package/cjs/float16/round.d.ts.map +1 -1
  151. package/cjs/float16/round.js +7 -0
  152. package/cjs/float16/round.js.map +1 -1
  153. package/cjs/float32/constants.d.ts +7 -0
  154. package/cjs/float32/constants.d.ts.map +1 -1
  155. package/cjs/float32/constants.js +7 -0
  156. package/cjs/float32/constants.js.map +1 -1
  157. package/cjs/float32/decode.d.ts.map +1 -1
  158. package/cjs/float32/decode.js +7 -0
  159. package/cjs/float32/decode.js.map +1 -1
  160. package/cjs/float32/encode.d.ts.map +1 -1
  161. package/cjs/float32/encode.js +7 -0
  162. package/cjs/float32/encode.js.map +1 -1
  163. package/cjs/float32/guards.d.ts.map +1 -1
  164. package/cjs/float32/guards.js +9 -0
  165. package/cjs/float32/guards.js.map +1 -1
  166. package/cjs/float32/index.d.ts +9 -0
  167. package/cjs/float32/index.d.ts.map +1 -1
  168. package/cjs/float32/index.js +9 -0
  169. package/cjs/float32/index.js.map +1 -1
  170. package/cjs/float32/round.d.ts.map +1 -1
  171. package/cjs/float32/round.js +7 -0
  172. package/cjs/float32/round.js.map +1 -1
  173. package/cjs/floor.d.ts.map +1 -1
  174. package/cjs/floor.js +7 -0
  175. package/cjs/floor.js.map +1 -1
  176. package/cjs/fround.d.ts.map +1 -1
  177. package/cjs/fround.js +7 -0
  178. package/cjs/fround.js.map +1 -1
  179. package/cjs/guards/finite.d.ts.map +1 -1
  180. package/cjs/guards/finite.js +8 -0
  181. package/cjs/guards/finite.js.map +1 -1
  182. package/cjs/guards/index.d.ts +10 -0
  183. package/cjs/guards/index.d.ts.map +1 -1
  184. package/cjs/guards/index.js +10 -0
  185. package/cjs/guards/index.js.map +1 -1
  186. package/cjs/guards/infinity.d.ts +15 -0
  187. package/cjs/guards/infinity.d.ts.map +1 -1
  188. package/cjs/guards/infinity.js +15 -0
  189. package/cjs/guards/infinity.js.map +1 -1
  190. package/cjs/guards/integer.d.ts +8 -0
  191. package/cjs/guards/integer.d.ts.map +1 -1
  192. package/cjs/guards/integer.js.map +1 -1
  193. package/cjs/guards/negative_infinity.d.ts +7 -0
  194. package/cjs/guards/negative_infinity.d.ts.map +1 -1
  195. package/cjs/guards/negative_infinity.js +7 -0
  196. package/cjs/guards/negative_infinity.js.map +1 -1
  197. package/cjs/guards/negative_zero.d.ts.map +1 -1
  198. package/cjs/guards/negative_zero.js +7 -0
  199. package/cjs/guards/negative_zero.js.map +1 -1
  200. package/cjs/guards/positive_infinity.d.ts +7 -0
  201. package/cjs/guards/positive_infinity.d.ts.map +1 -1
  202. package/cjs/guards/positive_infinity.js +7 -0
  203. package/cjs/guards/positive_infinity.js.map +1 -1
  204. package/cjs/guards/positive_zero.d.ts +8 -0
  205. package/cjs/guards/positive_zero.d.ts.map +1 -1
  206. package/cjs/guards/positive_zero.js +8 -0
  207. package/cjs/guards/positive_zero.js.map +1 -1
  208. package/cjs/guards/safe_integer.d.ts.map +1 -1
  209. package/cjs/guards/safe_integer.js +8 -0
  210. package/cjs/guards/safe_integer.js.map +1 -1
  211. package/cjs/hypot.d.ts.map +1 -1
  212. package/cjs/hypot.js +7 -0
  213. package/cjs/hypot.js.map +1 -1
  214. package/cjs/ieee754.d.ts +9 -0
  215. package/cjs/ieee754.d.ts.map +1 -1
  216. package/cjs/ieee754.js +9 -0
  217. package/cjs/ieee754.js.map +1 -1
  218. package/cjs/imul.d.ts +7 -0
  219. package/cjs/imul.d.ts.map +1 -1
  220. package/cjs/imul.js +7 -0
  221. package/cjs/imul.js.map +1 -1
  222. package/cjs/index.d.ts +1 -0
  223. package/cjs/index.d.ts.map +1 -1
  224. package/cjs/index.js +1 -0
  225. package/cjs/index.js.map +1 -1
  226. package/cjs/log.d.ts.map +1 -1
  227. package/cjs/log.js +7 -0
  228. package/cjs/log.js.map +1 -1
  229. package/cjs/log10.d.ts.map +1 -1
  230. package/cjs/log10.js +7 -0
  231. package/cjs/log10.js.map +1 -1
  232. package/cjs/log1p.d.ts.map +1 -1
  233. package/cjs/log1p.js +7 -0
  234. package/cjs/log1p.js.map +1 -1
  235. package/cjs/log2.d.ts.map +1 -1
  236. package/cjs/log2.js +7 -0
  237. package/cjs/log2.js.map +1 -1
  238. package/cjs/max.d.ts.map +1 -1
  239. package/cjs/max.js +4 -5
  240. package/cjs/max.js.map +1 -1
  241. package/cjs/min.d.ts.map +1 -1
  242. package/cjs/min.js +7 -0
  243. package/cjs/min.js.map +1 -1
  244. package/cjs/pow.d.ts +7 -0
  245. package/cjs/pow.d.ts.map +1 -1
  246. package/cjs/pow.js +7 -0
  247. package/cjs/pow.js.map +1 -1
  248. package/cjs/random.d.ts +19 -1
  249. package/cjs/random.d.ts.map +1 -1
  250. package/cjs/random.js +8 -12
  251. package/cjs/random.js.map +1 -1
  252. package/cjs/round.d.ts.map +1 -1
  253. package/cjs/round.js +7 -0
  254. package/cjs/round.js.map +1 -1
  255. package/cjs/sign.d.ts +7 -0
  256. package/cjs/sign.d.ts.map +1 -1
  257. package/cjs/sign.js +7 -0
  258. package/cjs/sign.js.map +1 -1
  259. package/cjs/sin.d.ts +7 -0
  260. package/cjs/sin.d.ts.map +1 -1
  261. package/cjs/sin.js +7 -0
  262. package/cjs/sin.js.map +1 -1
  263. package/cjs/sinh.d.ts +7 -0
  264. package/cjs/sinh.d.ts.map +1 -1
  265. package/cjs/sinh.js +7 -0
  266. package/cjs/sinh.js.map +1 -1
  267. package/cjs/sqrt.d.ts +1 -0
  268. package/cjs/sqrt.d.ts.map +1 -1
  269. package/cjs/sqrt.js +8 -0
  270. package/cjs/sqrt.js.map +1 -1
  271. package/cjs/tan.d.ts.map +1 -1
  272. package/cjs/tan.js +7 -0
  273. package/cjs/tan.js.map +1 -1
  274. package/cjs/tanh.d.ts +7 -0
  275. package/cjs/tanh.d.ts.map +1 -1
  276. package/cjs/tanh.js +7 -0
  277. package/cjs/tanh.js.map +1 -1
  278. package/cjs/trunc.d.ts.map +1 -1
  279. package/cjs/trunc.js +4 -6
  280. package/cjs/trunc.js.map +1 -1
  281. package/cjs/types/finite.d.ts +15 -0
  282. package/cjs/types/finite.d.ts.map +1 -1
  283. package/cjs/types/finite.js +15 -0
  284. package/cjs/types/finite.js.map +1 -1
  285. package/cjs/types/float.d.ts +8 -0
  286. package/cjs/types/float.d.ts.map +1 -1
  287. package/cjs/types/float.js.map +1 -1
  288. package/cjs/types/index.d.ts +7 -0
  289. package/cjs/types/index.d.ts.map +1 -1
  290. package/cjs/types/index.js +7 -0
  291. package/cjs/types/index.js.map +1 -1
  292. package/cjs/types/integer.d.ts +8 -0
  293. package/cjs/types/integer.d.ts.map +1 -1
  294. package/cjs/types/integer.js.map +1 -1
  295. package/cjs/types/precision.d.ts +8 -0
  296. package/cjs/types/precision.d.ts.map +1 -1
  297. package/cjs/types/precision.js +8 -0
  298. package/cjs/types/precision.js.map +1 -1
  299. package/cjs/types/safe_integer.d.ts +18 -0
  300. package/cjs/types/safe_integer.d.ts.map +1 -1
  301. package/cjs/types/safe_integer.js +18 -0
  302. package/cjs/types/safe_integer.js.map +1 -1
  303. package/esm/abs.d.ts +7 -0
  304. package/esm/abs.d.ts.map +1 -1
  305. package/esm/abs.js +7 -0
  306. package/esm/abs.js.map +1 -1
  307. package/esm/acos.d.ts +7 -0
  308. package/esm/acos.d.ts.map +1 -1
  309. package/esm/acos.js +7 -0
  310. package/esm/acos.js.map +1 -1
  311. package/esm/acosh.d.ts.map +1 -1
  312. package/esm/acosh.js +7 -0
  313. package/esm/acosh.js.map +1 -1
  314. package/esm/asin.d.ts.map +1 -1
  315. package/esm/asin.js +7 -0
  316. package/esm/asin.js.map +1 -1
  317. package/esm/asinh.d.ts.map +1 -1
  318. package/esm/asinh.js +7 -0
  319. package/esm/asinh.js.map +1 -1
  320. package/esm/atan.d.ts.map +1 -1
  321. package/esm/atan.js +7 -0
  322. package/esm/atan.js.map +1 -1
  323. package/esm/atan2.d.ts.map +1 -1
  324. package/esm/atan2.js +7 -0
  325. package/esm/atan2.js.map +1 -1
  326. package/esm/atanh.d.ts.map +1 -1
  327. package/esm/atanh.js +7 -0
  328. package/esm/atanh.js.map +1 -1
  329. package/esm/cbrt.d.ts.map +1 -1
  330. package/esm/cbrt.js +7 -0
  331. package/esm/cbrt.js.map +1 -1
  332. package/esm/ceil.d.ts +7 -0
  333. package/esm/ceil.d.ts.map +1 -1
  334. package/esm/ceil.js +7 -0
  335. package/esm/ceil.js.map +1 -1
  336. package/esm/clamp.d.ts.map +1 -1
  337. package/esm/clamp.js +7 -0
  338. package/esm/clamp.js.map +1 -1
  339. package/esm/clz32.d.ts +7 -0
  340. package/esm/clz32.d.ts.map +1 -1
  341. package/esm/clz32.js +7 -0
  342. package/esm/clz32.js.map +1 -1
  343. package/esm/constants/e.d.ts +7 -0
  344. package/esm/constants/e.d.ts.map +1 -1
  345. package/esm/constants/e.js +7 -0
  346. package/esm/constants/e.js.map +1 -1
  347. package/esm/constants/epsilon.d.ts +7 -0
  348. package/esm/constants/epsilon.d.ts.map +1 -1
  349. package/esm/constants/epsilon.js +7 -0
  350. package/esm/constants/epsilon.js.map +1 -1
  351. package/esm/constants/index.d.ts +9 -0
  352. package/esm/constants/index.d.ts.map +1 -1
  353. package/esm/constants/index.js +9 -0
  354. package/esm/constants/index.js.map +1 -1
  355. package/esm/constants/infinity.d.ts +15 -0
  356. package/esm/constants/infinity.d.ts.map +1 -1
  357. package/esm/constants/infinity.js +15 -0
  358. package/esm/constants/infinity.js.map +1 -1
  359. package/esm/constants/ln10.d.ts +47 -3
  360. package/esm/constants/ln10.d.ts.map +1 -1
  361. package/esm/constants/ln10.js +33 -3
  362. package/esm/constants/ln10.js.map +1 -1
  363. package/esm/constants/ln2.d.ts +14 -0
  364. package/esm/constants/ln2.d.ts.map +1 -1
  365. package/esm/constants/ln2.js +14 -0
  366. package/esm/constants/ln2.js.map +1 -1
  367. package/esm/constants/log10e.d.ts +14 -0
  368. package/esm/constants/log10e.d.ts.map +1 -1
  369. package/esm/constants/log10e.js +14 -0
  370. package/esm/constants/log10e.js.map +1 -1
  371. package/esm/constants/log2e.d.ts +14 -0
  372. package/esm/constants/log2e.d.ts.map +1 -1
  373. package/esm/constants/log2e.js +14 -0
  374. package/esm/constants/log2e.js.map +1 -1
  375. package/esm/constants/max_safe_integer.d.ts +14 -0
  376. package/esm/constants/max_safe_integer.d.ts.map +1 -1
  377. package/esm/constants/max_safe_integer.js +14 -0
  378. package/esm/constants/max_safe_integer.js.map +1 -1
  379. package/esm/constants/max_value.d.ts +14 -0
  380. package/esm/constants/max_value.d.ts.map +1 -1
  381. package/esm/constants/max_value.js +14 -0
  382. package/esm/constants/max_value.js.map +1 -1
  383. package/esm/constants/min_safe_integer.d.ts +14 -0
  384. package/esm/constants/min_safe_integer.d.ts.map +1 -1
  385. package/esm/constants/min_safe_integer.js +14 -0
  386. package/esm/constants/min_safe_integer.js.map +1 -1
  387. package/esm/constants/min_value.d.ts +14 -0
  388. package/esm/constants/min_value.d.ts.map +1 -1
  389. package/esm/constants/min_value.js +14 -0
  390. package/esm/constants/min_value.js.map +1 -1
  391. package/esm/constants/nan.d.ts +7 -0
  392. package/esm/constants/nan.d.ts.map +1 -1
  393. package/esm/constants/nan.js +7 -0
  394. package/esm/constants/nan.js.map +1 -1
  395. package/esm/constants/negative_infinity.d.ts +14 -0
  396. package/esm/constants/negative_infinity.d.ts.map +1 -1
  397. package/esm/constants/negative_infinity.js +14 -0
  398. package/esm/constants/negative_infinity.js.map +1 -1
  399. package/esm/constants/pi.d.ts +14 -0
  400. package/esm/constants/pi.d.ts.map +1 -1
  401. package/esm/constants/pi.js +14 -0
  402. package/esm/constants/pi.js.map +1 -1
  403. package/esm/constants/positive_infinity.d.ts +14 -0
  404. package/esm/constants/positive_infinity.d.ts.map +1 -1
  405. package/esm/constants/positive_infinity.js +14 -0
  406. package/esm/constants/positive_infinity.js.map +1 -1
  407. package/esm/constants/positive_zero.d.ts +7 -0
  408. package/esm/constants/positive_zero.d.ts.map +1 -1
  409. package/esm/constants/positive_zero.js +7 -0
  410. package/esm/constants/positive_zero.js.map +1 -1
  411. package/esm/constants/sqrt1_2.d.ts +14 -0
  412. package/esm/constants/sqrt1_2.d.ts.map +1 -1
  413. package/esm/constants/sqrt1_2.js +14 -0
  414. package/esm/constants/sqrt1_2.js.map +1 -1
  415. package/esm/constants/sqrt2.d.ts +14 -0
  416. package/esm/constants/sqrt2.d.ts.map +1 -1
  417. package/esm/constants/sqrt2.js +14 -0
  418. package/esm/constants/sqrt2.js.map +1 -1
  419. package/esm/cos.d.ts.map +1 -1
  420. package/esm/cos.js +7 -0
  421. package/esm/cos.js.map +1 -1
  422. package/esm/cosh.d.ts.map +1 -1
  423. package/esm/cosh.js +7 -0
  424. package/esm/cosh.js.map +1 -1
  425. package/esm/exp.d.ts.map +1 -1
  426. package/esm/exp.js +10 -0
  427. package/esm/exp.js.map +1 -1
  428. package/esm/expm1.d.ts.map +1 -1
  429. package/esm/expm1.js +7 -0
  430. package/esm/expm1.js.map +1 -1
  431. package/esm/f16round.d.ts.map +1 -1
  432. package/esm/f16round.js +7 -0
  433. package/esm/f16round.js.map +1 -1
  434. package/esm/float16/constants.d.ts +7 -0
  435. package/esm/float16/constants.d.ts.map +1 -1
  436. package/esm/float16/constants.js +7 -0
  437. package/esm/float16/constants.js.map +1 -1
  438. package/esm/float16/decode.d.ts.map +1 -1
  439. package/esm/float16/decode.js +7 -0
  440. package/esm/float16/decode.js.map +1 -1
  441. package/esm/float16/encode.d.ts +7 -0
  442. package/esm/float16/encode.d.ts.map +1 -1
  443. package/esm/float16/encode.js +7 -0
  444. package/esm/float16/encode.js.map +1 -1
  445. package/esm/float16/guards.d.ts.map +1 -1
  446. package/esm/float16/guards.js +8 -0
  447. package/esm/float16/guards.js.map +1 -1
  448. package/esm/float16/index.d.ts +9 -0
  449. package/esm/float16/index.d.ts.map +1 -1
  450. package/esm/float16/index.js +9 -0
  451. package/esm/float16/index.js.map +1 -1
  452. package/esm/float16/round.d.ts.map +1 -1
  453. package/esm/float16/round.js +7 -0
  454. package/esm/float16/round.js.map +1 -1
  455. package/esm/float32/constants.d.ts +7 -0
  456. package/esm/float32/constants.d.ts.map +1 -1
  457. package/esm/float32/constants.js +7 -0
  458. package/esm/float32/constants.js.map +1 -1
  459. package/esm/float32/decode.d.ts.map +1 -1
  460. package/esm/float32/decode.js +7 -0
  461. package/esm/float32/decode.js.map +1 -1
  462. package/esm/float32/encode.d.ts.map +1 -1
  463. package/esm/float32/encode.js +7 -0
  464. package/esm/float32/encode.js.map +1 -1
  465. package/esm/float32/guards.d.ts.map +1 -1
  466. package/esm/float32/guards.js +9 -0
  467. package/esm/float32/guards.js.map +1 -1
  468. package/esm/float32/index.d.ts +9 -0
  469. package/esm/float32/index.d.ts.map +1 -1
  470. package/esm/float32/index.js +9 -0
  471. package/esm/float32/index.js.map +1 -1
  472. package/esm/float32/round.d.ts.map +1 -1
  473. package/esm/float32/round.js +7 -0
  474. package/esm/float32/round.js.map +1 -1
  475. package/esm/floor.d.ts.map +1 -1
  476. package/esm/floor.js +7 -0
  477. package/esm/floor.js.map +1 -1
  478. package/esm/fround.d.ts.map +1 -1
  479. package/esm/fround.js +7 -0
  480. package/esm/fround.js.map +1 -1
  481. package/esm/guards/finite.d.ts.map +1 -1
  482. package/esm/guards/finite.js +8 -0
  483. package/esm/guards/finite.js.map +1 -1
  484. package/esm/guards/index.d.ts +10 -0
  485. package/esm/guards/index.d.ts.map +1 -1
  486. package/esm/guards/index.js +10 -0
  487. package/esm/guards/index.js.map +1 -1
  488. package/esm/guards/infinity.d.ts +15 -0
  489. package/esm/guards/infinity.d.ts.map +1 -1
  490. package/esm/guards/infinity.js +15 -0
  491. package/esm/guards/infinity.js.map +1 -1
  492. package/esm/guards/integer.d.ts +8 -0
  493. package/esm/guards/integer.d.ts.map +1 -1
  494. package/esm/guards/integer.js.map +1 -1
  495. package/esm/guards/negative_infinity.d.ts +7 -0
  496. package/esm/guards/negative_infinity.d.ts.map +1 -1
  497. package/esm/guards/negative_infinity.js +7 -0
  498. package/esm/guards/negative_infinity.js.map +1 -1
  499. package/esm/guards/negative_zero.d.ts.map +1 -1
  500. package/esm/guards/negative_zero.js +7 -0
  501. package/esm/guards/negative_zero.js.map +1 -1
  502. package/esm/guards/positive_infinity.d.ts +7 -0
  503. package/esm/guards/positive_infinity.d.ts.map +1 -1
  504. package/esm/guards/positive_infinity.js +7 -0
  505. package/esm/guards/positive_infinity.js.map +1 -1
  506. package/esm/guards/positive_zero.d.ts +8 -0
  507. package/esm/guards/positive_zero.d.ts.map +1 -1
  508. package/esm/guards/positive_zero.js +8 -0
  509. package/esm/guards/positive_zero.js.map +1 -1
  510. package/esm/guards/safe_integer.d.ts.map +1 -1
  511. package/esm/guards/safe_integer.js +8 -0
  512. package/esm/guards/safe_integer.js.map +1 -1
  513. package/esm/hypot.d.ts.map +1 -1
  514. package/esm/hypot.js +7 -0
  515. package/esm/hypot.js.map +1 -1
  516. package/esm/ieee754.d.ts +9 -0
  517. package/esm/ieee754.d.ts.map +1 -1
  518. package/esm/ieee754.js +9 -0
  519. package/esm/ieee754.js.map +1 -1
  520. package/esm/imul.d.ts +7 -0
  521. package/esm/imul.d.ts.map +1 -1
  522. package/esm/imul.js +7 -0
  523. package/esm/imul.js.map +1 -1
  524. package/esm/index.d.ts +1 -0
  525. package/esm/index.d.ts.map +1 -1
  526. package/esm/index.js +1 -0
  527. package/esm/index.js.map +1 -1
  528. package/esm/log.d.ts.map +1 -1
  529. package/esm/log.js +7 -0
  530. package/esm/log.js.map +1 -1
  531. package/esm/log10.d.ts.map +1 -1
  532. package/esm/log10.js +7 -0
  533. package/esm/log10.js.map +1 -1
  534. package/esm/log1p.d.ts.map +1 -1
  535. package/esm/log1p.js +7 -0
  536. package/esm/log1p.js.map +1 -1
  537. package/esm/log2.d.ts.map +1 -1
  538. package/esm/log2.js +7 -0
  539. package/esm/log2.js.map +1 -1
  540. package/esm/max.d.ts.map +1 -1
  541. package/esm/max.js +4 -5
  542. package/esm/max.js.map +1 -1
  543. package/esm/min.d.ts.map +1 -1
  544. package/esm/min.js +7 -0
  545. package/esm/min.js.map +1 -1
  546. package/esm/pow.d.ts +7 -0
  547. package/esm/pow.d.ts.map +1 -1
  548. package/esm/pow.js +7 -0
  549. package/esm/pow.js.map +1 -1
  550. package/esm/random.d.ts +19 -1
  551. package/esm/random.d.ts.map +1 -1
  552. package/esm/random.js +8 -12
  553. package/esm/random.js.map +1 -1
  554. package/esm/round.d.ts.map +1 -1
  555. package/esm/round.js +7 -0
  556. package/esm/round.js.map +1 -1
  557. package/esm/sign.d.ts +7 -0
  558. package/esm/sign.d.ts.map +1 -1
  559. package/esm/sign.js +7 -0
  560. package/esm/sign.js.map +1 -1
  561. package/esm/sin.d.ts +7 -0
  562. package/esm/sin.d.ts.map +1 -1
  563. package/esm/sin.js +7 -0
  564. package/esm/sin.js.map +1 -1
  565. package/esm/sinh.d.ts +7 -0
  566. package/esm/sinh.d.ts.map +1 -1
  567. package/esm/sinh.js +7 -0
  568. package/esm/sinh.js.map +1 -1
  569. package/esm/sqrt.d.ts +1 -0
  570. package/esm/sqrt.d.ts.map +1 -1
  571. package/esm/sqrt.js +8 -0
  572. package/esm/sqrt.js.map +1 -1
  573. package/esm/tan.d.ts.map +1 -1
  574. package/esm/tan.js +7 -0
  575. package/esm/tan.js.map +1 -1
  576. package/esm/tanh.d.ts +7 -0
  577. package/esm/tanh.d.ts.map +1 -1
  578. package/esm/tanh.js +7 -0
  579. package/esm/tanh.js.map +1 -1
  580. package/esm/trunc.d.ts.map +1 -1
  581. package/esm/trunc.js +4 -6
  582. package/esm/trunc.js.map +1 -1
  583. package/esm/types/finite.d.ts +15 -0
  584. package/esm/types/finite.d.ts.map +1 -1
  585. package/esm/types/finite.js +15 -0
  586. package/esm/types/finite.js.map +1 -1
  587. package/esm/types/float.d.ts +8 -0
  588. package/esm/types/float.d.ts.map +1 -1
  589. package/esm/types/float.js.map +1 -1
  590. package/esm/types/index.d.ts +7 -0
  591. package/esm/types/index.d.ts.map +1 -1
  592. package/esm/types/index.js +7 -0
  593. package/esm/types/index.js.map +1 -1
  594. package/esm/types/integer.d.ts +8 -0
  595. package/esm/types/integer.d.ts.map +1 -1
  596. package/esm/types/integer.js.map +1 -1
  597. package/esm/types/precision.d.ts +8 -0
  598. package/esm/types/precision.d.ts.map +1 -1
  599. package/esm/types/precision.js +8 -0
  600. package/esm/types/precision.js.map +1 -1
  601. package/esm/types/safe_integer.d.ts +18 -0
  602. package/esm/types/safe_integer.d.ts.map +1 -1
  603. package/esm/types/safe_integer.js +18 -0
  604. package/esm/types/safe_integer.js.map +1 -1
  605. package/nberlette-math-0.7.0.tgz +0 -0
  606. package/package.json +1 -1
  607. package/src/abs.ts +7 -0
  608. package/src/acos.ts +7 -0
  609. package/src/acosh.ts +7 -0
  610. package/src/asin.ts +7 -0
  611. package/src/asinh.ts +7 -0
  612. package/src/atan.ts +7 -0
  613. package/src/atan2.ts +7 -0
  614. package/src/atanh.ts +7 -0
  615. package/src/cbrt.ts +7 -0
  616. package/src/ceil.ts +7 -0
  617. package/src/clamp.ts +7 -0
  618. package/src/clz32.ts +7 -0
  619. package/src/constants/e.ts +7 -0
  620. package/src/constants/epsilon.ts +7 -0
  621. package/src/constants/index.ts +9 -0
  622. package/src/constants/infinity.ts +16 -0
  623. package/src/constants/ln10.ts +49 -3
  624. package/src/constants/ln2.ts +15 -0
  625. package/src/constants/log10e.ts +15 -0
  626. package/src/constants/log2e.ts +15 -0
  627. package/src/constants/max_safe_integer.ts +15 -0
  628. package/src/constants/max_value.ts +15 -0
  629. package/src/constants/min_safe_integer.ts +15 -0
  630. package/src/constants/min_value.ts +15 -0
  631. package/src/constants/nan.ts +7 -0
  632. package/src/constants/negative_infinity.ts +15 -0
  633. package/src/constants/pi.ts +15 -0
  634. package/src/constants/positive_infinity.ts +15 -0
  635. package/src/constants/positive_zero.ts +7 -0
  636. package/src/constants/sqrt1_2.ts +15 -0
  637. package/src/constants/sqrt2.ts +15 -0
  638. package/src/cos.ts +7 -0
  639. package/src/cosh.ts +7 -0
  640. package/src/exp.ts +10 -0
  641. package/src/expm1.ts +7 -0
  642. package/src/f16round.ts +7 -0
  643. package/src/float16/constants.ts +8 -3
  644. package/src/float16/decode.ts +7 -0
  645. package/src/float16/encode.ts +7 -0
  646. package/src/float16/guards.ts +8 -0
  647. package/src/float16/index.ts +9 -0
  648. package/src/float16/round.ts +7 -0
  649. package/src/float32/constants.ts +8 -3
  650. package/src/float32/decode.ts +7 -0
  651. package/src/float32/encode.ts +7 -0
  652. package/src/float32/guards.ts +9 -0
  653. package/src/float32/index.ts +9 -0
  654. package/src/float32/round.ts +7 -0
  655. package/src/floor.ts +7 -0
  656. package/src/fround.ts +7 -0
  657. package/src/guards/finite.ts +8 -0
  658. package/src/guards/index.ts +10 -0
  659. package/src/guards/infinity.ts +16 -0
  660. package/src/guards/integer.ts +8 -0
  661. package/src/guards/negative_infinity.ts +7 -0
  662. package/src/guards/negative_zero.ts +7 -0
  663. package/src/guards/positive_infinity.ts +7 -0
  664. package/src/guards/positive_zero.ts +8 -0
  665. package/src/guards/safe_integer.ts +8 -0
  666. package/src/hypot.ts +7 -0
  667. package/src/ieee754.ts +9 -0
  668. package/src/imul.ts +7 -0
  669. package/src/index.ts +1 -0
  670. package/src/log.ts +7 -0
  671. package/src/log10.ts +7 -0
  672. package/src/log1p.ts +7 -0
  673. package/src/log2.ts +7 -0
  674. package/src/max.ts +4 -5
  675. package/src/min.ts +7 -0
  676. package/src/pow.ts +7 -0
  677. package/src/random.ts +29 -12
  678. package/src/round.ts +7 -0
  679. package/src/sign.ts +7 -0
  680. package/src/sin.ts +7 -0
  681. package/src/sinh.ts +7 -0
  682. package/src/sqrt.ts +8 -0
  683. package/src/tan.ts +7 -0
  684. package/src/tanh.ts +7 -0
  685. package/src/trunc.ts +4 -6
  686. package/src/types/finite.ts +16 -0
  687. package/src/types/float.ts +8 -0
  688. package/src/types/index.ts +8 -0
  689. package/src/types/integer.ts +8 -0
  690. package/src/types/precision.ts +8 -0
  691. package/src/types/safe_integer.ts +19 -0
@@ -1,3 +1,18 @@
1
+ /**
2
+ * This module provides runtime and type-level implementations of the
3
+ * `LN2` constant, the natural logarithm of 2.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { LN2 } from "@nick/math/constants/ln2";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(LN2, Math.LN2);
11
+ * ```
12
+ * @category Constants
13
+ * @module ln2
14
+ */
15
+
1
16
  /**
2
17
  * Represents the natural logarithm of `2`, approximately equal to
3
18
  * `0.6931471805599453`.
@@ -1,3 +1,18 @@
1
+ /**
2
+ * This module provides runtime and type-level implementations of the
3
+ * `LOG10E` constant, the base-10 logarithm of e.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { LOG10E } from "@nick/math/constants/log10e";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(LOG10E, Math.LOG10E);
11
+ * ```
12
+ * @category Constants
13
+ * @module log10e
14
+ */
15
+
1
16
  /**
2
17
  * Represents the base-10 logarithm of `e` (Euler's number), approximately
3
18
  * equal to `0.4342944819032518`.
@@ -1,3 +1,18 @@
1
+ /**
2
+ * This module provides runtime and type-level implementations of the
3
+ * `LOG2E` constant, the base-2 logarithm of e.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { LOG2E } from "@nick/math/constants/log2e";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(LOG2E, Math.LOG2E);
11
+ * ```
12
+ * @category Constants
13
+ * @module log2e
14
+ */
15
+
1
16
  /**
2
17
  * Represents the base-2 logarithm of `e` (Euler's number), approximately equal
3
18
  * to `1.4426950408889634`.
@@ -1,3 +1,18 @@
1
+ /**
2
+ * This module provides runtime and type-level implementations of the
3
+ * `MAX_SAFE_INTEGER` constant, matching `Number.MAX_SAFE_INTEGER`.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { MAX_SAFE_INTEGER } from "@nick/math/constants/max-safe-integer";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);
11
+ * ```
12
+ * @category Constants
13
+ * @module max-safe-integer
14
+ */
15
+
1
16
  /**
2
17
  * Represents the largest integer that can be represented in JavaScript without
3
18
  * losing precision, which is approximately equal to `9007199254740991`.
@@ -1,3 +1,18 @@
1
+ /**
2
+ * This module provides runtime and type-level implementations of the
3
+ * `MAX_VALUE` constant, matching `Number.MAX_VALUE`.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { MAX_VALUE } from "@nick/math/constants/max-value";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(MAX_VALUE, Number.MAX_VALUE);
11
+ * ```
12
+ * @category Constants
13
+ * @module max-value
14
+ */
15
+
1
16
  /**
2
17
  * Represents the largest positive finite number that can be represented in
3
18
  * JavaScript, which is approximately equal to `1.7976931348623157e+308`.
@@ -1,3 +1,18 @@
1
+ /**
2
+ * This module provides runtime and type-level implementations of the
3
+ * `MIN_SAFE_INTEGER` constant, matching `Number.MIN_SAFE_INTEGER`.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { MIN_SAFE_INTEGER } from "@nick/math/constants/min-safe-integer";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(MIN_SAFE_INTEGER, Number.MIN_SAFE_INTEGER);
11
+ * ```
12
+ * @category Constants
13
+ * @module min-safe-integer
14
+ */
15
+
1
16
  /**
2
17
  * Represents the smallest integer that can be represented in JavaScript
3
18
  * without losing precision, which is approximately equal to
@@ -1,3 +1,18 @@
1
+ /**
2
+ * This module provides runtime and type-level implementations of the
3
+ * `MIN_VALUE` constant, matching `Number.MIN_VALUE`.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { MIN_VALUE } from "@nick/math/constants/min-value";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(MIN_VALUE, Number.MIN_VALUE);
11
+ * ```
12
+ * @category Constants
13
+ * @module min-value
14
+ */
15
+
1
16
  /**
2
17
  * Represents the smallest positive number that is greater than zero, which is
3
18
  * approximately equal to `5e-324`.
@@ -8,6 +8,13 @@
8
8
  * mathematical operations, such as dividing zero by zero, or parsing a string
9
9
  * that does not represent a valid number with `parseInt` or `parseFloat`.
10
10
  *
11
+ * @example
12
+ * ```ts
13
+ * import { NAN } from "@nick/math/constants/nan";
14
+ * import assert from "node:assert";
15
+ *
16
+ * assert.ok(Number.isNaN(NAN));
17
+ * ```
11
18
  * @module nan
12
19
  */
13
20
 
@@ -1,3 +1,18 @@
1
+ /**
2
+ * This module provides runtime and type-level implementations of the
3
+ * `NEGATIVE_INFINITY` constant, matching `Number.NEGATIVE_INFINITY`.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { NEGATIVE_INFINITY } from "@nick/math/constants/negative-infinity";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY);
11
+ * ```
12
+ * @category Constants
13
+ * @module negative-infinity
14
+ */
15
+
1
16
  /**
2
17
  * Negative Infinity is a special value representing negative infinity, which
3
18
  * is less than any other number. It is approximately equal to
@@ -1,3 +1,18 @@
1
+ /**
2
+ * This module provides runtime and type-level implementations of the
3
+ * `PI` constant, matching `Math.PI`.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { PI } from "@nick/math/constants/pi";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(PI, Math.PI);
11
+ * ```
12
+ * @category Constants
13
+ * @module pi
14
+ */
15
+
1
16
  /**
2
17
  * Represents the mathematical constant `π` (pi), the ratio of a circle's
3
18
  * circumference to its diameter, approximately equal to `3.141592653589793`.
@@ -1,3 +1,18 @@
1
+ /**
2
+ * This module provides runtime and type-level implementations of the
3
+ * `POSITIVE_INFINITY` constant, matching `Number.POSITIVE_INFINITY`.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { POSITIVE_INFINITY } from "@nick/math/constants/positive-infinity";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(POSITIVE_INFINITY, Number.POSITIVE_INFINITY);
11
+ * ```
12
+ * @category Constants
13
+ * @module positive-infinity
14
+ */
15
+
1
16
  /**
2
17
  * Positive Infinity is a special value representing positive infinity, which
3
18
  * is greater than any other number. It is approximately equal to
@@ -4,6 +4,13 @@
4
4
  * native JavaScript language, provided for stronger type-safety when working
5
5
  * with positive zero values.
6
6
  *
7
+ * @example
8
+ * ```ts
9
+ * import { POSITIVE_ZERO } from "@nick/math/constants/positive-zero";
10
+ * import assert from "node:assert";
11
+ *
12
+ * assert.ok(Object.is(POSITIVE_ZERO, 0));
13
+ * ```
7
14
  * @module positive-zero
8
15
  */
9
16
 
@@ -1,3 +1,18 @@
1
+ /**
2
+ * This module provides runtime and type-level implementations of the
3
+ * `SQRT1_2` constant, matching `Math.SQRT1_2`.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { SQRT1_2 } from "@nick/math/constants/sqrt1_2";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(SQRT1_2, Math.SQRT1_2);
11
+ * ```
12
+ * @category Constants
13
+ * @module sqrt1-2
14
+ */
15
+
1
16
  /**
2
17
  * The square root of `1/2`, approximately equal to `0.7071067811865476`.
3
18
  *
@@ -1,3 +1,18 @@
1
+ /**
2
+ * This module provides runtime and type-level implementations of the
3
+ * `SQRT2` constant, matching `Math.SQRT2`.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { SQRT2 } from "@nick/math/constants/sqrt2";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(SQRT2, Math.SQRT2);
11
+ * ```
12
+ * @category Constants
13
+ * @module sqrt2
14
+ */
15
+
1
16
  /**
2
17
  * The square root of `2`, approximately equal to `1.4142135623730951`.
3
18
  *
package/src/cos.ts CHANGED
@@ -1,6 +1,13 @@
1
1
  /**
2
2
  * Calculates the cosine of a number, returning a value in the range `[-1, 1]`.
3
3
  *
4
+ * @example
5
+ * ```ts
6
+ * import { cos } from "@nick/math/cos";
7
+ * import assert from "node:assert";
8
+ *
9
+ * assert.strictEqual(cos(0), 1);
10
+ * ```
4
11
  * @module cos
5
12
  */
6
13
  import { abs } from "./abs.js";
package/src/cosh.ts CHANGED
@@ -1,6 +1,13 @@
1
1
  /**
2
2
  * Calculates the hyperbolic cosine of a number.
3
3
  *
4
+ * @example
5
+ * ```ts
6
+ * import { cosh } from "@nick/math/cosh";
7
+ * import assert from "node:assert";
8
+ *
9
+ * assert.strictEqual(cosh(0), 1);
10
+ * ```
4
11
  * @module cosh
5
12
  */
6
13
  import { exp } from "./exp.js";
package/src/exp.ts CHANGED
@@ -1,4 +1,14 @@
1
1
  /**
2
+ * Provides the `exp` function, a local implementation of `Math.exp` for
3
+ * computing exponentials (`e^x`) without relying on the global `Math` object.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { exp } from "@nick/math/exp";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(exp(0), 1);
11
+ * ```
2
12
  * @category Exponential
3
13
  * @module exp
4
14
  */
package/src/expm1.ts CHANGED
@@ -2,6 +2,13 @@
2
2
  * Calculates the exponential of `x` minus 1 (`exp(x) - 1`) with a high degree
3
3
  * of accuracy, even for very small values of `x`.
4
4
  *
5
+ * @example
6
+ * ```ts
7
+ * import { expm1 } from "@nick/math/expm1";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(expm1(0), 0);
11
+ * ```
5
12
  * @module expm1
6
13
  */
7
14
  import { EPSILON } from "./constants/epsilon.js";
package/src/f16round.ts CHANGED
@@ -8,6 +8,13 @@
8
8
  *
9
9
  * [Float16Array]: https://github.com/tc39/proposal-float16array
10
10
  *
11
+ * @example
12
+ * ```ts
13
+ * import { f16round } from "@nick/math/f16round";
14
+ * import assert from "node:assert";
15
+ *
16
+ * assert.strictEqual(f16round(1.337), Math.f16round(1.337));
17
+ * ```
11
18
  * @module f16round
12
19
  */
13
20
  import { roundFloat16 } from "./float16/round.js";
@@ -8,11 +8,16 @@
8
8
  * of completeness and transparency, as well as for potential userland usage in
9
9
  * cases where the constants are needed for custom encoding/decoding logic.
10
10
  *
11
+ * @example
12
+ * ```ts
13
+ * import { FLOAT16_EXPONENT_BITS } from "@nick/math/float16/constants";
14
+ * import assert from "node:assert";
15
+ *
16
+ * assert.strictEqual(FLOAT16_EXPONENT_BITS, 5);
17
+ * ```
11
18
  * @module float16/constants
12
19
  */
13
20
 
14
- import type { FloatFormat } from "../internal/ieee754.js";
15
-
16
21
  /**
17
22
  * Well-known bit pattern representing `NaN` in the IEEE-754 half-precision (or
18
23
  * "binary16") format.
@@ -103,4 +108,4 @@ export default {
103
108
  negative_infinity: FLOAT16_NEGATIVE_INFINITY,
104
109
  negative_zero: FLOAT16_NEGATIVE_ZERO,
105
110
  positive_zero: FLOAT16_POSITIVE_ZERO,
106
- } as const satisfies FloatFormat;
111
+ } as const;
@@ -13,6 +13,13 @@
13
13
  * value into a standard JavaScript number, which can be used in arithmetic
14
14
  * operations or passed to other functions.
15
15
  *
16
+ * @example
17
+ * ```ts
18
+ * import { decodeFloat16 } from "@nick/math/float16/decode";
19
+ * import assert from "node:assert";
20
+ *
21
+ * assert.strictEqual(decodeFloat16(0x3C00), 1);
22
+ * ```
16
23
  * @module float16/decode
17
24
  */
18
25
  import float16 from "./constants.js";
@@ -13,6 +13,13 @@
13
13
  * DataView via `setUint16`, or used in other applications that require the
14
14
  * `Float16` format.
15
15
  *
16
+ * @example
17
+ * ```ts
18
+ * import { encodeFloat16 } from "@nick/math/float16/encode";
19
+ * import assert from "node:assert";
20
+ *
21
+ * assert.strictEqual(encodeFloat16(1), 0x3C00);
22
+ * ```
16
23
  * @module float16/encode
17
24
  */
18
25
 
@@ -2,6 +2,14 @@
2
2
  * This submodule provides type guards specific to the float16 module of the
3
3
  * `@nick/math` library, namely the {@linkcode isFloat16} predicate function.
4
4
  *
5
+ * @example
6
+ * ```ts
7
+ * import { isFloat16 } from "@nick/math/float16/guards";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.ok(isFloat16(0.5));
11
+ * assert.ok(!isFloat16(0.1));
12
+ * ```
5
13
  * @module float16/guards
6
14
  */
7
15
  import { isNaN } from "../guards/nan.js";
@@ -2,6 +2,15 @@
2
2
  * Utilities for working with `float16` values (16-bit half precision floating
3
3
  * point numbers), as defined by IEEE 754-2008.
4
4
  *
5
+ * @example
6
+ * ```ts
7
+ * import { decodeFloat16, encodeFloat16 } from "@nick/math/float16";
8
+ * import assert from "node:assert";
9
+ *
10
+ * const encoded = encodeFloat16(1);
11
+ * assert.strictEqual(decodeFloat16(encoded), 1);
12
+ * ```
13
+ * @category IEEE-754
5
14
  * @module float16
6
15
  */
7
16
  export * from "./decode.js";
@@ -10,6 +10,13 @@
10
10
  *
11
11
  * [Float16Array]: https://github.com/tc39/proposal-float16array
12
12
  *
13
+ * @example
14
+ * ```ts
15
+ * import { roundFloat16 } from "@nick/math/float16/round";
16
+ * import assert from "node:assert";
17
+ *
18
+ * assert.strictEqual(roundFloat16(1.337), Math.f16round(1.337));
19
+ * ```
13
20
  * @module float16/round
14
21
  */
15
22
  import { encodeFloat16 } from "./encode.js";
@@ -8,11 +8,16 @@
8
8
  * of completeness and transparency, as well as for potential userland usage in
9
9
  * cases where the constants are needed for custom encoding/decoding logic.
10
10
  *
11
+ * @example
12
+ * ```ts
13
+ * import { FLOAT32_EXPONENT_BITS } from "@nick/math/float32/constants";
14
+ * import assert from "node:assert";
15
+ *
16
+ * assert.strictEqual(FLOAT32_EXPONENT_BITS, 8);
17
+ * ```
11
18
  * @module float32/constants
12
19
  */
13
20
 
14
- import type { FloatFormat } from "../internal/ieee754.js";
15
-
16
21
  /**
17
22
  * The number of bits used for the exponent in the IEEE-754 single-precision
18
23
  * (or "binary32") format.
@@ -102,4 +107,4 @@ export default {
102
107
  negative_infinity: FLOAT32_NEGATIVE_INFINITY,
103
108
  negative_zero: FLOAT32_NEGATIVE_ZERO,
104
109
  positive_zero: FLOAT32_POSITIVE_ZERO,
105
- } as const satisfies FloatFormat;
110
+ } as const;
@@ -18,6 +18,13 @@
18
18
  * with 32-bits of precision), use the {@linkcode decodeFloat32} function of
19
19
  * this module, passing it the encoded value.
20
20
  *
21
+ * @example
22
+ * ```ts
23
+ * import { decodeFloat32 } from "@nick/math/float32/decode";
24
+ * import assert from "node:assert";
25
+ *
26
+ * assert.strictEqual(decodeFloat32(0x3F800000), 1);
27
+ * ```
21
28
  * @module float32/decode
22
29
  */
23
30
  import float32 from "./constants.js";
@@ -13,6 +13,13 @@
13
13
  * {@linkcode decodeFloat32} function of the `./decode` module, passing it the
14
14
  * encoded value returned by {@linkcode encodeFloat32}.
15
15
  *
16
+ * @example
17
+ * ```ts
18
+ * import { encodeFloat32 } from "@nick/math/float32/encode";
19
+ * import assert from "node:assert";
20
+ *
21
+ * assert.strictEqual(encodeFloat32(1), 0x3F800000);
22
+ * ```
16
23
  * @module float32/encode
17
24
  */
18
25
  import float32 from "./constants.js";
@@ -2,6 +2,15 @@
2
2
  * This submodule provides type guards specific to the float32 module of the
3
3
  * `@nick/math` library, namely the {@linkcode isFloat32} predicate function.
4
4
  *
5
+ * @example
6
+ * ```ts
7
+ * import { isFiniteFloat32, isFloat32 } from "@nick/math/float32/guards";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.ok(isFloat32(Math.fround(1.5)));
11
+ * assert.ok(isFiniteFloat32(Math.fround(1.5)));
12
+ * assert.ok(!isFloat32(1.1));
13
+ * ```
5
14
  * @module float32/guards
6
15
  */
7
16
  import { isNaN } from "../guards/nan.js";
@@ -2,6 +2,15 @@
2
2
  * Utilities for working with `float32` values (32-bit single precision
3
3
  * floating point numbers), as defined by IEEE 754-2008.
4
4
  *
5
+ * @example
6
+ * ```ts
7
+ * import { decodeFloat32, encodeFloat32 } from "@nick/math/float32";
8
+ * import assert from "node:assert";
9
+ *
10
+ * const encoded = encodeFloat32(1);
11
+ * assert.strictEqual(decodeFloat32(encoded), 1);
12
+ * ```
13
+ * @category IEEE-754
5
14
  * @module float32
6
15
  */
7
16
  export * from "./decode.js";
@@ -2,6 +2,13 @@
2
2
  * Rounds a number to the nearest 32-bit floating point value (single
3
3
  * precision), following the IEEE 754-2008 specification.
4
4
  *
5
+ * @example
6
+ * ```ts
7
+ * import { roundFloat32 } from "@nick/math/float32/round";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(roundFloat32(1.337), Math.fround(1.337));
11
+ * ```
5
12
  * @module float32/round
6
13
  */
7
14
  import { encodeFloat32 } from "./encode.js";
package/src/floor.ts CHANGED
@@ -2,6 +2,13 @@
2
2
  * Performant local implementation of the `Math.floor` function.
3
3
  *
4
4
  * @category Arithmetic
5
+ * @example
6
+ * ```ts
7
+ * import { floor } from "@nick/math/floor";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(floor(1.8), 1);
11
+ * ```
5
12
  * @module floor
6
13
  */
7
14
  import { NEGATIVE_INFINITY } from "./constants/negative_infinity.js";
package/src/fround.ts CHANGED
@@ -2,6 +2,13 @@
2
2
  * Rounds a number to the nearest 32-bit floating point value (single
3
3
  * precision).
4
4
  *
5
+ * @example
6
+ * ```ts
7
+ * import { fround } from "@nick/math/fround";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(fround(1.337), Math.fround(1.337));
11
+ * ```
5
12
  * @module fround
6
13
  */
7
14
  import { roundFloat32 } from "./float32/round.js";
@@ -5,6 +5,14 @@
5
5
  * function. It is not dependent on the global `Number` object and will not be
6
6
  * affected by global variable shadowing, reassignment, or malicious tampering.
7
7
  *
8
+ * @example
9
+ * ```ts
10
+ * import { isFinite } from "@nick/math/guards/finite";
11
+ * import assert from "node:assert";
12
+ *
13
+ * assert.ok(isFinite(42));
14
+ * assert.ok(!isFinite(Infinity));
15
+ * ```
8
16
  * @module guards/finite
9
17
  */
10
18
  import { isNaN } from "./nan.js";
@@ -38,6 +38,16 @@
38
38
  * [native-number-isnan]: https://mdn.io/Number.isNaN
39
39
  * [native-object-is]: https://mdn.io/Object.is
40
40
  *
41
+ * @example
42
+ * ```ts
43
+ * import { isFinite, isPositiveZero } from "@nick/math/guards";
44
+ * import assert from "node:assert";
45
+ *
46
+ * assert.ok(isFinite(123));
47
+ * assert.ok(isPositiveZero(0));
48
+ * assert.ok(!isPositiveZero(-0));
49
+ * ```
50
+ * @category Guards
41
51
  * @module guards
42
52
  */
43
53
  export * from "./finite.js";
@@ -1,2 +1,18 @@
1
+ /**
2
+ * Re-exports the infinity guards for checking positive and negative
3
+ * infinite values.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { isNegativeInfinity, isPositiveInfinity } from "@nick/math/guards/infinity";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.ok(isPositiveInfinity(1 / 0));
11
+ * assert.ok(isNegativeInfinity(-1 / 0));
12
+ * ```
13
+ * @category Guards
14
+ * @module guards/infinity
15
+ */
16
+
1
17
  export * from "./negative_infinity.js";
2
18
  export * from "./positive_infinity.js";
@@ -5,6 +5,14 @@
5
5
  * @param it The number to check for being an integer.
6
6
  * @returns `true` if the provided number is an integer, otherwise `false`.
7
7
  * @category Arithmetic
8
+ * @example
9
+ * ```ts
10
+ * import { isInteger } from "@nick/math/guards/integer";
11
+ * import assert from "node:assert";
12
+ *
13
+ * assert.ok(isInteger(10));
14
+ * assert.ok(!isInteger(10.5));
15
+ * ```
8
16
  * @module isInteger
9
17
  */
10
18
  import type { Integer } from "../types/integer.js";
@@ -2,6 +2,13 @@
2
2
  * Checks if the provided number is `-Infinity` (negative infinity), in a way
3
3
  * that is immune to any global variable shadowing or reassignment.
4
4
  *
5
+ * @example
6
+ * ```ts
7
+ * import { isNegativeInfinity } from "@nick/math/guards/negative-infinity";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.ok(isNegativeInfinity(-1 / 0));
11
+ * ```
5
12
  * @module negative-infinity
6
13
  */
7
14
  import { NEGATIVE_INFINITY } from "../constants/negative_infinity.js";