@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,6 +1,13 @@
1
1
  /**
2
2
  * Checks if the provided number is a negative zero.
3
3
  *
4
+ * @example
5
+ * ```ts
6
+ * import { isNegativeZero } from "@nick/math/guards/negative-zero";
7
+ * import assert from "node:assert";
8
+ *
9
+ * assert.ok(isNegativeZero(-0));
10
+ * ```
4
11
  * @module negative-zero
5
12
  */
6
13
  import { isNegativeInfinity } from "./negative_infinity.js";
@@ -2,6 +2,13 @@
2
2
  * Checks if the provided number is `+Infinity` (positive infinity), in a way
3
3
  * that is immune to any global variable shadowing or reassignment.
4
4
  *
5
+ * @example
6
+ * ```ts
7
+ * import { isPositiveInfinity } from "@nick/math/guards/positive-infinity";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.ok(isPositiveInfinity(1 / 0));
11
+ * ```
5
12
  * @module positive-infinity
6
13
  */
7
14
  import { POSITIVE_INFINITY } from "../constants/positive_infinity.js";
@@ -2,6 +2,14 @@
2
2
  * Checks if the provided number is exactly positive zero (`+0`). This is a
3
3
  * stricter than `x === 0`, as it will return `false` for `-0`.
4
4
  *
5
+ * @example
6
+ * ```ts
7
+ * import { isPositiveZero } from "@nick/math/guards/positive-zero";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.ok(isPositiveZero(0));
11
+ * assert.ok(!isPositiveZero(-0));
12
+ * ```
5
13
  * @module positive-zero
6
14
  */
7
15
  export * from "../constants/positive_zero.js";
@@ -8,6 +8,14 @@
8
8
  * Note: This guard **does not coerce its input to a number** beforehand. The
9
9
  * value passed for `number` must already satisfy `typeof number === "number"`.
10
10
  *
11
+ * @example
12
+ * ```ts
13
+ * import { isSafeInteger } from "@nick/math/guards/safe-integer";
14
+ * import assert from "node:assert";
15
+ *
16
+ * assert.ok(isSafeInteger(9007199254740991));
17
+ * assert.ok(!isSafeInteger(9007199254740992));
18
+ * ```
11
19
  * @module safe-integer
12
20
  */
13
21
  import { isFinite } from "./finite.js";
package/src/hypot.ts CHANGED
@@ -5,6 +5,13 @@
5
5
  *
6
6
  * **Note**: This equation is also known as the Euclidean distance or L² norm.
7
7
  *
8
+ * @example
9
+ * ```ts
10
+ * import { hypot } from "@nick/math/hypot";
11
+ * import assert from "node:assert";
12
+ *
13
+ * assert.strictEqual(hypot(3, 4), 5);
14
+ * ```
8
15
  * @module hypot
9
16
  */
10
17
  import { abs } from "./abs.js";
package/src/ieee754.ts CHANGED
@@ -9,6 +9,15 @@
9
9
  * **Note**: The `float16` and `float32` modules are used under the hood by the
10
10
  * `f16round` and `fround` functions, respectively.
11
11
  *
12
+ * @example
13
+ * ```ts
14
+ * import { decodeFloat16, encodeFloat16 } from "@nick/math/ieee754";
15
+ * import assert from "node:assert";
16
+ *
17
+ * const encoded = encodeFloat16(1);
18
+ * assert.strictEqual(decodeFloat16(encoded), 1);
19
+ * ```
20
+ * @category IEEE-754
12
21
  * @module ieee754
13
22
  */
14
23
  export * from "./float16/index.js";
package/src/imul.ts CHANGED
@@ -2,6 +2,13 @@
2
2
  * Performs a 32-bit integer multiplication of two numbers (interpreted as
3
3
  * 32-bit integers), returning a 32-bit result.
4
4
  *
5
+ * @example
6
+ * ```ts
7
+ * import { imul } from "@nick/math/imul";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(imul(2, 3), 6);
11
+ * ```
5
12
  * @module imul
6
13
  */
7
14
 
package/src/index.ts CHANGED
@@ -37,6 +37,7 @@
37
37
  * // ...
38
38
  * assert.ok(math.isFinite(420));
39
39
  * ```
40
+ * @category Core
40
41
  * @module math
41
42
  */
42
43
  export * from "./abs.js";
package/src/log.ts CHANGED
@@ -1,6 +1,13 @@
1
1
  /**
2
2
  * Calculates the natural logarithm of a number (logₑ).
3
3
  *
4
+ * @example
5
+ * ```ts
6
+ * import { log } from "@nick/math/log";
7
+ * import assert from "node:assert";
8
+ *
9
+ * assert.strictEqual(log(1), 0);
10
+ * ```
4
11
  * @module log
5
12
  */
6
13
  import { EPSILON } from "./constants/epsilon.js";
package/src/log10.ts CHANGED
@@ -1,6 +1,13 @@
1
1
  /**
2
2
  * Calculates the base-10 logarithm of a number.
3
3
  *
4
+ * @example
5
+ * ```ts
6
+ * import { log10 } from "@nick/math/log10";
7
+ * import assert from "node:assert";
8
+ *
9
+ * assert.strictEqual(log10(1), 0);
10
+ * ```
4
11
  * @module log10
5
12
  */
6
13
  import { LOG10E } from "./constants/log10e.js";
package/src/log1p.ts CHANGED
@@ -2,6 +2,13 @@
2
2
  * Calculates the natural logarithm of 1 + x (`log(1 + x)`), accurately even
3
3
  * for very small values of x.
4
4
  *
5
+ * @example
6
+ * ```ts
7
+ * import { log1p } from "@nick/math/log1p";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(log1p(0), 0);
11
+ * ```
5
12
  * @module log1p
6
13
  */
7
14
  import { EPSILON } from "./constants/epsilon.js";
package/src/log2.ts CHANGED
@@ -1,6 +1,13 @@
1
1
  /**
2
2
  * Calculates the base-2 logarithm of a number (log₂).
3
3
  *
4
+ * @example
5
+ * ```ts
6
+ * import { log2 } from "@nick/math/log2";
7
+ * import assert from "node:assert";
8
+ *
9
+ * assert.strictEqual(log2(1), 0);
10
+ * ```
4
11
  * @module log2
5
12
  */
6
13
  import { LOG2E } from "./constants/log2e.js";
package/src/max.ts CHANGED
@@ -4,12 +4,11 @@
4
4
  *
5
5
  * @example
6
6
  * ```ts
7
- * import { max } from "@nick/math";
8
- *
9
- * const atLeastZero = (x: number) => max(x, 0);
7
+ * import { max } from "@nick/math/max";
8
+ * import assert from "node:assert";
10
9
  *
11
- * atLeastZero(+1); // 1
12
- * atLeastZero(-1); // 0
10
+ * assert.strictEqual(max(1, 3, 2), 3);
11
+ * assert.strictEqual(max(-1, -5), -1);
13
12
  * ```
14
13
  * @module max
15
14
  */
package/src/min.ts CHANGED
@@ -2,6 +2,13 @@
2
2
  * Returns the smallest of its arguments, or `NaN` if any argument is `NaN`.
3
3
  * If no arguments are provided, the result is `Infinity`.
4
4
  *
5
+ * @example
6
+ * ```ts
7
+ * import { min } from "@nick/math/min";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(min(1, 5, 2), 1);
11
+ * ```
5
12
  * @module min
6
13
  */
7
14
  import { POSITIVE_INFINITY } from "./constants/positive_infinity.js";
package/src/pow.ts CHANGED
@@ -1,6 +1,13 @@
1
1
  /**
2
2
  * Calculates the base number raised to the power of the exponent.
3
3
  *
4
+ * @example
5
+ * ```ts
6
+ * import { pow } from "@nick/math/pow";
7
+ * import assert from "node:assert";
8
+ *
9
+ * assert.strictEqual(pow(2, 3), 8);
10
+ * ```
4
11
  * @module pow
5
12
  */
6
13
 
package/src/random.ts CHANGED
@@ -7,9 +7,10 @@
7
7
  * @example
8
8
  * ```ts
9
9
  * import { random } from "@nick/math/random";
10
+ * import assert from "node:assert";
10
11
  *
11
- * console.log(random());
12
- * // => 0.5390711768976619
12
+ * const value = random();
13
+ * assert.ok(value >= 0 && value < 1);
13
14
  * ```
14
15
  * @module random
15
16
  */
@@ -229,13 +230,29 @@ export function random(): number {
229
230
  return MT19937.random();
230
231
  }
231
232
 
232
- /**
233
- * Initializes the random number generator with a seed or sequence of seeds.
234
- *
235
- * This is useful for testing, allowing you to generate a deterministic
236
- * sequence of pseudo-random numbers based on the provided seed value.
237
- *
238
- * @param seed - The seed value or sequence of seed values.
239
- * @returns The singleton instance of the random number generator.
240
- */
241
- random.init = MT19937.init;
233
+ export declare namespace random {
234
+ /**
235
+ * Initializes the random number generator with a seed or sequence of seeds.
236
+ *
237
+ * This is useful for testing, allowing you to generate a deterministic
238
+ * sequence of pseudo-random numbers based on the provided seed value.
239
+ *
240
+ * @param seed - The seed value or sequence of seed values.
241
+ * @returns a singleton instance of the {@linkcode MT19937} pseudorandom
242
+ * number generator (PRNG) class, initialized with the provided seed(s).
243
+ */
244
+ export function init(...seed: number[]): MT19937;
245
+
246
+ /**
247
+ * Generates a pseudorandom unsigned integer using the {@linkcode MT19937} API.
248
+ *
249
+ * @returns a 32-bit unsigned integer in the range `[0, 0x7FFFFFF)`.
250
+ */
251
+ export function integer(): number;
252
+ }
253
+
254
+ // deno-lint-ignore no-namespace
255
+ export namespace random {
256
+ random.init = MT19937.init;
257
+ random.integer = MT19937.randomInt;
258
+ }
package/src/round.ts CHANGED
@@ -1,6 +1,13 @@
1
1
  /**
2
2
  * Rounds a number to the nearest whole number.
3
3
  *
4
+ * @example
5
+ * ```ts
6
+ * import { round } from "@nick/math/round";
7
+ * import assert from "node:assert";
8
+ *
9
+ * assert.strictEqual(round(1.2), 1);
10
+ * ```
4
11
  * @module round
5
12
  */
6
13
  import { floor } from "./floor.js";
package/src/sign.ts CHANGED
@@ -2,6 +2,13 @@
2
2
  * Returns the sign of a number, indicating whether the number is positive,
3
3
  * negative, or zero.
4
4
  *
5
+ * @example
6
+ * ```ts
7
+ * import { sign } from "@nick/math/sign";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(sign(-5), -1);
11
+ * ```
5
12
  * @module sign
6
13
  */
7
14
 
package/src/sin.ts CHANGED
@@ -1,6 +1,13 @@
1
1
  /**
2
2
  * Calculates the sine of a number, returning a value in the range `[-1, 1]`.
3
3
  *
4
+ * @example
5
+ * ```ts
6
+ * import { sin } from "@nick/math/sin";
7
+ * import assert from "node:assert";
8
+ *
9
+ * assert.strictEqual(sin(0), 0);
10
+ * ```
4
11
  * @module sin
5
12
  */
6
13
 
package/src/sinh.ts CHANGED
@@ -1,6 +1,13 @@
1
1
  /**
2
2
  * Calculates the hyperbolic sine of a number.
3
3
  *
4
+ * @example
5
+ * ```ts
6
+ * import { sinh } from "@nick/math/sinh";
7
+ * import assert from "node:assert";
8
+ *
9
+ * assert.strictEqual(sinh(0), 0);
10
+ * ```
4
11
  * @module sinh
5
12
  */
6
13
 
package/src/sqrt.ts CHANGED
@@ -1,6 +1,13 @@
1
1
  /**
2
2
  * Calculates the square root of a number.
3
3
  *
4
+ * @example
5
+ * ```ts
6
+ * import { sqrt } from "@nick/math/sqrt";
7
+ * import assert from "node:assert";
8
+ *
9
+ * assert.ok(Math.abs(sqrt(9) - 3) < 1e-12);
10
+ * ```
4
11
  * @module sqrt
5
12
  */
6
13
  import { EPSILON } from "./constants/epsilon.js";
@@ -13,6 +20,7 @@ import { abs } from "./abs.js";
13
20
  *
14
21
  * @param x The number to calculate the square root of
15
22
  * @returns The square root of the provided number.
23
+ * @category Arithmetic
16
24
  * @example
17
25
  * ```ts
18
26
  * import * as math from "@nick/math";
package/src/tan.ts CHANGED
@@ -2,6 +2,13 @@
2
2
  * Calculates the tangent of `x`, returning a value in the range `[-∞, +∞]`.
3
3
  *
4
4
  * @category Trigonometry
5
+ * @example
6
+ * ```ts
7
+ * import { tan } from "@nick/math/tan";
8
+ * import assert from "node:assert";
9
+ *
10
+ * assert.strictEqual(tan(0), 0);
11
+ * ```
5
12
  * @module tan
6
13
  */
7
14
  import { NAN } from "./constants/nan.js";
package/src/tanh.ts CHANGED
@@ -3,6 +3,13 @@
3
3
  * range `[-1, 1]`.
4
4
  *
5
5
  * @category Trigonometry
6
+ * @example
7
+ * ```ts
8
+ * import { tanh } from "@nick/math/tanh";
9
+ * import assert from "node:assert";
10
+ *
11
+ * assert.strictEqual(tanh(0), 0);
12
+ * ```
6
13
  * @module tanh
7
14
  */
8
15
 
package/src/trunc.ts CHANGED
@@ -3,13 +3,11 @@
3
3
  *
4
4
  * @example
5
5
  * ```ts
6
- * import * as math from "@nick/math";
6
+ * import { trunc } from "@nick/math/trunc";
7
+ * import assert from "node:assert";
7
8
  *
8
- * math.trunc(13.37); // 13
9
- * math.trunc(42.195); // 42
10
- * math.trunc(-7.8); // -7
11
- * math.trunc(-0.123); // 0
12
- * math.trunc(0); // 0
9
+ * assert.strictEqual(trunc(13.37), 13);
10
+ * assert.strictEqual(trunc(-7.8), -7);
13
11
  * ```
14
12
  * @module trunc
15
13
  */
@@ -1,3 +1,19 @@
1
+ /**
2
+ * Provides the `Finite` branded type for numbers that are neither
3
+ * infinite nor `NaN`.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import type { Finite } from "@nick/math/types/finite";
8
+ * import { expectType } from "jsr:@nick/is@0.2.0-rc.6/type/expect";;
9
+ *
10
+ * const value = 42 as Finite;
11
+ * expectType<Finite>(value);
12
+ * ```
13
+ * @category Types
14
+ * @module types/finite
15
+ */
16
+
1
17
  import type {
2
18
  NEGATIVE_INFINITY,
3
19
  POSITIVE_INFINITY,
@@ -7,6 +7,14 @@
7
7
  * specific to floating-point numbers, and are designed to be used as generic
8
8
  * type arguments to other functions and classes that work with floats.
9
9
  *
10
+ * @example
11
+ * ```ts
12
+ * import type { Float32 } from "@nick/math/types/float";
13
+ * import { expectType } from "jsr:@nick/is@0.2.0-rc.6/type/expect";;
14
+ *
15
+ * const value = 1 as Float32;
16
+ * expectType<Float32>(value);
17
+ * ```
10
18
  * @module types/float
11
19
  */
12
20
  import type { FloatPrecision, P32 } from "./precision.js";
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Re-exports the branded numeric types used throughout the library for
3
+ * type-safe arithmetic and predicates.
4
+ *
5
+ * @category Types
6
+ * @module types
7
+ */
8
+
1
9
  export * from "./finite.js";
2
10
  export * from "./float.js";
3
11
  export * from "./integer.js";
@@ -2,6 +2,14 @@
2
2
  * This module provides branded nominal types for signed and unsigned integers
3
3
  * of various precisions, as well as bigints for 64-bit integers.
4
4
  *
5
+ * @example
6
+ * ```ts
7
+ * import type { Int32 } from "@nick/math/types/integer";
8
+ * import { expectType } from "jsr:@nick/is@0.2.0-rc.6/type/expect";;
9
+ *
10
+ * const value = 42 as Int32;
11
+ * expectType<Int32>(value);
12
+ * ```
5
13
  * @module types/integer
6
14
  */
7
15
  import type { P32, Precision } from "./precision.js";
@@ -2,6 +2,14 @@
2
2
  * This module provides type aliases for various levels of precision, for use
3
3
  * with floating-point or integer numbers.
4
4
  *
5
+ * @example
6
+ * ```ts
7
+ * import type { P32, Precision } from "@nick/math/types/precision";
8
+ * import { expectType } from "jsr:@nick/is@0.2.0-rc.6/type/expect";;
9
+ *
10
+ * expectType<P32>(32);
11
+ * expectType<Precision>(32);
12
+ * ```
5
13
  * @module precision
6
14
  */
7
15
 
@@ -1,3 +1,22 @@
1
+ /**
2
+ * Provides the `SafeInteger` branded type for numbers that fall within
3
+ * the safe integer range.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { isSafeInteger } from "@nick/math/is/safe-integer";
8
+ * import type { SafeInteger } from "@nick/math/types/safe-integer";
9
+ * import { expectType } from "jsr:@nick/is@0.2.0-rc.6/type/expect";;
10
+ *
11
+ * let user_input: number = 42;
12
+ * if (isSafeInteger(user_input)) {
13
+ * expectType<SafeInteger>(user_input);
14
+ * }
15
+ * ```
16
+ * @category Types
17
+ * @module types/safe-integer
18
+ */
19
+
1
20
  // deno-lint-ignore no-unused-vars
2
21
  const Safe_Integer: unique symbol = Symbol("SafeInteger");
3
22