@lakuna/umath 1.1.1 → 1.2.1

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 (95) hide show
  1. package/dist/algorithms/combinations.js +1 -1
  2. package/dist/algorithms/combinations.js.map +1 -1
  3. package/dist/algorithms/degreesToRadians.js +1 -1
  4. package/dist/algorithms/degreesToRadians.js.map +1 -1
  5. package/dist/algorithms/factorial.d.ts.map +1 -1
  6. package/dist/algorithms/factorial.js +5 -1
  7. package/dist/algorithms/factorial.js.map +1 -1
  8. package/dist/algorithms/greatestCommonDivisor.js.map +1 -1
  9. package/dist/algorithms/hypergeometricPmf.d.ts +2 -0
  10. package/dist/algorithms/hypergeometricPmf.d.ts.map +1 -0
  11. package/dist/algorithms/hypergeometricPmf.js +5 -0
  12. package/dist/algorithms/hypergeometricPmf.js.map +1 -0
  13. package/dist/algorithms/permutations.js +1 -1
  14. package/dist/algorithms/permutations.js.map +1 -1
  15. package/dist/algorithms/radiansToDegrees.js +1 -1
  16. package/dist/algorithms/radiansToDegrees.js.map +1 -1
  17. package/dist/algorithms/summation.d.ts.map +1 -1
  18. package/dist/algorithms/summation.js +5 -4
  19. package/dist/algorithms/summation.js.map +1 -1
  20. package/dist/index.d.ts +33 -32
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +27 -26
  23. package/dist/index.js.map +1 -1
  24. package/dist/linalg/DualQuaternion.d.ts +3 -3
  25. package/dist/linalg/DualQuaternion.d.ts.map +1 -1
  26. package/dist/linalg/DualQuaternion.js +60 -28
  27. package/dist/linalg/DualQuaternion.js.map +1 -1
  28. package/dist/linalg/Matrix2.d.ts +3 -8
  29. package/dist/linalg/Matrix2.d.ts.map +1 -1
  30. package/dist/linalg/Matrix2.js +9 -12
  31. package/dist/linalg/Matrix2.js.map +1 -1
  32. package/dist/linalg/Matrix3.d.ts +5 -15
  33. package/dist/linalg/Matrix3.d.ts.map +1 -1
  34. package/dist/linalg/Matrix3.js +23 -23
  35. package/dist/linalg/Matrix3.js.map +1 -1
  36. package/dist/linalg/Matrix4.d.ts +5 -5
  37. package/dist/linalg/Matrix4.d.ts.map +1 -1
  38. package/dist/linalg/Matrix4.js +45 -40
  39. package/dist/linalg/Matrix4.js.map +1 -1
  40. package/dist/linalg/Quaternion.d.ts +3 -3
  41. package/dist/linalg/Quaternion.d.ts.map +1 -1
  42. package/dist/linalg/Quaternion.js +16 -9
  43. package/dist/linalg/Quaternion.js.map +1 -1
  44. package/dist/linalg/SlowMatrix.d.ts +1 -1
  45. package/dist/linalg/SlowMatrix.d.ts.map +1 -1
  46. package/dist/linalg/SlowMatrix.js +12 -6
  47. package/dist/linalg/SlowMatrix.js.map +1 -1
  48. package/dist/linalg/SlowSquareMatrix.d.ts +2 -2
  49. package/dist/linalg/SlowSquareMatrix.d.ts.map +1 -1
  50. package/dist/linalg/SlowSquareMatrix.js +9 -5
  51. package/dist/linalg/SlowSquareMatrix.js.map +1 -1
  52. package/dist/linalg/SquareMatrix.d.ts +1 -1
  53. package/dist/linalg/SquareMatrix.d.ts.map +1 -1
  54. package/dist/linalg/Vector2.d.ts +5 -5
  55. package/dist/linalg/Vector2.d.ts.map +1 -1
  56. package/dist/linalg/Vector2.js +5 -6
  57. package/dist/linalg/Vector2.js.map +1 -1
  58. package/dist/linalg/Vector3.d.ts +4 -4
  59. package/dist/linalg/Vector3.d.ts.map +1 -1
  60. package/dist/linalg/Vector3.js +7 -9
  61. package/dist/linalg/Vector3.js.map +1 -1
  62. package/dist/linalg/Vector4.d.ts +3 -3
  63. package/dist/linalg/Vector4.d.ts.map +1 -1
  64. package/dist/linalg/Vector4.js +6 -9
  65. package/dist/linalg/Vector4.js.map +1 -1
  66. package/dist/types/AxisAngle.d.ts +1 -1
  67. package/dist/types/AxisAngle.d.ts.map +1 -1
  68. package/dist/utility/BigNumber.d.ts +1 -1
  69. package/dist/utility/BigNumber.d.ts.map +1 -1
  70. package/dist/utility/BigNumber.js +3 -2
  71. package/dist/utility/BigNumber.js.map +1 -1
  72. package/package.json +37 -6
  73. package/src/algorithms/combinations.ts +1 -1
  74. package/src/algorithms/degreesToRadians.ts +1 -1
  75. package/src/algorithms/factorial.ts +5 -1
  76. package/src/algorithms/greatestCommonDivisor.ts +10 -3
  77. package/src/algorithms/hypergeometricPmf.ts +19 -0
  78. package/src/algorithms/permutations.ts +1 -1
  79. package/src/algorithms/radiansToDegrees.ts +1 -1
  80. package/src/algorithms/summation.ts +12 -14
  81. package/src/index.ts +36 -32
  82. package/src/linalg/DualQuaternion.ts +409 -116
  83. package/src/linalg/Matrix.ts +1 -1
  84. package/src/linalg/Matrix2.ts +159 -63
  85. package/src/linalg/Matrix3.ts +300 -107
  86. package/src/linalg/Matrix4.ts +722 -206
  87. package/src/linalg/Quaternion.ts +311 -80
  88. package/src/linalg/SlowMatrix.ts +17 -9
  89. package/src/linalg/SlowSquareMatrix.ts +24 -13
  90. package/src/linalg/SquareMatrix.ts +1 -1
  91. package/src/linalg/Vector2.ts +361 -223
  92. package/src/linalg/Vector3.ts +318 -89
  93. package/src/linalg/Vector4.ts +177 -53
  94. package/src/types/AxisAngle.ts +1 -1
  95. package/src/utility/BigNumber.ts +18 -7
@@ -1,4 +1,4 @@
1
- import factorial from "#algorithms/factorial";
1
+ import factorial from "#factorial";
2
2
  export default function combinations(n, r) {
3
3
  return factorial(n) / (factorial(r) * factorial(n - r));
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"combinations.js","sourceRoot":"","sources":["../../src/algorithms/combinations.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAS9C,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"}
1
+ {"version":3,"file":"combinations.js","sourceRoot":"","sources":["../../src/algorithms/combinations.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AASnC,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"}
@@ -1,4 +1,4 @@
1
1
  export default function degreesToRadians(degrees) {
2
- return degrees * Math.PI / 180;
2
+ return (degrees * Math.PI) / 180;
3
3
  }
4
4
  //# sourceMappingURL=degreesToRadians.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"degreesToRadians.js","sourceRoot":"","sources":["../../src/algorithms/degreesToRadians.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,OAAe;IACvD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;AAClC,CAAC"}
@@ -1 +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"}
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,CAMnD"}
@@ -1,4 +1,8 @@
1
1
  export default function factorial(n) {
2
- return n == 0 ? 1 : n * factorial(n - 1);
2
+ return n < 0
3
+ ? Infinity * (n % 2 ? 1 : -1)
4
+ : n == 0
5
+ ? 1
6
+ : n * factorial(n - 1);
3
7
  }
4
8
  //# sourceMappingURL=factorial.js.map
@@ -1 +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"}
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,GAAG,CAAC;QACX,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC,IAAI,CAAC;YACR,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"greatestCommonDivisor.js","sourceRoot":"","sources":["../../src/algorithms/greatestCommonDivisor.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,CAAkB,EAAE,CAAkB;IAEnF,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAAE;IACtB,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAAE;IAGtB,OAAO,CAAC,EAAE;QACT,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAG,CAAY,GAAI,CAAY,CAAC,CAAC;KAC5C;IAED,OAAO,CAAC,CAAC;AACV,CAAC"}
1
+ {"version":3,"file":"greatestCommonDivisor.js","sourceRoot":"","sources":["../../src/algorithms/greatestCommonDivisor.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC5C,CAAkB,EAClB,CAAkB;IAGlB,IAAI,CAAC,GAAG,CAAC,EAAE;QACV,CAAC,GAAG,CAAC,CAAC,CAAC;KACP;IACD,IAAI,CAAC,GAAG,CAAC,EAAE;QACV,CAAC,GAAG,CAAC,CAAC,CAAC;KACP;IAGD,OAAO,CAAC,EAAE;QACT,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAG,CAAY,GAAI,CAAY,CAAC,CAAC;KAC5C;IAED,OAAO,CAAC,CAAC;AACV,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function hypergeometricPmf(N: number, K: number, n: number, k: number): number;
2
+ //# sourceMappingURL=hypergeometricPmf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hypergeometricPmf.d.ts","sourceRoot":"","sources":["../../src/algorithms/hypergeometricPmf.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACxC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACP,MAAM,CAER"}
@@ -0,0 +1,5 @@
1
+ import combinations from "#combinations";
2
+ export default function hypergeometricPmf(N, K, n, k) {
3
+ return (combinations(K, k) * combinations(N - K, n - k)) / combinations(N, n);
4
+ }
5
+ //# sourceMappingURL=hypergeometricPmf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hypergeometricPmf.js","sourceRoot":"","sources":["../../src/algorithms/hypergeometricPmf.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AAWzC,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACxC,CAAS,EACT,CAAS,EACT,CAAS,EACT,CAAS;IAET,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/E,CAAC"}
@@ -1,4 +1,4 @@
1
- import factorial from "#algorithms/factorial";
1
+ import factorial from "#factorial";
2
2
  export default function permutations(n, r) {
3
3
  return factorial(n) / factorial(n - r);
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"permutations.js","sourceRoot":"","sources":["../../src/algorithms/permutations.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAS9C,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"}
1
+ {"version":3,"file":"permutations.js","sourceRoot":"","sources":["../../src/algorithms/permutations.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AASnC,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"}
@@ -1,4 +1,4 @@
1
1
  export default function radiansToDegrees(radians) {
2
- return radians * 180 / Math.PI;
2
+ return (radians * 180) / Math.PI;
3
3
  }
4
4
  //# sourceMappingURL=radiansToDegrees.js.map
@@ -1 +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
+ {"version":3,"file":"radiansToDegrees.js","sourceRoot":"","sources":["../../src/algorithms/radiansToDegrees.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,OAAe;IACvD,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAClC,CAAC"}
@@ -1 +1 @@
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
+ {"version":3,"file":"summation.d.ts","sourceRoot":"","sources":["../../src/algorithms/summation.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,UAAU,SAAS,CAChC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GACzB,MAAM,CAQR"}
@@ -1,7 +1,8 @@
1
- function summationInternal(i, max, term) {
2
- return term(i) + (i < max ? summationInternal(i + 1, max, term) : 0);
3
- }
4
1
  export default function summation(min, max, term) {
5
- return summationInternal(min, max, term);
2
+ let out = 0;
3
+ for (let i = min; i <= max; i++) {
4
+ out += term(i);
5
+ }
6
+ return out;
6
7
  }
7
8
  //# sourceMappingURL=summation.js.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"summation.js","sourceRoot":"","sources":["../../src/algorithms/summation.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,UAAU,SAAS,CAChC,GAAW,EACX,GAAW,EACX,IAA2B;IAG3B,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE;QAChC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;KACf;IAED,OAAO,GAAG,CAAC;AACZ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,33 +1,34 @@
1
- export { default as combinations } from "#algorithms/combinations";
2
- export { default as degreesToRadians } from "#algorithms/degreesToRadians";
3
- export { default as factorial } from "#algorithms/factorial";
4
- export { default as fibonacci } from "#algorithms/fibonacci";
5
- export { default as greatestCommonDivisor } from "#algorithms/greatestCommonDivisor";
6
- export { default as isPrime } from "#algorithms/isPrime";
7
- export { default as permutations } from "#algorithms/permutations";
8
- export { default as primeFactorization } from "#algorithms/primeFactorization";
9
- export { default as radiansToDegrees } from "#algorithms/radiansToDegrees";
10
- export { default as summation } from "#algorithms/summation";
11
- export { type DualQuaternionLike, default as DualQuaternion } from "#linalg/DualQuaternion";
12
- export type { MatrixLike, default as Matrix } from "#linalg/Matrix";
13
- export { type Matrix2Like, default as Matrix2 } from "#linalg/Matrix2";
14
- export { type Matrix3Like, default as Matrix3 } from "#linalg/Matrix3";
15
- export { type Matrix4Like, default as Matrix4 } from "#linalg/Matrix4";
16
- export { type QuaternionLike, default as Quaternion } from "#linalg/Quaternion";
17
- export { default as SlowMatrix } from "#linalg/SlowMatrix";
18
- export { default as SlowSquareMatrix } from "#linalg/SlowSquareMatrix";
19
- export type { default as SquareMatrix } from "#linalg/SquareMatrix";
20
- export type { VectorLike, default as Vector } from "#linalg/Vector";
21
- export { type Vector2Like, default as Vector2 } from "#linalg/Vector2";
22
- export { type Vector3Like, default as Vector3 } from "#linalg/Vector3";
23
- export { type Vector4Like, default as Vector4 } from "#linalg/Vector4";
24
- export type { default as AxisAngle } from "#types/AxisAngle";
25
- export type { default as FieldOfView } from "#types/FieldOfView";
26
- export type { IntegerRepresentation } from "#types/IntegerRepresentation";
27
- export { default as BigNumber } from "#utility/BigNumber";
28
- export { default as epsilon } from "#utility/epsilon";
29
- export { default as MagnitudeError } from "#utility/MagnitudeError";
30
- export { default as MatrixSizeError } from "#utility/MatrixSizeError";
31
- export { default as PartialMatrixError } from "#utility/PartialMatrixError";
32
- export { default as SingularMatrixError } from "#utility/SingularMatrixError";
1
+ export { default as combinations } from "#combinations";
2
+ export { default as degreesToRadians } from "#degreesToRadians";
3
+ export { default as factorial } from "#factorial";
4
+ export { default as fibonacci } from "#fibonacci";
5
+ export { default as greatestCommonDivisor } from "#greatestCommonDivisor";
6
+ export { default as hypergeometricPmf } from "#hypergeometricPmf";
7
+ export { default as isPrime } from "#isPrime";
8
+ export { default as permutations } from "#permutations";
9
+ export { default as primeFactorization } from "#primeFactorization";
10
+ export { default as radiansToDegrees } from "#radiansToDegrees";
11
+ export { default as summation } from "#summation";
12
+ export { type DualQuaternionLike, default as DualQuaternion } from "#DualQuaternion";
13
+ export type { MatrixLike, default as Matrix } from "#Matrix";
14
+ export { type Matrix2Like, default as Matrix2 } from "#Matrix2";
15
+ export { type Matrix3Like, default as Matrix3 } from "#Matrix3";
16
+ export { type Matrix4Like, default as Matrix4 } from "#Matrix4";
17
+ export { type QuaternionLike, default as Quaternion } from "#Quaternion";
18
+ export { default as SlowMatrix } from "#SlowMatrix";
19
+ export { default as SlowSquareMatrix } from "#SlowSquareMatrix";
20
+ export type { default as SquareMatrix } from "#SquareMatrix";
21
+ export type { VectorLike, default as Vector } from "#Vector";
22
+ export { type Vector2Like, default as Vector2 } from "#Vector2";
23
+ export { type Vector3Like, default as Vector3 } from "#Vector3";
24
+ export { type Vector4Like, default as Vector4 } from "#Vector4";
25
+ export type { default as AxisAngle } from "#AxisAngle";
26
+ export type { default as FieldOfView } from "#FieldOfView";
27
+ export type { IntegerRepresentation } from "#IntegerRepresentation";
28
+ export { default as BigNumber } from "#BigNumber";
29
+ export { default as epsilon } from "#epsilon";
30
+ export { default as MagnitudeError } from "#MagnitudeError";
31
+ export { default as MatrixSizeError } from "#MatrixSizeError";
32
+ export { default as PartialMatrixError } from "#PartialMatrixError";
33
+ export { default as SingularMatrixError } from "#SingularMatrixError";
33
34
  //# 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,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,KAAK,kBAAkB,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC5F,YAAY,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,KAAK,cAAc,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACvE,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpE,YAAY,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,YAAY,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7D,YAAY,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EACN,KAAK,kBAAkB,EACvB,OAAO,IAAI,cAAc,EACzB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,KAAK,cAAc,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChE,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7D,YAAY,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAChE,YAAY,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AACvD,YAAY,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3D,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,27 +1,28 @@
1
- export { default as combinations } from "#algorithms/combinations";
2
- export { default as degreesToRadians } from "#algorithms/degreesToRadians";
3
- export { default as factorial } from "#algorithms/factorial";
4
- export { default as fibonacci } from "#algorithms/fibonacci";
5
- export { default as greatestCommonDivisor } from "#algorithms/greatestCommonDivisor";
6
- export { default as isPrime } from "#algorithms/isPrime";
7
- export { default as permutations } from "#algorithms/permutations";
8
- export { default as primeFactorization } from "#algorithms/primeFactorization";
9
- export { default as radiansToDegrees } from "#algorithms/radiansToDegrees";
10
- export { default as summation } from "#algorithms/summation";
11
- export { default as DualQuaternion } from "#linalg/DualQuaternion";
12
- export { default as Matrix2 } from "#linalg/Matrix2";
13
- export { default as Matrix3 } from "#linalg/Matrix3";
14
- export { default as Matrix4 } from "#linalg/Matrix4";
15
- export { default as Quaternion } from "#linalg/Quaternion";
16
- export { default as SlowMatrix } from "#linalg/SlowMatrix";
17
- export { default as SlowSquareMatrix } from "#linalg/SlowSquareMatrix";
18
- export { default as Vector2 } from "#linalg/Vector2";
19
- export { default as Vector3 } from "#linalg/Vector3";
20
- export { default as Vector4 } from "#linalg/Vector4";
21
- export { default as BigNumber } from "#utility/BigNumber";
22
- export { default as epsilon } from "#utility/epsilon";
23
- export { default as MagnitudeError } from "#utility/MagnitudeError";
24
- export { default as MatrixSizeError } from "#utility/MatrixSizeError";
25
- export { default as PartialMatrixError } from "#utility/PartialMatrixError";
26
- export { default as SingularMatrixError } from "#utility/SingularMatrixError";
1
+ export { default as combinations } from "#combinations";
2
+ export { default as degreesToRadians } from "#degreesToRadians";
3
+ export { default as factorial } from "#factorial";
4
+ export { default as fibonacci } from "#fibonacci";
5
+ export { default as greatestCommonDivisor } from "#greatestCommonDivisor";
6
+ export { default as hypergeometricPmf } from "#hypergeometricPmf";
7
+ export { default as isPrime } from "#isPrime";
8
+ export { default as permutations } from "#permutations";
9
+ export { default as primeFactorization } from "#primeFactorization";
10
+ export { default as radiansToDegrees } from "#radiansToDegrees";
11
+ export { default as summation } from "#summation";
12
+ export { default as DualQuaternion } from "#DualQuaternion";
13
+ export { default as Matrix2 } from "#Matrix2";
14
+ export { default as Matrix3 } from "#Matrix3";
15
+ export { default as Matrix4 } from "#Matrix4";
16
+ export { default as Quaternion } from "#Quaternion";
17
+ export { default as SlowMatrix } from "#SlowMatrix";
18
+ export { default as SlowSquareMatrix } from "#SlowSquareMatrix";
19
+ export { default as Vector2 } from "#Vector2";
20
+ export { default as Vector3 } from "#Vector3";
21
+ export { default as Vector4 } from "#Vector4";
22
+ export { default as BigNumber } from "#BigNumber";
23
+ export { default as epsilon } from "#epsilon";
24
+ export { default as MagnitudeError } from "#MagnitudeError";
25
+ export { default as MatrixSizeError } from "#MatrixSizeError";
26
+ export { default as PartialMatrixError } from "#PartialMatrixError";
27
+ export { default as SingularMatrixError } from "#SingularMatrixError";
27
28
  //# 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,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAA2B,OAAO,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE5F,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAuB,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGvE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAIvE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAEN,OAAO,IAAI,cAAc,EACzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAuB,OAAO,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAIhE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,6 +1,6 @@
1
- import { type Matrix4Like } from "#linalg/Matrix4";
2
- import Quaternion, { type QuaternionLike } from "#linalg/Quaternion";
3
- import Vector3, { type Vector3Like } from "#linalg/Vector3";
1
+ import { type Matrix4Like } from "#Matrix4";
2
+ import Quaternion, { type QuaternionLike } from "#Quaternion";
3
+ import Vector3, { type Vector3Like } from "#Vector3";
4
4
  export type DualQuaternionLike = DualQuaternion | [number, number, number, number, number, number, number, number];
5
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
6
  export declare function copy<T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, out: T): T;
@@ -1 +1 @@
1
- {"version":3,"file":"DualQuaternion.d.ts","sourceRoot":"","sources":["../../src/linalg/DualQuaternion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DualQuaternion.d.ts","sourceRoot":"","sources":["../../src/linalg/DualQuaternion.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { getRotation as getMatrix4Rotation, getTranslation as getMatrix4Translation } from "#linalg/Matrix4";
2
- import Quaternion, { rotateX as quaternionRotateX, rotateY as quaternionRotateY, rotateZ as quaternionRotateZ } from "#linalg/Quaternion";
3
- import Vector3, {} from "#linalg/Vector3";
4
- import { copy as xetReal, dot, getMagnitude, getSquaredMagnitude } from "#linalg/Vector4";
5
- import epsilon from "#utility/epsilon";
1
+ import { getRotation as getMatrix4Rotation, getTranslation as getMatrix4Translation } from "#Matrix4";
2
+ import Quaternion, { rotateX as quaternionRotateX, rotateY as quaternionRotateY, rotateZ as quaternionRotateZ } from "#Quaternion";
3
+ import Vector3, {} from "#Vector3";
4
+ import { copy as xetReal, dot, getMagnitude, getSquaredMagnitude } from "#Vector4";
5
+ import epsilon from "#epsilon";
6
6
  export function fromValues(x1, y1, z1, w1, x2, y2, z2, w2, out) {
7
7
  out[0] = x1;
8
8
  out[1] = y1;
@@ -256,9 +256,9 @@ export function rotateAroundAxis(dualQuaternion, axis, radians, out) {
256
256
  const axisLength = Math.hypot(axis[0], axis[1], axis[2]);
257
257
  const r = radians * 0.5;
258
258
  const s = Math.sin(r);
259
- const bx = s * axis[0] / axisLength;
260
- const by = s * axis[1] / axisLength;
261
- const bz = s * axis[2] / axisLength;
259
+ const bx = (s * axis[0]) / axisLength;
260
+ const by = (s * axis[1]) / axisLength;
261
+ const bz = (s * axis[2]) / axisLength;
262
262
  const bw = Math.cos(r);
263
263
  let x = dualQuaternion[0];
264
264
  let y = dualQuaternion[1];
@@ -310,10 +310,42 @@ export function multiply(a, b, out) {
310
310
  out[1] = ay0 * bw0 + aw0 * by0 + az0 * bx0 - ax0 * bz0;
311
311
  out[2] = az0 * bw0 + aw0 * bz0 + ax0 * by0 - ay0 * bx0;
312
312
  out[3] = aw0 * bw0 - ax0 * bx0 - ay0 * by0 - az0 * bz0;
313
- out[4] = ax0 * bw1 + aw0 * bx1 + ay0 * bz1 - az0 * by1 + ax1 * bw0 + aw1 * bx0 + ay1 * bz0 - az1 * by0;
314
- out[5] = ay0 * bw1 + aw0 * by1 + az0 * bx1 - ax0 * bz1 + ay1 * bw0 + aw1 * by0 + az1 * bx0 - ax1 * bz0;
315
- out[6] = az0 * bw1 + aw0 * bz1 + ax0 * by1 - ay0 * bx1 + az1 * bw0 + aw1 * bz0 + ax1 * by0 - ay1 * bx0;
316
- out[7] = aw0 * bw1 - ax0 * bx1 - ay0 * by1 - az0 * bz1 + aw1 * bw0 - ax1 * bx0 - ay1 * by0 - az1 * bz0;
313
+ out[4] =
314
+ ax0 * bw1 +
315
+ aw0 * bx1 +
316
+ ay0 * bz1 -
317
+ az0 * by1 +
318
+ ax1 * bw0 +
319
+ aw1 * bx0 +
320
+ ay1 * bz0 -
321
+ az1 * by0;
322
+ out[5] =
323
+ ay0 * bw1 +
324
+ aw0 * by1 +
325
+ az0 * bx1 -
326
+ ax0 * bz1 +
327
+ ay1 * bw0 +
328
+ aw1 * by0 +
329
+ az1 * bx0 -
330
+ ax1 * bz0;
331
+ out[6] =
332
+ az0 * bw1 +
333
+ aw0 * bz1 +
334
+ ax0 * by1 -
335
+ ay0 * bx1 +
336
+ az1 * bw0 +
337
+ aw1 * bz0 +
338
+ ax1 * by0 -
339
+ ay1 * bx0;
340
+ out[7] =
341
+ aw0 * bw1 -
342
+ ax0 * bx1 -
343
+ ay0 * by1 -
344
+ az0 * bz1 +
345
+ aw1 * bw0 -
346
+ ax1 * bx0 -
347
+ ay1 * by0 -
348
+ az1 * bz0;
317
349
  return out;
318
350
  }
319
351
  export function scale(dualQuaternion, scalar, out) {
@@ -390,14 +422,14 @@ export function normalize(dualQuaternion, out) {
390
422
  return out;
391
423
  }
392
424
  export function exactEquals(a, b) {
393
- return a[0] === b[0]
394
- && a[1] === b[1]
395
- && a[2] === b[2]
396
- && a[3] === b[3]
397
- && a[4] === b[4]
398
- && a[5] === b[5]
399
- && a[6] === b[6]
400
- && a[7] === b[7];
425
+ return (a[0] === b[0] &&
426
+ a[1] === b[1] &&
427
+ a[2] === b[2] &&
428
+ a[3] === b[3] &&
429
+ a[4] === b[4] &&
430
+ a[5] === b[5] &&
431
+ a[6] === b[6] &&
432
+ a[7] === b[7]);
401
433
  }
402
434
  export function equals(a, b) {
403
435
  const a0 = a[0];
@@ -416,14 +448,14 @@ export function equals(a, b) {
416
448
  const b5 = b[5];
417
449
  const b6 = b[6];
418
450
  const b7 = b[7];
419
- return Math.abs(a0 - b0) <= epsilon * Math.max(1, Math.abs(a0), Math.abs(b0))
420
- && Math.abs(a1 - b1) <= epsilon * Math.max(1, Math.abs(a1), Math.abs(b1))
421
- && Math.abs(a2 - b2) <= epsilon * Math.max(1, Math.abs(a2), Math.abs(b2))
422
- && Math.abs(a3 - b3) <= epsilon * Math.max(1, Math.abs(a3), Math.abs(b3))
423
- && Math.abs(a4 - b4) <= epsilon * Math.max(1, Math.abs(a4), Math.abs(b4))
424
- && Math.abs(a5 - b5) <= epsilon * Math.max(1, Math.abs(a5), Math.abs(b5))
425
- && Math.abs(a6 - b6) <= epsilon * Math.max(1, Math.abs(a6), Math.abs(b6))
426
- && Math.abs(a7 - b7) <= epsilon * Math.max(1, Math.abs(a7), Math.abs(b7));
451
+ return (Math.abs(a0 - b0) <= epsilon * Math.max(1, Math.abs(a0), Math.abs(b0)) &&
452
+ Math.abs(a1 - b1) <= epsilon * Math.max(1, Math.abs(a1), Math.abs(b1)) &&
453
+ Math.abs(a2 - b2) <= epsilon * Math.max(1, Math.abs(a2), Math.abs(b2)) &&
454
+ Math.abs(a3 - b3) <= epsilon * Math.max(1, Math.abs(a3), Math.abs(b3)) &&
455
+ Math.abs(a4 - b4) <= epsilon * Math.max(1, Math.abs(a4), Math.abs(b4)) &&
456
+ Math.abs(a5 - b5) <= epsilon * Math.max(1, Math.abs(a5), Math.abs(b5)) &&
457
+ Math.abs(a6 - b6) <= epsilon * Math.max(1, Math.abs(a6), Math.abs(b6)) &&
458
+ Math.abs(a7 - b7) <= epsilon * Math.max(1, Math.abs(a7), Math.abs(b7)));
427
459
  }
428
460
  export default class DualQuaternion extends Float32Array {
429
461
  static fromValues(x1, y1, z1, w1, x2, y2, z2, w2, out = new DualQuaternion()) {
@@ -1 +1 @@
1
- {"version":3,"file":"DualQuaternion.js","sourceRoot":"","sources":["../../src/linalg/DualQuaternion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DualQuaternion.js","sourceRoot":"","sources":["../../src/linalg/DualQuaternion.ts"],"names":[],"mappings":"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"}