@lakuna/umath 0.0.2 → 0.0.4
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/README.md +41 -1
- package/dist/algorithms/combinations.d.ts +2 -0
- package/dist/algorithms/combinations.d.ts.map +1 -0
- package/dist/algorithms/combinations.js +5 -0
- package/dist/algorithms/combinations.js.map +1 -0
- package/dist/algorithms/degreesToRadians.d.ts +2 -0
- package/dist/algorithms/degreesToRadians.d.ts.map +1 -0
- package/dist/algorithms/degreesToRadians.js +4 -0
- package/dist/algorithms/degreesToRadians.js.map +1 -0
- package/dist/algorithms/factorial.d.ts +2 -0
- package/dist/algorithms/factorial.d.ts.map +1 -0
- package/dist/algorithms/factorial.js +4 -0
- package/dist/algorithms/factorial.js.map +1 -0
- package/dist/algorithms/fibonacci.d.ts +2 -0
- package/dist/algorithms/fibonacci.d.ts.map +1 -0
- package/dist/algorithms/fibonacci.js +9 -0
- package/dist/algorithms/fibonacci.js.map +1 -0
- package/dist/algorithms/greatestCommonDivisor.d.ts +3 -0
- package/dist/algorithms/greatestCommonDivisor.d.ts.map +1 -0
- package/dist/algorithms/greatestCommonDivisor.js +13 -0
- package/dist/algorithms/greatestCommonDivisor.js.map +1 -0
- package/dist/algorithms/isPrime.d.ts +2 -0
- package/dist/algorithms/isPrime.d.ts.map +1 -0
- package/dist/algorithms/isPrime.js +12 -0
- package/dist/algorithms/isPrime.js.map +1 -0
- package/dist/algorithms/permutations.d.ts +2 -0
- package/dist/algorithms/permutations.d.ts.map +1 -0
- package/dist/algorithms/permutations.js +5 -0
- package/dist/algorithms/permutations.js.map +1 -0
- package/dist/algorithms/primeFactorization.d.ts +2 -0
- package/dist/algorithms/primeFactorization.d.ts.map +1 -0
- package/dist/algorithms/primeFactorization.js +15 -0
- package/dist/algorithms/primeFactorization.js.map +1 -0
- package/dist/algorithms/radiansToDegrees.d.ts +2 -0
- package/dist/algorithms/radiansToDegrees.d.ts.map +1 -0
- package/dist/algorithms/radiansToDegrees.js +4 -0
- package/dist/algorithms/radiansToDegrees.js.map +1 -0
- package/dist/algorithms/summation.d.ts +2 -0
- package/dist/algorithms/summation.d.ts.map +1 -0
- package/dist/algorithms/summation.js +7 -0
- package/dist/algorithms/summation.js.map +1 -0
- package/dist/index.d.ts +28 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -1
- package/dist/index.js.map +1 -1
- package/dist/linear/DualQuaternion.d.ts +89 -0
- package/dist/linear/DualQuaternion.d.ts.map +1 -0
- package/dist/linear/DualQuaternion.js +530 -0
- package/dist/linear/DualQuaternion.js.map +1 -0
- package/dist/linear/Matrix.d.ts +18 -0
- package/dist/linear/Matrix.d.ts.map +1 -0
- package/dist/linear/Matrix.js +2 -0
- package/dist/linear/Matrix.js.map +1 -0
- package/dist/linear/Matrix2.d.ts +66 -0
- package/dist/linear/Matrix2.d.ts.map +1 -0
- package/dist/linear/Matrix2.js +240 -0
- package/dist/linear/Matrix2.js.map +1 -0
- package/dist/linear/Matrix3.d.ts +91 -0
- package/dist/linear/Matrix3.d.ts.map +1 -0
- package/dist/linear/Matrix3.js +533 -0
- package/dist/linear/Matrix3.js.map +1 -0
- package/dist/linear/Matrix4.d.ts +140 -0
- package/dist/linear/Matrix4.d.ts.map +1 -0
- package/dist/linear/Matrix4.js +1363 -0
- package/dist/linear/Matrix4.js.map +1 -0
- package/dist/linear/Quaternion.d.ts +80 -0
- package/dist/linear/Quaternion.d.ts.map +1 -0
- package/dist/linear/Quaternion.js +371 -0
- package/dist/linear/Quaternion.js.map +1 -0
- package/dist/linear/SquareMatrix.d.ts +7 -0
- package/dist/linear/SquareMatrix.d.ts.map +1 -0
- package/dist/linear/SquareMatrix.js +2 -0
- package/dist/linear/SquareMatrix.js.map +1 -0
- package/dist/linear/Vector.d.ts +30 -0
- package/dist/linear/Vector.d.ts.map +1 -0
- package/dist/linear/Vector.js +2 -0
- package/dist/linear/Vector.js.map +1 -0
- package/dist/linear/Vector2.d.ts +96 -0
- package/dist/linear/Vector2.d.ts.map +1 -0
- package/dist/linear/Vector2.js +293 -0
- package/dist/linear/Vector2.js.map +1 -0
- package/dist/linear/Vector3.d.ts +111 -0
- package/dist/linear/Vector3.d.ts.map +1 -0
- package/dist/linear/Vector3.js +466 -0
- package/dist/linear/Vector3.js.map +1 -0
- package/dist/linear/Vector4.d.ts +86 -0
- package/dist/linear/Vector4.d.ts.map +1 -0
- package/dist/linear/Vector4.js +348 -0
- package/dist/linear/Vector4.js.map +1 -0
- package/dist/types/AxisAngle.d.ts +6 -0
- package/dist/types/AxisAngle.d.ts.map +1 -0
- package/dist/types/AxisAngle.js +2 -0
- package/dist/types/AxisAngle.js.map +1 -0
- package/dist/types/FieldOfView.d.ts +7 -0
- package/dist/types/FieldOfView.d.ts.map +1 -0
- package/dist/types/FieldOfView.js +2 -0
- package/dist/types/FieldOfView.js.map +1 -0
- package/dist/types/IntegerRepresentation.d.ts +2 -0
- package/dist/types/IntegerRepresentation.d.ts.map +1 -0
- package/dist/types/IntegerRepresentation.js +2 -0
- package/dist/types/IntegerRepresentation.js.map +1 -0
- package/dist/utility/BigNumber.d.ts +15 -0
- package/dist/utility/BigNumber.d.ts.map +1 -0
- package/dist/utility/BigNumber.js +75 -0
- package/dist/utility/BigNumber.js.map +1 -0
- package/dist/utility/MagnitudeError.d.ts +4 -0
- package/dist/utility/MagnitudeError.d.ts.map +1 -0
- package/dist/utility/MagnitudeError.js +6 -0
- package/dist/utility/MagnitudeError.js.map +1 -0
- package/dist/utility/SingularMatrixError.d.ts +4 -0
- package/dist/utility/SingularMatrixError.d.ts.map +1 -0
- package/dist/utility/SingularMatrixError.js +6 -0
- package/dist/utility/SingularMatrixError.js.map +1 -0
- package/dist/utility/epsilon.d.ts +3 -0
- package/dist/utility/epsilon.d.ts.map +1 -0
- package/dist/utility/epsilon.js +2 -0
- package/dist/utility/epsilon.js.map +1 -0
- package/package.json +17 -9
- package/src/algorithms/combinations.ts +12 -0
- package/src/algorithms/degreesToRadians.ts +10 -0
- package/src/algorithms/factorial.ts +9 -0
- package/src/algorithms/fibonacci.ts +14 -0
- package/src/algorithms/greatestCommonDivisor.ts +30 -0
- package/src/algorithms/isPrime.ts +20 -0
- package/src/algorithms/permutations.ts +12 -0
- package/src/algorithms/primeFactorization.ts +21 -0
- package/src/algorithms/radiansToDegrees.ts +10 -0
- package/src/algorithms/summation.ts +23 -0
- package/src/index.ts +28 -1
- package/src/linear/DualQuaternion.ts +1213 -0
- package/src/linear/Matrix.ts +106 -0
- package/src/linear/Matrix2.ts +709 -0
- package/src/linear/Matrix3.ts +1194 -0
- package/src/linear/Matrix4.ts +2569 -0
- package/src/linear/Quaternion.ts +967 -0
- package/src/linear/SquareMatrix.ts +27 -0
- package/src/linear/Vector.ts +178 -0
- package/src/linear/Vector2.ts +979 -0
- package/src/linear/Vector3.ts +1320 -0
- package/src/linear/Vector4.ts +975 -0
- package/src/types/AxisAngle.ts +10 -0
- package/src/types/FieldOfView.ts +14 -0
- package/src/types/IntegerRepresentation.ts +2 -0
- package/src/utility/BigNumber.ts +130 -0
- package/src/utility/MagnitudeError.ts +10 -0
- package/src/utility/SingularMatrixError.ts +13 -0
- package/src/utility/epsilon.ts +2 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A rectangular array of numbers, arranged in rows and columns.
|
|
3
|
+
* @see [Matrix](https://en.wikipedia.org/wiki/Matrix_(mathematics))
|
|
4
|
+
*/
|
|
5
|
+
export type MatrixLike = Matrix | ArrayLike<number>;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* A rectangular array of numbers, arranged in rows and columns.
|
|
9
|
+
* @see [Matrix](https://en.wikipedia.org/wiki/Matrix_(mathematics))
|
|
10
|
+
*/
|
|
11
|
+
export default interface Matrix extends ArrayLike<number> {
|
|
12
|
+
/** The number of columns in this matrix. */
|
|
13
|
+
width: number;
|
|
14
|
+
|
|
15
|
+
/** The number of rows in this matrix. */
|
|
16
|
+
height: number;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Determines whether this matrix is roughly equivalent to another.
|
|
20
|
+
* @param matrix The other matrix.
|
|
21
|
+
* @returns Whether the matrices are equivalent.
|
|
22
|
+
*/
|
|
23
|
+
equals(matrix: MatrixLike): boolean;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Determines whether this matrix is exactly equivalent to another.
|
|
27
|
+
* @param matrix The other matrix.
|
|
28
|
+
* @returns Whether the matrices are equivalent.
|
|
29
|
+
*/
|
|
30
|
+
exactEquals(matrix: MatrixLike): boolean;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Adds two matrices of the same size.
|
|
34
|
+
* @param matrix The other matrix.
|
|
35
|
+
* @returns The sum of the matrices.
|
|
36
|
+
* @see [Matrix addition](https://en.wikipedia.org/wiki/Matrix_addition)
|
|
37
|
+
*/
|
|
38
|
+
add(matrix: MatrixLike): Matrix;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Calculates the adjugate of this matrix.
|
|
42
|
+
* @returns The adjugate of this matrix.
|
|
43
|
+
* @see [Adjugate matrix](https://en.wikipedia.org/wiki/Adjugate_matrix)
|
|
44
|
+
*/
|
|
45
|
+
adjoint(): Matrix;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Creates a copy of this matrix.
|
|
49
|
+
* @returns A copy of this matrix.
|
|
50
|
+
*/
|
|
51
|
+
clone(): Matrix;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Copies the values of another matrix into this one.
|
|
55
|
+
* @param matrix The matrix to copy.
|
|
56
|
+
* @returns This matrix.
|
|
57
|
+
*/
|
|
58
|
+
copy(matrix: MatrixLike): this;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* The Frobenius norm of this matrix.
|
|
62
|
+
* @see [Matrix norm](https://en.wikipedia.org/wiki/Matrix_norm)
|
|
63
|
+
*/
|
|
64
|
+
get frob(): number;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Multiplies this matrix by another.
|
|
68
|
+
* @param matrix The other matrix.
|
|
69
|
+
* @returns The product of the matrices.
|
|
70
|
+
* @see [Matrix multiplication](https://en.wikipedia.org/wiki/Matrix_multiplication)
|
|
71
|
+
*/
|
|
72
|
+
multiply(matrix: MatrixLike): Matrix;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Multiplies this matrix by a scalar value.
|
|
76
|
+
* @param scalar The scalar value.
|
|
77
|
+
* @returns The product of the matrix and the scalar value.
|
|
78
|
+
* @see [Matrix multiplication](https://en.wikipedia.org/wiki/Matrix_multiplication)
|
|
79
|
+
*/
|
|
80
|
+
multiplyScalar(scalar: number): Matrix;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Adds this matrix to another after multiplying the other by a scalar.
|
|
84
|
+
* @param matrix The other matrix.
|
|
85
|
+
* @param scalar The scalar.
|
|
86
|
+
* @returns The sum.
|
|
87
|
+
* @see [Matrix addition](https://en.wikipedia.org/wiki/Matrix_addition)
|
|
88
|
+
* @see [Matrix multiplication](https://en.wikipedia.org/wiki/Matrix_multiplication)
|
|
89
|
+
*/
|
|
90
|
+
multiplyScalarAndAdd(matrix: MatrixLike, scalar: number): Matrix;
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Subtracts another matrix from this one.
|
|
94
|
+
* @param matrix The other matrix.
|
|
95
|
+
* @returns The difference between the matrices.
|
|
96
|
+
* @see [Matrix addition](https://en.wikipedia.org/wiki/Matrix_addition)
|
|
97
|
+
*/
|
|
98
|
+
subtract(matrix: MatrixLike): Matrix;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Transposes this matrix.
|
|
102
|
+
* @returns The transpose of this matrix.
|
|
103
|
+
* @see [Transpose](https://en.wikipedia.org/wiki/Transpose)
|
|
104
|
+
*/
|
|
105
|
+
transpose(): Matrix;
|
|
106
|
+
}
|