@nberlette/math 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -0
- package/README.md +889 -0
- package/cjs/abs.d.ts +14 -0
- package/cjs/abs.d.ts.map +1 -0
- package/cjs/abs.js +22 -0
- package/cjs/abs.js.map +1 -0
- package/cjs/acos.d.ts +17 -0
- package/cjs/acos.d.ts.map +1 -0
- package/cjs/acos.js +27 -0
- package/cjs/acos.js.map +1 -0
- package/cjs/acosh.d.ts +11 -0
- package/cjs/acosh.d.ts.map +1 -0
- package/cjs/acosh.js +35 -0
- package/cjs/acosh.js.map +1 -0
- package/cjs/asin.d.ts +11 -0
- package/cjs/asin.d.ts.map +1 -0
- package/cjs/asin.js +28 -0
- package/cjs/asin.js.map +1 -0
- package/cjs/asinh.d.ts +9 -0
- package/cjs/asinh.d.ts.map +1 -0
- package/cjs/asinh.js +26 -0
- package/cjs/asinh.js.map +1 -0
- package/cjs/atan.d.ts +11 -0
- package/cjs/atan.d.ts.map +1 -0
- package/cjs/atan.js +65 -0
- package/cjs/atan.js.map +1 -0
- package/cjs/atan2.d.ts +12 -0
- package/cjs/atan2.d.ts.map +1 -0
- package/cjs/atan2.js +70 -0
- package/cjs/atan2.js.map +1 -0
- package/cjs/atanh.d.ts +11 -0
- package/cjs/atanh.d.ts.map +1 -0
- package/cjs/atanh.js +32 -0
- package/cjs/atanh.js.map +1 -0
- package/cjs/cbrt.d.ts +9 -0
- package/cjs/cbrt.d.ts.map +1 -0
- package/cjs/cbrt.js +26 -0
- package/cjs/cbrt.js.map +1 -0
- package/cjs/ceil.d.ts +15 -0
- package/cjs/ceil.d.ts.map +1 -0
- package/cjs/ceil.js +34 -0
- package/cjs/ceil.js.map +1 -0
- package/cjs/clamp.d.ts +15 -0
- package/cjs/clamp.d.ts.map +1 -0
- package/cjs/clamp.js +32 -0
- package/cjs/clamp.js.map +1 -0
- package/cjs/clz32.d.ts +20 -0
- package/cjs/clz32.d.ts.map +1 -0
- package/cjs/clz32.js +48 -0
- package/cjs/clz32.js.map +1 -0
- package/cjs/constants/e.d.ts +17 -0
- package/cjs/constants/e.d.ts.map +1 -0
- package/cjs/constants/e.js +19 -0
- package/cjs/constants/e.js.map +1 -0
- package/cjs/constants/epsilon.d.ts +24 -0
- package/cjs/constants/epsilon.d.ts.map +1 -0
- package/cjs/constants/epsilon.js +26 -0
- package/cjs/constants/epsilon.js.map +1 -0
- package/cjs/constants/index.d.ts +23 -0
- package/cjs/constants/index.d.ts.map +1 -0
- package/cjs/constants/index.js +39 -0
- package/cjs/constants/index.js.map +1 -0
- package/cjs/constants/infinity.d.ts +3 -0
- package/cjs/constants/infinity.d.ts.map +1 -0
- package/cjs/constants/infinity.js +19 -0
- package/cjs/constants/infinity.js.map +1 -0
- package/cjs/constants/ln10.d.ts +10 -0
- package/cjs/constants/ln10.d.ts.map +1 -0
- package/cjs/constants/ln10.js +12 -0
- package/cjs/constants/ln10.js.map +1 -0
- package/cjs/constants/ln2.d.ts +10 -0
- package/cjs/constants/ln2.d.ts.map +1 -0
- package/cjs/constants/ln2.js +12 -0
- package/cjs/constants/ln2.js.map +1 -0
- package/cjs/constants/log10e.d.ts +10 -0
- package/cjs/constants/log10e.d.ts.map +1 -0
- package/cjs/constants/log10e.js +12 -0
- package/cjs/constants/log10e.js.map +1 -0
- package/cjs/constants/log2e.d.ts +10 -0
- package/cjs/constants/log2e.d.ts.map +1 -0
- package/cjs/constants/log2e.js +12 -0
- package/cjs/constants/log2e.js.map +1 -0
- package/cjs/constants/max_safe_integer.d.ts +11 -0
- package/cjs/constants/max_safe_integer.d.ts.map +1 -0
- package/cjs/constants/max_safe_integer.js +13 -0
- package/cjs/constants/max_safe_integer.js.map +1 -0
- package/cjs/constants/max_value.d.ts +10 -0
- package/cjs/constants/max_value.d.ts.map +1 -0
- package/cjs/constants/max_value.js +12 -0
- package/cjs/constants/max_value.js.map +1 -0
- package/cjs/constants/min_safe_integer.d.ts +12 -0
- package/cjs/constants/min_safe_integer.d.ts.map +1 -0
- package/cjs/constants/min_safe_integer.js +14 -0
- package/cjs/constants/min_safe_integer.js.map +1 -0
- package/cjs/constants/min_value.d.ts +10 -0
- package/cjs/constants/min_value.d.ts.map +1 -0
- package/cjs/constants/min_value.js +12 -0
- package/cjs/constants/min_value.js.map +1 -0
- package/cjs/constants/nan.d.ts +47 -0
- package/cjs/constants/nan.d.ts.map +1 -0
- package/cjs/constants/nan.js +30 -0
- package/cjs/constants/nan.js.map +1 -0
- package/cjs/constants/negative_infinity.d.ts +28 -0
- package/cjs/constants/negative_infinity.d.ts.map +1 -0
- package/cjs/constants/negative_infinity.js +15 -0
- package/cjs/constants/negative_infinity.js.map +1 -0
- package/cjs/constants/negative_zero.d.ts +31 -0
- package/cjs/constants/negative_zero.d.ts.map +1 -0
- package/cjs/constants/negative_zero.js +21 -0
- package/cjs/constants/negative_zero.js.map +1 -0
- package/cjs/constants/pi.d.ts +10 -0
- package/cjs/constants/pi.d.ts.map +1 -0
- package/cjs/constants/pi.js +12 -0
- package/cjs/constants/pi.js.map +1 -0
- package/cjs/constants/positive_infinity.d.ts +29 -0
- package/cjs/constants/positive_infinity.d.ts.map +1 -0
- package/cjs/constants/positive_infinity.js +16 -0
- package/cjs/constants/positive_infinity.js.map +1 -0
- package/cjs/constants/positive_zero.d.ts +38 -0
- package/cjs/constants/positive_zero.d.ts.map +1 -0
- package/cjs/constants/positive_zero.js +36 -0
- package/cjs/constants/positive_zero.js.map +1 -0
- package/cjs/constants/sqrt1_2.d.ts +9 -0
- package/cjs/constants/sqrt1_2.d.ts.map +1 -0
- package/cjs/constants/sqrt1_2.js +11 -0
- package/cjs/constants/sqrt1_2.js.map +1 -0
- package/cjs/constants/sqrt2.d.ts +9 -0
- package/cjs/constants/sqrt2.d.ts.map +1 -0
- package/cjs/constants/sqrt2.js +11 -0
- package/cjs/constants/sqrt2.js.map +1 -0
- package/cjs/cos.d.ts +10 -0
- package/cjs/cos.d.ts.map +1 -0
- package/cjs/cos.js +32 -0
- package/cjs/cos.js.map +1 -0
- package/cjs/cosh.d.ts +10 -0
- package/cjs/cosh.d.ts.map +1 -0
- package/cjs/cosh.js +21 -0
- package/cjs/cosh.js.map +1 -0
- package/cjs/exp.d.ts +20 -0
- package/cjs/exp.d.ts.map +1 -0
- package/cjs/exp.js +48 -0
- package/cjs/exp.js.map +1 -0
- package/cjs/expm1.d.ts +11 -0
- package/cjs/expm1.d.ts.map +1 -0
- package/cjs/expm1.js +38 -0
- package/cjs/expm1.js.map +1 -0
- package/cjs/f16round.d.ts +24 -0
- package/cjs/f16round.d.ts.map +1 -0
- package/cjs/f16round.js +42 -0
- package/cjs/f16round.js.map +1 -0
- package/cjs/float16/constants.d.ts +97 -0
- package/cjs/float16/constants.d.ts.map +1 -0
- package/cjs/float16/constants.js +99 -0
- package/cjs/float16/constants.js.map +1 -0
- package/cjs/float16/decode.d.ts +40 -0
- package/cjs/float16/decode.d.ts.map +1 -0
- package/cjs/float16/decode.js +67 -0
- package/cjs/float16/decode.js.map +1 -0
- package/cjs/float16/encode.d.ts +67 -0
- package/cjs/float16/encode.d.ts.map +1 -0
- package/cjs/float16/encode.js +77 -0
- package/cjs/float16/encode.js.map +1 -0
- package/cjs/float16/guards.d.ts +22 -0
- package/cjs/float16/guards.d.ts.map +1 -0
- package/cjs/float16/guards.js +15 -0
- package/cjs/float16/guards.js.map +1 -0
- package/cjs/float16/index.d.ts +11 -0
- package/cjs/float16/index.d.ts.map +1 -0
- package/cjs/float16/index.js +27 -0
- package/cjs/float16/index.js.map +1 -0
- package/cjs/float16/round.d.ts +25 -0
- package/cjs/float16/round.d.ts.map +1 -0
- package/cjs/float16/round.js +46 -0
- package/cjs/float16/round.js.map +1 -0
- package/cjs/float32/constants.d.ts +96 -0
- package/cjs/float32/constants.d.ts.map +1 -0
- package/cjs/float32/constants.js +98 -0
- package/cjs/float32/constants.js.map +1 -0
- package/cjs/float32/decode.d.ts +38 -0
- package/cjs/float32/decode.d.ts.map +1 -0
- package/cjs/float32/decode.js +70 -0
- package/cjs/float32/decode.js.map +1 -0
- package/cjs/float32/encode.d.ts +50 -0
- package/cjs/float32/encode.d.ts.map +1 -0
- package/cjs/float32/encode.js +77 -0
- package/cjs/float32/encode.js.map +1 -0
- package/cjs/float32/guards.d.ts +37 -0
- package/cjs/float32/guards.d.ts.map +1 -0
- package/cjs/float32/guards.js +20 -0
- package/cjs/float32/guards.js.map +1 -0
- package/cjs/float32/index.d.ts +11 -0
- package/cjs/float32/index.d.ts.map +1 -0
- package/cjs/float32/index.js +27 -0
- package/cjs/float32/index.js.map +1 -0
- package/cjs/float32/round.d.ts +23 -0
- package/cjs/float32/round.d.ts.map +1 -0
- package/cjs/float32/round.js +36 -0
- package/cjs/float32/round.js.map +1 -0
- package/cjs/floor.d.ts +10 -0
- package/cjs/floor.d.ts.map +1 -0
- package/cjs/floor.js +32 -0
- package/cjs/floor.js.map +1 -0
- package/cjs/fround.d.ts +23 -0
- package/cjs/fround.d.ts.map +1 -0
- package/cjs/fround.js +35 -0
- package/cjs/fround.js.map +1 -0
- package/cjs/guards/finite.d.ts +23 -0
- package/cjs/guards/finite.d.ts.map +1 -0
- package/cjs/guards/finite.js +21 -0
- package/cjs/guards/finite.js.map +1 -0
- package/cjs/guards/index.d.ts +50 -0
- package/cjs/guards/index.d.ts.map +1 -0
- package/cjs/guards/index.js +66 -0
- package/cjs/guards/index.js.map +1 -0
- package/cjs/guards/infinity.d.ts +3 -0
- package/cjs/guards/infinity.d.ts.map +1 -0
- package/cjs/guards/infinity.js +19 -0
- package/cjs/guards/infinity.js.map +1 -0
- package/cjs/guards/integer.d.ts +47 -0
- package/cjs/guards/integer.d.ts.map +1 -0
- package/cjs/guards/integer.js +23 -0
- package/cjs/guards/integer.js.map +1 -0
- package/cjs/guards/nan.d.ts +61 -0
- package/cjs/guards/nan.d.ts.map +1 -0
- package/cjs/guards/nan.js +68 -0
- package/cjs/guards/nan.js.map +1 -0
- package/cjs/guards/negative_infinity.d.ts +19 -0
- package/cjs/guards/negative_infinity.d.ts.map +1 -0
- package/cjs/guards/negative_infinity.js +25 -0
- package/cjs/guards/negative_infinity.js.map +1 -0
- package/cjs/guards/negative_zero.d.ts +12 -0
- package/cjs/guards/negative_zero.d.ts.map +1 -0
- package/cjs/guards/negative_zero.js +24 -0
- package/cjs/guards/negative_zero.js.map +1 -0
- package/cjs/guards/positive_infinity.d.ts +19 -0
- package/cjs/guards/positive_infinity.d.ts.map +1 -0
- package/cjs/guards/positive_infinity.js +25 -0
- package/cjs/guards/positive_infinity.js.map +1 -0
- package/cjs/guards/positive_zero.d.ts +17 -0
- package/cjs/guards/positive_zero.d.ts.map +1 -0
- package/cjs/guards/positive_zero.js +36 -0
- package/cjs/guards/positive_zero.js.map +1 -0
- package/cjs/guards/safe_integer.d.ts +33 -0
- package/cjs/guards/safe_integer.d.ts.map +1 -0
- package/cjs/guards/safe_integer.js +27 -0
- package/cjs/guards/safe_integer.js.map +1 -0
- package/cjs/hypot.d.ts +18 -0
- package/cjs/hypot.d.ts.map +1 -0
- package/cjs/hypot.js +63 -0
- package/cjs/hypot.js.map +1 -0
- package/cjs/ieee754.d.ts +16 -0
- package/cjs/ieee754.d.ts.map +1 -0
- package/cjs/ieee754.js +32 -0
- package/cjs/ieee754.js.map +1 -0
- package/cjs/imul.d.ts +17 -0
- package/cjs/imul.d.ts.map +1 -0
- package/cjs/imul.js +24 -0
- package/cjs/imul.js.map +1 -0
- package/cjs/index.d.ts +84 -0
- package/cjs/index.d.ts.map +1 -0
- package/cjs/index.js +113 -0
- package/cjs/index.js.map +1 -0
- package/cjs/internal/ieee754.d.ts +174 -0
- package/cjs/internal/ieee754.d.ts.map +1 -0
- package/cjs/internal/ieee754.js +200 -0
- package/cjs/internal/ieee754.js.map +1 -0
- package/cjs/internal/primordials.d.ts +30 -0
- package/cjs/internal/primordials.d.ts.map +1 -0
- package/cjs/internal/primordials.js +30 -0
- package/cjs/internal/primordials.js.map +1 -0
- package/cjs/log.d.ts +9 -0
- package/cjs/log.d.ts.map +1 -0
- package/cjs/log.js +46 -0
- package/cjs/log.js.map +1 -0
- package/cjs/log10.d.ts +9 -0
- package/cjs/log10.d.ts.map +1 -0
- package/cjs/log10.js +21 -0
- package/cjs/log10.js.map +1 -0
- package/cjs/log1p.d.ts +10 -0
- package/cjs/log1p.d.ts.map +1 -0
- package/cjs/log1p.js +32 -0
- package/cjs/log1p.js.map +1 -0
- package/cjs/log2.d.ts +12 -0
- package/cjs/log2.d.ts.map +1 -0
- package/cjs/log2.js +24 -0
- package/cjs/log2.js.map +1 -0
- package/cjs/max.d.ts +22 -0
- package/cjs/max.d.ts.map +1 -0
- package/cjs/max.js +51 -0
- package/cjs/max.js.map +1 -0
- package/cjs/min.d.ts +10 -0
- package/cjs/min.d.ts.map +1 -0
- package/cjs/min.js +36 -0
- package/cjs/min.js.map +1 -0
- package/cjs/package.json +3 -0
- package/cjs/pow.d.ts +31 -0
- package/cjs/pow.d.ts.map +1 -0
- package/cjs/pow.js +36 -0
- package/cjs/pow.js.map +1 -0
- package/cjs/random.d.ts +93 -0
- package/cjs/random.d.ts.map +1 -0
- package/cjs/random.js +242 -0
- package/cjs/random.js.map +1 -0
- package/cjs/round.d.ts +9 -0
- package/cjs/round.d.ts.map +1 -0
- package/cjs/round.js +24 -0
- package/cjs/round.js.map +1 -0
- package/cjs/sign.d.ts +17 -0
- package/cjs/sign.d.ts.map +1 -0
- package/cjs/sign.js +22 -0
- package/cjs/sign.js.map +1 -0
- package/cjs/sin.d.ts +14 -0
- package/cjs/sin.d.ts.map +1 -0
- package/cjs/sin.js +31 -0
- package/cjs/sin.js.map +1 -0
- package/cjs/sinh.d.ts +14 -0
- package/cjs/sinh.d.ts.map +1 -0
- package/cjs/sinh.js +22 -0
- package/cjs/sinh.js.map +1 -0
- package/cjs/sqrt.d.ts +19 -0
- package/cjs/sqrt.d.ts.map +1 -0
- package/cjs/sqrt.js +45 -0
- package/cjs/sqrt.js.map +1 -0
- package/cjs/tan.d.ts +9 -0
- package/cjs/tan.d.ts.map +1 -0
- package/cjs/tan.js +26 -0
- package/cjs/tan.js.map +1 -0
- package/cjs/tanh.d.ts +17 -0
- package/cjs/tanh.d.ts.map +1 -0
- package/cjs/tanh.js +34 -0
- package/cjs/tanh.js.map +1 -0
- package/cjs/trunc.d.ts +21 -0
- package/cjs/trunc.d.ts.map +1 -0
- package/cjs/trunc.js +50 -0
- package/cjs/trunc.js.map +1 -0
- package/cjs/types/finite.d.ts +16 -0
- package/cjs/types/finite.d.ts.map +1 -0
- package/cjs/types/finite.js +4 -0
- package/cjs/types/finite.js.map +1 -0
- package/cjs/types/float.d.ts +65 -0
- package/cjs/types/float.d.ts.map +1 -0
- package/cjs/types/float.js +4 -0
- package/cjs/types/float.js.map +1 -0
- package/cjs/types/index.d.ts +6 -0
- package/cjs/types/index.d.ts.map +1 -0
- package/cjs/types/index.js +22 -0
- package/cjs/types/index.js.map +1 -0
- package/cjs/types/integer.d.ts +147 -0
- package/cjs/types/integer.d.ts.map +1 -0
- package/cjs/types/integer.js +5 -0
- package/cjs/types/integer.js.map +1 -0
- package/cjs/types/precision.d.ts +46 -0
- package/cjs/types/precision.d.ts.map +1 -0
- package/cjs/types/precision.js +9 -0
- package/cjs/types/precision.js.map +1 -0
- package/cjs/types/safe_integer.d.ts +17 -0
- package/cjs/types/safe_integer.d.ts.map +1 -0
- package/cjs/types/safe_integer.js +5 -0
- package/cjs/types/safe_integer.js.map +1 -0
- package/esm/abs.d.ts +14 -0
- package/esm/abs.d.ts.map +1 -0
- package/esm/abs.js +19 -0
- package/esm/abs.js.map +1 -0
- package/esm/acos.d.ts +17 -0
- package/esm/acos.d.ts.map +1 -0
- package/esm/acos.js +24 -0
- package/esm/acos.js.map +1 -0
- package/esm/acosh.d.ts +11 -0
- package/esm/acosh.d.ts.map +1 -0
- package/esm/acosh.js +32 -0
- package/esm/acosh.js.map +1 -0
- package/esm/asin.d.ts +11 -0
- package/esm/asin.d.ts.map +1 -0
- package/esm/asin.js +25 -0
- package/esm/asin.js.map +1 -0
- package/esm/asinh.d.ts +9 -0
- package/esm/asinh.d.ts.map +1 -0
- package/esm/asinh.js +23 -0
- package/esm/asinh.js.map +1 -0
- package/esm/atan.d.ts +11 -0
- package/esm/atan.d.ts.map +1 -0
- package/esm/atan.js +62 -0
- package/esm/atan.js.map +1 -0
- package/esm/atan2.d.ts +12 -0
- package/esm/atan2.d.ts.map +1 -0
- package/esm/atan2.js +67 -0
- package/esm/atan2.js.map +1 -0
- package/esm/atanh.d.ts +11 -0
- package/esm/atanh.d.ts.map +1 -0
- package/esm/atanh.js +29 -0
- package/esm/atanh.js.map +1 -0
- package/esm/cbrt.d.ts +9 -0
- package/esm/cbrt.d.ts.map +1 -0
- package/esm/cbrt.js +23 -0
- package/esm/cbrt.js.map +1 -0
- package/esm/ceil.d.ts +15 -0
- package/esm/ceil.d.ts.map +1 -0
- package/esm/ceil.js +31 -0
- package/esm/ceil.js.map +1 -0
- package/esm/clamp.d.ts +15 -0
- package/esm/clamp.d.ts.map +1 -0
- package/esm/clamp.js +29 -0
- package/esm/clamp.js.map +1 -0
- package/esm/clz32.d.ts +20 -0
- package/esm/clz32.d.ts.map +1 -0
- package/esm/clz32.js +45 -0
- package/esm/clz32.js.map +1 -0
- package/esm/constants/e.d.ts +17 -0
- package/esm/constants/e.d.ts.map +1 -0
- package/esm/constants/e.js +16 -0
- package/esm/constants/e.js.map +1 -0
- package/esm/constants/epsilon.d.ts +24 -0
- package/esm/constants/epsilon.d.ts.map +1 -0
- package/esm/constants/epsilon.js +23 -0
- package/esm/constants/epsilon.js.map +1 -0
- package/esm/constants/index.d.ts +23 -0
- package/esm/constants/index.d.ts.map +1 -0
- package/esm/constants/index.js +23 -0
- package/esm/constants/index.js.map +1 -0
- package/esm/constants/infinity.d.ts +3 -0
- package/esm/constants/infinity.d.ts.map +1 -0
- package/esm/constants/infinity.js +3 -0
- package/esm/constants/infinity.js.map +1 -0
- package/esm/constants/ln10.d.ts +10 -0
- package/esm/constants/ln10.d.ts.map +1 -0
- package/esm/constants/ln10.js +9 -0
- package/esm/constants/ln10.js.map +1 -0
- package/esm/constants/ln2.d.ts +10 -0
- package/esm/constants/ln2.d.ts.map +1 -0
- package/esm/constants/ln2.js +9 -0
- package/esm/constants/ln2.js.map +1 -0
- package/esm/constants/log10e.d.ts +10 -0
- package/esm/constants/log10e.d.ts.map +1 -0
- package/esm/constants/log10e.js +9 -0
- package/esm/constants/log10e.js.map +1 -0
- package/esm/constants/log2e.d.ts +10 -0
- package/esm/constants/log2e.d.ts.map +1 -0
- package/esm/constants/log2e.js +9 -0
- package/esm/constants/log2e.js.map +1 -0
- package/esm/constants/max_safe_integer.d.ts +11 -0
- package/esm/constants/max_safe_integer.d.ts.map +1 -0
- package/esm/constants/max_safe_integer.js +10 -0
- package/esm/constants/max_safe_integer.js.map +1 -0
- package/esm/constants/max_value.d.ts +10 -0
- package/esm/constants/max_value.d.ts.map +1 -0
- package/esm/constants/max_value.js +9 -0
- package/esm/constants/max_value.js.map +1 -0
- package/esm/constants/min_safe_integer.d.ts +12 -0
- package/esm/constants/min_safe_integer.d.ts.map +1 -0
- package/esm/constants/min_safe_integer.js +11 -0
- package/esm/constants/min_safe_integer.js.map +1 -0
- package/esm/constants/min_value.d.ts +10 -0
- package/esm/constants/min_value.d.ts.map +1 -0
- package/esm/constants/min_value.js +9 -0
- package/esm/constants/min_value.js.map +1 -0
- package/esm/constants/nan.d.ts +47 -0
- package/esm/constants/nan.d.ts.map +1 -0
- package/esm/constants/nan.js +27 -0
- package/esm/constants/nan.js.map +1 -0
- package/esm/constants/negative_infinity.d.ts +28 -0
- package/esm/constants/negative_infinity.d.ts.map +1 -0
- package/esm/constants/negative_infinity.js +12 -0
- package/esm/constants/negative_infinity.js.map +1 -0
- package/esm/constants/negative_zero.d.ts +31 -0
- package/esm/constants/negative_zero.d.ts.map +1 -0
- package/esm/constants/negative_zero.js +18 -0
- package/esm/constants/negative_zero.js.map +1 -0
- package/esm/constants/pi.d.ts +10 -0
- package/esm/constants/pi.d.ts.map +1 -0
- package/esm/constants/pi.js +9 -0
- package/esm/constants/pi.js.map +1 -0
- package/esm/constants/positive_infinity.d.ts +29 -0
- package/esm/constants/positive_infinity.d.ts.map +1 -0
- package/esm/constants/positive_infinity.js +13 -0
- package/esm/constants/positive_infinity.js.map +1 -0
- package/esm/constants/positive_zero.d.ts +38 -0
- package/esm/constants/positive_zero.d.ts.map +1 -0
- package/esm/constants/positive_zero.js +33 -0
- package/esm/constants/positive_zero.js.map +1 -0
- package/esm/constants/sqrt1_2.d.ts +9 -0
- package/esm/constants/sqrt1_2.d.ts.map +1 -0
- package/esm/constants/sqrt1_2.js +8 -0
- package/esm/constants/sqrt1_2.js.map +1 -0
- package/esm/constants/sqrt2.d.ts +9 -0
- package/esm/constants/sqrt2.d.ts.map +1 -0
- package/esm/constants/sqrt2.js +8 -0
- package/esm/constants/sqrt2.js.map +1 -0
- package/esm/cos.d.ts +10 -0
- package/esm/cos.d.ts.map +1 -0
- package/esm/cos.js +29 -0
- package/esm/cos.js.map +1 -0
- package/esm/cosh.d.ts +10 -0
- package/esm/cosh.d.ts.map +1 -0
- package/esm/cosh.js +18 -0
- package/esm/cosh.js.map +1 -0
- package/esm/exp.d.ts +20 -0
- package/esm/exp.d.ts.map +1 -0
- package/esm/exp.js +45 -0
- package/esm/exp.js.map +1 -0
- package/esm/expm1.d.ts +11 -0
- package/esm/expm1.d.ts.map +1 -0
- package/esm/expm1.js +35 -0
- package/esm/expm1.js.map +1 -0
- package/esm/f16round.d.ts +24 -0
- package/esm/f16round.d.ts.map +1 -0
- package/esm/f16round.js +39 -0
- package/esm/f16round.js.map +1 -0
- package/esm/float16/constants.d.ts +97 -0
- package/esm/float16/constants.d.ts.map +1 -0
- package/esm/float16/constants.js +96 -0
- package/esm/float16/constants.js.map +1 -0
- package/esm/float16/decode.d.ts +40 -0
- package/esm/float16/decode.d.ts.map +1 -0
- package/esm/float16/decode.js +61 -0
- package/esm/float16/decode.js.map +1 -0
- package/esm/float16/encode.d.ts +67 -0
- package/esm/float16/encode.d.ts.map +1 -0
- package/esm/float16/encode.js +71 -0
- package/esm/float16/encode.js.map +1 -0
- package/esm/float16/guards.d.ts +22 -0
- package/esm/float16/guards.d.ts.map +1 -0
- package/esm/float16/guards.js +12 -0
- package/esm/float16/guards.js.map +1 -0
- package/esm/float16/index.d.ts +11 -0
- package/esm/float16/index.d.ts.map +1 -0
- package/esm/float16/index.js +11 -0
- package/esm/float16/index.js.map +1 -0
- package/esm/float16/round.d.ts +25 -0
- package/esm/float16/round.d.ts.map +1 -0
- package/esm/float16/round.js +43 -0
- package/esm/float16/round.js.map +1 -0
- package/esm/float32/constants.d.ts +96 -0
- package/esm/float32/constants.d.ts.map +1 -0
- package/esm/float32/constants.js +95 -0
- package/esm/float32/constants.js.map +1 -0
- package/esm/float32/decode.d.ts +38 -0
- package/esm/float32/decode.d.ts.map +1 -0
- package/esm/float32/decode.js +64 -0
- package/esm/float32/decode.js.map +1 -0
- package/esm/float32/encode.d.ts +50 -0
- package/esm/float32/encode.d.ts.map +1 -0
- package/esm/float32/encode.js +71 -0
- package/esm/float32/encode.js.map +1 -0
- package/esm/float32/guards.d.ts +37 -0
- package/esm/float32/guards.d.ts.map +1 -0
- package/esm/float32/guards.js +16 -0
- package/esm/float32/guards.js.map +1 -0
- package/esm/float32/index.d.ts +11 -0
- package/esm/float32/index.d.ts.map +1 -0
- package/esm/float32/index.js +11 -0
- package/esm/float32/index.js.map +1 -0
- package/esm/float32/round.d.ts +23 -0
- package/esm/float32/round.d.ts.map +1 -0
- package/esm/float32/round.js +33 -0
- package/esm/float32/round.js.map +1 -0
- package/esm/floor.d.ts +10 -0
- package/esm/floor.d.ts.map +1 -0
- package/esm/floor.js +29 -0
- package/esm/floor.js.map +1 -0
- package/esm/fround.d.ts +23 -0
- package/esm/fround.d.ts.map +1 -0
- package/esm/fround.js +32 -0
- package/esm/fround.js.map +1 -0
- package/esm/guards/finite.d.ts +23 -0
- package/esm/guards/finite.d.ts.map +1 -0
- package/esm/guards/finite.js +18 -0
- package/esm/guards/finite.js.map +1 -0
- package/esm/guards/index.d.ts +50 -0
- package/esm/guards/index.d.ts.map +1 -0
- package/esm/guards/index.js +50 -0
- package/esm/guards/index.js.map +1 -0
- package/esm/guards/infinity.d.ts +3 -0
- package/esm/guards/infinity.d.ts.map +1 -0
- package/esm/guards/infinity.js +3 -0
- package/esm/guards/infinity.js.map +1 -0
- package/esm/guards/integer.d.ts +47 -0
- package/esm/guards/integer.d.ts.map +1 -0
- package/esm/guards/integer.js +19 -0
- package/esm/guards/integer.js.map +1 -0
- package/esm/guards/nan.d.ts +61 -0
- package/esm/guards/nan.d.ts.map +1 -0
- package/esm/guards/nan.js +63 -0
- package/esm/guards/nan.js.map +1 -0
- package/esm/guards/negative_infinity.d.ts +19 -0
- package/esm/guards/negative_infinity.d.ts.map +1 -0
- package/esm/guards/negative_infinity.js +21 -0
- package/esm/guards/negative_infinity.js.map +1 -0
- package/esm/guards/negative_zero.d.ts +12 -0
- package/esm/guards/negative_zero.d.ts.map +1 -0
- package/esm/guards/negative_zero.js +20 -0
- package/esm/guards/negative_zero.js.map +1 -0
- package/esm/guards/positive_infinity.d.ts +19 -0
- package/esm/guards/positive_infinity.d.ts.map +1 -0
- package/esm/guards/positive_infinity.js +21 -0
- package/esm/guards/positive_infinity.js.map +1 -0
- package/esm/guards/positive_zero.d.ts +17 -0
- package/esm/guards/positive_zero.d.ts.map +1 -0
- package/esm/guards/positive_zero.js +19 -0
- package/esm/guards/positive_zero.js.map +1 -0
- package/esm/guards/safe_integer.d.ts +33 -0
- package/esm/guards/safe_integer.d.ts.map +1 -0
- package/esm/guards/safe_integer.js +22 -0
- package/esm/guards/safe_integer.js.map +1 -0
- package/esm/hypot.d.ts +18 -0
- package/esm/hypot.d.ts.map +1 -0
- package/esm/hypot.js +60 -0
- package/esm/hypot.js.map +1 -0
- package/esm/ieee754.d.ts +16 -0
- package/esm/ieee754.d.ts.map +1 -0
- package/esm/ieee754.js +16 -0
- package/esm/ieee754.js.map +1 -0
- package/esm/imul.d.ts +17 -0
- package/esm/imul.d.ts.map +1 -0
- package/esm/imul.js +21 -0
- package/esm/imul.js.map +1 -0
- package/esm/index.d.ts +84 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +84 -0
- package/esm/index.js.map +1 -0
- package/esm/internal/ieee754.d.ts +174 -0
- package/esm/internal/ieee754.d.ts.map +1 -0
- package/esm/internal/ieee754.js +194 -0
- package/esm/internal/ieee754.js.map +1 -0
- package/esm/internal/primordials.d.ts +30 -0
- package/esm/internal/primordials.d.ts.map +1 -0
- package/esm/internal/primordials.js +27 -0
- package/esm/internal/primordials.js.map +1 -0
- package/esm/log.d.ts +9 -0
- package/esm/log.d.ts.map +1 -0
- package/esm/log.js +43 -0
- package/esm/log.js.map +1 -0
- package/esm/log10.d.ts +9 -0
- package/esm/log10.d.ts.map +1 -0
- package/esm/log10.js +18 -0
- package/esm/log10.js.map +1 -0
- package/esm/log1p.d.ts +10 -0
- package/esm/log1p.d.ts.map +1 -0
- package/esm/log1p.js +29 -0
- package/esm/log1p.js.map +1 -0
- package/esm/log2.d.ts +12 -0
- package/esm/log2.d.ts.map +1 -0
- package/esm/log2.js +21 -0
- package/esm/log2.js.map +1 -0
- package/esm/max.d.ts +22 -0
- package/esm/max.d.ts.map +1 -0
- package/esm/max.js +48 -0
- package/esm/max.js.map +1 -0
- package/esm/min.d.ts +10 -0
- package/esm/min.d.ts.map +1 -0
- package/esm/min.js +33 -0
- package/esm/min.js.map +1 -0
- package/esm/package.json +3 -0
- package/esm/pow.d.ts +31 -0
- package/esm/pow.d.ts.map +1 -0
- package/esm/pow.js +33 -0
- package/esm/pow.js.map +1 -0
- package/esm/random.d.ts +93 -0
- package/esm/random.d.ts.map +1 -0
- package/esm/random.js +237 -0
- package/esm/random.js.map +1 -0
- package/esm/round.d.ts +9 -0
- package/esm/round.d.ts.map +1 -0
- package/esm/round.js +21 -0
- package/esm/round.js.map +1 -0
- package/esm/sign.d.ts +17 -0
- package/esm/sign.d.ts.map +1 -0
- package/esm/sign.js +19 -0
- package/esm/sign.js.map +1 -0
- package/esm/sin.d.ts +14 -0
- package/esm/sin.d.ts.map +1 -0
- package/esm/sin.js +28 -0
- package/esm/sin.js.map +1 -0
- package/esm/sinh.d.ts +14 -0
- package/esm/sinh.d.ts.map +1 -0
- package/esm/sinh.js +19 -0
- package/esm/sinh.js.map +1 -0
- package/esm/sqrt.d.ts +19 -0
- package/esm/sqrt.d.ts.map +1 -0
- package/esm/sqrt.js +42 -0
- package/esm/sqrt.js.map +1 -0
- package/esm/tan.d.ts +9 -0
- package/esm/tan.d.ts.map +1 -0
- package/esm/tan.js +23 -0
- package/esm/tan.js.map +1 -0
- package/esm/tanh.d.ts +17 -0
- package/esm/tanh.d.ts.map +1 -0
- package/esm/tanh.js +31 -0
- package/esm/tanh.js.map +1 -0
- package/esm/trunc.d.ts +21 -0
- package/esm/trunc.d.ts.map +1 -0
- package/esm/trunc.js +47 -0
- package/esm/trunc.js.map +1 -0
- package/esm/types/finite.d.ts +16 -0
- package/esm/types/finite.d.ts.map +1 -0
- package/esm/types/finite.js +3 -0
- package/esm/types/finite.js.map +1 -0
- package/esm/types/float.d.ts +65 -0
- package/esm/types/float.d.ts.map +1 -0
- package/esm/types/float.js +3 -0
- package/esm/types/float.js.map +1 -0
- package/esm/types/index.d.ts +6 -0
- package/esm/types/index.d.ts.map +1 -0
- package/esm/types/index.js +6 -0
- package/esm/types/index.js.map +1 -0
- package/esm/types/integer.d.ts +147 -0
- package/esm/types/integer.d.ts.map +1 -0
- package/esm/types/integer.js +4 -0
- package/esm/types/integer.js.map +1 -0
- package/esm/types/precision.d.ts +46 -0
- package/esm/types/precision.d.ts.map +1 -0
- package/esm/types/precision.js +8 -0
- package/esm/types/precision.js.map +1 -0
- package/esm/types/safe_integer.d.ts +17 -0
- package/esm/types/safe_integer.d.ts.map +1 -0
- package/esm/types/safe_integer.js +4 -0
- package/esm/types/safe_integer.js.map +1 -0
- package/package.json +1834 -0
- package/src/abs.ts +18 -0
- package/src/acos.ts +24 -0
- package/src/acosh.ts +28 -0
- package/src/asin.ts +24 -0
- package/src/asinh.ts +21 -0
- package/src/atan.ts +64 -0
- package/src/atan2.ts +58 -0
- package/src/atanh.ts +26 -0
- package/src/cbrt.ts +22 -0
- package/src/ceil.ts +27 -0
- package/src/clamp.ts +29 -0
- package/src/clz32.ts +45 -0
- package/src/constants/e.ts +18 -0
- package/src/constants/epsilon.ts +25 -0
- package/src/constants/index.ts +22 -0
- package/src/constants/infinity.ts +2 -0
- package/src/constants/ln10.ts +9 -0
- package/src/constants/ln2.ts +9 -0
- package/src/constants/log10e.ts +9 -0
- package/src/constants/log2e.ts +9 -0
- package/src/constants/max_safe_integer.ts +10 -0
- package/src/constants/max_value.ts +9 -0
- package/src/constants/min_safe_integer.ts +11 -0
- package/src/constants/min_value.ts +9 -0
- package/src/constants/nan.ts +57 -0
- package/src/constants/negative_infinity.ts +28 -0
- package/src/constants/negative_zero.ts +34 -0
- package/src/constants/pi.ts +9 -0
- package/src/constants/positive_infinity.ts +30 -0
- package/src/constants/positive_zero.ts +41 -0
- package/src/constants/sqrt1_2.ts +8 -0
- package/src/constants/sqrt2.ts +8 -0
- package/src/cos.ts +29 -0
- package/src/cosh.ts +18 -0
- package/src/exp.ts +45 -0
- package/src/expm1.ts +31 -0
- package/src/f16round.ts +39 -0
- package/src/float16/constants.ts +106 -0
- package/src/float16/decode.ts +61 -0
- package/src/float16/encode.ts +72 -0
- package/src/float16/guards.ts +33 -0
- package/src/float16/index.ts +10 -0
- package/src/float16/round.ts +43 -0
- package/src/float32/constants.ts +105 -0
- package/src/float32/decode.ts +64 -0
- package/src/float32/encode.ts +71 -0
- package/src/float32/guards.ts +54 -0
- package/src/float32/index.ts +10 -0
- package/src/float32/round.ts +33 -0
- package/src/floor.ts +26 -0
- package/src/fround.ts +32 -0
- package/src/guards/finite.ts +45 -0
- package/src/guards/index.ts +49 -0
- package/src/guards/infinity.ts +2 -0
- package/src/guards/integer.ts +62 -0
- package/src/guards/nan.ts +65 -0
- package/src/guards/negative_infinity.ts +22 -0
- package/src/guards/negative_zero.ts +21 -0
- package/src/guards/positive_infinity.ts +22 -0
- package/src/guards/positive_zero.ts +19 -0
- package/src/guards/safe_integer.ts +56 -0
- package/src/hypot.ts +59 -0
- package/src/ieee754.ts +15 -0
- package/src/imul.ts +21 -0
- package/src/index.ts +84 -0
- package/src/internal/ieee754.ts +255 -0
- package/src/internal/primordials.ts +33 -0
- package/src/log.ts +42 -0
- package/src/log10.ts +18 -0
- package/src/log1p.ts +26 -0
- package/src/log2.ts +21 -0
- package/src/max.ts +46 -0
- package/src/min.ts +32 -0
- package/src/pow.ts +33 -0
- package/src/random.ts +241 -0
- package/src/round.ts +20 -0
- package/src/sign.ts +19 -0
- package/src/sin.ts +29 -0
- package/src/sinh.ts +19 -0
- package/src/sqrt.ts +40 -0
- package/src/tan.ts +22 -0
- package/src/tanh.ts +28 -0
- package/src/trunc.ts +44 -0
- package/src/types/finite.ts +23 -0
- package/src/types/float.ts +74 -0
- package/src/types/index.ts +5 -0
- package/src/types/integer.ts +167 -0
- package/src/types/precision.ts +51 -0
- package/src/types/safe_integer.ts +18 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This module provides branded nominal types for signed and unsigned integers
|
|
3
|
+
* of various precisions, as well as bigints for 64-bit integers.
|
|
4
|
+
*
|
|
5
|
+
* @module types/integer
|
|
6
|
+
*/
|
|
7
|
+
import type { P32, Precision } from "./precision.js";
|
|
8
|
+
declare const Integer: unique symbol;
|
|
9
|
+
declare const Unsigned: unique symbol;
|
|
10
|
+
interface IsInt<N extends Precision = P32> {
|
|
11
|
+
readonly [Integer]: N;
|
|
12
|
+
}
|
|
13
|
+
interface IsUint<N extends Precision = P32> extends IsInt<N> {
|
|
14
|
+
readonly [Unsigned]: true;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Represents a signed/unsigned integer of a specific precision (default: 32).
|
|
18
|
+
*
|
|
19
|
+
* This type can be provided with a literal number for its first type argument,
|
|
20
|
+
* which will be checked at compile-time to ensure it is a valid integer.
|
|
21
|
+
*
|
|
22
|
+
* There is currently no realistic solution for checking that the value is
|
|
23
|
+
* within the range of the specified precision, so that part is left up to the
|
|
24
|
+
* runtime. This type will, however, brand the number with a unique symbol for
|
|
25
|
+
* the specified precision level `P`, preventing other numbers of different
|
|
26
|
+
* precisions from being assigned to the same variable/parameter.
|
|
27
|
+
*
|
|
28
|
+
* If you need to allow multiple precisions or multiple numbers, simply provide
|
|
29
|
+
* a union of the desired types to each of the type parameters.
|
|
30
|
+
*
|
|
31
|
+
* @category Types
|
|
32
|
+
* @tags integer, nominal
|
|
33
|
+
* @see {@linkcode Unsigned} for unsigned integers.
|
|
34
|
+
*/
|
|
35
|
+
export type Integer<N extends number = number, P extends Precision = P32> = number extends N ? number & IsInt<P> : `${N}` extends `${bigint}` ? N & IsInt<P> : never;
|
|
36
|
+
/**
|
|
37
|
+
* Represents an unsigned integer of a specific precision (default: 32).
|
|
38
|
+
*
|
|
39
|
+
* This type can be provided with a literal number for its first type argument,
|
|
40
|
+
* which will be checked at compile-time to ensure it is a positive integer.
|
|
41
|
+
*
|
|
42
|
+
* There is currently no realistic solution for checking that the value is
|
|
43
|
+
* within the range of the specified precision, so that part is left up to the
|
|
44
|
+
* runtime. This type will, however, brand the number with a unique symbol for
|
|
45
|
+
* the specified precision level `P`, preventing other numbers of different
|
|
46
|
+
* precisions from being assigned to the same variable/parameter.
|
|
47
|
+
*
|
|
48
|
+
* If you need to allow multiple precisions or multiple numbers, simply provide
|
|
49
|
+
* a union of the desired types to each of the type parameters.
|
|
50
|
+
*
|
|
51
|
+
* @category Types
|
|
52
|
+
* @tags integer, nominal, unsigned
|
|
53
|
+
* @see {@linkcode Integer} for signed/unsigned integers.
|
|
54
|
+
*/
|
|
55
|
+
export type Unsigned<N extends number = number, P extends Precision = P32> = number extends N ? number & IsUint<P> : `${N}` extends `${bigint}` ? `${N}` extends `-${string}` ? never : N & IsUint<P> : never;
|
|
56
|
+
/**
|
|
57
|
+
* Represents a signed/unsigned 8-bit integer. When given a number, this will
|
|
58
|
+
* verify it is an integer and brand it with the `Int8` symbol.
|
|
59
|
+
*
|
|
60
|
+
* @see {@linkcode Integer} for more information about how nominal types work.
|
|
61
|
+
* @category Types
|
|
62
|
+
* @tags integer, nominal, int8
|
|
63
|
+
*/
|
|
64
|
+
export type Int8<N extends number = number> = N & IsInt<8>;
|
|
65
|
+
/**
|
|
66
|
+
* Represents an unsigned 8-bit integer. When given a number, this will verify
|
|
67
|
+
* it is an integer and brand it with the `Uint8` symbol.
|
|
68
|
+
*
|
|
69
|
+
* @see {@linkcode Unsigned} for more information about how nominal types work.
|
|
70
|
+
* @category Types
|
|
71
|
+
* @tags integer, nominal, unsigned, uint8
|
|
72
|
+
*/
|
|
73
|
+
export type Uint8<N extends number = number> = N & IsUint<8>;
|
|
74
|
+
/**
|
|
75
|
+
* Represents a signed/unsigned 16-bit integer. When given a number, this will
|
|
76
|
+
* verify it is an integer and brand it with the `Int16` symbol.
|
|
77
|
+
*
|
|
78
|
+
* @see {@linkcode Integer} for more information about how nominal types work.
|
|
79
|
+
* @category Types
|
|
80
|
+
* @tags integer, nominal, int16
|
|
81
|
+
*/
|
|
82
|
+
export type Int16<N extends number = number> = N & IsInt<16>;
|
|
83
|
+
/**
|
|
84
|
+
* Represents an unsigned 16-bit integer. When given a number, this will verify
|
|
85
|
+
* it is an integer and brand it with the `Uint16` symbol.
|
|
86
|
+
*
|
|
87
|
+
* @see {@linkcode Unsigned} for more information about how nominal types work.
|
|
88
|
+
* @category Types
|
|
89
|
+
* @tags integer, nominal, unsigned, uint16
|
|
90
|
+
*/
|
|
91
|
+
export type Uint16<N extends number = number> = N & IsUint<16>;
|
|
92
|
+
/**
|
|
93
|
+
* Represents a signed/unsigned 32-bit integer. When given a number, this will
|
|
94
|
+
* verify it is an integer and brand it with the `Int32` symbol.
|
|
95
|
+
*
|
|
96
|
+
* @see {@linkcode Integer} for more information about how nominal types work.
|
|
97
|
+
* @category Types
|
|
98
|
+
* @tags integer, nominal, int32
|
|
99
|
+
*/
|
|
100
|
+
export type Int32<N extends number = number> = N & IsInt<32>;
|
|
101
|
+
/**
|
|
102
|
+
* Represents an unsigned 32-bit integer. When given a number, this will verify
|
|
103
|
+
* it is an integer and brand it with the `Uint32` symbol.
|
|
104
|
+
*
|
|
105
|
+
* @see {@linkcode Unsigned} for more information about how nominal types work.
|
|
106
|
+
* @category Types
|
|
107
|
+
* @tags integer, nominal, unsigned, uint32
|
|
108
|
+
*/
|
|
109
|
+
export type Uint32<N extends number = number> = N & IsUint<32>;
|
|
110
|
+
/**
|
|
111
|
+
* Represents a signed/unsigned 64-bit integer. When given a number, this will
|
|
112
|
+
* verify it is an integer and brand it with the `Int64` symbol.
|
|
113
|
+
*
|
|
114
|
+
* @see {@linkcode Integer} for more information about how nominal types work.
|
|
115
|
+
* @category Types
|
|
116
|
+
* @tags integer, nominal, int64
|
|
117
|
+
*/
|
|
118
|
+
export type Int64<N extends number = number> = N & IsInt<64>;
|
|
119
|
+
/**
|
|
120
|
+
* Represents an unsigned 64-bit integer. When given a number, this will verify
|
|
121
|
+
* it is an integer and brand it with the `Uint64` symbol.
|
|
122
|
+
*
|
|
123
|
+
* @see {@linkcode Unsigned} for more information about how nominal types work.
|
|
124
|
+
* @category Types
|
|
125
|
+
* @tags integer, nominal, unsigned, uint64
|
|
126
|
+
*/
|
|
127
|
+
export type Uint64<N extends number = number> = N & IsUint<64>;
|
|
128
|
+
/**
|
|
129
|
+
* Represents a signed/unsigned 64-bit bigint. This is like {@linkcode Int64},
|
|
130
|
+
* but for bigints instead of numbers.
|
|
131
|
+
*
|
|
132
|
+
* @see {@linkcode Integer} for more information about how nominal types work.
|
|
133
|
+
* @category Types
|
|
134
|
+
* @tags integer, bigint, nominal
|
|
135
|
+
*/
|
|
136
|
+
export type BigInt64<I extends bigint = bigint> = I & IsInt<64>;
|
|
137
|
+
/**
|
|
138
|
+
* Represents an unsigned 64-bit bigint. This is like {@linkcode Uint64}, but
|
|
139
|
+
* for bigints instead of numbers.
|
|
140
|
+
*
|
|
141
|
+
* @see {@linkcode Unsigned} for more information about how nominal types work.
|
|
142
|
+
* @category Types
|
|
143
|
+
* @tags integer, bigint, nominal, unsigned
|
|
144
|
+
*/
|
|
145
|
+
export type BigUint64<I extends bigint = bigint> = I & IsUint<64>;
|
|
146
|
+
export {};
|
|
147
|
+
//# sourceMappingURL=integer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integer.d.ts","sourceRoot":"","sources":["../../src/types/integer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAErD,QAAA,MAAM,OAAO,EAAE,OAAO,MAA0B,CAAC;AACjD,QAAA,MAAM,QAAQ,EAAE,OAAO,MAA2B,CAAC;AAEnD,UAAU,KAAK,CAAC,CAAC,SAAS,SAAS,GAAG,GAAG;IACvC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;CACvB;AAED,UAAU,MAAM,CAAC,CAAC,SAAS,SAAS,GAAG,GAAG,CAAE,SAAQ,KAAK,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,SAAS,GAAG,GAAG,IACtE,MAAM,SAAS,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAChC,GAAG,CAAC,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GACzC,KAAK,CAAC;AAEZ;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,SAAS,GAAG,GAAG,IACvE,MAAM,SAAS,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GACjC,GAAG,CAAC,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,SAAS,IAAI,MAAM,EAAE,GAAG,KAAK,GAC9D,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GACf,KAAK,CAAC;AAEZ;;;;;;;GAOG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integer.js","sourceRoot":"","sources":["../../src/types/integer.ts"],"names":[],"mappings":";;AAQA,MAAM,OAAO,GAAkB,MAAM,CAAC,SAAS,CAAC,CAAC;AACjD,MAAM,QAAQ,GAAkB,MAAM,CAAC,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This module provides type aliases for various levels of precision, for use
|
|
3
|
+
* with floating-point or integer numbers.
|
|
4
|
+
*
|
|
5
|
+
* @module precision
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Represents 8 bits of precision.
|
|
9
|
+
* @category Types
|
|
10
|
+
* @tags Precision
|
|
11
|
+
*/
|
|
12
|
+
export type P8 = 8;
|
|
13
|
+
/**
|
|
14
|
+
* Represents 16 bits of precision.
|
|
15
|
+
* @category Types
|
|
16
|
+
* @tags Precision
|
|
17
|
+
*/
|
|
18
|
+
export type P16 = 16;
|
|
19
|
+
/**
|
|
20
|
+
* Represents 32 bits of precision.
|
|
21
|
+
* @category Types
|
|
22
|
+
* @tags Precision
|
|
23
|
+
*/
|
|
24
|
+
export type P32 = 32;
|
|
25
|
+
/**
|
|
26
|
+
* Represents 64 bits of precision.
|
|
27
|
+
* @category Types
|
|
28
|
+
* @tags Precision
|
|
29
|
+
*/
|
|
30
|
+
export type P64 = 64;
|
|
31
|
+
/**
|
|
32
|
+
* Represents 8, 16, 32, or 64 bits of precision. For floating point or integer
|
|
33
|
+
* numbers.
|
|
34
|
+
*
|
|
35
|
+
* @category Types
|
|
36
|
+
* @tags Precision
|
|
37
|
+
*/
|
|
38
|
+
export type Precision = P8 | P16 | P32 | P64;
|
|
39
|
+
/**
|
|
40
|
+
* Represents 16, 32, or 64 bits of precision for floating-point numbers.
|
|
41
|
+
*
|
|
42
|
+
* @category Types
|
|
43
|
+
* @tags Precision
|
|
44
|
+
*/
|
|
45
|
+
export type FloatPrecision = P16 | P32 | P64;
|
|
46
|
+
//# sourceMappingURL=precision.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"precision.d.ts","sourceRoot":"","sources":["../../src/types/precision.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,MAAM,MAAM,EAAE,GAAG,CAAC,CAAC;AAEnB;;;;GAIG;AACH,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC;AAErB;;;;GAIG;AACH,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC;AAErB;;;;GAIG;AACH,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC;AAErB;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* This module provides type aliases for various levels of precision, for use
|
|
4
|
+
* with floating-point or integer numbers.
|
|
5
|
+
*
|
|
6
|
+
* @module precision
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
//# sourceMappingURL=precision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"precision.js","sourceRoot":"","sources":["../../src/types/precision.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
declare const Safe_Integer: unique symbol;
|
|
2
|
+
interface Safe_Integer {
|
|
3
|
+
readonly [Safe_Integer]: true;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Represents any finite integer that is within the range of `MIN_SAFE_INTEGER`
|
|
7
|
+
* (`-2^53 + 1`) and `MAX_SAFE_INTEGER` (`2^53 - 1`).
|
|
8
|
+
*
|
|
9
|
+
* This type is used by `isSafeInteger` to type-guard values as safe integers,
|
|
10
|
+
* providing an additional level of type safety for integer values.
|
|
11
|
+
*
|
|
12
|
+
* @category Types
|
|
13
|
+
* @tags Safe Integer, nominal
|
|
14
|
+
*/
|
|
15
|
+
export type SafeInteger<N extends number = number> = N & Safe_Integer;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=safe_integer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe_integer.d.ts","sourceRoot":"","sources":["../../src/types/safe_integer.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,YAAY,EAAE,OAAO,MAA8B,CAAC;AAE1D,UAAU,YAAY;IACpB,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC;CAC/B;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe_integer.js","sourceRoot":"","sources":["../../src/types/safe_integer.ts"],"names":[],"mappings":";;AAAA,kCAAkC;AAClC,MAAM,YAAY,GAAkB,MAAM,CAAC,aAAa,CAAC,CAAC"}
|
package/esm/abs.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performant local implementation of the `Math.abs` function.
|
|
3
|
+
*
|
|
4
|
+
* @module abs
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Performant local implementation of the `Math.abs` function.
|
|
8
|
+
*
|
|
9
|
+
* @param x The number to return the absolute value of (magnitude)
|
|
10
|
+
* @returns The absolute value of the provided number.
|
|
11
|
+
* @category Arithmetic
|
|
12
|
+
*/
|
|
13
|
+
export declare function abs(x: number): number;
|
|
14
|
+
//# sourceMappingURL=abs.d.ts.map
|
package/esm/abs.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abs.d.ts","sourceRoot":"","sources":["../src/abs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAIrC"}
|
package/esm/abs.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performant local implementation of the `Math.abs` function.
|
|
3
|
+
*
|
|
4
|
+
* @module abs
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Performant local implementation of the `Math.abs` function.
|
|
8
|
+
*
|
|
9
|
+
* @param x The number to return the absolute value of (magnitude)
|
|
10
|
+
* @returns The absolute value of the provided number.
|
|
11
|
+
* @category Arithmetic
|
|
12
|
+
*/
|
|
13
|
+
export function abs(x) {
|
|
14
|
+
x = +x;
|
|
15
|
+
if (x === 0)
|
|
16
|
+
return 0;
|
|
17
|
+
return x < 0 ? -x : x;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=abs.js.map
|
package/esm/abs.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abs.js","sourceRoot":"","sources":["../src/abs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAC,CAAS;IAC3B,CAAC,GAAG,CAAC,CAAC,CAAC;IACP,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC"}
|
package/esm/acos.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculates the arccosine (inverse cosine) of a number, returning a value in
|
|
3
|
+
* the range `[0, π]`.
|
|
4
|
+
*
|
|
5
|
+
* @module acos
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Calculates the arccosine (inverse cosine) of a number, returning a value in
|
|
9
|
+
* the range `[0, π]`.
|
|
10
|
+
*
|
|
11
|
+
* @param x The number whose arccosine is to be calculated (must be between -1
|
|
12
|
+
* and 1).
|
|
13
|
+
* @returns The arccosine of the provided number, in radians.
|
|
14
|
+
* @category Trigonometry
|
|
15
|
+
*/
|
|
16
|
+
export declare function acos(x: number): number;
|
|
17
|
+
//# sourceMappingURL=acos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acos.d.ts","sourceRoot":"","sources":["../src/acos.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGtC"}
|
package/esm/acos.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculates the arccosine (inverse cosine) of a number, returning a value in
|
|
3
|
+
* the range `[0, π]`.
|
|
4
|
+
*
|
|
5
|
+
* @module acos
|
|
6
|
+
*/
|
|
7
|
+
import { isNaN, NaN } from "./guards/nan.js";
|
|
8
|
+
import { atan2 } from "./atan2.js";
|
|
9
|
+
import { sqrt } from "./sqrt.js";
|
|
10
|
+
/**
|
|
11
|
+
* Calculates the arccosine (inverse cosine) of a number, returning a value in
|
|
12
|
+
* the range `[0, π]`.
|
|
13
|
+
*
|
|
14
|
+
* @param x The number whose arccosine is to be calculated (must be between -1
|
|
15
|
+
* and 1).
|
|
16
|
+
* @returns The arccosine of the provided number, in radians.
|
|
17
|
+
* @category Trigonometry
|
|
18
|
+
*/
|
|
19
|
+
export function acos(x) {
|
|
20
|
+
if (isNaN(x) || x < -1 || x > 1)
|
|
21
|
+
return NaN;
|
|
22
|
+
return atan2(sqrt(1 - x * x), x);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=acos.js.map
|
package/esm/acos.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acos.js","sourceRoot":"","sources":["../src/acos.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;;;;GAQG;AACH,MAAM,UAAU,IAAI,CAAC,CAAS;IAC5B,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC"}
|
package/esm/acosh.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculates the inverse hyperbolic cosine of a number, returning a value in
|
|
3
|
+
* the range `[0, +Infinity]`.
|
|
4
|
+
*
|
|
5
|
+
* @param x The number whose inverse hyperbolic cosine is to be calculated
|
|
6
|
+
* (must be >= 1).
|
|
7
|
+
* @returns The inverse hyperbolic cosine of the provided number.
|
|
8
|
+
* @category Trigonometry
|
|
9
|
+
*/
|
|
10
|
+
export declare function acosh(x: number): number;
|
|
11
|
+
//# sourceMappingURL=acosh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acosh.d.ts","sourceRoot":"","sources":["../src/acosh.ts"],"names":[],"mappings":"AAYA;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAMvC"}
|
package/esm/acosh.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculates the inverse hyperbolic cosine of a number, returning a value in
|
|
3
|
+
* the range `[0, +Infinity]`.
|
|
4
|
+
*
|
|
5
|
+
* @category Trigonometry
|
|
6
|
+
* @module acosh
|
|
7
|
+
*/
|
|
8
|
+
import { NAN } from "./constants/nan.js";
|
|
9
|
+
import { POSITIVE_INFINITY } from "./constants/positive_infinity.js";
|
|
10
|
+
import { log } from "./log.js";
|
|
11
|
+
import { sqrt } from "./sqrt.js";
|
|
12
|
+
/**
|
|
13
|
+
* Calculates the inverse hyperbolic cosine of a number, returning a value in
|
|
14
|
+
* the range `[0, +Infinity]`.
|
|
15
|
+
*
|
|
16
|
+
* @param x The number whose inverse hyperbolic cosine is to be calculated
|
|
17
|
+
* (must be >= 1).
|
|
18
|
+
* @returns The inverse hyperbolic cosine of the provided number.
|
|
19
|
+
* @category Trigonometry
|
|
20
|
+
*/
|
|
21
|
+
export function acosh(x) {
|
|
22
|
+
if (x !== x || x < 1)
|
|
23
|
+
return NAN;
|
|
24
|
+
if (x === 1)
|
|
25
|
+
return 0;
|
|
26
|
+
if (x === POSITIVE_INFINITY)
|
|
27
|
+
return x;
|
|
28
|
+
if (x > 1.0e+7)
|
|
29
|
+
return log(x) + Math.LN2;
|
|
30
|
+
return log(x + sqrt(x * x - 1));
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=acosh.js.map
|
package/esm/acosh.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acosh.js","sourceRoot":"","sources":["../src/acosh.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;;;;GAQG;AACH,MAAM,UAAU,KAAK,CAAC,CAAS;IAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK,iBAAiB;QAAE,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG,MAAM;QAAE,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;IACzC,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC"}
|
package/esm/asin.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculates the arcsine (inverse sine) of a number, returning a value in the
|
|
3
|
+
* range `[-π/2, π/2]`.
|
|
4
|
+
*
|
|
5
|
+
* @param x The number whose arcsine is to be calculated (must be between -1
|
|
6
|
+
* and 1).
|
|
7
|
+
* @returns The arcsine of the provided number, in radians.
|
|
8
|
+
* @category Trigonometry
|
|
9
|
+
*/
|
|
10
|
+
export declare function asin(x: number): number;
|
|
11
|
+
//# sourceMappingURL=asin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asin.d.ts","sourceRoot":"","sources":["../src/asin.ts"],"names":[],"mappings":"AAWA;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGtC"}
|
package/esm/asin.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculates the arcsine (inverse sine) of a number, returning a value in the
|
|
3
|
+
* range `[-π/2, π/2]`.
|
|
4
|
+
*
|
|
5
|
+
* @category Trigonometry
|
|
6
|
+
* @module asin
|
|
7
|
+
*/
|
|
8
|
+
import { NAN } from "./constants/nan.js";
|
|
9
|
+
import { atan2 } from "./atan2.js";
|
|
10
|
+
import { sqrt } from "./sqrt.js";
|
|
11
|
+
/**
|
|
12
|
+
* Calculates the arcsine (inverse sine) of a number, returning a value in the
|
|
13
|
+
* range `[-π/2, π/2]`.
|
|
14
|
+
*
|
|
15
|
+
* @param x The number whose arcsine is to be calculated (must be between -1
|
|
16
|
+
* and 1).
|
|
17
|
+
* @returns The arcsine of the provided number, in radians.
|
|
18
|
+
* @category Trigonometry
|
|
19
|
+
*/
|
|
20
|
+
export function asin(x) {
|
|
21
|
+
if (x !== x || x < -1 || x > 1)
|
|
22
|
+
return NAN;
|
|
23
|
+
return atan2(x, sqrt(1 - x * x));
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=asin.js.map
|
package/esm/asin.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asin.js","sourceRoot":"","sources":["../src/asin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;;;;GAQG;AACH,MAAM,UAAU,IAAI,CAAC,CAAS;IAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAC3C,OAAO,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC"}
|
package/esm/asinh.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculates the inverse hyperbolic sine of a number.
|
|
3
|
+
*
|
|
4
|
+
* @param x The number whose inverse hyperbolic sine is to be calculated.
|
|
5
|
+
* @returns The inverse hyperbolic sine of the provided number.
|
|
6
|
+
* @category Trigonometry
|
|
7
|
+
*/
|
|
8
|
+
export declare function asinh(x: number): number;
|
|
9
|
+
//# sourceMappingURL=asinh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asinh.d.ts","sourceRoot":"","sources":["../src/asinh.ts"],"names":[],"mappings":"AASA;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAIvC"}
|
package/esm/asinh.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculates the inverse hyperbolic sine of a number.
|
|
3
|
+
*
|
|
4
|
+
* @module asinh
|
|
5
|
+
*/
|
|
6
|
+
import { isFinite } from "./guards/finite.js";
|
|
7
|
+
import { log } from "./log.js";
|
|
8
|
+
import { sqrt } from "./sqrt.js";
|
|
9
|
+
/**
|
|
10
|
+
* Calculates the inverse hyperbolic sine of a number.
|
|
11
|
+
*
|
|
12
|
+
* @param x The number whose inverse hyperbolic sine is to be calculated.
|
|
13
|
+
* @returns The inverse hyperbolic sine of the provided number.
|
|
14
|
+
* @category Trigonometry
|
|
15
|
+
*/
|
|
16
|
+
export function asinh(x) {
|
|
17
|
+
if (x === 0)
|
|
18
|
+
return x;
|
|
19
|
+
if (!isFinite(x))
|
|
20
|
+
return x;
|
|
21
|
+
return log(x + sqrt(x * x + 1));
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=asinh.js.map
|
package/esm/asinh.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asinh.js","sourceRoot":"","sources":["../src/asinh.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,CAAS;IAC7B,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAC3B,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC"}
|
package/esm/atan.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculates the arctangent (inverse tangent) of a number, returning a value
|
|
3
|
+
* in the range `[-π/2, π/2]`.
|
|
4
|
+
*
|
|
5
|
+
* @param x The number whose arctangent is to be calculated.
|
|
6
|
+
* @returns The arctangent of the provided number, in radians.
|
|
7
|
+
* @category Trigonometry
|
|
8
|
+
* @tags tangent, arctangent
|
|
9
|
+
*/
|
|
10
|
+
export declare function atan(x: number): number;
|
|
11
|
+
//# sourceMappingURL=atan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atan.d.ts","sourceRoot":"","sources":["../src/atan.ts"],"names":[],"mappings":"AAaA;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAyCtC"}
|
package/esm/atan.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculates the arctangent (inverse tangent) of a number, returning a value
|
|
3
|
+
* in the range `[-π/2, π/2]`.
|
|
4
|
+
*
|
|
5
|
+
* @module atan
|
|
6
|
+
*/
|
|
7
|
+
import { abs } from "./abs.js";
|
|
8
|
+
import { NAN } from "./constants/nan.js";
|
|
9
|
+
import { PI } from "./constants/pi.js";
|
|
10
|
+
import { POSITIVE_INFINITY } from "./constants/positive_infinity.js";
|
|
11
|
+
import { NEGATIVE_INFINITY } from "./constants/negative_infinity.js";
|
|
12
|
+
import { EPSILON } from "./constants/epsilon.js";
|
|
13
|
+
/**
|
|
14
|
+
* Calculates the arctangent (inverse tangent) of a number, returning a value
|
|
15
|
+
* in the range `[-π/2, π/2]`.
|
|
16
|
+
*
|
|
17
|
+
* @param x The number whose arctangent is to be calculated.
|
|
18
|
+
* @returns The arctangent of the provided number, in radians.
|
|
19
|
+
* @category Trigonometry
|
|
20
|
+
* @tags tangent, arctangent
|
|
21
|
+
*/
|
|
22
|
+
export function atan(x) {
|
|
23
|
+
const PI_OVER_2 = PI / 2, PI_OVER_4 = PI / 4;
|
|
24
|
+
if (isNaN(x))
|
|
25
|
+
return NAN;
|
|
26
|
+
if (x === POSITIVE_INFINITY)
|
|
27
|
+
return PI_OVER_2;
|
|
28
|
+
if (x === NEGATIVE_INFINITY)
|
|
29
|
+
return -PI_OVER_2;
|
|
30
|
+
if (x === 0)
|
|
31
|
+
return x; // Preserve -0
|
|
32
|
+
if (x < 0)
|
|
33
|
+
return -atan(-x);
|
|
34
|
+
// for large x, use the identity: arctan(x) = π/2 - arctan(1/x)
|
|
35
|
+
if (x > 1)
|
|
36
|
+
return PI_OVER_2 - atan(1 / x);
|
|
37
|
+
// for x near 1, use an alternative series expansion
|
|
38
|
+
if (x > 0.5) {
|
|
39
|
+
const a = (x - 1) / (x + 1), a2 = a * a;
|
|
40
|
+
let term = a, sum = term, n = 1;
|
|
41
|
+
// Use a convergence threshold appropriate for double-precision
|
|
42
|
+
// floating-point numbers
|
|
43
|
+
const MAX_ITERATIONS = 1000;
|
|
44
|
+
while (abs(term) > EPSILON && n < MAX_ITERATIONS) {
|
|
45
|
+
term *= -a2;
|
|
46
|
+
sum += term / (2 * n + 1);
|
|
47
|
+
n++;
|
|
48
|
+
}
|
|
49
|
+
return PI_OVER_4 + sum;
|
|
50
|
+
}
|
|
51
|
+
// for x <= 0.5, use the standard Taylor series expansion
|
|
52
|
+
const x2 = x * x;
|
|
53
|
+
let term = x, sum = x, n = 1;
|
|
54
|
+
const MAX_ITERATIONS = 1e5;
|
|
55
|
+
while (abs(term) > EPSILON && n < MAX_ITERATIONS) {
|
|
56
|
+
term *= -x2;
|
|
57
|
+
sum += term / (2 * n + 1);
|
|
58
|
+
n++;
|
|
59
|
+
}
|
|
60
|
+
return sum;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=atan.js.map
|
package/esm/atan.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atan.js","sourceRoot":"","sources":["../src/atan.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD;;;;;;;;GAQG;AACH,MAAM,UAAU,IAAI,CAAC,CAAS;IAC5B,MAAM,SAAS,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC;IAE7C,IAAI,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IACzB,IAAI,CAAC,KAAK,iBAAiB;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,CAAC,KAAK,iBAAiB;QAAE,OAAO,CAAC,SAAS,CAAC;IAC/C,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC,cAAc;IACrC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5B,+DAA+D;IAC/D,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAE1C,oDAAoD;IACpD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACZ,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;QAEhC,+DAA+D;QAC/D,yBAAyB;QACzB,MAAM,cAAc,GAAG,IAAI,CAAC;QAC5B,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,cAAc,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,EAAE,CAAC;YACZ,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,CAAC,EAAE,CAAC;QACN,CAAC;QAED,OAAO,SAAS,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,yDAAyD;IACzD,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,IAAI,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAE7B,MAAM,cAAc,GAAG,GAAG,CAAC;IAC3B,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,cAAc,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,EAAE,CAAC;QACZ,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,CAAC,EAAE,CAAC;IACN,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/esm/atan2.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculates the arctangent of the quotient of its arguments, `y / x`,
|
|
3
|
+
* returning a value in the range `(-π, π]`.
|
|
4
|
+
*
|
|
5
|
+
* @param y The ordinate coordinate.
|
|
6
|
+
* @param x The abscissa coordinate.
|
|
7
|
+
* @returns The angle between the positive x-axis and point (x, y), in radians.
|
|
8
|
+
* @category Trigonometry
|
|
9
|
+
* @tags angle, arctangent
|
|
10
|
+
*/
|
|
11
|
+
export declare function atan2(y: number, x: number): number;
|
|
12
|
+
//# sourceMappingURL=atan2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atan2.d.ts","sourceRoot":"","sources":["../src/atan2.ts"],"names":[],"mappings":"AAgBA;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA+BlD"}
|