@lakuna/umath 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/LICENSE +1 -1
  2. package/dist/algorithms/greatestCommonDivisor.d.ts.map +1 -1
  3. package/dist/algorithms/greatestCommonDivisor.js +14 -4
  4. package/dist/algorithms/greatestCommonDivisor.js.map +1 -1
  5. package/dist/index.d.ts +11 -11
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/linalg/DualQuaternion.d.ts +124 -124
  9. package/dist/linalg/DualQuaternion.d.ts.map +1 -1
  10. package/dist/linalg/DualQuaternion.js +173 -165
  11. package/dist/linalg/DualQuaternion.js.map +1 -1
  12. package/dist/linalg/Matrix.d.ts +24 -24
  13. package/dist/linalg/Matrix.d.ts.map +1 -1
  14. package/dist/linalg/Matrix2.d.ts +63 -63
  15. package/dist/linalg/Matrix2.d.ts.map +1 -1
  16. package/dist/linalg/Matrix2.js +92 -88
  17. package/dist/linalg/Matrix2.js.map +1 -1
  18. package/dist/linalg/Matrix3.d.ts +107 -107
  19. package/dist/linalg/Matrix3.d.ts.map +1 -1
  20. package/dist/linalg/Matrix3.js +147 -138
  21. package/dist/linalg/Matrix3.js.map +1 -1
  22. package/dist/linalg/Matrix4.d.ts +200 -201
  23. package/dist/linalg/Matrix4.d.ts.map +1 -1
  24. package/dist/linalg/Matrix4.js +272 -251
  25. package/dist/linalg/Matrix4.js.map +1 -1
  26. package/dist/linalg/Quaternion.d.ts +116 -116
  27. package/dist/linalg/Quaternion.d.ts.map +1 -1
  28. package/dist/linalg/Quaternion.js +175 -161
  29. package/dist/linalg/Quaternion.js.map +1 -1
  30. package/dist/linalg/SlowMatrix.d.ts +5 -5
  31. package/dist/linalg/SlowMatrix.d.ts.map +1 -1
  32. package/dist/linalg/SlowMatrix.js +12 -12
  33. package/dist/linalg/SlowMatrix.js.map +1 -1
  34. package/dist/linalg/SlowSquareMatrix.d.ts +6 -6
  35. package/dist/linalg/SlowSquareMatrix.d.ts.map +1 -1
  36. package/dist/linalg/SlowSquareMatrix.js +15 -15
  37. package/dist/linalg/SlowSquareMatrix.js.map +1 -1
  38. package/dist/linalg/SlowVector.d.ts +70 -70
  39. package/dist/linalg/SlowVector.d.ts.map +1 -1
  40. package/dist/linalg/SlowVector.js +153 -153
  41. package/dist/linalg/SlowVector.js.map +1 -1
  42. package/dist/linalg/SquareMatrix.d.ts +8 -8
  43. package/dist/linalg/SquareMatrix.d.ts.map +1 -1
  44. package/dist/linalg/Vector.d.ts +85 -84
  45. package/dist/linalg/Vector.d.ts.map +1 -1
  46. package/dist/linalg/Vector2.d.ts +104 -104
  47. package/dist/linalg/Vector2.d.ts.map +1 -1
  48. package/dist/linalg/Vector2.js +145 -143
  49. package/dist/linalg/Vector2.js.map +1 -1
  50. package/dist/linalg/Vector3.d.ts +130 -130
  51. package/dist/linalg/Vector3.d.ts.map +1 -1
  52. package/dist/linalg/Vector3.js +176 -173
  53. package/dist/linalg/Vector3.js.map +1 -1
  54. package/dist/linalg/Vector4.d.ts +101 -101
  55. package/dist/linalg/Vector4.d.ts.map +1 -1
  56. package/dist/linalg/Vector4.js +144 -140
  57. package/dist/linalg/Vector4.js.map +1 -1
  58. package/dist/types/AxisAngle.d.ts +2 -2
  59. package/dist/types/AxisAngle.d.ts.map +1 -1
  60. package/dist/types/FieldOfView.d.ts +2 -2
  61. package/dist/types/FieldOfView.d.ts.map +1 -1
  62. package/dist/utility/BigNumber.d.ts +21 -11
  63. package/dist/utility/BigNumber.d.ts.map +1 -1
  64. package/dist/utility/BigNumber.js +42 -31
  65. package/dist/utility/BigNumber.js.map +1 -1
  66. package/dist/utility/createAxisAngleLike.d.ts.map +1 -1
  67. package/dist/utility/createAxisAngleLike.js.map +1 -1
  68. package/package.json +11 -9
  69. package/src/algorithms/greatestCommonDivisor.ts +19 -7
  70. package/src/index.ts +17 -13
  71. package/src/linalg/DualQuaternion.ts +208 -193
  72. package/src/linalg/Matrix.ts +28 -28
  73. package/src/linalg/Matrix2.ts +117 -108
  74. package/src/linalg/Matrix3.ts +177 -158
  75. package/src/linalg/Matrix4.ts +386 -348
  76. package/src/linalg/Quaternion.ts +207 -189
  77. package/src/linalg/SlowMatrix.ts +19 -18
  78. package/src/linalg/SlowSquareMatrix.ts +19 -18
  79. package/src/linalg/SlowVector.ts +170 -169
  80. package/src/linalg/SquareMatrix.ts +9 -9
  81. package/src/linalg/Vector.ts +91 -89
  82. package/src/linalg/Vector2.ts +160 -155
  83. package/src/linalg/Vector3.ts +206 -199
  84. package/src/linalg/Vector4.ts +165 -156
  85. package/src/types/AxisAngle.ts +3 -3
  86. package/src/types/FieldOfView.ts +3 -3
  87. package/src/utility/BigNumber.ts +63 -41
  88. package/src/utility/createAxisAngleLike.ts +1 -0
@@ -5,11 +5,6 @@ import type { default as Matrix, MatrixLike } from "./Matrix.js";
5
5
  * @public
6
6
  */
7
7
  export default class SlowMatrix extends Float32Array implements Matrix {
8
- /**
9
- * Create a variable-size matrix from the given columns.
10
- * @param cols - The columns in the matrix.
11
- */
12
- constructor(...cols: number[][]);
13
8
  /** The number of rows in this matrix. */
14
9
  readonly height: number;
15
10
  /** The number of columns in this matrix. */
@@ -19,6 +14,11 @@ export default class SlowMatrix extends Float32Array implements Matrix {
19
14
  * @see {@link https://en.wikipedia.org/wiki/Matrix_norm | Matrix norm}
20
15
  */
21
16
  get frob(): number;
17
+ /**
18
+ * Create a variable-size matrix from the given columns.
19
+ * @param cols - The columns in the matrix.
20
+ */
21
+ constructor(...cols: number[][]);
22
22
  /**
23
23
  * Add two matrices of the same size.
24
24
  * @param matrix - The other matrix.
@@ -1 +1 @@
1
- {"version":3,"file":"SlowMatrix.d.ts","sourceRoot":"","sources":["../../src/linalg/SlowMatrix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA2BjE;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,YAAa,YAAW,MAAM;IACrE;;;OAGG;gBACgB,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE;IActC,yCAAyC;IACzC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,4CAA4C;IAC5C,SAAgB,KAAK,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;;;;OAKG;IACI,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAoB1C;;;OAGG;IACI,KAAK,IAAI,UAAU;IAW1B;;;;OAIG;IACI,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAgBrC;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAkB1C;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAkB/C;;;;;OAKG;IACI,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IA0B/C;;;;;OAKG;IACI,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IASjD;;;;;;;OAOG;IACI,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU;IAoB3E;;;;;OAKG;IACI,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAoB/C;;;;OAIG;IACI,SAAS,IAAI,UAAU;CAU9B"}
1
+ {"version":3,"file":"SlowMatrix.d.ts","sourceRoot":"","sources":["../../src/linalg/SlowMatrix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA4BjE;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,YAAa,YAAW,MAAM;IACrE,yCAAyC;IACzC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,4CAA4C;IAC5C,SAAgB,KAAK,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;;OAGG;gBACgB,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE;IActC;;;;;OAKG;IACI,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAoB1C;;;OAGG;IACI,KAAK,IAAI,UAAU;IAW1B;;;;OAIG;IACI,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAgBrC;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAkB1C;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAkB/C;;;;;OAKG;IACI,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IA0B/C;;;;;OAKG;IACI,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IASjD;;;;;;;OAOG;IACI,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU;IAoB3E;;;;;OAKG;IACI,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAoB/C;;;;OAIG;IACI,SAAS,IAAI,UAAU;CAU9B"}
@@ -1,6 +1,6 @@
1
+ import approx from "../algorithms/approx.js";
1
2
  import MatrixSizeError from "../utility/MatrixSizeError.js";
2
3
  import PartialMatrixError from "../utility/PartialMatrixError.js";
3
- import approx from "../algorithms/approx.js";
4
4
  /**
5
5
  * Determine whether the given `MatrixLike` has size information.
6
6
  * @internal
@@ -15,6 +15,17 @@ const isSized = (matrix) => "width" in matrix &&
15
15
  * @public
16
16
  */
17
17
  export default class SlowMatrix extends Float32Array {
18
+ /** The number of rows in this matrix. */
19
+ height;
20
+ /** The number of columns in this matrix. */
21
+ width;
22
+ /**
23
+ * Get the Frobenius norm of this matrix.
24
+ * @see {@link https://en.wikipedia.org/wiki/Matrix_norm | Matrix norm}
25
+ */
26
+ get frob() {
27
+ return Math.hypot(...this);
28
+ }
18
29
  /**
19
30
  * Create a variable-size matrix from the given columns.
20
31
  * @param cols - The columns in the matrix.
@@ -30,17 +41,6 @@ export default class SlowMatrix extends Float32Array {
30
41
  }
31
42
  }
32
43
  }
33
- /** The number of rows in this matrix. */
34
- height;
35
- /** The number of columns in this matrix. */
36
- width;
37
- /**
38
- * Get the Frobenius norm of this matrix.
39
- * @see {@link https://en.wikipedia.org/wiki/Matrix_norm | Matrix norm}
40
- */
41
- get frob() {
42
- return Math.hypot(...this);
43
- }
44
44
  /**
45
45
  * Add two matrices of the same size.
46
46
  * @param matrix - The other matrix.
@@ -1 +1 @@
1
- {"version":3,"file":"SlowMatrix.js","sourceRoot":"","sources":["../../src/linalg/SlowMatrix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SlowMatrix.js","sourceRoot":"","sources":["../../src/linalg/SlowMatrix.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,22 @@
1
- import SlowMatrix from "./SlowMatrix.js";
2
1
  import type SquareMatrix from "./SquareMatrix.js";
2
+ import SlowMatrix from "./SlowMatrix.js";
3
3
  /**
4
4
  * A variable-size matrix with the same number of rows and columns.
5
5
  * @see {@link https://en.wikipedia.org/wiki/Square_matrix | Square matrix}
6
6
  * @public
7
7
  */
8
8
  export default class SlowSquareMatrix extends SlowMatrix implements SquareMatrix {
9
+ /**
10
+ * Get the determinant of this matrix.
11
+ * @see {@link https://en.wikipedia.org/wiki/Determinant | Determinant}
12
+ */
13
+ get determinant(): number;
9
14
  /**
10
15
  * Create a variable-size matrix with the same number of rows and columns from the given columns.
11
16
  * @param cols - The columns in the matrix.
12
17
  * @see {@link https://en.wikipedia.org/wiki/Square_matrix | Square matrix}
13
18
  */
14
19
  constructor(...cols: number[][]);
15
- /**
16
- * Get the determinant of this matrix.
17
- * @see {@link https://en.wikipedia.org/wiki/Determinant | Determinant}
18
- */
19
- get determinant(): number;
20
20
  /**
21
21
  * Calculate the adjugate of this matrix.
22
22
  * @returns The adjugate of this matrix.
@@ -1 +1 @@
1
- {"version":3,"file":"SlowSquareMatrix.d.ts","sourceRoot":"","sources":["../../src/linalg/SlowSquareMatrix.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAElD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,gBACpB,SAAQ,UACR,YAAW,YAAY;IAEvB;;;;OAIG;gBACgB,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE;IAYtC;;;OAGG;IACH,IAAW,WAAW,IAAI,MAAM,CAmB/B;IAED;;;;OAIG;IACI,OAAO,IAAI,gBAAgB;IAIlC;;;OAGG;IACa,KAAK,IAAI,gBAAgB;IAezC;;;;OAIG;IACI,QAAQ,IAAI,gBAAgB;IAanC;;;;OAIG;IACI,QAAQ,IAAI,IAAI;IAUvB;;;;OAIG;IACI,MAAM,IAAI,gBAAgB;IAgEjC;;;;;;OAMG;IACI,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAI9C;;;;;OAKG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,gBAAgB;IAyB5D;;;;OAIG;IACa,SAAS,IAAI,gBAAgB;CAe7C"}
1
+ {"version":3,"file":"SlowSquareMatrix.d.ts","sourceRoot":"","sources":["../../src/linalg/SlowSquareMatrix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAIlD,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,gBACpB,SAAQ,UACR,YAAW,YAAY;IAEvB;;;OAGG;IACH,IAAW,WAAW,IAAI,MAAM,CAmB/B;IAED;;;;OAIG;gBACgB,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE;IAYtC;;;;OAIG;IACI,OAAO,IAAI,gBAAgB;IAIlC;;;OAGG;IACa,KAAK,IAAI,gBAAgB;IAezC;;;;OAIG;IACI,QAAQ,IAAI,gBAAgB;IAanC;;;;OAIG;IACI,QAAQ,IAAI,IAAI;IAUvB;;;;OAIG;IACI,MAAM,IAAI,gBAAgB;IAgEjC;;;;;;OAMG;IACI,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAI9C;;;;;OAKG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,gBAAgB;IAyB5D;;;;OAIG;IACa,SAAS,IAAI,gBAAgB;CAe7C"}
@@ -7,21 +7,6 @@ import SlowMatrix from "./SlowMatrix.js";
7
7
  * @public
8
8
  */
9
9
  export default class SlowSquareMatrix extends SlowMatrix {
10
- /**
11
- * Create a variable-size matrix with the same number of rows and columns from the given columns.
12
- * @param cols - The columns in the matrix.
13
- * @see {@link https://en.wikipedia.org/wiki/Square_matrix | Square matrix}
14
- */
15
- constructor(...cols) {
16
- super(...cols);
17
- // Ensure that every column is the same height and that the height is equal to the width.
18
- for (let i = 0; i < this.width; i++) {
19
- const col = cols[i];
20
- if (col?.length !== this.height) {
21
- throw new MatrixSizeError();
22
- }
23
- }
24
- }
25
10
  /**
26
11
  * Get the determinant of this matrix.
27
12
  * @see {@link https://en.wikipedia.org/wiki/Determinant | Determinant}
@@ -43,6 +28,21 @@ export default class SlowSquareMatrix extends SlowMatrix {
43
28
  }
44
29
  return out;
45
30
  }
31
+ /**
32
+ * Create a variable-size matrix with the same number of rows and columns from the given columns.
33
+ * @param cols - The columns in the matrix.
34
+ * @see {@link https://en.wikipedia.org/wiki/Square_matrix | Square matrix}
35
+ */
36
+ constructor(...cols) {
37
+ super(...cols);
38
+ // Ensure that every column is the same height and that the height is equal to the width.
39
+ for (let i = 0; i < this.width; i++) {
40
+ const col = cols[i];
41
+ if (col?.length !== this.height) {
42
+ throw new MatrixSizeError();
43
+ }
44
+ }
45
+ }
46
46
  /**
47
47
  * Calculate the adjugate of this matrix.
48
48
  * @returns The adjugate of this matrix.
@@ -1 +1 @@
1
- {"version":3,"file":"SlowSquareMatrix.js","sourceRoot":"","sources":["../../src/linalg/SlowSquareMatrix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SlowSquareMatrix.js","sourceRoot":"","sources":["../../src/linalg/SlowSquareMatrix.ts"],"names":[],"mappings":"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"}
@@ -6,29 +6,26 @@ import type { VectorLike } from "./Vector.js";
6
6
  * @public
7
7
  */
8
8
  export default class SlowVector extends Float32Array implements Vector {
9
+ /** Get the magnitude (length) of this vector. */
10
+ get magnitude(): number;
11
+ /** Get the squared magnitude (length) of this vector. */
12
+ get squaredMagnitude(): number;
9
13
  /**
10
14
  * Create a variable-size vector from the given values.
11
15
  * @param values - The values in the vector.
12
16
  */
13
17
  constructor(...values: number[]);
14
- /**
15
- * Determine whether this vector is roughly equivalent to another.
16
- * @param vector - The other vector.
17
- * @returns Whether the vectors are equivalent.
18
- */
19
- equals(vector: VectorLike): boolean;
20
- /**
21
- * Determine whether this vector is exactly equivalent to another.
22
- * @param vector - The other vector.
23
- * @returns Whether the vectors are equivalent.
24
- */
25
- exactEquals(vector: VectorLike): boolean;
26
18
  /**
27
19
  * Add two vectors of the same size.
28
20
  * @param vector - The other vector.
29
21
  * @returns The sum of the vectors.
30
22
  */
31
23
  add(vector: VectorLike): SlowVector;
24
+ /**
25
+ * Round up the components of this vector.
26
+ * @returns The rounded vector.
27
+ */
28
+ ceil(): SlowVector;
32
29
  /**
33
30
  * Create a copy of this vector.
34
31
  * @returns A copy of this vector.
@@ -41,11 +38,11 @@ export default class SlowVector extends Float32Array implements Vector {
41
38
  */
42
39
  copy(vector: VectorLike): this;
43
40
  /**
44
- * Multiply this vector by another.
41
+ * Calculate the Euclidean distance between this vector and another.
45
42
  * @param vector - The other vector.
46
- * @returns The product of the vectors.
43
+ * @returns The distance.
47
44
  */
48
- multiply(vector: VectorLike): SlowVector;
45
+ distance(vector: VectorLike): number;
49
46
  /**
50
47
  * Divide this vector by another.
51
48
  * @param vector - The other vector.
@@ -53,44 +50,87 @@ export default class SlowVector extends Float32Array implements Vector {
53
50
  */
54
51
  divide(vector: VectorLike): SlowVector;
55
52
  /**
56
- * Subtract another vector from this one.
53
+ * Calculate the dot product of this and another vector.
57
54
  * @param vector - The other vector.
58
- * @returns The difference between the vectors.
55
+ * @returns The dot product.
56
+ * @see {@link https://en.wikipedia.org/wiki/Dot_product | Dot product}
59
57
  */
60
- subtract(vector: VectorLike): SlowVector;
58
+ dot(vector: VectorLike): number;
61
59
  /**
62
- * Round up the components of this vector.
63
- * @returns The rounded vector.
60
+ * Determine whether this vector is roughly equivalent to another.
61
+ * @param vector - The other vector.
62
+ * @returns Whether the vectors are equivalent.
64
63
  */
65
- ceil(): SlowVector;
64
+ equals(vector: VectorLike): boolean;
65
+ /**
66
+ * Determine whether this vector is exactly equivalent to another.
67
+ * @param vector - The other vector.
68
+ * @returns Whether the vectors are equivalent.
69
+ */
70
+ exactEquals(vector: VectorLike): boolean;
66
71
  /**
67
72
  * Round down the components of this vector.
68
73
  * @returns The rounded vector.
69
74
  */
70
75
  floor(): SlowVector;
71
76
  /**
72
- * Round the components of this vector.
73
- * @returns The rounded vector.
77
+ * Calculate the multiplicative inverse of the components of this vector.
78
+ * @returns The inverted vector.
74
79
  */
75
- round(): SlowVector;
80
+ invert(): SlowVector;
76
81
  /**
77
- * Return the minimum of this and another vector.
82
+ * Perform a linear interpolation between this and another vector.
78
83
  * @param vector - The other vector.
79
- * @returns The minimum.
84
+ * @param t - The interpolation amount (in `[0,1]`).
85
+ * @returns The interpolated vector.
80
86
  */
81
- min(vector: VectorLike): SlowVector;
87
+ lerp(vector: VectorLike, t: number): SlowVector;
82
88
  /**
83
89
  * Return the maximum of this and another vector.
84
90
  * @param vector - The other vector.
85
91
  * @returns The maximum.
86
92
  */
87
93
  max(vector: VectorLike): SlowVector;
94
+ /**
95
+ * Return the minimum of this and another vector.
96
+ * @param vector - The other vector.
97
+ * @returns The minimum.
98
+ */
99
+ min(vector: VectorLike): SlowVector;
100
+ /**
101
+ * Multiply this vector by another.
102
+ * @param vector - The other vector.
103
+ * @returns The product of the vectors.
104
+ */
105
+ multiply(vector: VectorLike): SlowVector;
106
+ /**
107
+ * Negate this vector.
108
+ * @returns The negated vector.
109
+ */
110
+ negate(): SlowVector;
111
+ /**
112
+ * Normalize this vector.
113
+ * @returns The normalized vector.
114
+ * @see {@link https://en.wikipedia.org/wiki/Unit_vector | Unit vector}
115
+ */
116
+ normalize(): SlowVector;
88
117
  /**
89
118
  * Raise each component of this vector to the given power.
90
119
  * @param exponent - The exponent (power) to raise each component to.
91
120
  * @returns The power (result of the exponentiation).
92
121
  */
93
122
  pow(exponent: number): SlowVector;
123
+ /**
124
+ * Set this vector to a random value with the given magnitude.
125
+ * @param magnitude - The magnitude.
126
+ * @returns This vector.
127
+ */
128
+ random(magnitude: number): this;
129
+ /**
130
+ * Round the components of this vector.
131
+ * @returns The rounded vector.
132
+ */
133
+ round(): SlowVector;
94
134
  /**
95
135
  * Scale this vector by a scalar.
96
136
  * @param scalar - The scalar.
@@ -104,58 +144,18 @@ export default class SlowVector extends Float32Array implements Vector {
104
144
  * @returns The sum.
105
145
  */
106
146
  scaleAndAdd(vector: VectorLike, scalar: number): SlowVector;
107
- /**
108
- * Calculate the Euclidean distance between this vector and another.
109
- * @param vector - The other vector.
110
- * @returns The distance.
111
- */
112
- distance(vector: VectorLike): number;
113
147
  /**
114
148
  * Calculate the squared Euclidean distance between this vector and another.
115
149
  * @param vector - The other vector.
116
150
  * @returns The squared distance.
117
151
  */
118
152
  squaredDistance(vector: VectorLike): number;
119
- /** Get the magnitude (length) of this vector. */
120
- get magnitude(): number;
121
- /** Get the squared magnitude (length) of this vector. */
122
- get squaredMagnitude(): number;
123
- /**
124
- * Negate this vector.
125
- * @returns The negated vector.
126
- */
127
- negate(): SlowVector;
128
- /**
129
- * Calculate the multiplicative inverse of the components of this vector.
130
- * @returns The inverted vector.
131
- */
132
- invert(): SlowVector;
133
153
  /**
134
- * Normalize this vector.
135
- * @returns The normalized vector.
136
- * @see {@link https://en.wikipedia.org/wiki/Unit_vector | Unit vector}
137
- */
138
- normalize(): SlowVector;
139
- /**
140
- * Calculate the dot product of this and another vector.
141
- * @param vector - The other vector.
142
- * @returns The dot product.
143
- * @see {@link https://en.wikipedia.org/wiki/Dot_product | Dot product}
144
- */
145
- dot(vector: VectorLike): number;
146
- /**
147
- * Perform a linear interpolation between this and another vector.
154
+ * Subtract another vector from this one.
148
155
  * @param vector - The other vector.
149
- * @param t - The interpolation amount (in `[0,1]`).
150
- * @returns The interpolated vector.
151
- */
152
- lerp(vector: VectorLike, t: number): SlowVector;
153
- /**
154
- * Set this vector to a random value with the given magnitude.
155
- * @param magnitude - The magnitude.
156
- * @returns This vector.
156
+ * @returns The difference between the vectors.
157
157
  */
158
- random(magnitude: number): this;
158
+ subtract(vector: VectorLike): SlowVector;
159
159
  /**
160
160
  * Set this to the zero vector.
161
161
  * @returns This vector.
@@ -1 +1 @@
1
- {"version":3,"file":"SlowVector.d.ts","sourceRoot":"","sources":["../../src/linalg/SlowVector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoB9C;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,YAAa,YAAW,MAAM;IACrE;;;OAGG;gBACgB,GAAG,MAAM,EAAE,MAAM,EAAE;IAItC;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAoB1C;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAc/C;;;;OAIG;IACI,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAa1C;;;OAGG;IACI,KAAK,IAAI,UAAU;IAI1B;;;;OAIG;IACI,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAYrC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAa/C;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAa7C;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAa/C;;;OAGG;IACI,IAAI,IAAI,UAAU;IASzB;;;OAGG;IACI,KAAK,IAAI,UAAU;IAS1B;;;OAGG;IACI,KAAK,IAAI,UAAU;IAS1B;;;;OAIG;IACI,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAa1C;;;;OAIG;IACI,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAa1C;;;;OAIG;IACI,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;IASxC;;;;OAIG;IACI,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IASxC;;;;;OAKG;IACI,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU;IAalE;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAa3C;;;;OAIG;IACI,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAalD,iDAAiD;IACjD,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,yDAAyD;IACzD,IAAW,gBAAgB,IAAI,MAAM,CAOpC;IAED;;;OAGG;IACI,MAAM,IAAI,UAAU;IAI3B;;;OAGG;IACI,MAAM,IAAI,UAAU;IAS3B;;;;OAIG;IACI,SAAS,IAAI,UAAU;IAI9B;;;;;OAKG;IACI,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAatC;;;;;OAKG;IACI,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU;IActD;;;;OAIG;IACI,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IActC;;;OAGG;IACI,IAAI,IAAI,IAAI;CAOnB"}
1
+ {"version":3,"file":"SlowVector.d.ts","sourceRoot":"","sources":["../../src/linalg/SlowVector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAqB9C;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,YAAa,YAAW,MAAM;IACrE,iDAAiD;IACjD,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,yDAAyD;IACzD,IAAW,gBAAgB,IAAI,MAAM,CAOpC;IAED;;;OAGG;gBACgB,GAAG,MAAM,EAAE,MAAM,EAAE;IAItC;;;;OAIG;IACI,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAa1C;;;OAGG;IACI,IAAI,IAAI,UAAU;IASzB;;;OAGG;IACI,KAAK,IAAI,UAAU;IAI1B;;;;OAIG;IACI,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAYrC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAa3C;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAa7C;;;;;OAKG;IACI,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAatC;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAoB1C;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAc/C;;;OAGG;IACI,KAAK,IAAI,UAAU;IAS1B;;;OAGG;IACI,MAAM,IAAI,UAAU;IAS3B;;;;;OAKG;IACI,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU;IActD;;;;OAIG;IACI,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAa1C;;;;OAIG;IACI,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAa1C;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAa/C;;;OAGG;IACI,MAAM,IAAI,UAAU;IAI3B;;;;OAIG;IACI,SAAS,IAAI,UAAU;IAI9B;;;;OAIG;IACI,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;IASxC;;;;OAIG;IACI,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IActC;;;OAGG;IACI,KAAK,IAAI,UAAU;IAS1B;;;;OAIG;IACI,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IASxC;;;;;OAKG;IACI,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU;IAalE;;;;OAIG;IACI,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAalD;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAa/C;;;OAGG;IACI,IAAI,IAAI,IAAI;CAOnB"}