@pawells/math-extended 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 (118) hide show
  1. package/README.md +15 -21
  2. package/build/clamp.d.ts +5 -5
  3. package/build/clamp.js +5 -5
  4. package/build/core.d.ts +23 -0
  5. package/build/core.d.ts.map +1 -0
  6. package/build/core.js +25 -0
  7. package/build/core.js.map +1 -0
  8. package/build/index.d.ts +1 -4
  9. package/build/index.d.ts.map +1 -1
  10. package/build/index.js +1 -6
  11. package/build/index.js.map +1 -1
  12. package/build/interpolation.d.ts +158 -171
  13. package/build/interpolation.d.ts.map +1 -1
  14. package/build/interpolation.js +162 -181
  15. package/build/interpolation.js.map +1 -1
  16. package/build/matrices/arithmetic.d.ts +132 -132
  17. package/build/matrices/arithmetic.d.ts.map +1 -1
  18. package/build/matrices/arithmetic.js +194 -226
  19. package/build/matrices/arithmetic.js.map +1 -1
  20. package/build/matrices/asserts.d.ts +30 -408
  21. package/build/matrices/asserts.d.ts.map +1 -1
  22. package/build/matrices/asserts.js +98 -542
  23. package/build/matrices/asserts.js.map +1 -1
  24. package/build/matrices/core.d.ts +117 -46
  25. package/build/matrices/core.d.ts.map +1 -1
  26. package/build/matrices/core.js +127 -103
  27. package/build/matrices/core.js.map +1 -1
  28. package/build/matrices/decompositions.d.ts +95 -96
  29. package/build/matrices/decompositions.d.ts.map +1 -1
  30. package/build/matrices/decompositions.js +119 -160
  31. package/build/matrices/decompositions.js.map +1 -1
  32. package/build/matrices/index.d.ts +0 -1
  33. package/build/matrices/index.d.ts.map +1 -1
  34. package/build/matrices/index.js +0 -3
  35. package/build/matrices/index.js.map +1 -1
  36. package/build/matrices/linear-algebra.d.ts +45 -8
  37. package/build/matrices/linear-algebra.d.ts.map +1 -1
  38. package/build/matrices/linear-algebra.js +76 -32
  39. package/build/matrices/linear-algebra.js.map +1 -1
  40. package/build/matrices/normalization.d.ts +29 -8
  41. package/build/matrices/normalization.d.ts.map +1 -1
  42. package/build/matrices/normalization.js +32 -23
  43. package/build/matrices/normalization.js.map +1 -1
  44. package/build/matrices/transformations.d.ts +116 -148
  45. package/build/matrices/transformations.d.ts.map +1 -1
  46. package/build/matrices/transformations.js +69 -91
  47. package/build/matrices/transformations.js.map +1 -1
  48. package/build/matrices/types.d.ts +32 -60
  49. package/build/matrices/types.d.ts.map +1 -1
  50. package/build/matrices/types.js +63 -1
  51. package/build/matrices/types.js.map +1 -1
  52. package/build/quaternions/asserts.d.ts +29 -38
  53. package/build/quaternions/asserts.d.ts.map +1 -1
  54. package/build/quaternions/asserts.js +61 -77
  55. package/build/quaternions/asserts.js.map +1 -1
  56. package/build/quaternions/conversions.d.ts +26 -26
  57. package/build/quaternions/conversions.d.ts.map +1 -1
  58. package/build/quaternions/conversions.js +24 -24
  59. package/build/quaternions/core.d.ts +70 -69
  60. package/build/quaternions/core.d.ts.map +1 -1
  61. package/build/quaternions/core.js +71 -71
  62. package/build/quaternions/core.js.map +1 -1
  63. package/build/quaternions/index.d.ts +0 -1
  64. package/build/quaternions/index.d.ts.map +1 -1
  65. package/build/quaternions/index.js +0 -2
  66. package/build/quaternions/index.js.map +1 -1
  67. package/build/quaternions/interpolation.d.ts +16 -16
  68. package/build/quaternions/interpolation.d.ts.map +1 -1
  69. package/build/quaternions/interpolation.js +21 -21
  70. package/build/quaternions/interpolation.js.map +1 -1
  71. package/build/quaternions/predefined.d.ts +10 -10
  72. package/build/quaternions/predefined.d.ts.map +1 -1
  73. package/build/quaternions/predefined.js +9 -9
  74. package/build/quaternions/types.d.ts +23 -12
  75. package/build/quaternions/types.d.ts.map +1 -1
  76. package/build/quaternions/types.js +51 -1
  77. package/build/quaternions/types.js.map +1 -1
  78. package/build/random.d.ts +66 -20
  79. package/build/random.d.ts.map +1 -1
  80. package/build/random.js +73 -20
  81. package/build/random.js.map +1 -1
  82. package/build/vectors/asserts.d.ts +50 -220
  83. package/build/vectors/asserts.d.ts.map +1 -1
  84. package/build/vectors/asserts.js +141 -327
  85. package/build/vectors/asserts.js.map +1 -1
  86. package/build/vectors/core.d.ts +182 -229
  87. package/build/vectors/core.d.ts.map +1 -1
  88. package/build/vectors/core.js +234 -288
  89. package/build/vectors/core.js.map +1 -1
  90. package/build/vectors/index.d.ts +0 -1
  91. package/build/vectors/index.d.ts.map +1 -1
  92. package/build/vectors/index.js +0 -2
  93. package/build/vectors/index.js.map +1 -1
  94. package/build/vectors/interpolation.d.ts +40 -40
  95. package/build/vectors/interpolation.d.ts.map +1 -1
  96. package/build/vectors/interpolation.js +75 -86
  97. package/build/vectors/interpolation.js.map +1 -1
  98. package/build/vectors/predefined.d.ts +31 -7
  99. package/build/vectors/predefined.d.ts.map +1 -1
  100. package/build/vectors/predefined.js +30 -6
  101. package/build/vectors/predefined.js.map +1 -1
  102. package/build/vectors/types.d.ts +26 -4
  103. package/build/vectors/types.d.ts.map +1 -1
  104. package/build/vectors/types.js +50 -1
  105. package/build/vectors/types.js.map +1 -1
  106. package/package.json +3 -2
  107. package/build/matrices/_exports.d.ts +0 -13
  108. package/build/matrices/_exports.d.ts.map +0 -1
  109. package/build/matrices/_exports.js +0 -13
  110. package/build/matrices/_exports.js.map +0 -1
  111. package/build/quaternions/_exports.d.ts +0 -11
  112. package/build/quaternions/_exports.d.ts.map +0 -1
  113. package/build/quaternions/_exports.js +0 -11
  114. package/build/quaternions/_exports.js.map +0 -1
  115. package/build/vectors/_exports.d.ts +0 -10
  116. package/build/vectors/_exports.d.ts.map +0 -1
  117. package/build/vectors/_exports.js +0 -10
  118. package/build/vectors/_exports.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"arithmetic.js","sourceRoot":"","sources":["../../src/matrices/arithmetic.ts"],"names":[],"mappings":"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CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/D;QACD;YACC,iGAAiG;YACjG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/D;QACD;YACC,iGAAiG;YACjG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/D;KACD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,SAAS,qBAAqB,CAAC,CAAW,EAAE,CAAW;IACtD,OAAO;QACN;YACC,6CAA6C;YAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrF;QACD;YACC,6CAA6C;YAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrF;QACD;YACC,6CAA6C;YAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrF;QACD;YACC,+EAA+E;YAC/E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,C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"}
1
+ {"version":3,"file":"arithmetic.js","sourceRoot":"","sources":["../../src/matrices/arithmetic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACnK,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,UAAU,SAAS,CAAoB,CAAI,EAAE,CAAI;IACtD,4DAA4D;IAC5D,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/B,2CAA2C;IAC3C,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,CAAY,CAAC,CAAC;IAEhD,0DAA0D;IAC1D,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAE1C,0DAA0D;IAC1D,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;QACtC,6CAA6C;QAC7C,MAAM,IAAI,GAAI,CAAa,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,IAAI,GAAI,CAAa,CAAC,GAAG,CAAC,CAAC;QAEjC,mDAAmD;QACnD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAE9B,8CAA8C;QAC9C,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;YACtC,iDAAiD;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YAEvB,6BAA6B;YAC7B,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;QAC9B,CAAC;IACF,CAAC;IAED,OAAO,MAA0B,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,UAAU,cAAc,CAAoB,CAAI,EAAE,CAAI;IAC3D,+DAA+D;IAC/D,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/B,0DAA0D;IAC1D,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAE1C,6DAA6D;IAC7D,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;QACtC,6CAA6C;QAC7C,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAEpB,mDAAmD;QACnD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAE9B,mDAAmD;QACnD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YAEvB,oCAAoC;YACpC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;QAC9B,CAAC;IACF,CAAC;IAED,OAAO,MAA0B,CAAC;AACnC,CAAC;AAiHD,MAAM,UAAU,cAAc,CAAC,CAAU,EAAE,CAA6B;IACvE,YAAY,CAAC,CAAC,CAAC,CAAC;IAEhB,sEAAsE;IACtE,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7D,IAAI,cAAc,CAAC,CAAC,CAAC;QAAE,OAAO,oBAAoB,CAAC,CAAC,EAAE,CAAY,CAAC,CAAC;IACpE,OAAO,oBAAoB,CAAC,CAAC,EAAE,CAAY,CAAC,CAAC;AAC9C,CAAC;AA2DD,SAAS,oBAAoB,CAAC,MAAe,EAAE,MAAc;IAC5D,YAAY,CAAC,MAAM,CAAC,CAAC;IACrB,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC,CAAC;IAEhG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAExC,qDAAqD;IACrD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAE9B,iDAAiD;QACjD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3B,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC;QAC/B,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAiED,SAAS,oBAAoB,CAAC,MAAe,EAAE,MAAe;IAC7D,kBAAkB;IAClB,YAAY,CAAC,MAAM,CAAC,CAAC;IACrB,YAAY,CAAC,MAAM,CAAC,CAAC;IAErB,wBAAwB;IACxB,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAEpD,4EAA4E;IAC5E,IAAI,UAAU,KAAK,MAAM,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,UAAU,6BAA6B,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAEpK,2DAA2D;IAC3D,MAAM,MAAM,GAAa,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;IAE/C,4CAA4C;IAC5C,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,UAAU,EAAE,GAAG,EAAE,EAAE,CAAC;QAC3C,2BAA2B;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAE9B,gDAAgD;QAChD,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,UAAU,EAAE,GAAG,EAAE,EAAE,CAAC;YAC3C,0BAA0B;YAC1B,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAErC,0BAA0B;YAC1B,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAElC,qBAAqB;YACrB,UAAU,IAAI,aAAa,GAAG,aAAa,CAAC;QAC7C,CAAC;QAED,eAAe;QACf,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;IAC1B,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAmFD,SAAS,oBAAoB,CAAC,CAAU,EAAE,CAAU;IACnD,6EAA6E;IAC7E,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,YAAY,CAAC,CAAC,CAAC,CAAC;IAEhB,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAErC,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACrB,MAAM,IAAI,WAAW,CAAC,8BAA8B,KAAK,IAAI,KAAK,QAAQ,KAAK,IAAI,KAAK,8DAA8D,CAAC,CAAC;IACzJ,CAAC;IAED,4DAA4D;IAC5D,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QAC9E,MAAM,WAAW,GAAG,KAAK,CAAC;QAC1B,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACvB,aAAa,CAAC,CAAC,CAAC,CAAC;YACjB,aAAa,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YAC9B,aAAa,CAAC,CAAC,CAAC,CAAC;YACjB,aAAa,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YAC9B,aAAa,CAAC,CAAC,CAAC,CAAC;YACjB,aAAa,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YAC9B,aAAa,CAAC,CAAC,CAAC,CAAC;YACjB,aAAa,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,WAAW,IAAI,EAAE,EAAE,CAAC;YAC9B,4DAA4D;YAC5D,6DAA6D;YAC7D,OAAO,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;IACF,CAAC;IAED,yEAAyE;IACzE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAE1C,qDAAqD;IACrD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAE9B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;YACtC,IAAI,GAAG,GAAG,CAAC,CAAC;YAEZ,2DAA2D;YAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEvB,2EAA2E;gBAC3E,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC;oBAAE,SAAS;gBACvC,GAAG,IAAI,IAAI,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACtB,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,SAAS,qBAAqB,CAAC,CAAW,EAAE,CAAW;IACtD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,SAAS,qBAAqB,CAAC,CAAW,EAAE,CAAW;IACtD,OAAO;QACN;YACC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,SAAS;YACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAI,SAAS;SACtD;QACD;YACC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,SAAS;YACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAI,SAAS;SACtD;KACD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,SAAS,qBAAqB,CAAC,CAAW,EAAE,CAAW;IACtD,OAAO;QACN;YACC,iGAAiG;YACjG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/D;QACD;YACC,iGAAiG;YACjG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/D;QACD;YACC,iGAAiG;YACjG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/D;KACD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,SAAS,qBAAqB,CAAC,CAAW,EAAE,CAAW;IACtD,OAAO;QACN;YACC,6CAA6C;YAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrF;QACD;YACC,6CAA6C;YAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrF;QACD;YACC,6CAA6C;YAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrF;QACD;YACC,+EAA+E;YAC/E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CA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"}
@@ -1,128 +1,4 @@
1
- import { IAssertException } from '@pawells/typescript-common';
2
- import { TMatrix, TMatrix1, TMatrix2, TMatrix3, TMatrix4 } from './types.js';
3
- /**
4
- * Configuration options for matrix validation constraints.
5
- *
6
- * This interface allows flexible validation of matrix dimensions and properties,
7
- * supporting various combinations of size constraints to accommodate different
8
- * matrix validation requirements.
9
- *
10
- * @interface IAssertMatrixArgs
11
- * @example
12
- * ```typescript
13
- * ```typescript
14
- * // Validate a square matrix of any size
15
- * const squareArgs: IAssertMatrixArgs = { square: true };
16
- * // Validate minimum dimensions
17
- * const minSizeArgs: IAssertMatrixArgs = { minRows: 2, minColumns: 3 };
18
- * // Validate exact size using tuple
19
- * const exactSizeArgs: IAssertMatrixArgs = { size: [4, 5] };
20
- * // Validate square matrix with exact size
21
- * const squareExactArgs: IAssertMatrixArgs = { square: true, size: 3 };
22
- * ```
23
- * ```
24
- */
25
- interface IAssertMatrixArgs {
26
- /** Minimum number of rows required in the matrix */
27
- minRows?: number;
28
- /** Minimum number of columns required in the matrix */
29
- minColumns?: number;
30
- /** Exact number of rows required in the matrix */
31
- rows?: number;
32
- /** Exact number of columns required in the matrix */
33
- columns?: number;
34
- /** Maximum number of rows allowed in the matrix */
35
- maxRows?: number;
36
- /** Maximum number of columns allowed in the matrix */
37
- maxColumns?: number;
38
- /** Whether the matrix must be square (rows === columns) */
39
- square?: boolean;
40
- /**
41
- * Exact size of the matrix.
42
- * Can be specified as:
43
- * - [rows, columns] tuple for rectangular matrices
44
- * - Single number for square matrices (equivalent to [n, n])
45
- */
46
- size?: [number, number] | number;
47
- }
48
- /**
49
- * Configuration options for validating multiple matrices together.
50
- *
51
- * Used when checking compatibility between two or more matrices for
52
- * mathematical operations such as multiplication, addition, or other
53
- * matrix operations that require specific dimensional relationships.
54
- *
55
- * @interface IAssertMatricesArgs
56
- * @example
57
- * ```typescript
58
- * ```typescript
59
- * // Standard compatibility (same dimensions for addition/subtraction)
60
- * const standardArgs: IAssertMatricesArgs = {};
61
- * // Allow transposed compatibility for multiplication
62
- * const transposedArgs: IAssertMatricesArgs = { transposition: true };
63
- * ```
64
- * ```
65
- */
66
- export interface IAssertMatricesArgs {
67
- /**
68
- * Whether to allow transposed dimensions between matrices.
69
- * When true, matrices A (m×n) and B (n×m) are considered compatible.
70
- * Useful for operations that work with both regular and transposed forms.
71
- * When false, matrices must have identical dimensions for compatibility.
72
- */
73
- transposition?: boolean;
74
- }
75
- /**
76
- * Extended exception interface for matrix assertion errors.
77
- *
78
- * Provides additional context for matrix validation failures by including
79
- * optional row and column indices. This allows for more precise error
80
- * reporting when validation fails at specific matrix positions.
81
- *
82
- * @interface IAssertMatrixException
83
- * @extends IAssertException
84
- */
85
- interface IAssertMatrixException extends IAssertException {
86
- /** Optional row index for more descriptive error messages when validation fails at a specific row */
87
- rowIndex?: number;
88
- /** Optional column index for more descriptive error messages when validation fails at a specific column */
89
- columnIndex?: number;
90
- }
91
- /**
92
- * Custom error class for matrix-related validation failures.
93
- *
94
- * This error class provides a specific error type for matrix validation
95
- * failures, making it easier to catch and handle matrix-specific errors
96
- * separately from other types of errors in your application.
97
- *
98
- * @class MatrixError
99
- * @extends Error
100
- * @example
101
- * ```typescript
102
- * ```typescript
103
- * try {
104
- * AssertMatrix(invalidMatrix);
105
- * } catch (error) {
106
- * if (error instanceof MatrixError) {
107
- * console.log('Matrix validation failed:', error.message);
108
- * }
109
- * }
110
- * ```
111
- * ```
112
- */
113
- export declare class MatrixError extends Error {
114
- readonly code: string;
115
- /**
116
- * Creates a new MatrixError instance.
117
- *
118
- * @param message - Error message describing the validation failure
119
- * @param options - Optional error context
120
- * @param options.cause - Original error that caused this error
121
- */
122
- constructor(message: string, options?: {
123
- cause?: unknown;
124
- });
125
- }
1
+ import { TMatrix, TMatrix1, TMatrix2, TMatrix3, TMatrix4, TMatrixSquare } from './types.js';
126
2
  /**
127
3
  * Validates that an unknown value is a valid matrix conforming to the TMatrix interface.
128
4
  *
@@ -135,300 +11,46 @@ export declare class MatrixError extends Error {
135
11
  * @param matrix - The value to validate as a matrix
136
12
  * @param args - Validation configuration options
137
13
  * @param exception - Custom exception details if validation fails
138
- * @throws {IAssertException} When the matrix doesn't meet the specified criteria
139
- *
140
- * @example
141
- * ```typescript
142
- * ```typescript
143
- * // Validate a 3x3 square matrix
144
- * AssertMatrix(someValue, { square: true, size: 3 });
145
- * // Validate minimum dimensions
146
- * AssertMatrix(someValue, { minRows: 2, minColumns: 3 });
147
- * // Validate exact dimensions
148
- * AssertMatrix(someValue, { rows: 4, columns: 5 });
149
- * ```
150
- * ```
151
- */
152
- export declare function AssertMatrix(matrix: unknown, args?: IAssertMatrixArgs, exception?: IAssertMatrixException): asserts matrix is TMatrix;
153
- /**
154
- * Validates that an unknown value is a valid matrix row (array of numbers).
155
- *
156
- * This function ensures that the provided value is a proper matrix row,
157
- * which should be an array containing only numeric values.
158
- *
159
- * @param row - The value to validate as a matrix row
160
- * @param exception - Custom exception details (optionally includes `rowIndex` for richer messages)
161
- * @throws {MatrixError} When the row is not a valid array of finite numbers
162
- *
163
- * @example
164
- * ```typescript
165
- * ```typescript
166
- * // Validate a matrix row
167
- * AssertMatrixRow([1, 2, 3, 4]);
168
- * // Validate with row index in exception for better error messages
169
- * AssertMatrixRow([1, 2, 3, 4], { rowIndex: 0 });
170
- * // This would throw MatrixError
171
- * AssertMatrixRow([1, '2', 3]); // Contains non-numeric value
172
- * ```
173
- * ```
174
- */
175
- export declare function AssertMatrixRow(row: unknown, exception?: IAssertMatrixException): asserts row is number[];
176
- /**
177
- * Validates that an unknown value is a valid matrix element (finite number).
178
- *
179
- * This function ensures that the provided value is a proper matrix element,
180
- * which should be a finite number (not NaN, Infinity, or -Infinity).
181
- *
182
- * @param value - The value to validate as a matrix element
183
- * @param exception - Custom exception details (optionally includes `rowIndex` and `columnIndex` for richer messages)
184
- * @throws {MatrixError} When the value is not a finite number
185
- *
186
- * @example
187
- * ```typescript
188
- * ```typescript
189
- * // Validate a matrix element
190
- * AssertMatrixValue(42);
191
- * // Validate with position information for better error messages
192
- * AssertMatrixValue(3.14, { rowIndex: 0, columnIndex: 1 });
193
- * // These would throw MatrixError
194
- * AssertMatrixValue(NaN); // Not a number
195
- * AssertMatrixValue(Infinity); // Not a finite number
196
- * AssertMatrixValue('5'); // Not a number type
197
- * ```
198
- * ```
199
- */
200
- export declare function AssertMatrixValue(value: unknown, exception?: IAssertMatrixException): asserts value is number;
201
- /**
202
- * Validates compatibility between two matrices for mathematical operations.
203
- *
204
- * This function checks that two matrices are compatible for operations like
205
- * multiplication, addition, or other matrix operations that require specific
206
- * dimensional relationships.
207
- *
208
- * @param a - The first matrix to validate
209
- * @param b - The second matrix to validate
210
- * @param args - Validation configuration options
211
- * @param exception - Custom exception details if validation fails
212
- * @throws {IAssertException} When the matrices are not compatible
213
- *
214
- * @example
215
- * ```typescript
216
- * ```typescript
217
- * // Validate matrices for multiplication (A columns must equal B rows)
218
- * AssertMatrices(matrixA, matrixB);
219
- * // Allow transposed compatibility
220
- * AssertMatrices(matrixA, matrixB, { transposition: true });
221
- * ```
222
- * ```
223
- */
224
- export declare function AssertMatrices(a: unknown, b: unknown, args?: IAssertMatricesArgs, exception?: IAssertMatrixException): void;
225
- /**
226
- * Validates that an unknown value is a valid 1x1 matrix.
227
- *
228
- * This function ensures that the provided value is a proper 1x1 matrix,
229
- * which should be a 2D array with exactly 1 row and 1 column containing a number.
230
- *
231
- * @param matrix - The value to validate as a 1x1 matrix
232
- * @param exception - Custom exception details if validation fails
233
- * @throws {IAssertException} When the matrix is not a valid 1x1 matrix
234
- *
235
- * @example
236
- * ```typescript
237
- * ```typescript
238
- * // Validate a 1x1 matrix
239
- * AssertMatrix1([[5]]);
240
- * // This would throw an exception
241
- * AssertMatrix1([[1, 2]]); // Too many columns
242
- * ```
243
- * ```
244
- */
245
- export declare function AssertMatrix1(matrix: unknown, exception?: IAssertMatrixException): asserts matrix is TMatrix1;
246
- /**
247
- * Validates that an unknown value is a valid 2x2 matrix.
248
- *
249
- * This function ensures that the provided value is a proper 2x2 matrix,
250
- * which should be a 2D array with exactly 2 rows and 2 columns containing numbers.
251
- *
252
- * @param matrix - The value to validate as a 2x2 matrix
253
- * @param exception - Custom exception details if validation fails
254
- * @throws {IAssertException} When the matrix is not a valid 2x2 matrix
255
- *
256
- * @example
257
- * ```typescript
258
- * ```typescript
259
- * // Validate a 2x2 matrix
260
- * AssertMatrix2([[1, 2], [3, 4]]);
261
- * // This would throw an exception
262
- * AssertMatrix2([[1, 2, 3], [4, 5, 6]]); // Too many columns
263
- * ```
264
- * ```
265
- */
266
- export declare function AssertMatrix2(matrix: unknown, exception?: IAssertMatrixException): asserts matrix is TMatrix2;
267
- /**
268
- * Validates that an unknown value is a valid 3x3 matrix.
269
- *
270
- * This function ensures that the provided value is a proper 3x3 matrix,
271
- * which should be a 2D array with exactly 3 rows and 3 columns containing numbers.
272
- *
273
- * @param matrix - The value to validate as a 3x3 matrix
274
- * @param exception - Custom exception details if validation fails
275
- * @throws {IAssertException} When the matrix is not a valid 3x3 matrix
276
- *
277
- * @example
278
- * ```typescript
279
- * ```typescript
280
- * // Validate a 3x3 matrix
281
- * AssertMatrix3([[1, 2, 3], [4, 5, 6], [7, 8, 9]]);
282
- * // This would throw an exception
283
- * AssertMatrix3([[1, 2], [3, 4]]); // Too few rows and columns
284
- * ```
285
- * ```
286
- */
287
- export declare function AssertMatrix3(matrix: unknown, exception?: IAssertMatrixException): asserts matrix is TMatrix3;
288
- /**
289
- * Validates that an unknown value is a valid 4x4 matrix.
290
- *
291
- * This function ensures that the provided value is a proper 4x4 matrix,
292
- * which should be a 2D array with exactly 4 rows and 4 columns containing numbers.
293
- *
294
- * @param matrix - The value to validate as a 4x4 matrix
295
- * @param exception - Custom exception details if validation fails
296
- * @throws {IAssertException} When the matrix is not a valid 4x4 matrix
297
- *
298
- * @example
299
- * ```typescript
300
- * ```typescript
301
- * // Validate a 4x4 matrix
302
- * AssertMatrix4([
303
- * [1, 2, 3, 4],
304
- * [5, 6, 7, 8],
305
- * [9, 10, 11, 12],
306
- * [13, 14, 15, 16]
307
- * ]);
308
- * // This would throw an exception
309
- * AssertMatrix4([[1, 2], [3, 4]]); // Too few rows and columns
310
- * ```
311
- * ```
312
- */
313
- export declare function AssertMatrix4(matrix: unknown, exception?: IAssertMatrixException): asserts matrix is TMatrix4;
314
- /**
315
- * Validates that an unknown value is a valid matrix without throwing an error.
316
- *
317
- * This function performs the same validation as AssertMatrix but returns
318
- * a boolean instead of throwing an exception, making it suitable for
319
- * conditional logic where exceptions are not desired.
320
- *
321
- * @param matrix - The value to validate as a matrix
322
- * @param args - Validation configuration options
323
- * @returns true if the matrix is valid, false otherwise
324
- *
325
- * @example
326
- * ```typescript
327
- * if (ValidateMatrix(someValue, { square: true })) {
328
- * // Process the valid square matrix
329
- * }
330
- * ```
331
- */
332
- export declare function ValidateMatrix(matrix: unknown, args?: IAssertMatrixArgs): matrix is TMatrix;
333
- /**
334
- * Validates that an unknown value is a valid 1×1 matrix without throwing an error.
335
- *
336
- * @param matrix - The value to validate as a 1×1 matrix
337
- * @returns true if the matrix is valid, false otherwise
338
- *
339
- * @example
340
- * ```typescript
341
- * if (ValidateMatrix1(someValue)) {
342
- * // Process the valid 1×1 matrix
343
- * }
344
- * ```
345
- */
346
- export declare function ValidateMatrix1(matrix: unknown): matrix is TMatrix1;
347
- /**
348
- * Validates that an unknown value is a valid 2×2 matrix without throwing an error.
349
- *
350
- * @param matrix - The value to validate as a 2×2 matrix
351
- * @returns true if the matrix is valid, false otherwise
352
- *
353
- * @example
354
- * ```typescript
355
- * if (ValidateMatrix2(someValue)) {
356
- * // Process the valid 2×2 matrix
357
- * }
358
- * ```
359
- */
360
- export declare function ValidateMatrix2(matrix: unknown): matrix is TMatrix2;
361
- /**
362
- * Validates that an unknown value is a valid 3×3 matrix without throwing an error.
363
- *
364
- * @param matrix - The value to validate as a 3×3 matrix
365
- * @returns true if the matrix is valid, false otherwise
14
+ * @throws {MatrixError} When the matrix doesn't meet the specified criteria
366
15
  *
367
16
  * @example
368
17
  * ```typescript
369
- * if (ValidateMatrix3(someValue)) {
370
- * // Process the valid 3×3 matrix
371
- * }
372
- * ```
373
- */
374
- export declare function ValidateMatrix3(matrix: unknown): matrix is TMatrix3;
375
- /**
376
- * Validates that an unknown value is a valid 4×4 matrix without throwing an error.
377
- *
378
- * @param matrix - The value to validate as a 4×4 matrix
379
- * @returns true if the matrix is valid, false otherwise
380
- *
381
- * @example
382
18
  * ```typescript
383
- * if (ValidateMatrix4(someValue)) {
384
- * // Process the valid 4×4 matrix
385
- * }
19
+ * // Validate a 3x3 square matrix
20
+ * AssertMatrix(someValue, { square: true, size: 3 });
21
+ * // Validate minimum dimensions
22
+ * AssertMatrix(someValue, { minRows: 2, minColumns: 3 });
23
+ * // Validate exact dimensions
24
+ * AssertMatrix(someValue, { rows: 4, columns: 5 });
386
25
  * ```
387
- */
388
- export declare function ValidateMatrix4(matrix: unknown): matrix is TMatrix4;
389
- /**
390
- * Validates that an unknown value is a valid matrix row without throwing an error.
391
- *
392
- * @param row - The value to validate as a matrix row
393
- * @returns true if the row is valid, false otherwise
394
- *
395
- * @example
396
- * ```typescript
397
- * if (ValidateMatrixRow([1, 2, 3])) {
398
- * // Process the valid row
399
- * }
400
- * ```
401
- */
402
- export declare function ValidateMatrixRow(row: unknown): row is number[];
403
- /**
404
- * Validates that an unknown value is a valid matrix value (finite number) without throwing an error.
405
- *
406
- * @param value - The value to validate as a matrix element
407
- * @returns true if the value is valid, false otherwise
408
- *
409
- * @example
410
- * ```typescript
411
- * if (ValidateMatrixValue(someValue)) {
412
- * // Process the valid numeric value
413
- * }
414
26
  * ```
415
27
  */
416
- export declare function ValidateMatrixValue(value: unknown): value is number;
417
28
  /**
418
- * Validates that two unknown values are compatible matrices without throwing an error.
419
- *
420
- * @param a - The first matrix to validate
421
- * @param b - The second matrix to validate
422
- * @param args - Validation configuration options
423
- * @returns true if both matrices are valid and compatible, false otherwise
29
+ * Matrix error class for validation failures and matrix operations.
30
+ * Extends Error to provide detailed error information with optional cause chain.
424
31
  *
425
32
  * @example
426
33
  * ```typescript
427
- * if (ValidateMatrices(matrixA, matrixB, { transposition: true })) {
428
- * // Process the valid and compatible matrices
429
- * }
34
+ * throw new MatrixError('Invalid matrix dimensions', { cause: originalError });
430
35
  * ```
431
36
  */
432
- export declare function ValidateMatrices(a: unknown, b: unknown, args?: IAssertMatricesArgs): boolean;
433
- export {};
37
+ export declare class MatrixError extends Error {
38
+ readonly code: string;
39
+ constructor(message: string, options?: {
40
+ cause?: unknown;
41
+ });
42
+ }
43
+ export declare function AssertMatrix(matrix: unknown): asserts matrix is TMatrix;
44
+ export declare const ValidateMatrix: (value: unknown) => value is TMatrix;
45
+ export declare function AssertMatrix1(matrix: unknown): asserts matrix is TMatrix1;
46
+ export declare const ValidateMatrix1: (value: unknown) => value is TMatrix1;
47
+ export declare function AssertMatrix2(matrix: unknown): asserts matrix is TMatrix2;
48
+ export declare const ValidateMatrix2: (value: unknown) => value is TMatrix2;
49
+ export declare function AssertMatrix3(matrix: unknown): asserts matrix is TMatrix3;
50
+ export declare const ValidateMatrix3: (value: unknown) => value is TMatrix3;
51
+ export declare function AssertMatrix4(matrix: unknown): asserts matrix is TMatrix4;
52
+ export declare const ValidateMatrix4: (value: unknown) => value is TMatrix4;
53
+ export declare function AssertMatrixSquare(matrix: unknown): asserts matrix is TMatrixSquare;
54
+ export declare const ValidateMatrixSquare: (value: unknown) => value is TMatrix;
55
+ export declare function AssertMatricesCompatible(...matrices: unknown[]): void;
434
56
  //# sourceMappingURL=asserts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"asserts.d.ts","sourceRoot":"","sources":["../../src/matrices/asserts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asserts.d.ts","sourceRoot":"","sources":["../../src/matrices/asserts.ts"],"names":[],"mappings":"AACA,OAAO,EAAuG,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEjM;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACrC,SAAgB,IAAI,EAAE,MAAM,CAAkB;gBAElC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAO1D;AAoBD,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CASvE;AACD,eAAO,MAAM,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,OAAoC,CAAC;AAC/F,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CASzE;AACD,eAAO,MAAM,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,QAAsC,CAAC;AAClG,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CASzE;AACD,eAAO,MAAM,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,QAAsC,CAAC;AAClG,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CASzE;AACD,eAAO,MAAM,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,QAAsC,CAAC;AAClG,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CASzE;AACD,eAAO,MAAM,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,QAAsC,CAAC;AAClG,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,CASnF;AACD,eAAO,MAAM,oBAAoB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,OAA0C,CAAC;AAE3G,wBAAgB,wBAAwB,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAerE"}