@lakuna/umath 0.0.3 → 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.
Files changed (136) hide show
  1. package/README.md +33 -0
  2. package/dist/algorithms/combinations.d.ts +2 -0
  3. package/dist/algorithms/combinations.d.ts.map +1 -0
  4. package/dist/algorithms/combinations.js +5 -0
  5. package/dist/algorithms/combinations.js.map +1 -0
  6. package/dist/algorithms/degreesToRadians.d.ts +2 -0
  7. package/dist/algorithms/degreesToRadians.d.ts.map +1 -0
  8. package/dist/algorithms/degreesToRadians.js +4 -0
  9. package/dist/algorithms/degreesToRadians.js.map +1 -0
  10. package/dist/algorithms/factorial.d.ts +2 -0
  11. package/dist/algorithms/factorial.d.ts.map +1 -0
  12. package/dist/algorithms/factorial.js +4 -0
  13. package/dist/algorithms/factorial.js.map +1 -0
  14. package/dist/algorithms/fibonacci.d.ts +2 -0
  15. package/dist/algorithms/fibonacci.d.ts.map +1 -0
  16. package/dist/algorithms/fibonacci.js +9 -0
  17. package/dist/algorithms/fibonacci.js.map +1 -0
  18. package/dist/algorithms/isPrime.d.ts +2 -0
  19. package/dist/algorithms/isPrime.d.ts.map +1 -0
  20. package/dist/algorithms/isPrime.js +12 -0
  21. package/dist/algorithms/isPrime.js.map +1 -0
  22. package/dist/algorithms/permutations.d.ts +2 -0
  23. package/dist/algorithms/permutations.d.ts.map +1 -0
  24. package/dist/algorithms/permutations.js +5 -0
  25. package/dist/algorithms/permutations.js.map +1 -0
  26. package/dist/algorithms/primeFactorization.d.ts +2 -0
  27. package/dist/algorithms/primeFactorization.d.ts.map +1 -0
  28. package/dist/algorithms/primeFactorization.js +15 -0
  29. package/dist/algorithms/primeFactorization.js.map +1 -0
  30. package/dist/algorithms/radiansToDegrees.d.ts +2 -0
  31. package/dist/algorithms/radiansToDegrees.d.ts.map +1 -0
  32. package/dist/algorithms/radiansToDegrees.js +4 -0
  33. package/dist/algorithms/radiansToDegrees.js.map +1 -0
  34. package/dist/algorithms/summation.d.ts.map +1 -1
  35. package/dist/algorithms/summation.js.map +1 -1
  36. package/dist/index.d.ts +24 -0
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +19 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/linear/DualQuaternion.d.ts +89 -0
  41. package/dist/linear/DualQuaternion.d.ts.map +1 -0
  42. package/dist/linear/DualQuaternion.js +530 -0
  43. package/dist/linear/DualQuaternion.js.map +1 -0
  44. package/dist/linear/Matrix.d.ts +18 -0
  45. package/dist/linear/Matrix.d.ts.map +1 -0
  46. package/dist/linear/Matrix.js +2 -0
  47. package/dist/linear/Matrix.js.map +1 -0
  48. package/dist/linear/Matrix2.d.ts +66 -0
  49. package/dist/linear/Matrix2.d.ts.map +1 -0
  50. package/dist/linear/Matrix2.js +240 -0
  51. package/dist/linear/Matrix2.js.map +1 -0
  52. package/dist/linear/Matrix3.d.ts +91 -0
  53. package/dist/linear/Matrix3.d.ts.map +1 -0
  54. package/dist/linear/Matrix3.js +533 -0
  55. package/dist/linear/Matrix3.js.map +1 -0
  56. package/dist/linear/Matrix4.d.ts +140 -0
  57. package/dist/linear/Matrix4.d.ts.map +1 -0
  58. package/dist/linear/Matrix4.js +1363 -0
  59. package/dist/linear/Matrix4.js.map +1 -0
  60. package/dist/linear/Quaternion.d.ts +80 -0
  61. package/dist/linear/Quaternion.d.ts.map +1 -0
  62. package/dist/linear/Quaternion.js +371 -0
  63. package/dist/linear/Quaternion.js.map +1 -0
  64. package/dist/linear/SquareMatrix.d.ts +7 -0
  65. package/dist/linear/SquareMatrix.d.ts.map +1 -0
  66. package/dist/linear/SquareMatrix.js +2 -0
  67. package/dist/linear/SquareMatrix.js.map +1 -0
  68. package/dist/linear/Vector.d.ts +30 -0
  69. package/dist/linear/Vector.d.ts.map +1 -0
  70. package/dist/linear/Vector.js +2 -0
  71. package/dist/linear/Vector.js.map +1 -0
  72. package/dist/linear/Vector2.d.ts +96 -0
  73. package/dist/linear/Vector2.d.ts.map +1 -0
  74. package/dist/linear/Vector2.js +293 -0
  75. package/dist/linear/Vector2.js.map +1 -0
  76. package/dist/linear/Vector3.d.ts +111 -0
  77. package/dist/linear/Vector3.d.ts.map +1 -0
  78. package/dist/linear/Vector3.js +466 -0
  79. package/dist/linear/Vector3.js.map +1 -0
  80. package/dist/linear/Vector4.d.ts +86 -0
  81. package/dist/linear/Vector4.d.ts.map +1 -0
  82. package/dist/linear/Vector4.js +348 -0
  83. package/dist/linear/Vector4.js.map +1 -0
  84. package/dist/types/AxisAngle.d.ts +6 -0
  85. package/dist/types/AxisAngle.d.ts.map +1 -0
  86. package/dist/types/AxisAngle.js +2 -0
  87. package/dist/types/AxisAngle.js.map +1 -0
  88. package/dist/types/FieldOfView.d.ts +7 -0
  89. package/dist/types/FieldOfView.d.ts.map +1 -0
  90. package/dist/types/FieldOfView.js +2 -0
  91. package/dist/types/FieldOfView.js.map +1 -0
  92. package/dist/utility/BigNumber.d.ts +1 -1
  93. package/dist/utility/BigNumber.d.ts.map +1 -1
  94. package/dist/utility/BigNumber.js +4 -1
  95. package/dist/utility/BigNumber.js.map +1 -1
  96. package/dist/utility/MagnitudeError.d.ts +4 -0
  97. package/dist/utility/MagnitudeError.d.ts.map +1 -0
  98. package/dist/utility/MagnitudeError.js +6 -0
  99. package/dist/utility/MagnitudeError.js.map +1 -0
  100. package/dist/utility/SingularMatrixError.d.ts +4 -0
  101. package/dist/utility/SingularMatrixError.d.ts.map +1 -0
  102. package/dist/utility/SingularMatrixError.js +6 -0
  103. package/dist/utility/SingularMatrixError.js.map +1 -0
  104. package/dist/utility/epsilon.d.ts +3 -0
  105. package/dist/utility/epsilon.d.ts.map +1 -0
  106. package/dist/utility/epsilon.js +2 -0
  107. package/dist/utility/epsilon.js.map +1 -0
  108. package/package.json +15 -7
  109. package/src/algorithms/combinations.ts +12 -0
  110. package/src/algorithms/degreesToRadians.ts +10 -0
  111. package/src/algorithms/factorial.ts +9 -0
  112. package/src/algorithms/fibonacci.ts +14 -0
  113. package/src/algorithms/greatestCommonDivisor.ts +2 -2
  114. package/src/algorithms/isPrime.ts +20 -0
  115. package/src/algorithms/permutations.ts +12 -0
  116. package/src/algorithms/primeFactorization.ts +21 -0
  117. package/src/algorithms/radiansToDegrees.ts +10 -0
  118. package/src/algorithms/summation.ts +4 -1
  119. package/src/index.ts +24 -0
  120. package/src/linear/DualQuaternion.ts +1213 -0
  121. package/src/linear/Matrix.ts +106 -0
  122. package/src/linear/Matrix2.ts +709 -0
  123. package/src/linear/Matrix3.ts +1194 -0
  124. package/src/linear/Matrix4.ts +2569 -0
  125. package/src/linear/Quaternion.ts +967 -0
  126. package/src/linear/SquareMatrix.ts +27 -0
  127. package/src/linear/Vector.ts +178 -0
  128. package/src/linear/Vector2.ts +979 -0
  129. package/src/linear/Vector3.ts +1320 -0
  130. package/src/linear/Vector4.ts +975 -0
  131. package/src/types/AxisAngle.ts +10 -0
  132. package/src/types/FieldOfView.ts +14 -0
  133. package/src/utility/BigNumber.ts +2 -1
  134. package/src/utility/MagnitudeError.ts +10 -0
  135. package/src/utility/SingularMatrixError.ts +13 -0
  136. package/src/utility/epsilon.ts +2 -0
package/README.md CHANGED
@@ -7,3 +7,36 @@ A lightweight math library.
7
7
  Documentation is automatically generated and uploaded to [the website](https://umath.lakuna.pw/).
8
8
 
9
9
  The source code can be found on [the GitHub repository](https://github.com/Lakuna/umath).
10
+
11
+ # Linear Algebra API
12
+
13
+ In addition to exporting convenience classes representing a variety of linear algebra-related data types, each such type also has its own module
14
+ that exports individual functions. For example, a two-by-two matrix can be imported in two different ways:
15
+
16
+ ```ts
17
+ import { Matrix2 } from "@lakuna/umath";
18
+ ```
19
+
20
+ ```ts
21
+ import Matrix2 from "@lakuna/umath/Matrix2";
22
+ ```
23
+
24
+ Using the convenience class, multiplying two two-by-two matrices would look like this:
25
+
26
+ ```ts
27
+ import { Matrix2 } from "@lakuna/umath";
28
+
29
+ const a: Matrix2 = Matrix2.fromValues(0, 1, 2, 3);
30
+ const b: Matrix2 = Matrix2.fromValues(4, 5, 6, 7);
31
+ const c: Matrix2 = a.multiply(b);
32
+ ```
33
+
34
+ Using the raw functions, it could instead look like this:
35
+
36
+ ```ts
37
+ import { type Matrix2Like, multiply } from "@lakuna/umath/Matrix2";
38
+
39
+ const a: Matrix2Like = [0, 1, 2, 3];
40
+ const b: Matrix2Like = [4, 5, 6, 7];
41
+ const c: Matrix2Like = multiply(a, b, [0, 0, 0, 0]);
42
+ ```
@@ -0,0 +1,2 @@
1
+ export default function combinations(n: number, r: number): number;
2
+ //# sourceMappingURL=combinations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combinations.d.ts","sourceRoot":"","sources":["../../src/algorithms/combinations.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjE"}
@@ -0,0 +1,5 @@
1
+ import { factorial } from "@lakuna/umath";
2
+ export default function combinations(n, r) {
3
+ return factorial(n) / (factorial(r) * factorial(n - r));
4
+ }
5
+ //# sourceMappingURL=combinations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combinations.js","sourceRoot":"","sources":["../../src/algorithms/combinations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAS1C,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,CAAS,EAAE,CAAS;IACxD,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function degreesToRadians(degrees: number): number;
2
+ //# sourceMappingURL=degreesToRadians.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"degreesToRadians.d.ts","sourceRoot":"","sources":["../../src/algorithms/degreesToRadians.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhE"}
@@ -0,0 +1,4 @@
1
+ export default function degreesToRadians(degrees) {
2
+ return degrees * Math.PI / 180;
3
+ }
4
+ //# sourceMappingURL=degreesToRadians.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"degreesToRadians.js","sourceRoot":"","sources":["../../src/algorithms/degreesToRadians.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,OAAe;IACvD,OAAO,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;AAChC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function factorial(n: number): number;
2
+ //# sourceMappingURL=factorial.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factorial.d.ts","sourceRoot":"","sources":["../../src/algorithms/factorial.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD"}
@@ -0,0 +1,4 @@
1
+ export default function factorial(n) {
2
+ return n == 0 ? 1 : n * factorial(n - 1);
3
+ }
4
+ //# sourceMappingURL=factorial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factorial.js","sourceRoot":"","sources":["../../src/algorithms/factorial.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,CAAS;IAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function fibonacci(): Generator<number>;
2
+ //# sourceMappingURL=fibonacci.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fibonacci.d.ts","sourceRoot":"","sources":["../../src/algorithms/fibonacci.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAW,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,CAQtD"}
@@ -0,0 +1,9 @@
1
+ export default function* fibonacci() {
2
+ let a = 0;
3
+ let b = 1;
4
+ while (true) {
5
+ yield a;
6
+ [a, b] = [b, a + b];
7
+ }
8
+ }
9
+ //# sourceMappingURL=fibonacci.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fibonacci.js","sourceRoot":"","sources":["../../src/algorithms/fibonacci.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,SAAS,CAAC,CAAC,SAAS;IACjC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,IAAI,EAAE;QACZ,MAAM,CAAC,CAAC;QACR,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KACpB;AACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function isPrime(n: number): boolean;
2
+ //# sourceMappingURL=isPrime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isPrime.d.ts","sourceRoot":"","sources":["../../src/algorithms/isPrime.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAalD"}
@@ -0,0 +1,12 @@
1
+ export default function isPrime(n) {
2
+ if (n < 2) {
3
+ return false;
4
+ }
5
+ for (let i = 2; i * i <= n; i++) {
6
+ if (n % i == 0) {
7
+ return false;
8
+ }
9
+ }
10
+ return true;
11
+ }
12
+ //# sourceMappingURL=isPrime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isPrime.js","sourceRoot":"","sources":["../../src/algorithms/isPrime.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,CAAS;IAExC,IAAI,CAAC,GAAG,CAAC,EAAE;QACV,OAAO,KAAK,CAAC;KACb;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACf,OAAO,KAAK,CAAC;SACb;KACD;IAED,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function permutations(n: number, r: number): number;
2
+ //# sourceMappingURL=permutations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permutations.d.ts","sourceRoot":"","sources":["../../src/algorithms/permutations.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjE"}
@@ -0,0 +1,5 @@
1
+ import { factorial } from "@lakuna/umath";
2
+ export default function permutations(n, r) {
3
+ return factorial(n) / factorial(n - r);
4
+ }
5
+ //# sourceMappingURL=permutations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permutations.js","sourceRoot":"","sources":["../../src/algorithms/permutations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAS1C,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,CAAS,EAAE,CAAS;IACxD,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function primeFactorization(n: number): Array<number>;
2
+ //# sourceMappingURL=primeFactorization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primeFactorization.d.ts","sourceRoot":"","sources":["../../src/algorithms/primeFactorization.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAcnE"}
@@ -0,0 +1,15 @@
1
+ export default function primeFactorization(n) {
2
+ const out = [];
3
+ let divisor = 2;
4
+ while (n >= 2) {
5
+ if (n % divisor == 0) {
6
+ out.push(divisor);
7
+ n /= divisor;
8
+ }
9
+ else {
10
+ divisor++;
11
+ }
12
+ }
13
+ return out;
14
+ }
15
+ //# sourceMappingURL=primeFactorization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primeFactorization.js","sourceRoot":"","sources":["../../src/algorithms/primeFactorization.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,CAAS;IACnD,MAAM,GAAG,GAAkB,EAAE,CAAC;IAE9B,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,CAAC,IAAI,CAAC,EAAE;QACd,IAAI,CAAC,GAAG,OAAO,IAAI,CAAC,EAAE;YACrB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClB,CAAC,IAAI,OAAO,CAAC;SACb;aAAM;YACN,OAAO,EAAE,CAAC;SACV;KACD;IAED,OAAO,GAAG,CAAC;AACZ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function radiansToDegrees(radians: number): number;
2
+ //# sourceMappingURL=radiansToDegrees.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radiansToDegrees.d.ts","sourceRoot":"","sources":["../../src/algorithms/radiansToDegrees.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhE"}
@@ -0,0 +1,4 @@
1
+ export default function radiansToDegrees(radians) {
2
+ return radians * 180 / Math.PI;
3
+ }
4
+ //# sourceMappingURL=radiansToDegrees.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radiansToDegrees.js","sourceRoot":"","sources":["../../src/algorithms/radiansToDegrees.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,OAAe;IACvD,OAAO,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;AAChC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"summation.d.ts","sourceRoot":"","sources":["../../src/algorithms/summation.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAE/F"}
1
+ {"version":3,"file":"summation.d.ts","sourceRoot":"","sources":["../../src/algorithms/summation.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAE/F"}
@@ -1 +1 @@
1
- {"version":3,"file":"summation.js","sourceRoot":"","sources":["../../src/algorithms/summation.ts"],"names":[],"mappings":"AAMA,SAAS,iBAAiB,CAAC,CAAS,EAAE,GAAW,EAAE,IAA2B;IAC7E,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AASD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,GAAW,EAAE,GAAW,EAAE,IAA2B;IACtF,OAAO,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"summation.js","sourceRoot":"","sources":["../../src/algorithms/summation.ts"],"names":[],"mappings":"AAQA,SAAS,iBAAiB,CAAC,CAAS,EAAE,GAAW,EAAE,IAA2B;IAC7E,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAUD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,GAAW,EAAE,GAAW,EAAE,IAA2B;IACtF,OAAO,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,29 @@
1
+ export { default as combinations } from "./algorithms/combinations.js";
2
+ export { default as degreesToRadians } from "./algorithms/degreesToRadians.js";
3
+ export { default as factorial } from "./algorithms/factorial.js";
4
+ export { default as fibonacci } from "./algorithms/fibonacci.js";
1
5
  export { default as greatestCommonDivisor } from "./algorithms/greatestCommonDivisor.js";
6
+ export { default as isPrime } from "./algorithms/isPrime.js";
7
+ export { default as permutations } from "./algorithms/permutations.js";
8
+ export { default as primeFactorization } from "./algorithms/primeFactorization.js";
9
+ export { default as radiansToDegrees } from "./algorithms/radiansToDegrees.js";
2
10
  export { default as summation } from "./algorithms/summation.js";
11
+ export { type DualQuaternionLike, default as DualQuaternion } from "@lakuna/umath/DualQuaternion";
12
+ export type { MatrixLike, default as Matrix } from "./linear/Matrix.js";
13
+ export { type Matrix2Like, default as Matrix2 } from "@lakuna/umath/Matrix2";
14
+ export { type Matrix3Like, default as Matrix3 } from "@lakuna/umath/Matrix3";
15
+ export { type Matrix4Like, default as Matrix4 } from "@lakuna/umath/Matrix4";
16
+ export { type QuaternionLike, default as Quaternion } from "@lakuna/umath/Quaternion";
17
+ export type { default as SquareMatrix } from "./linear/SquareMatrix.js";
18
+ export type { VectorLike, default as Vector } from "./linear/Vector.js";
19
+ export { type Vector2Like, default as Vector2 } from "@lakuna/umath/Vector2";
20
+ export { type Vector3Like, default as Vector3 } from "@lakuna/umath/Vector3";
21
+ export { type Vector4Like, default as Vector4 } from "@lakuna/umath/Vector4";
22
+ export type { default as AxisAngle } from "./types/AxisAngle.js";
23
+ export type { default as FieldOfView } from "./types/FieldOfView.js";
3
24
  export type { IntegerRepresentation } from "./types/IntegerRepresentation.js";
4
25
  export { default as BigNumber } from "./utility/BigNumber.js";
26
+ export { default as epsilon } from "./utility/epsilon.js";
27
+ export { default as MagnitudeError } from "./utility/MagnitudeError.js";
28
+ export { default as SingularMatrixError } from "./utility/SingularMatrixError.js";
5
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,KAAK,kBAAkB,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAClG,YAAY,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,KAAK,cAAc,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtF,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxE,YAAY,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC7E,YAAY,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjE,YAAY,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrE,YAAY,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,kCAAkC,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,23 @@
1
+ export { default as combinations } from "./algorithms/combinations.js";
2
+ export { default as degreesToRadians } from "./algorithms/degreesToRadians.js";
3
+ export { default as factorial } from "./algorithms/factorial.js";
4
+ export { default as fibonacci } from "./algorithms/fibonacci.js";
1
5
  export { default as greatestCommonDivisor } from "./algorithms/greatestCommonDivisor.js";
6
+ export { default as isPrime } from "./algorithms/isPrime.js";
7
+ export { default as permutations } from "./algorithms/permutations.js";
8
+ export { default as primeFactorization } from "./algorithms/primeFactorization.js";
9
+ export { default as radiansToDegrees } from "./algorithms/radiansToDegrees.js";
2
10
  export { default as summation } from "./algorithms/summation.js";
11
+ export { default as DualQuaternion } from "@lakuna/umath/DualQuaternion";
12
+ export { default as Matrix2 } from "@lakuna/umath/Matrix2";
13
+ export { default as Matrix3 } from "@lakuna/umath/Matrix3";
14
+ export { default as Matrix4 } from "@lakuna/umath/Matrix4";
15
+ export { default as Quaternion } from "@lakuna/umath/Quaternion";
16
+ export { default as Vector2 } from "@lakuna/umath/Vector2";
17
+ export { default as Vector3 } from "@lakuna/umath/Vector3";
18
+ export { default as Vector4 } from "@lakuna/umath/Vector4";
3
19
  export { default as BigNumber } from "./utility/BigNumber.js";
20
+ export { default as epsilon } from "./utility/epsilon.js";
21
+ export { default as MagnitudeError } from "./utility/MagnitudeError.js";
22
+ export { default as SingularMatrixError } from "./utility/SingularMatrixError.js";
4
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAA2B,OAAO,IAAI,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAElG,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAuB,OAAO,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtF,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAI7E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,89 @@
1
+ import Quaternion, { type QuaternionLike } from "@lakuna/umath/Quaternion";
2
+ import Vector3, { type Vector3Like } from "@lakuna/umath/Vector3";
3
+ import { type Matrix4Like } from "@lakuna/umath/Matrix4";
4
+ export type DualQuaternionLike = DualQuaternion | [number, number, number, number, number, number, number, number];
5
+ export declare function fromValues<T extends DualQuaternionLike>(x1: number, y1: number, z1: number, w1: number, x2: number, y2: number, z2: number, w2: number, out: T): T;
6
+ export declare function copy<T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, out: T): T;
7
+ export declare function fromRotationTranslation<T extends DualQuaternionLike>(quaternion: QuaternionLike, translation: Vector3Like, out: T): T;
8
+ export declare function fromTranslation<T extends DualQuaternionLike>(translation: Vector3Like, out: T): T;
9
+ export declare function fromRotation<T extends DualQuaternionLike>(quaternion: QuaternionLike, out: T): T;
10
+ export declare function fromMatrix4<T extends DualQuaternionLike>(matrix: Matrix4Like, out: T): T;
11
+ export declare function identity<T extends DualQuaternionLike>(out: T): T;
12
+ export declare function getDual<T extends QuaternionLike>(dualQuaternion: DualQuaternionLike, out: T): T;
13
+ export declare function setDual<T extends DualQuaternionLike>(quaternion: QuaternionLike, out: T): T;
14
+ export declare function getTranslation<T extends Vector3Like>(dualQuaternion: DualQuaternionLike, out: T): T;
15
+ export declare function translate<T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, vector: Vector3Like, out: T): T;
16
+ export declare function rotateX<T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, radians: number, out: T): T;
17
+ export declare function rotateY<T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, radians: number, out: T): T;
18
+ export declare function rotateZ<T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, radians: number, out: T): T;
19
+ export declare function rotateByQuaternionAppend<T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, quaternion: QuaternionLike, out: T): T;
20
+ export declare function rotateByQuaternionPrepend<T extends DualQuaternionLike>(quaternion: QuaternionLike, dualQuaternion: DualQuaternionLike, out: T): T;
21
+ export declare function rotateAroundAxis<T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, axis: Vector3Like, radians: number, out: T): T;
22
+ export declare function add<T extends DualQuaternionLike>(a: DualQuaternionLike, b: DualQuaternionLike, out: T): T;
23
+ export declare function multiply<T extends DualQuaternionLike>(a: DualQuaternionLike, b: DualQuaternionLike, out: T): T;
24
+ export declare function scale<T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, scalar: number, out: T): T;
25
+ export declare function lerp<T extends DualQuaternionLike>(a: DualQuaternionLike, b: DualQuaternionLike, t: number, out: T): T;
26
+ export declare function invert<T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, out: T): T;
27
+ export declare function conjugate<T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, out: T): T;
28
+ export declare function normalize<T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, out: T): T;
29
+ export declare function exactEquals(a: DualQuaternionLike, b: DualQuaternionLike): boolean;
30
+ export declare function equals(a: DualQuaternionLike, b: DualQuaternionLike): boolean;
31
+ export default class DualQuaternion extends Float32Array {
32
+ static fromValues(x1: number, y1: number, z1: number, w1: number, x2: number, y2: number, z2: number, w2: number): DualQuaternion;
33
+ static fromValues<T extends DualQuaternionLike>(x1: number, y1: number, z1: number, w1: number, x2: number, y2: number, z2: number, w2: number, out: T): T;
34
+ static fromRotationTranslation(quaternion: QuaternionLike, translation: Vector3Like): DualQuaternion;
35
+ static fromRotationTranslation<T extends DualQuaternionLike>(quaternion: QuaternionLike, translation: Vector3Like, out: T): T;
36
+ static fromTranslation(translation: Vector3Like): DualQuaternion;
37
+ static fromTranslation<T extends DualQuaternionLike>(translation: Vector3Like, out: T): T;
38
+ static fromRotation(quaternion: QuaternionLike): DualQuaternion;
39
+ static fromRotation<T extends DualQuaternionLike>(quaternion: QuaternionLike, out: T): T;
40
+ static fromMatrix4(matrix: Matrix4Like): DualQuaternion;
41
+ static fromMatrix4<T extends DualQuaternionLike>(matrix: Matrix4Like, out: T): T;
42
+ constructor();
43
+ copy(dualQuaternion: DualQuaternionLike): this;
44
+ clone(): DualQuaternion;
45
+ clone<T extends DualQuaternionLike>(out: T): T;
46
+ identity(): this;
47
+ getReal(): Quaternion;
48
+ getReal<T extends QuaternionLike>(out: T): T;
49
+ setReal(quaternion: QuaternionLike): void;
50
+ getDual(): Quaternion;
51
+ getDual<T extends QuaternionLike>(out: T): T;
52
+ setDual(quaternion: QuaternionLike): void;
53
+ getTranslation(): Vector3;
54
+ getTranslation<T extends Vector3Like>(out: T): T;
55
+ translate(vector: Vector3Like): DualQuaternion;
56
+ translate<T extends DualQuaternionLike>(vector: Vector3Like, out: T): T;
57
+ rotateX(radians: number): DualQuaternion;
58
+ rotateX<T extends DualQuaternionLike>(radians: number, out: T): T;
59
+ rotateY(radians: number): DualQuaternion;
60
+ rotateY<T extends DualQuaternionLike>(radians: number, out: T): T;
61
+ rotateZ(radians: number): DualQuaternion;
62
+ rotateZ<T extends DualQuaternionLike>(radians: number, out: T): T;
63
+ rotateByQuaternionAppend(quaternion: QuaternionLike): DualQuaternion;
64
+ rotateByQuaternionAppend<T extends DualQuaternionLike>(quaternion: QuaternionLike, out: T): T;
65
+ rotateByQuaternionPrepend(quaternion: QuaternionLike): DualQuaternion;
66
+ rotateByQuaternionPrepend<T extends DualQuaternionLike>(quaternion: QuaternionLike, out: T): T;
67
+ rotateAroundAxis(axis: Vector3Like, radians: number): DualQuaternion;
68
+ rotateAroundAxis<T extends DualQuaternionLike>(axis: Vector3Like, radians: number, out: T): T;
69
+ add(dualQuaternion: DualQuaternionLike): DualQuaternion;
70
+ add<T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, out: T): T;
71
+ multiply(dualQuaternion: DualQuaternionLike): DualQuaternion;
72
+ multiply<T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, out: T): T;
73
+ scale(scalar: number): DualQuaternion;
74
+ scale<T extends DualQuaternionLike>(scalar: number, out: T): T;
75
+ dot(dualQuaternion: DualQuaternionLike): number;
76
+ lerp(dualQuaternion: DualQuaternionLike, t: number): DualQuaternion;
77
+ lerp<T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, t: number, out: T): T;
78
+ invert(): DualQuaternion;
79
+ invert<T extends DualQuaternionLike>(out: T): T;
80
+ conjugate(): DualQuaternion;
81
+ conjugate<T extends DualQuaternionLike>(out: T): T;
82
+ get magnitude(): number;
83
+ get squaredMagnitude(): number;
84
+ normalize(): DualQuaternion;
85
+ normalize<T extends DualQuaternionLike>(out: T): T;
86
+ exactEquals(dualQuaternion: DualQuaternionLike): boolean;
87
+ equals(dualQuaternion: DualQuaternionLike): boolean;
88
+ }
89
+ //# sourceMappingURL=DualQuaternion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DualQuaternion.d.ts","sourceRoot":"","sources":["../../src/linear/DualQuaternion.ts"],"names":[],"mappings":"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"}