uom-types 5.0.1 → 5.1.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/CHANGELOG.md +7 -0
- package/dist/chunks/B2m_qd8-.mjs +252 -0
- package/dist/chunks/Cm6vkgfO.cjs +289 -0
- package/dist/chunks/nRDIxMhl.mjs +483 -0
- package/dist/chunks/ph65nozB.cjs +564 -0
- package/dist/converters.cjs +87 -0
- package/dist/converters.d.cts +569 -0
- package/dist/converters.d.mts +569 -0
- package/dist/converters.mjs +2 -0
- package/dist/index.cjs +118 -844
- package/dist/index.d.cts +72 -72
- package/dist/index.d.mts +72 -72
- package/dist/index.mjs +2 -732
- package/dist/math.cjs +42 -0
- package/dist/math.d.cts +458 -0
- package/dist/math.d.mts +458 -0
- package/dist/math.mjs +1 -0
- package/dist/types.d.cts +247 -0
- package/dist/types.d.mts +247 -0
- package/dist/units.d.cts +3603 -0
- package/dist/units.d.mts +3603 -0
- package/package.json +92 -71
package/dist/math.cjs
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = /*@__PURE__*/require('./chunks/Cm6vkgfO.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
exports.abs = /*@__PURE__*/(()=>(index.abs))();
|
|
8
|
+
exports.acos = /*@__PURE__*/(()=>(index.acos))();
|
|
9
|
+
exports.acosh = /*@__PURE__*/(()=>(index.acosh))();
|
|
10
|
+
exports.add = /*@__PURE__*/(()=>(index.add))();
|
|
11
|
+
exports.asin = /*@__PURE__*/(()=>(index.asin))();
|
|
12
|
+
exports.asinh = /*@__PURE__*/(()=>(index.asinh))();
|
|
13
|
+
exports.atan = /*@__PURE__*/(()=>(index.atan))();
|
|
14
|
+
exports.atan2 = /*@__PURE__*/(()=>(index.atan2))();
|
|
15
|
+
exports.atanh = /*@__PURE__*/(()=>(index.atanh))();
|
|
16
|
+
exports.ceil = /*@__PURE__*/(()=>(index.ceil))();
|
|
17
|
+
exports.cos = /*@__PURE__*/(()=>(index.cos))();
|
|
18
|
+
exports.cosh = /*@__PURE__*/(()=>(index.cosh))();
|
|
19
|
+
exports.div = /*@__PURE__*/(()=>(index.div))();
|
|
20
|
+
exports.eq = /*@__PURE__*/(()=>(index.eq))();
|
|
21
|
+
exports.floor = /*@__PURE__*/(()=>(index.floor))();
|
|
22
|
+
exports.gt = /*@__PURE__*/(()=>(index.gt))();
|
|
23
|
+
exports.gte = /*@__PURE__*/(()=>(index.gte))();
|
|
24
|
+
exports.inverse = /*@__PURE__*/(()=>(index.inverse))();
|
|
25
|
+
exports.lt = /*@__PURE__*/(()=>(index.lt))();
|
|
26
|
+
exports.lte = /*@__PURE__*/(()=>(index.lte))();
|
|
27
|
+
exports.max = /*@__PURE__*/(()=>(index.max))();
|
|
28
|
+
exports.min = /*@__PURE__*/(()=>(index.min))();
|
|
29
|
+
exports.mod = /*@__PURE__*/(()=>(index.mod))();
|
|
30
|
+
exports.modSafe = /*@__PURE__*/(()=>(index.modSafe))();
|
|
31
|
+
exports.mul = /*@__PURE__*/(()=>(index.mul))();
|
|
32
|
+
exports.negate = /*@__PURE__*/(()=>(index.negate))();
|
|
33
|
+
exports.pow = /*@__PURE__*/(()=>(index.pow))();
|
|
34
|
+
exports.root = /*@__PURE__*/(()=>(index.root))();
|
|
35
|
+
exports.round = /*@__PURE__*/(()=>(index.round))();
|
|
36
|
+
exports.sin = /*@__PURE__*/(()=>(index.sin))();
|
|
37
|
+
exports.sinh = /*@__PURE__*/(()=>(index.sinh))();
|
|
38
|
+
exports.sqrt = /*@__PURE__*/(()=>(index.sqrt))();
|
|
39
|
+
exports.sub = /*@__PURE__*/(()=>(index.sub))();
|
|
40
|
+
exports.sum = /*@__PURE__*/(()=>(index.sum))();
|
|
41
|
+
exports.tan = /*@__PURE__*/(()=>(index.tan))();
|
|
42
|
+
exports.tanh = /*@__PURE__*/(()=>(index.tanh))();
|
package/dist/math.d.cts
ADDED
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
// Generated by dts-bundle-generator v9.5.1
|
|
2
|
+
|
|
3
|
+
type PosExponent = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
|
|
4
|
+
type NegExponent = -1 | -2 | -3 | -4 | -5 | -6 | -7 | -8 | -9 | -10 | -11 | -12;
|
|
5
|
+
type Exponent = 0 | PosExponent | NegExponent;
|
|
6
|
+
type SumExponents<A extends Exponent, B extends Exponent> = A extends 0 ? B extends 0 ? 0 : B extends 1 ? 1 : B extends -1 ? -1 : B extends 2 ? 2 : B extends -2 ? -2 : B extends 3 ? 3 : B extends -3 ? -3 : B extends 4 ? 4 : B extends -4 ? -4 : B extends 5 ? 5 : B extends -5 ? -5 : B extends 6 ? 6 : B extends -6 ? -6 : B extends 7 ? 7 : B extends -7 ? -7 : B extends 8 ? 8 : B extends -8 ? -8 : B extends 9 ? 9 : B extends -9 ? -9 : B extends 10 ? 10 : B extends -10 ? -10 : B extends 11 ? 11 : B extends -11 ? -11 : B extends 12 ? 12 : B extends -12 ? -12 : never : A extends 1 ? B extends 0 ? 1 : B extends 1 ? 2 : B extends -1 ? 0 : B extends 2 ? 3 : B extends -2 ? -1 : B extends 3 ? 4 : B extends -3 ? -2 : B extends 4 ? 5 : B extends -4 ? -3 : B extends 5 ? 6 : B extends -5 ? -4 : B extends 6 ? 7 : B extends -6 ? -5 : B extends 7 ? 8 : B extends -7 ? -6 : B extends 8 ? 9 : B extends -8 ? -7 : B extends 9 ? 10 : B extends -9 ? -8 : B extends 10 ? 11 : B extends -10 ? -9 : B extends 11 ? 12 : B extends -11 ? -10 : B extends -12 ? -11 : never : A extends -1 ? B extends 0 ? -1 : B extends 1 ? 0 : B extends -1 ? -2 : B extends 2 ? 1 : B extends -2 ? -3 : B extends 3 ? 2 : B extends -3 ? -4 : B extends 4 ? 3 : B extends -4 ? -5 : B extends 5 ? 4 : B extends -5 ? -6 : B extends 6 ? 5 : B extends -6 ? -7 : B extends 7 ? 6 : B extends -7 ? -8 : B extends 8 ? 7 : B extends -8 ? -9 : B extends 9 ? 8 : B extends -9 ? -10 : B extends 10 ? 9 : B extends -10 ? -11 : B extends 11 ? 10 : B extends -11 ? -12 : B extends 12 ? 11 : never : A extends 2 ? B extends 0 ? 2 : B extends 1 ? 3 : B extends -1 ? 1 : B extends 2 ? 4 : B extends -2 ? 0 : B extends 3 ? 5 : B extends -3 ? -1 : B extends 4 ? 6 : B extends -4 ? -2 : B extends 5 ? 7 : B extends -5 ? -3 : B extends 6 ? 8 : B extends -6 ? -4 : B extends 7 ? 9 : B extends -7 ? -5 : B extends 8 ? 10 : B extends -8 ? -6 : B extends 9 ? 11 : B extends -9 ? -7 : B extends 10 ? 12 : B extends -10 ? -8 : B extends -11 ? -9 : B extends -12 ? -10 : never : A extends -2 ? B extends 0 ? -2 : B extends 1 ? -1 : B extends -1 ? -3 : B extends 2 ? 0 : B extends -2 ? -4 : B extends 3 ? 1 : B extends -3 ? -5 : B extends 4 ? 2 : B extends -4 ? -6 : B extends 5 ? 3 : B extends -5 ? -7 : B extends 6 ? 4 : B extends -6 ? -8 : B extends 7 ? 5 : B extends -7 ? -9 : B extends 8 ? 6 : B extends -8 ? -10 : B extends 9 ? 7 : B extends -9 ? -11 : B extends 10 ? 8 : B extends -10 ? -12 : B extends 11 ? 9 : B extends 12 ? 10 : never : A extends 3 ? B extends 0 ? 3 : B extends 1 ? 4 : B extends -1 ? 2 : B extends 2 ? 5 : B extends -2 ? 1 : B extends 3 ? 6 : B extends -3 ? 0 : B extends 4 ? 7 : B extends -4 ? -1 : B extends 5 ? 8 : B extends -5 ? -2 : B extends 6 ? 9 : B extends -6 ? -3 : B extends 7 ? 10 : B extends -7 ? -4 : B extends 8 ? 11 : B extends -8 ? -5 : B extends 9 ? 12 : B extends -9 ? -6 : B extends -10 ? -7 : B extends -11 ? -8 : B extends -12 ? -9 : never : A extends -3 ? B extends 0 ? -3 : B extends 1 ? -2 : B extends -1 ? -4 : B extends 2 ? -1 : B extends -2 ? -5 : B extends 3 ? 0 : B extends -3 ? -6 : B extends 4 ? 1 : B extends -4 ? -7 : B extends 5 ? 2 : B extends -5 ? -8 : B extends 6 ? 3 : B extends -6 ? -9 : B extends 7 ? 4 : B extends -7 ? -10 : B extends 8 ? 5 : B extends -8 ? -11 : B extends 9 ? 6 : B extends -9 ? -12 : B extends 10 ? 7 : B extends 11 ? 8 : B extends 12 ? 9 : never : A extends 4 ? B extends 0 ? 4 : B extends 1 ? 5 : B extends -1 ? 3 : B extends 2 ? 6 : B extends -2 ? 2 : B extends 3 ? 7 : B extends -3 ? 1 : B extends 4 ? 8 : B extends -4 ? 0 : B extends 5 ? 9 : B extends -5 ? -1 : B extends 6 ? 10 : B extends -6 ? -2 : B extends 7 ? 11 : B extends -7 ? -3 : B extends 8 ? 12 : B extends -8 ? -4 : B extends -9 ? -5 : B extends -10 ? -6 : B extends -11 ? -7 : B extends -12 ? -8 : never : A extends -4 ? B extends 0 ? -4 : B extends 1 ? -3 : B extends -1 ? -5 : B extends 2 ? -2 : B extends -2 ? -6 : B extends 3 ? -1 : B extends -3 ? -7 : B extends 4 ? 0 : B extends -4 ? -8 : B extends 5 ? 1 : B extends -5 ? -9 : B extends 6 ? 2 : B extends -6 ? -10 : B extends 7 ? 3 : B extends -7 ? -11 : B extends 8 ? 4 : B extends -8 ? -12 : B extends 9 ? 5 : B extends 10 ? 6 : B extends 11 ? 7 : B extends 12 ? 8 : never : A extends 5 ? B extends 0 ? 5 : B extends 1 ? 6 : B extends -1 ? 4 : B extends 2 ? 7 : B extends -2 ? 3 : B extends 3 ? 8 : B extends -3 ? 2 : B extends 4 ? 9 : B extends -4 ? 1 : B extends 5 ? 10 : B extends -5 ? 0 : B extends 6 ? 11 : B extends -6 ? -1 : B extends 7 ? 12 : B extends -7 ? -2 : B extends -8 ? -3 : B extends -9 ? -4 : B extends -10 ? -5 : B extends -11 ? -6 : B extends -12 ? -7 : never : A extends -5 ? B extends 0 ? -5 : B extends 1 ? -4 : B extends -1 ? -6 : B extends 2 ? -3 : B extends -2 ? -7 : B extends 3 ? -2 : B extends -3 ? -8 : B extends 4 ? -1 : B extends -4 ? -9 : B extends 5 ? 0 : B extends -5 ? -10 : B extends 6 ? 1 : B extends -6 ? -11 : B extends 7 ? 2 : B extends -7 ? -12 : B extends 8 ? 3 : B extends 9 ? 4 : B extends 10 ? 5 : B extends 11 ? 6 : B extends 12 ? 7 : never : A extends 6 ? B extends 0 ? 6 : B extends 1 ? 7 : B extends -1 ? 5 : B extends 2 ? 8 : B extends -2 ? 4 : B extends 3 ? 9 : B extends -3 ? 3 : B extends 4 ? 10 : B extends -4 ? 2 : B extends 5 ? 11 : B extends -5 ? 1 : B extends 6 ? 12 : B extends -6 ? 0 : B extends -7 ? -1 : B extends -8 ? -2 : B extends -9 ? -3 : B extends -10 ? -4 : B extends -11 ? -5 : B extends -12 ? -6 : never : A extends -6 ? B extends 0 ? -6 : B extends 1 ? -5 : B extends -1 ? -7 : B extends 2 ? -4 : B extends -2 ? -8 : B extends 3 ? -3 : B extends -3 ? -9 : B extends 4 ? -2 : B extends -4 ? -10 : B extends 5 ? -1 : B extends -5 ? -11 : B extends 6 ? 0 : B extends -6 ? -12 : B extends 7 ? 1 : B extends 8 ? 2 : B extends 9 ? 3 : B extends 10 ? 4 : B extends 11 ? 5 : B extends 12 ? 6 : never : A extends 7 ? B extends 0 ? 7 : B extends 1 ? 8 : B extends -1 ? 6 : B extends 2 ? 9 : B extends -2 ? 5 : B extends 3 ? 10 : B extends -3 ? 4 : B extends 4 ? 11 : B extends -4 ? 3 : B extends 5 ? 12 : B extends -5 ? 2 : B extends -6 ? 1 : B extends -7 ? 0 : B extends -8 ? -1 : B extends -9 ? -2 : B extends -10 ? -3 : B extends -11 ? -4 : B extends -12 ? -5 : never : A extends -7 ? B extends 0 ? -7 : B extends 1 ? -6 : B extends -1 ? -8 : B extends 2 ? -5 : B extends -2 ? -9 : B extends 3 ? -4 : B extends -3 ? -10 : B extends 4 ? -3 : B extends -4 ? -11 : B extends 5 ? -2 : B extends -5 ? -12 : B extends 6 ? -1 : B extends 7 ? 0 : B extends 8 ? 1 : B extends 9 ? 2 : B extends 10 ? 3 : B extends 11 ? 4 : B extends 12 ? 5 : never : A extends 8 ? B extends 0 ? 8 : B extends 1 ? 9 : B extends -1 ? 7 : B extends 2 ? 10 : B extends -2 ? 6 : B extends 3 ? 11 : B extends -3 ? 5 : B extends 4 ? 12 : B extends -4 ? 4 : B extends -5 ? 3 : B extends -6 ? 2 : B extends -7 ? 1 : B extends -8 ? 0 : B extends -9 ? -1 : B extends -10 ? -2 : B extends -11 ? -3 : B extends -12 ? -4 : never : A extends -8 ? B extends 0 ? -8 : B extends 1 ? -7 : B extends -1 ? -9 : B extends 2 ? -6 : B extends -2 ? -10 : B extends 3 ? -5 : B extends -3 ? -11 : B extends 4 ? -4 : B extends -4 ? -12 : B extends 5 ? -3 : B extends 6 ? -2 : B extends 7 ? -1 : B extends 8 ? 0 : B extends 9 ? 1 : B extends 10 ? 2 : B extends 11 ? 3 : B extends 12 ? 4 : never : A extends 9 ? B extends 0 ? 9 : B extends 1 ? 10 : B extends -1 ? 8 : B extends 2 ? 11 : B extends -2 ? 7 : B extends 3 ? 12 : B extends -3 ? 6 : B extends -4 ? 5 : B extends -5 ? 4 : B extends -6 ? 3 : B extends -7 ? 2 : B extends -8 ? 1 : B extends -9 ? 0 : B extends -10 ? -1 : B extends -11 ? -2 : B extends -12 ? -3 : never : A extends -9 ? B extends 0 ? -9 : B extends 1 ? -8 : B extends -1 ? -10 : B extends 2 ? -7 : B extends -2 ? -11 : B extends 3 ? -6 : B extends -3 ? -12 : B extends 4 ? -5 : B extends 5 ? -4 : B extends 6 ? -3 : B extends 7 ? -2 : B extends 8 ? -1 : B extends 9 ? 0 : B extends 10 ? 1 : B extends 11 ? 2 : B extends 12 ? 3 : never : A extends 10 ? B extends 0 ? 10 : B extends 1 ? 11 : B extends -1 ? 9 : B extends 2 ? 12 : B extends -2 ? 8 : B extends -3 ? 7 : B extends -4 ? 6 : B extends -5 ? 5 : B extends -6 ? 4 : B extends -7 ? 3 : B extends -8 ? 2 : B extends -9 ? 1 : B extends -10 ? 0 : B extends -11 ? -1 : B extends -12 ? -2 : never : A extends -10 ? B extends 0 ? -10 : B extends 1 ? -9 : B extends -1 ? -11 : B extends 2 ? -8 : B extends -2 ? -12 : B extends 3 ? -7 : B extends 4 ? -6 : B extends 5 ? -5 : B extends 6 ? -4 : B extends 7 ? -3 : B extends 8 ? -2 : B extends 9 ? -1 : B extends 10 ? 0 : B extends 11 ? 1 : B extends 12 ? 2 : never : A extends 11 ? B extends 0 ? 11 : B extends 1 ? 12 : B extends -1 ? 10 : B extends -2 ? 9 : B extends -3 ? 8 : B extends -4 ? 7 : B extends -5 ? 6 : B extends -6 ? 5 : B extends -7 ? 4 : B extends -8 ? 3 : B extends -9 ? 2 : B extends -10 ? 1 : B extends -11 ? 0 : B extends -12 ? -1 : never : A extends -11 ? B extends 0 ? -11 : B extends 1 ? -10 : B extends -1 ? -12 : B extends 2 ? -9 : B extends 3 ? -8 : B extends 4 ? -7 : B extends 5 ? -6 : B extends 6 ? -5 : B extends 7 ? -4 : B extends 8 ? -3 : B extends 9 ? -2 : B extends 10 ? -1 : B extends 11 ? 0 : B extends 12 ? 1 : never : A extends 12 ? B extends 0 ? 12 : B extends -1 ? 11 : B extends -2 ? 10 : B extends -3 ? 9 : B extends -4 ? 8 : B extends -5 ? 7 : B extends -6 ? 6 : B extends -7 ? 5 : B extends -8 ? 4 : B extends -9 ? 3 : B extends -10 ? 2 : B extends -11 ? 1 : B extends -12 ? 0 : never : A extends -12 ? B extends 0 ? -12 : B extends 1 ? -11 : B extends 2 ? -10 : B extends 3 ? -9 : B extends 4 ? -8 : B extends 5 ? -7 : B extends 6 ? -6 : B extends 7 ? -5 : B extends 8 ? -4 : B extends 9 ? -3 : B extends 10 ? -2 : B extends 11 ? -1 : B extends 12 ? 0 : never : never;
|
|
7
|
+
type MultiplyExponents<A extends Exponent, B extends Exponent> = A extends 0 ? B extends 0 ? 0 : B extends 1 ? 0 : B extends -1 ? 0 : B extends 2 ? 0 : B extends -2 ? 0 : B extends 3 ? 0 : B extends -3 ? 0 : B extends 4 ? 0 : B extends -4 ? 0 : B extends 5 ? 0 : B extends -5 ? 0 : B extends 6 ? 0 : B extends -6 ? 0 : B extends 7 ? 0 : B extends -7 ? 0 : B extends 8 ? 0 : B extends -8 ? 0 : B extends 9 ? 0 : B extends -9 ? 0 : B extends 10 ? 0 : B extends -10 ? 0 : B extends 11 ? 0 : B extends -11 ? 0 : B extends 12 ? 0 : B extends -12 ? 0 : never : A extends 1 ? B extends 0 ? 0 : B extends 1 ? 1 : B extends -1 ? -1 : B extends 2 ? 2 : B extends -2 ? -2 : B extends 3 ? 3 : B extends -3 ? -3 : B extends 4 ? 4 : B extends -4 ? -4 : B extends 5 ? 5 : B extends -5 ? -5 : B extends 6 ? 6 : B extends -6 ? -6 : B extends 7 ? 7 : B extends -7 ? -7 : B extends 8 ? 8 : B extends -8 ? -8 : B extends 9 ? 9 : B extends -9 ? -9 : B extends 10 ? 10 : B extends -10 ? -10 : B extends 11 ? 11 : B extends -11 ? -11 : B extends 12 ? 12 : B extends -12 ? -12 : never : A extends -1 ? B extends 0 ? 0 : B extends 1 ? -1 : B extends -1 ? 1 : B extends 2 ? -2 : B extends -2 ? 2 : B extends 3 ? -3 : B extends -3 ? 3 : B extends 4 ? -4 : B extends -4 ? 4 : B extends 5 ? -5 : B extends -5 ? 5 : B extends 6 ? -6 : B extends -6 ? 6 : B extends 7 ? -7 : B extends -7 ? 7 : B extends 8 ? -8 : B extends -8 ? 8 : B extends 9 ? -9 : B extends -9 ? 9 : B extends 10 ? -10 : B extends -10 ? 10 : B extends 11 ? -11 : B extends -11 ? 11 : B extends 12 ? -12 : B extends -12 ? 12 : never : A extends 2 ? B extends 0 ? 0 : B extends 1 ? 2 : B extends -1 ? -2 : B extends 2 ? 4 : B extends -2 ? -4 : B extends 3 ? 6 : B extends -3 ? -6 : B extends 4 ? 8 : B extends -4 ? -8 : B extends 5 ? 10 : B extends -5 ? -10 : B extends 6 ? 12 : B extends -6 ? -12 : never : A extends -2 ? B extends 0 ? 0 : B extends 1 ? -2 : B extends -1 ? 2 : B extends 2 ? -4 : B extends -2 ? 4 : B extends 3 ? -6 : B extends -3 ? 6 : B extends 4 ? -8 : B extends -4 ? 8 : B extends 5 ? -10 : B extends -5 ? 10 : B extends 6 ? -12 : B extends -6 ? 12 : never : A extends 3 ? B extends 0 ? 0 : B extends 1 ? 3 : B extends -1 ? -3 : B extends 2 ? 6 : B extends -2 ? -6 : B extends 3 ? 9 : B extends -3 ? -9 : B extends 4 ? 12 : B extends -4 ? -12 : never : A extends -3 ? B extends 0 ? 0 : B extends 1 ? -3 : B extends -1 ? 3 : B extends 2 ? -6 : B extends -2 ? 6 : B extends 3 ? -9 : B extends -3 ? 9 : B extends 4 ? -12 : B extends -4 ? 12 : never : A extends 4 ? B extends 0 ? 0 : B extends 1 ? 4 : B extends -1 ? -4 : B extends 2 ? 8 : B extends -2 ? -8 : B extends 3 ? 12 : B extends -3 ? -12 : never : A extends -4 ? B extends 0 ? 0 : B extends 1 ? -4 : B extends -1 ? 4 : B extends 2 ? -8 : B extends -2 ? 8 : B extends 3 ? -12 : B extends -3 ? 12 : never : A extends 5 ? B extends 0 ? 0 : B extends 1 ? 5 : B extends -1 ? -5 : B extends 2 ? 10 : B extends -2 ? -10 : never : A extends -5 ? B extends 0 ? 0 : B extends 1 ? -5 : B extends -1 ? 5 : B extends 2 ? -10 : B extends -2 ? 10 : never : A extends 6 ? B extends 0 ? 0 : B extends 1 ? 6 : B extends -1 ? -6 : B extends 2 ? 12 : B extends -2 ? -12 : never : A extends -6 ? B extends 0 ? 0 : B extends 1 ? -6 : B extends -1 ? 6 : B extends 2 ? -12 : B extends -2 ? 12 : never : A extends 7 ? B extends 0 ? 0 : B extends 1 ? 7 : B extends -1 ? -7 : never : A extends -7 ? B extends 0 ? 0 : B extends 1 ? -7 : B extends -1 ? 7 : never : A extends 8 ? B extends 0 ? 0 : B extends 1 ? 8 : B extends -1 ? -8 : never : A extends -8 ? B extends 0 ? 0 : B extends 1 ? -8 : B extends -1 ? 8 : never : A extends 9 ? B extends 0 ? 0 : B extends 1 ? 9 : B extends -1 ? -9 : never : A extends -9 ? B extends 0 ? 0 : B extends 1 ? -9 : B extends -1 ? 9 : never : A extends 10 ? B extends 0 ? 0 : B extends 1 ? 10 : B extends -1 ? -10 : never : A extends -10 ? B extends 0 ? 0 : B extends 1 ? -10 : B extends -1 ? 10 : never : A extends 11 ? B extends 0 ? 0 : B extends 1 ? 11 : B extends -1 ? -11 : never : A extends -11 ? B extends 0 ? 0 : B extends 1 ? -11 : B extends -1 ? 11 : never : A extends 12 ? B extends 0 ? 0 : B extends 1 ? 12 : B extends -1 ? -12 : never : A extends -12 ? B extends 0 ? 0 : B extends 1 ? -12 : B extends -1 ? 12 : never : never;
|
|
8
|
+
type DivideExponents<A extends Exponent, B extends Exponent> = B extends 0 ? never : B extends 1 ? A extends 0 ? 0 : A extends 1 ? 1 : A extends -1 ? -1 : A extends 2 ? 2 : A extends -2 ? -2 : A extends 3 ? 3 : A extends -3 ? -3 : A extends 4 ? 4 : A extends -4 ? -4 : A extends 5 ? 5 : A extends -5 ? -5 : A extends 6 ? 6 : A extends -6 ? -6 : A extends 7 ? 7 : A extends -7 ? -7 : A extends 8 ? 8 : A extends -8 ? -8 : A extends 9 ? 9 : A extends -9 ? -9 : A extends 10 ? 10 : A extends -10 ? -10 : A extends 11 ? 11 : A extends -11 ? -11 : A extends 12 ? 12 : A extends -12 ? -12 : never : B extends -1 ? A extends 0 ? 0 : A extends 1 ? -1 : A extends -1 ? 1 : A extends 2 ? -2 : A extends -2 ? 2 : A extends 3 ? -3 : A extends -3 ? 3 : A extends 4 ? -4 : A extends -4 ? 4 : A extends 5 ? -5 : A extends -5 ? 5 : A extends 6 ? -6 : A extends -6 ? 6 : A extends 7 ? -7 : A extends -7 ? 7 : A extends 8 ? -8 : A extends -8 ? 8 : A extends 9 ? -9 : A extends -9 ? 9 : A extends 10 ? -10 : A extends -10 ? 10 : A extends 11 ? -11 : A extends -11 ? 11 : A extends 12 ? -12 : A extends -12 ? 12 : never : B extends 2 ? A extends 0 ? 0 : A extends 2 ? 1 : A extends -2 ? -1 : A extends 4 ? 2 : A extends -4 ? -2 : A extends 6 ? 3 : A extends -6 ? -3 : A extends 8 ? 4 : A extends -8 ? -4 : A extends 10 ? 5 : A extends -10 ? -5 : A extends 12 ? 6 : A extends -12 ? -6 : never : B extends -2 ? A extends 0 ? 0 : A extends 2 ? -1 : A extends -2 ? 1 : A extends 4 ? -2 : A extends -4 ? 2 : A extends 6 ? -3 : A extends -6 ? 3 : A extends 8 ? -4 : A extends -8 ? 4 : A extends 10 ? -5 : A extends -10 ? 5 : A extends 12 ? -6 : A extends -12 ? 6 : never : B extends 3 ? A extends 0 ? 0 : A extends 3 ? 1 : A extends -3 ? -1 : A extends 6 ? 2 : A extends -6 ? -2 : A extends 9 ? 3 : A extends -9 ? -3 : A extends 12 ? 4 : A extends -12 ? -4 : never : B extends -3 ? A extends 0 ? 0 : A extends 3 ? -1 : A extends -3 ? 1 : A extends 6 ? -2 : A extends -6 ? 2 : A extends 9 ? -3 : A extends -9 ? 3 : A extends 12 ? -4 : A extends -12 ? 4 : never : B extends 4 ? A extends 0 ? 0 : A extends 4 ? 1 : A extends -4 ? -1 : A extends 8 ? 2 : A extends -8 ? -2 : A extends 12 ? 3 : A extends -12 ? -3 : never : B extends -4 ? A extends 0 ? 0 : A extends 4 ? -1 : A extends -4 ? 1 : A extends 8 ? -2 : A extends -8 ? 2 : A extends 12 ? -3 : A extends -12 ? 3 : never : B extends 5 ? A extends 0 ? 0 : A extends 5 ? 1 : A extends -5 ? -1 : A extends 10 ? 2 : A extends -10 ? -2 : never : B extends -5 ? A extends 0 ? 0 : A extends 5 ? -1 : A extends -5 ? 1 : A extends 10 ? -2 : A extends -10 ? 2 : never : B extends 6 ? A extends 0 ? 0 : A extends 6 ? 1 : A extends -6 ? -1 : A extends 12 ? 2 : A extends -12 ? -2 : never : B extends -6 ? A extends 0 ? 0 : A extends 6 ? -1 : A extends -6 ? 1 : A extends 12 ? -2 : A extends -12 ? 2 : never : B extends 7 ? A extends 0 ? 0 : A extends 7 ? 1 : A extends -7 ? -1 : never : B extends -7 ? A extends 0 ? 0 : A extends 7 ? -1 : A extends -7 ? 1 : never : B extends 8 ? A extends 0 ? 0 : A extends 8 ? 1 : A extends -8 ? -1 : never : B extends -8 ? A extends 0 ? 0 : A extends 8 ? -1 : A extends -8 ? 1 : never : B extends 9 ? A extends 0 ? 0 : A extends 9 ? 1 : A extends -9 ? -1 : never : B extends -9 ? A extends 0 ? 0 : A extends 9 ? -1 : A extends -9 ? 1 : never : B extends 10 ? A extends 0 ? 0 : A extends 10 ? 1 : A extends -10 ? -1 : never : B extends -10 ? A extends 0 ? 0 : A extends 10 ? -1 : A extends -10 ? 1 : never : B extends 11 ? A extends 0 ? 0 : A extends 11 ? 1 : A extends -11 ? -1 : never : B extends -11 ? A extends 0 ? 0 : A extends 11 ? -1 : A extends -11 ? 1 : never : B extends 12 ? A extends 0 ? 0 : A extends 12 ? 1 : A extends -12 ? -1 : never : B extends -12 ? A extends 0 ? 0 : A extends 12 ? -1 : A extends -12 ? 1 : never : never;
|
|
9
|
+
interface Brand {
|
|
10
|
+
}
|
|
11
|
+
type BrandUnitMeta<UM extends UnknownUnitMeta> = Brand & {
|
|
12
|
+
__uom_types: {
|
|
13
|
+
unitMeta: UM;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
type BrandUnitClass<UC extends UnknownUnitClass> = Brand & {
|
|
17
|
+
__uom_types: {
|
|
18
|
+
unitClass: UC;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
type BrandUnitClassType = Brand & {
|
|
22
|
+
__uom_types: {
|
|
23
|
+
unitClassType: true;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
type BrandUnitKeyValues<K, V> = Brand & Readonly<{
|
|
27
|
+
__uom_types: {
|
|
28
|
+
keys: K;
|
|
29
|
+
value: V;
|
|
30
|
+
};
|
|
31
|
+
}>;
|
|
32
|
+
type RemoveNeverValues<T extends object> = {
|
|
33
|
+
[K in keyof T as [
|
|
34
|
+
T[K]
|
|
35
|
+
] extends [
|
|
36
|
+
never
|
|
37
|
+
] ? never : K]: T[K];
|
|
38
|
+
};
|
|
39
|
+
type ExcludeUnitZeroSubvalues<U extends UnitSubvalues> = {
|
|
40
|
+
[S in keyof U as S extends string ? (U[S] extends 0 ? never : S) : never]: U[S];
|
|
41
|
+
};
|
|
42
|
+
type GetExponent<C extends UnitSubvalues, S> = S extends keyof C ? C[S] : 0;
|
|
43
|
+
type FlatternAlias<T> = {
|
|
44
|
+
[P in keyof T]: T[P];
|
|
45
|
+
} & {};
|
|
46
|
+
type Exactify<T, U extends T> = T & {
|
|
47
|
+
[K in keyof U]: K extends keyof T ? U[K] : never;
|
|
48
|
+
};
|
|
49
|
+
type AbstractUnit<C extends UnitSubvalues> = number & BrandUnitClass<UnitClass<C>>;
|
|
50
|
+
type Unit<C extends UnitSubvalues, M extends UnitSubvalues = {}> = number & BrandUnitClass<UnitClass<C>> & BrandUnitMeta<UnitMeta<M>>;
|
|
51
|
+
type UnitFrom<C extends UnknownUnitClass, M extends UnknownUnitMeta = UnitMeta<{}>> = C extends UnitClass<infer A> ? (M extends UnitMeta<infer B> ? Unit<A, B> : never) : never;
|
|
52
|
+
type UnitConversionRate<M extends UnitSubvalues> = number & BrandUnitMeta<UnitMeta<M>>;
|
|
53
|
+
type UnitClass<T extends UnitSubvalues> = UnitKeyValues<T> & BrandUnitClassType;
|
|
54
|
+
type UnitMeta<T extends UnitSubvalues> = UnitKeyValues<T> & Readonly<{
|
|
55
|
+
__uno_types__unit_meta_type: true;
|
|
56
|
+
}>;
|
|
57
|
+
type UnknownUnit = UnknownAbstractUnit & BrandUnitMeta<UnknownUnitMeta>;
|
|
58
|
+
type UnknownAbstractUnit = number & BrandUnitClass<UnknownUnitClass>;
|
|
59
|
+
type UnknownUnitConversionRate = number & BrandUnitMeta<UnknownUnitMeta>;
|
|
60
|
+
type UnknownUnitClass = UnknownUnitKeyValues & BrandUnitClassType;
|
|
61
|
+
type UnknownUnitMeta = UnknownUnitKeyValues & Readonly<{
|
|
62
|
+
__uno_types__unit_meta_type: true;
|
|
63
|
+
}>;
|
|
64
|
+
type UnitKeyValues<T extends UnitSubvalues> = BrandUnitKeyValues<keyof ExcludeUnitZeroSubvalues<T> extends string ? keyof ExcludeUnitZeroSubvalues<T> : never, RemoveNeverValues<T>>;
|
|
65
|
+
type UnknownUnitKeyValues = BrandUnitKeyValues<string, {}>;
|
|
66
|
+
type UnitSubvalues = Record<string, Exponent>;
|
|
67
|
+
type SiUnitKeys = "Second" | "Meter" | "Kilogram" | "Mole" | "Ampere" | "Candela" | "Kelvin" | "Radian";
|
|
68
|
+
type BaseUnitClass<T extends Exactify<SiUnitConfig, T>> = UnitClass<T>;
|
|
69
|
+
type SiUnitConfig = Partial<Record<SiUnitKeys, Exponent>>;
|
|
70
|
+
type PlaneAngleUnitClass = BaseUnitClass<{
|
|
71
|
+
Radian: 1;
|
|
72
|
+
}>;
|
|
73
|
+
type PlaneAngleUnit<M extends UnitSubvalues> = PlaneAngleUnitFrom<UnitMeta<M>>;
|
|
74
|
+
type PlaneAngleUnitFrom<M extends UnknownUnitMeta> = UnitFrom<PlaneAngleUnitClass, M>;
|
|
75
|
+
type Radian = PlaneAngleUnit<{}>;
|
|
76
|
+
type Inverse<X extends number> = Pow<X, -1>;
|
|
77
|
+
type Multiply<A extends number, B extends number> = A extends UnknownUnit ? MultiplyHelperUnit<A, B> : B extends UnknownUnit ? MultiplyHelperUnit<B, A> : A extends UnknownAbstractUnit ? MultiplyHelperAbstractUnit<A, B> : B extends UnknownAbstractUnit ? MultiplyHelperAbstractUnit<B, A> : A extends UnknownUnitConversionRate ? MultiplyHelperUnitConversionRate<A, B> : B extends UnknownUnitConversionRate ? MultiplyHelperUnitConversionRate<B, A> : number;
|
|
78
|
+
type MultiplyHelperUnit<A extends UnknownUnit, B extends number> = A extends Unit<infer AClass, infer AMeta> ? B extends Unit<infer BClass, infer BMeta> ? Unit<FlatternAlias<MultiplyUnitSubvalues<AClass, BClass>>, FlatternAlias<MultiplyUnitSubvalues<AMeta, BMeta>>> : B extends AbstractUnit<infer BClass> ? Unit<FlatternAlias<MultiplyUnitSubvalues<AClass, BClass>>, AMeta> : B extends UnitConversionRate<infer BMeta> ? Unit<AClass, FlatternAlias<MultiplyUnitSubvalues<AMeta, BMeta>>> : A : never;
|
|
79
|
+
type MultiplyHelperAbstractUnit<A extends UnknownAbstractUnit, B extends number> = A extends AbstractUnit<infer AClass> ? B extends AbstractUnit<infer BClass> ? AbstractUnit<FlatternAlias<MultiplyUnitSubvalues<AClass, BClass>>> : B extends UnitConversionRate<infer BMeta> ? Unit<AClass, BMeta> : A : never;
|
|
80
|
+
type MultiplyHelperUnitConversionRate<A extends UnknownUnitConversionRate, B extends number> = A extends UnitConversionRate<infer AMeta> ? B extends UnitConversionRate<infer BMeta> ? UnitConversionRate<FlatternAlias<MultiplyUnitSubvalues<AMeta, BMeta>>> : A : never;
|
|
81
|
+
type MultiplyUnitSubvalues<A extends UnitSubvalues, B extends UnitSubvalues> = ExcludeUnitZeroSubvalues<{
|
|
82
|
+
[S in keyof A | keyof B]: SumExponents<GetExponent<A, S>, GetExponent<B, S>>;
|
|
83
|
+
}>;
|
|
84
|
+
type Divide<A extends number, B extends number> = Multiply<A, Inverse<B>>;
|
|
85
|
+
type Pow<B extends number, E extends Exponent> = B extends Unit<infer Class, infer Meta> ? Unit<FlatternAlias<PowUnitSubvalues<Class, E>>, FlatternAlias<PowUnitSubvalues<Meta, E>>> : B extends AbstractUnit<infer Class> ? AbstractUnit<FlatternAlias<PowUnitSubvalues<Class, E>>> : B extends UnitConversionRate<infer Meta> ? UnitConversionRate<FlatternAlias<PowUnitSubvalues<Meta, E>>> : number;
|
|
86
|
+
type PowUnitSubvalues<B extends UnitSubvalues, E extends Exponent> = ExcludeUnitZeroSubvalues<{
|
|
87
|
+
[S in keyof B]: MultiplyExponents<GetExponent<B, S>, E>;
|
|
88
|
+
}>;
|
|
89
|
+
type Root<B extends number, E extends Exponent> = B extends Unit<infer Class, infer Meta> ? Unit<FlatternAlias<RootUnitSubvalues<Class, E>>, FlatternAlias<RootUnitSubvalues<Meta, E>>> : B extends AbstractUnit<infer Class> ? AbstractUnit<FlatternAlias<RootUnitSubvalues<Class, E>>> : B extends UnitConversionRate<infer Meta> ? UnitConversionRate<FlatternAlias<RootUnitSubvalues<Meta, E>>> : number;
|
|
90
|
+
type RootUnitSubvalues<B extends UnitSubvalues, E extends Exponent> = ExcludeUnitZeroSubvalues<{
|
|
91
|
+
[S in keyof B]: DivideExponents<GetExponent<B, S>, E>;
|
|
92
|
+
}>;
|
|
93
|
+
type IdentityUnitClass = BaseUnitClass<{}>;
|
|
94
|
+
type IdentityUnit<M extends UnitSubvalues> = IdentityUnitFrom<UnitMeta<M>>;
|
|
95
|
+
type IdentityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<IdentityUnitClass, M>;
|
|
96
|
+
type Unitless = IdentityUnit<{}>;
|
|
97
|
+
type OperationIO<T extends number> = [
|
|
98
|
+
T
|
|
99
|
+
] extends [
|
|
100
|
+
UnknownUnit | UnknownAbstractUnit
|
|
101
|
+
] ? T : number;
|
|
102
|
+
/**
|
|
103
|
+
* Add two values with the same units together.
|
|
104
|
+
*
|
|
105
|
+
* @category Math
|
|
106
|
+
* @returns `a + b`
|
|
107
|
+
*/
|
|
108
|
+
export declare function add<T extends number>(a: OperationIO<T>, b: OperationIO<T>): OperationIO<T>;
|
|
109
|
+
/**
|
|
110
|
+
* Add two values with the same units together.
|
|
111
|
+
*
|
|
112
|
+
* @category Math
|
|
113
|
+
* @returns `(a) => a + b`
|
|
114
|
+
*/
|
|
115
|
+
export declare function add<T extends number>(b: OperationIO<T>): (a: OperationIO<T>) => OperationIO<T>;
|
|
116
|
+
/**
|
|
117
|
+
* Subtract one value from another with the same units.
|
|
118
|
+
*
|
|
119
|
+
* @category Math
|
|
120
|
+
* @returns `a - b`
|
|
121
|
+
*/
|
|
122
|
+
export declare function sub<T extends number>(a: OperationIO<T>, b: OperationIO<T>): OperationIO<T>;
|
|
123
|
+
/**
|
|
124
|
+
* Subtract one value from another with the same units.
|
|
125
|
+
*
|
|
126
|
+
* @category Math
|
|
127
|
+
* @returns `(a) => a - b`
|
|
128
|
+
*/
|
|
129
|
+
export declare function sub<T extends number>(b: OperationIO<T>): (a: OperationIO<T>) => OperationIO<T>;
|
|
130
|
+
/**
|
|
131
|
+
* Multiple two values together.
|
|
132
|
+
*
|
|
133
|
+
* @category Math
|
|
134
|
+
* @returns `a * b`
|
|
135
|
+
*/
|
|
136
|
+
export declare function mul<A extends number, B extends number>(a: A, b: B): Multiply<A, B>;
|
|
137
|
+
/**
|
|
138
|
+
* Multiple a value by the given value.
|
|
139
|
+
*
|
|
140
|
+
* @category Math
|
|
141
|
+
* @returns `(a) => a * b`
|
|
142
|
+
*/
|
|
143
|
+
export declare function mul<B extends number>(b: B): <A extends number>(a: A) => Multiply<A, B>;
|
|
144
|
+
/**
|
|
145
|
+
* Divide one value by another.
|
|
146
|
+
*
|
|
147
|
+
* @category Math
|
|
148
|
+
* @returns `a / b`
|
|
149
|
+
*/
|
|
150
|
+
export declare function div<A extends number, B extends number>(a: A, b: B): Divide<A, B>;
|
|
151
|
+
/**
|
|
152
|
+
* Divide one value by the given value.
|
|
153
|
+
*
|
|
154
|
+
* @category Math
|
|
155
|
+
* @returns `(a) => a / b`
|
|
156
|
+
*/
|
|
157
|
+
export declare function div<B extends number>(b: B): <A extends number>(a: A) => Divide<A, B>;
|
|
158
|
+
/**
|
|
159
|
+
* Modulo operator.
|
|
160
|
+
*
|
|
161
|
+
* @category Math
|
|
162
|
+
* @param a - Must be an integer.
|
|
163
|
+
* @param b - Must be an integer.
|
|
164
|
+
* @returns `a % b`
|
|
165
|
+
*/
|
|
166
|
+
export declare function mod<T extends number>(a: OperationIO<T>, b: OperationIO<T>): OperationIO<T>;
|
|
167
|
+
/**
|
|
168
|
+
* Modulo operator.
|
|
169
|
+
*
|
|
170
|
+
* @category Math
|
|
171
|
+
* @param b - Must be an integer.
|
|
172
|
+
* @returns `(a) => a % b`
|
|
173
|
+
*/
|
|
174
|
+
export declare function mod<T extends number>(b: OperationIO<T>): (a: OperationIO<T>) => OperationIO<T>;
|
|
175
|
+
/**
|
|
176
|
+
* Perform mathematic modular arithmetic.
|
|
177
|
+
*
|
|
178
|
+
* @category Math
|
|
179
|
+
* @param a - Must be an integer.
|
|
180
|
+
* @param b - Must be a positive integer.
|
|
181
|
+
* @returns An integer between zero (inclusive) and `b` (exclusive).
|
|
182
|
+
*/
|
|
183
|
+
export declare function modSafe<T extends number>(a: OperationIO<T>, b: OperationIO<T>): OperationIO<T>;
|
|
184
|
+
/**
|
|
185
|
+
* Perform mathematic modular arithmetic.
|
|
186
|
+
*
|
|
187
|
+
* @category Math
|
|
188
|
+
* @param b - Must be a positive integer.
|
|
189
|
+
* @returns A function that takes a integer and returns an integer between zero (inclusive) and `b` (exclusive).
|
|
190
|
+
*/
|
|
191
|
+
export declare function modSafe<T extends number>(b: OperationIO<T>): (a: OperationIO<T>) => OperationIO<T>;
|
|
192
|
+
type PowResult<B extends number, E extends number> = E extends Unitless ? PowResult<B, number> : E extends UnknownUnit ? never : E extends UnknownAbstractUnit ? never : E extends Exponent ? Pow<B, E> : E extends 0.5 ? Root<B, 2> : B extends Unitless ? B : number;
|
|
193
|
+
type PowFunction<B extends number, E extends number> = (b: B) => PowResult<B, E>;
|
|
194
|
+
type RootResult<B extends number, E extends number> = E extends Unitless ? RootResult<B, number> : E extends UnknownUnit ? never : E extends UnknownAbstractUnit ? never : E extends Exponent ? Root<B, E> : E extends 0.5 ? Pow<B, 2> : B extends Unitless ? B : number;
|
|
195
|
+
type RootFunction<B extends number, E extends number> = (b: B) => RootResult<B, E>;
|
|
196
|
+
/**
|
|
197
|
+
* Raise a number to the power of another.
|
|
198
|
+
*
|
|
199
|
+
* @category Math
|
|
200
|
+
* @returns `base ** exponent`
|
|
201
|
+
*/
|
|
202
|
+
export declare function pow<B extends number, E extends number>(base: B, exponent: E): PowResult<B, E>;
|
|
203
|
+
/**
|
|
204
|
+
* Put a number to the power of the given value.
|
|
205
|
+
*
|
|
206
|
+
* @category Math
|
|
207
|
+
* @returns `(base) => base ** exponent`
|
|
208
|
+
*/
|
|
209
|
+
export declare function pow<E extends number>(exponent: E): <B extends number>(base: Parameters<PowFunction<B, E>>[0]) => ReturnType<PowFunction<B, E>>;
|
|
210
|
+
/**
|
|
211
|
+
* Take the nth root of a number.
|
|
212
|
+
*
|
|
213
|
+
* @category Math
|
|
214
|
+
* @returns `base ** (1 / exponent)`
|
|
215
|
+
*/
|
|
216
|
+
export declare function root<B extends number, E extends number>(base: B, exponent: E): RootResult<B, E>;
|
|
217
|
+
/**
|
|
218
|
+
* Take the nth root of a number.
|
|
219
|
+
*
|
|
220
|
+
* @category Math
|
|
221
|
+
* @returns `(base) => base ** (1 / exponent)`
|
|
222
|
+
*/
|
|
223
|
+
export declare function root<E extends number>(exponent: E): <B extends number>(base: Parameters<RootFunction<B, E>>[0]) => ReturnType<RootFunction<B, E>>;
|
|
224
|
+
/**
|
|
225
|
+
* Take the square root of the given value.
|
|
226
|
+
*
|
|
227
|
+
* @category Math
|
|
228
|
+
* @returns `value ** (1/2)`
|
|
229
|
+
*/
|
|
230
|
+
export declare function sqrt<T extends number>(value: T): Root<T, 2>;
|
|
231
|
+
/**
|
|
232
|
+
* Inverse the given value.
|
|
233
|
+
*
|
|
234
|
+
* @category Math
|
|
235
|
+
* @returns `value ** -1`
|
|
236
|
+
*/
|
|
237
|
+
export declare function inverse<T extends number>(value: T): Inverse<T>;
|
|
238
|
+
/**
|
|
239
|
+
* Returns the negative of the given value.
|
|
240
|
+
*
|
|
241
|
+
* @category Math
|
|
242
|
+
* @returns `-value`
|
|
243
|
+
*/
|
|
244
|
+
export declare function negate<T extends number>(value: OperationIO<T>): OperationIO<T>;
|
|
245
|
+
/**
|
|
246
|
+
* Returns the absolute value of the given value.
|
|
247
|
+
*
|
|
248
|
+
* @category Math
|
|
249
|
+
* @returns `Math.abs(value)`
|
|
250
|
+
*/
|
|
251
|
+
export declare function abs<T extends number>(value: OperationIO<T>): OperationIO<T>;
|
|
252
|
+
/**
|
|
253
|
+
* Returns the greatest integer less than or equal to the given value.
|
|
254
|
+
*
|
|
255
|
+
* @category Math
|
|
256
|
+
* @returns `Math.floor(value)`
|
|
257
|
+
*/
|
|
258
|
+
export declare function floor<T extends number>(value: OperationIO<T>): OperationIO<T>;
|
|
259
|
+
/**
|
|
260
|
+
* Returns the smallest integer greater than or equal the given value.
|
|
261
|
+
*
|
|
262
|
+
* @category Math
|
|
263
|
+
* @returns `Math.ceil(value)`
|
|
264
|
+
*/
|
|
265
|
+
export declare function ceil<T extends number>(value: OperationIO<T>): OperationIO<T>;
|
|
266
|
+
/**
|
|
267
|
+
* Returns the given value rounded to the nearest integer.
|
|
268
|
+
*
|
|
269
|
+
* @category Math
|
|
270
|
+
* @returns `Math.round(value)`
|
|
271
|
+
*/
|
|
272
|
+
export declare function round<T extends number>(value: OperationIO<T>): OperationIO<T>;
|
|
273
|
+
/**
|
|
274
|
+
* Returns the larger value in the given collection.
|
|
275
|
+
*
|
|
276
|
+
* @category Math
|
|
277
|
+
* @returns `Math.max(values)`
|
|
278
|
+
*/
|
|
279
|
+
export declare function max<T extends number>(values: Iterable<T>): OperationIO<T>;
|
|
280
|
+
/**
|
|
281
|
+
* Returns the smallest value in the given collection.
|
|
282
|
+
*
|
|
283
|
+
* @category Math
|
|
284
|
+
* @returns `Math.min(values)`
|
|
285
|
+
*/
|
|
286
|
+
export declare function min<T extends number>(values: Iterable<T>): OperationIO<T>;
|
|
287
|
+
/**
|
|
288
|
+
* Takes the sum of all the values in the given collection.
|
|
289
|
+
*
|
|
290
|
+
* @category Math
|
|
291
|
+
* @returns `Math.sum(values)`
|
|
292
|
+
*/
|
|
293
|
+
export declare function sum<T extends number>(values: Iterable<T>): OperationIO<T>;
|
|
294
|
+
/**
|
|
295
|
+
* Equal: Compare if two values are equal.
|
|
296
|
+
*
|
|
297
|
+
* @category Math
|
|
298
|
+
* @returns `a === b`
|
|
299
|
+
*/
|
|
300
|
+
export declare function eq<T extends number>(a: OperationIO<T>, b: OperationIO<T>): boolean;
|
|
301
|
+
/**
|
|
302
|
+
* Equal: Compare if a value is equal to the given value.
|
|
303
|
+
*
|
|
304
|
+
* @category Math
|
|
305
|
+
* @returns `(a) => a === b`
|
|
306
|
+
*/
|
|
307
|
+
export declare function eq<T extends number>(b: OperationIO<T>): (a: OperationIO<T>) => boolean;
|
|
308
|
+
/**
|
|
309
|
+
* Greater Than: Compare if the first value is greater than the second.
|
|
310
|
+
*
|
|
311
|
+
* @category Math
|
|
312
|
+
* @returns `a > b`
|
|
313
|
+
*/
|
|
314
|
+
export declare function gt<T extends number>(a: OperationIO<T>, b: OperationIO<T>): boolean;
|
|
315
|
+
/**
|
|
316
|
+
* Greater Than: Compare if a value is greater than the given value.
|
|
317
|
+
*
|
|
318
|
+
* @category Math
|
|
319
|
+
* @returns `(a) => a > b`
|
|
320
|
+
*/
|
|
321
|
+
export declare function gt<T extends number>(b: OperationIO<T>): (a: OperationIO<T>) => boolean;
|
|
322
|
+
/**
|
|
323
|
+
* Greater Than or Equal: Compare if the first value is greater than or equal to the second.
|
|
324
|
+
*
|
|
325
|
+
* @category Math
|
|
326
|
+
* @returns `a >= b`
|
|
327
|
+
*/
|
|
328
|
+
export declare function gte<T extends number>(a: OperationIO<T>, b: OperationIO<T>): boolean;
|
|
329
|
+
/**
|
|
330
|
+
* Greater Than or Equal: Compare if a value is greater than or equal to the given value.
|
|
331
|
+
*
|
|
332
|
+
* @category Math
|
|
333
|
+
* @returns `(a) => a >= b`
|
|
334
|
+
*/
|
|
335
|
+
export declare function gte<T extends number>(b: OperationIO<T>): (a: OperationIO<T>) => boolean;
|
|
336
|
+
/**
|
|
337
|
+
* Less Than: Compare if the first value is less than the second.
|
|
338
|
+
*
|
|
339
|
+
* @category Math
|
|
340
|
+
* @returns `a < b`
|
|
341
|
+
*/
|
|
342
|
+
export declare function lt<T extends number>(a: OperationIO<T>, b: OperationIO<T>): boolean;
|
|
343
|
+
/**
|
|
344
|
+
* Less Than: Compare if a value is less than the given value.
|
|
345
|
+
*
|
|
346
|
+
* @category Math
|
|
347
|
+
* @returns `(a) => a < b`
|
|
348
|
+
*/
|
|
349
|
+
export declare function lt<T extends number>(b: OperationIO<T>): (a: OperationIO<T>) => boolean;
|
|
350
|
+
/**
|
|
351
|
+
* Less Than or Equal: Compare if the first value is less than or equal to the second.
|
|
352
|
+
*
|
|
353
|
+
* @category Math
|
|
354
|
+
* @returns `a <= b`
|
|
355
|
+
*/
|
|
356
|
+
export declare function lte<T extends number>(a: OperationIO<T>, b: OperationIO<T>): boolean;
|
|
357
|
+
/**
|
|
358
|
+
* Less Than or Equal: Compare if a value is less than or equal to the given value.
|
|
359
|
+
*
|
|
360
|
+
* @category Math
|
|
361
|
+
* @returns `(a) => a <= b`
|
|
362
|
+
*/
|
|
363
|
+
export declare function lte<T extends number>(b: OperationIO<T>): (a: OperationIO<T>) => boolean;
|
|
364
|
+
/**
|
|
365
|
+
* Returns the sine of a number.
|
|
366
|
+
*
|
|
367
|
+
* @category Math
|
|
368
|
+
* @returns `Math.sin(angle)`
|
|
369
|
+
*/
|
|
370
|
+
export declare function sin(angle: Radian): Unitless;
|
|
371
|
+
/**
|
|
372
|
+
* Returns the cosine of a number.
|
|
373
|
+
*
|
|
374
|
+
* @category Math
|
|
375
|
+
* @returns `Math.cos(angle)`
|
|
376
|
+
*/
|
|
377
|
+
export declare function cos(angle: Radian): Unitless;
|
|
378
|
+
/**
|
|
379
|
+
* Returns the tangent of a number.
|
|
380
|
+
*
|
|
381
|
+
* @category Math
|
|
382
|
+
* @returns `Math.tan(angle)`
|
|
383
|
+
*/
|
|
384
|
+
export declare function tan(angle: Radian): Unitless;
|
|
385
|
+
/**
|
|
386
|
+
* Returns the arcsine of a number.
|
|
387
|
+
*
|
|
388
|
+
* @category Math
|
|
389
|
+
* @returns `Math.asin(value)`
|
|
390
|
+
*/
|
|
391
|
+
export declare function asin(value: Unitless): Radian;
|
|
392
|
+
/**
|
|
393
|
+
* Returns the arc cosine (or inverse cosine) of a number.
|
|
394
|
+
*
|
|
395
|
+
* @category Math
|
|
396
|
+
* @returns `Math.acos(value)`
|
|
397
|
+
*/
|
|
398
|
+
export declare function acos(value: Unitless): Radian;
|
|
399
|
+
/**
|
|
400
|
+
* Returns the arctangent of a number.
|
|
401
|
+
*
|
|
402
|
+
* @category Math
|
|
403
|
+
* @returns `Math.atan(value)`
|
|
404
|
+
*/
|
|
405
|
+
export declare function atan(value: Unitless): Radian;
|
|
406
|
+
/**
|
|
407
|
+
* Returns the angle (in radians) from the X axis to a point.
|
|
408
|
+
*
|
|
409
|
+
* @category Math
|
|
410
|
+
* @param x - A number representing the cartesian x-coordinate.
|
|
411
|
+
* @param y - A number representing the cartesian y-coordinate.
|
|
412
|
+
* @returns `Math.atan2(x, y)`
|
|
413
|
+
*/
|
|
414
|
+
export declare function atan2<T extends number>(x: T, y: T): Radian;
|
|
415
|
+
/**
|
|
416
|
+
* Returns the hyperbolic sine of a number.
|
|
417
|
+
*
|
|
418
|
+
* @category Math
|
|
419
|
+
* @returns `Math.sinh(angle)`
|
|
420
|
+
*/
|
|
421
|
+
export declare function sinh(angle: Radian): Unitless;
|
|
422
|
+
/**
|
|
423
|
+
* Returns the hyperbolic cosine of a number.
|
|
424
|
+
*
|
|
425
|
+
* @category Math
|
|
426
|
+
* @returns `Math.cosh(angle)`
|
|
427
|
+
*/
|
|
428
|
+
export declare function cosh(angle: Radian): Unitless;
|
|
429
|
+
/**
|
|
430
|
+
* Returns the hyperbolic tangent of a number.
|
|
431
|
+
*
|
|
432
|
+
* @category Math
|
|
433
|
+
* @returns `Math.tanh(angle)`
|
|
434
|
+
*/
|
|
435
|
+
export declare function tanh(angle: Radian): Unitless;
|
|
436
|
+
/**
|
|
437
|
+
* Returns the inverse hyperbolic sine of a number.
|
|
438
|
+
*
|
|
439
|
+
* @category Math
|
|
440
|
+
* @returns `Math.asinh(value)`
|
|
441
|
+
*/
|
|
442
|
+
export declare function asinh(value: Unitless): Radian;
|
|
443
|
+
/**
|
|
444
|
+
* Returns the inverse hyperbolic cosine of a number.
|
|
445
|
+
*
|
|
446
|
+
* @category Math
|
|
447
|
+
* @returns `Math.acosh(value)`
|
|
448
|
+
*/
|
|
449
|
+
export declare function acosh(value: Unitless): Radian;
|
|
450
|
+
/**
|
|
451
|
+
* Returns the inverse hyperbolic tangent of a number.
|
|
452
|
+
*
|
|
453
|
+
* @category Math
|
|
454
|
+
* @returns `Math.atanh(value)`
|
|
455
|
+
*/
|
|
456
|
+
export declare function atanh(value: Unitless): Radian;
|
|
457
|
+
|
|
458
|
+
export {};
|