@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
@@ -288,36 +288,44 @@ export declare const translate: <T extends Matrix3Like>(matrix: Matrix3Like, vec
288
288
  * @see {@link https://en.wikipedia.org/wiki/Matrix_(mathematics) | Matrix}
289
289
  * @public
290
290
  */
291
- export default class Matrix3 extends Float32Array implements SquareMatrix, Matrix3Like {
292
- /**
293
- * Create a transformation matrix that represents a rotation by the given angle around the Z-axis.
294
- * @param r - The angle in radians.
295
- * @returns The transformation matrix.
296
- * @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
297
- */
298
- static fromRotation(r: number): Matrix3;
291
+ export default class Matrix3 extends Float32Array implements Matrix3Like, SquareMatrix {
292
+ /** The value in the first column and first row. */
293
+ 0: number;
294
+ /** The value in the first column and second row. */
295
+ 1: number;
296
+ /** The value in the first column and third row. */
297
+ 2: number;
298
+ /** The value in the second column and first row. */
299
+ 3: number;
300
+ /** The value in the second column and second row. */
301
+ 4: number;
302
+ /** The value in the second column and third row. */
303
+ 5: number;
304
+ /** The value in the third column and first row. */
305
+ 6: number;
306
+ /** The value in the third column and second row. */
307
+ 7: number;
308
+ /** The value in the third column and third row. */
309
+ 8: number;
310
+ /** The number of rows in this matrix. */
311
+ readonly height: 3;
312
+ /** The number of columns in this matrix. */
313
+ readonly width: 3;
299
314
  /**
300
- * Create a transformation matrix that represents a scaling by the given vector.
301
- * @param vector - The scaling vector.
302
- * @returns The transformation matrix.
303
- * @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
315
+ * Get the determinant of this matrix.
316
+ * @see {@link https://en.wikipedia.org/wiki/Determinant | Determinant}
304
317
  */
305
- static fromScaling(vector: Vector2Like): Matrix3;
318
+ get determinant(): number;
306
319
  /**
307
- * Create a transformation matrix that represents a translation by the given vector.
308
- * @param vector - The translation vector.
309
- * @returns The transformation matrix.
310
- * @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
320
+ * Get the Frobenius norm of this matrix.
321
+ * @see {@link https://en.wikipedia.org/wiki/Matrix_norm | Matrix norm}
311
322
  */
312
- static fromTranslation(vector: Vector2Like): Matrix3;
323
+ get frob(): number;
313
324
  /**
314
- * Create a transformation matrix that represents a rotation by the given quaternion.
315
- * @param quaternion - The quaternion.
316
- * @returns The transformation matrix.
317
- * @see {@link https://en.wikipedia.org/wiki/Quaternion | Quaternion}
318
- * @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
325
+ * Create a three-by-three identity matrix.
326
+ * @see {@link https://en.wikipedia.org/wiki/Identity_matrix | Identity matrix}
319
327
  */
320
- static fromQuaternion(quaternion: QuaternionLike): Matrix3;
328
+ constructor();
321
329
  /**
322
330
  * Create a transformation matrix that represents a rotation by the given z-y'-x" (intrinsic) Tait-Bryan angles.
323
331
  * @param z - The z (roll) angle.
@@ -329,27 +337,40 @@ export default class Matrix3 extends Float32Array implements SquareMatrix, Matri
329
337
  */
330
338
  static fromEuler(z: number, y: number, x: number): Matrix3;
331
339
  /**
332
- * Calculate a three-by-three normal (inverse transpose) matrix from a four-by-four matrix.
340
+ * Create a three-by-three matrix from the upper-left corner of a four-by-four matrix.
333
341
  * @param matrix - The four-by-four matrix.
334
- * @returns The normal matrix.
335
- * @see {@link https://en.wikipedia.org/wiki/Normal_matrix | Normal matrix}
342
+ * @returns The three-by-three matrix.
336
343
  */
337
- static normalFromMatrix4(matrix: Matrix4Like): Matrix3;
344
+ static fromMatrix4(matrix: Matrix4Like): Matrix3;
338
345
  /**
339
- * Generate a two-dimensional projection matrix with the given bounds.
340
- * @param width - The width of the projection.
341
- * @param height - The height of the projection.
342
- * @returns The projection matrix.
343
- * @see {@link https://en.wikipedia.org/wiki/Camera_matrix | Camera matrix}
344
- * @see {@link https://en.wikipedia.org/wiki/3D_projection | 3D projection}
346
+ * Create a transformation matrix that represents a rotation by the given quaternion.
347
+ * @param quaternion - The quaternion.
348
+ * @returns The transformation matrix.
349
+ * @see {@link https://en.wikipedia.org/wiki/Quaternion | Quaternion}
350
+ * @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
345
351
  */
346
- static projection(width: number, height: number): Matrix3;
352
+ static fromQuaternion(quaternion: QuaternionLike): Matrix3;
347
353
  /**
348
- * Create a three-by-three matrix from the upper-left corner of a four-by-four matrix.
349
- * @param matrix - The four-by-four matrix.
350
- * @returns The three-by-three matrix.
354
+ * Create a transformation matrix that represents a rotation by the given angle around the Z-axis.
355
+ * @param r - The angle in radians.
356
+ * @returns The transformation matrix.
357
+ * @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
351
358
  */
352
- static fromMatrix4(matrix: Matrix4Like): Matrix3;
359
+ static fromRotation(r: number): Matrix3;
360
+ /**
361
+ * Create a transformation matrix that represents a scaling by the given vector.
362
+ * @param vector - The scaling vector.
363
+ * @returns The transformation matrix.
364
+ * @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
365
+ */
366
+ static fromScaling(vector: Vector2Like): Matrix3;
367
+ /**
368
+ * Create a transformation matrix that represents a translation by the given vector.
369
+ * @param vector - The translation vector.
370
+ * @returns The transformation matrix.
371
+ * @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
372
+ */
373
+ static fromTranslation(vector: Vector2Like): Matrix3;
353
374
  /**
354
375
  * Create a two-by-two matrix with the given values.
355
376
  * @param c0r0 - The value in the first column and first row.
@@ -365,44 +386,21 @@ export default class Matrix3 extends Float32Array implements SquareMatrix, Matri
365
386
  */
366
387
  static fromValues(c0r0: number, c0r1: number, c0r2: number, c1r0: number, c1r1: number, c1r2: number, c2r0: number, c2r1: number, c2r2: number): Matrix3;
367
388
  /**
368
- * Create a three-by-three identity matrix.
369
- * @see {@link https://en.wikipedia.org/wiki/Identity_matrix | Identity matrix}
370
- */
371
- constructor();
372
- /** The value in the first column and first row. */
373
- 0: number;
374
- /** The value in the first column and second row. */
375
- 1: number;
376
- /** The value in the first column and third row. */
377
- 2: number;
378
- /** The value in the second column and first row. */
379
- 3: number;
380
- /** The value in the second column and second row. */
381
- 4: number;
382
- /** The value in the second column and third row. */
383
- 5: number;
384
- /** The value in the third column and first row. */
385
- 6: number;
386
- /** The value in the third column and second row. */
387
- 7: number;
388
- /** The value in the third column and third row. */
389
- 8: number;
390
- /** The number of columns in this matrix. */
391
- readonly width: 3;
392
- /** The number of rows in this matrix. */
393
- readonly height: 3;
394
- /**
395
- * Determine whether or not this matrix is roughly equivalent to another.
396
- * @param matrix - The other matrix.
397
- * @returns Whether or not the matrices are equivalent.
389
+ * Calculate a three-by-three normal (inverse transpose) matrix from a four-by-four matrix.
390
+ * @param matrix - The four-by-four matrix.
391
+ * @returns The normal matrix.
392
+ * @see {@link https://en.wikipedia.org/wiki/Normal_matrix | Normal matrix}
398
393
  */
399
- equals(matrix: Matrix3Like): boolean;
394
+ static normalFromMatrix4(matrix: Matrix4Like): Matrix3;
400
395
  /**
401
- * Determine whether or not this matrix is exactly equivalent to another.
402
- * @param matrix - The other matrix.
403
- * @returns Whether or not the matrices are equivalent.
396
+ * Generate a two-dimensional projection matrix with the given bounds.
397
+ * @param width - The width of the projection.
398
+ * @param height - The height of the projection.
399
+ * @returns The projection matrix.
400
+ * @see {@link https://en.wikipedia.org/wiki/Camera_matrix | Camera matrix}
401
+ * @see {@link https://en.wikipedia.org/wiki/3D_projection | 3D projection}
404
402
  */
405
- exactEquals(matrix: Matrix3Like): boolean;
403
+ static projection(width: number, height: number): Matrix3;
406
404
  /**
407
405
  * Add two matrices of the same size.
408
406
  * @param matrix - The other matrix.
@@ -428,10 +426,29 @@ export default class Matrix3 extends Float32Array implements SquareMatrix, Matri
428
426
  */
429
427
  copy(matrix: Matrix3Like): this;
430
428
  /**
431
- * Get the Frobenius norm of this matrix.
432
- * @see {@link https://en.wikipedia.org/wiki/Matrix_norm | Matrix norm}
429
+ * Determine whether or not this matrix is roughly equivalent to another.
430
+ * @param matrix - The other matrix.
431
+ * @returns Whether or not the matrices are equivalent.
433
432
  */
434
- get frob(): number;
433
+ equals(matrix: Matrix3Like): boolean;
434
+ /**
435
+ * Determine whether or not this matrix is exactly equivalent to another.
436
+ * @param matrix - The other matrix.
437
+ * @returns Whether or not the matrices are equivalent.
438
+ */
439
+ exactEquals(matrix: Matrix3Like): boolean;
440
+ /**
441
+ * Reset this matrix to identity.
442
+ * @returns This matrix.
443
+ * @see {@link https://en.wikipedia.org/wiki/Identity_matrix | Identity matrix}
444
+ */
445
+ identity(): this;
446
+ /**
447
+ * Invert this matrix.
448
+ * @returns The inverted matrix.
449
+ * @see {@link https://en.wikipedia.org/wiki/Invertible_matrix | Invertible matrix}
450
+ */
451
+ invert(): Matrix3;
435
452
  /**
436
453
  * Multiply this matrix by another.
437
454
  * @param matrix - The other matrix.
@@ -455,36 +472,6 @@ export default class Matrix3 extends Float32Array implements SquareMatrix, Matri
455
472
  * @see {@link https://en.wikipedia.org/wiki/Matrix_multiplication | Matrix multiplication}
456
473
  */
457
474
  multiplyScalarAndAdd(matrix: Matrix3Like, scalar: number): Matrix3;
458
- /**
459
- * Subtract another matrix from this one.
460
- * @param matrix - The other matrix.
461
- * @returns The difference between the matrices.
462
- * @see {@link https://en.wikipedia.org/wiki/Matrix_addition | Matrix addition}
463
- */
464
- subtract(matrix: Matrix3Like): Matrix3;
465
- /**
466
- * Transpose this matrix.
467
- * @returns The transpose of this matrix.
468
- * @see {@link https://en.wikipedia.org/wiki/Transpose | Transpose}
469
- */
470
- transpose(): Matrix3;
471
- /**
472
- * Get the determinant of this matrix.
473
- * @see {@link https://en.wikipedia.org/wiki/Determinant | Determinant}
474
- */
475
- get determinant(): number;
476
- /**
477
- * Reset this matrix to identity.
478
- * @returns This matrix.
479
- * @see {@link https://en.wikipedia.org/wiki/Identity_matrix | Identity matrix}
480
- */
481
- identity(): this;
482
- /**
483
- * Invert this matrix.
484
- * @returns The inverted matrix.
485
- * @see {@link https://en.wikipedia.org/wiki/Invertible_matrix | Invertible matrix}
486
- */
487
- invert(): Matrix3;
488
475
  /**
489
476
  * Rotate this matrix by the given angle around the Z-axis.
490
477
  * @param r - The angle in radians.
@@ -499,6 +486,13 @@ export default class Matrix3 extends Float32Array implements SquareMatrix, Matri
499
486
  * @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
500
487
  */
501
488
  scale(vector: Vector2Like): Matrix3;
489
+ /**
490
+ * Subtract another matrix from this one.
491
+ * @param matrix - The other matrix.
492
+ * @returns The difference between the matrices.
493
+ * @see {@link https://en.wikipedia.org/wiki/Matrix_addition | Matrix addition}
494
+ */
495
+ subtract(matrix: Matrix3Like): Matrix3;
502
496
  /**
503
497
  * Translate this matrix by the given vector.
504
498
  * @param vector - The translation vector.
@@ -506,5 +500,11 @@ export default class Matrix3 extends Float32Array implements SquareMatrix, Matri
506
500
  * @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
507
501
  */
508
502
  translate(vector: Vector2Like): Matrix3;
503
+ /**
504
+ * Transpose this matrix.
505
+ * @returns The transpose of this matrix.
506
+ * @see {@link https://en.wikipedia.org/wiki/Transpose | Transpose}
507
+ */
508
+ transpose(): Matrix3;
509
509
  }
510
510
  //# sourceMappingURL=Matrix3.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Matrix3.d.ts","sourceRoot":"","sources":["../../src/linalg/Matrix3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Matrix3.d.ts","sourceRoot":"","sources":["../../src/linalg/Matrix3.ts"],"names":[],"mappings":"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"}