@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.
- package/README.md +15 -21
- package/build/clamp.d.ts +5 -5
- package/build/clamp.js +5 -5
- package/build/core.d.ts +23 -0
- package/build/core.d.ts.map +1 -0
- package/build/core.js +25 -0
- package/build/core.js.map +1 -0
- package/build/index.d.ts +1 -4
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -6
- package/build/index.js.map +1 -1
- package/build/interpolation.d.ts +158 -171
- package/build/interpolation.d.ts.map +1 -1
- package/build/interpolation.js +162 -181
- package/build/interpolation.js.map +1 -1
- package/build/matrices/arithmetic.d.ts +132 -132
- package/build/matrices/arithmetic.d.ts.map +1 -1
- package/build/matrices/arithmetic.js +194 -226
- package/build/matrices/arithmetic.js.map +1 -1
- package/build/matrices/asserts.d.ts +30 -408
- package/build/matrices/asserts.d.ts.map +1 -1
- package/build/matrices/asserts.js +98 -542
- package/build/matrices/asserts.js.map +1 -1
- package/build/matrices/core.d.ts +117 -46
- package/build/matrices/core.d.ts.map +1 -1
- package/build/matrices/core.js +127 -103
- package/build/matrices/core.js.map +1 -1
- package/build/matrices/decompositions.d.ts +95 -96
- package/build/matrices/decompositions.d.ts.map +1 -1
- package/build/matrices/decompositions.js +119 -160
- package/build/matrices/decompositions.js.map +1 -1
- package/build/matrices/index.d.ts +0 -1
- package/build/matrices/index.d.ts.map +1 -1
- package/build/matrices/index.js +0 -3
- package/build/matrices/index.js.map +1 -1
- package/build/matrices/linear-algebra.d.ts +45 -8
- package/build/matrices/linear-algebra.d.ts.map +1 -1
- package/build/matrices/linear-algebra.js +76 -32
- package/build/matrices/linear-algebra.js.map +1 -1
- package/build/matrices/normalization.d.ts +29 -8
- package/build/matrices/normalization.d.ts.map +1 -1
- package/build/matrices/normalization.js +32 -23
- package/build/matrices/normalization.js.map +1 -1
- package/build/matrices/transformations.d.ts +116 -148
- package/build/matrices/transformations.d.ts.map +1 -1
- package/build/matrices/transformations.js +69 -91
- package/build/matrices/transformations.js.map +1 -1
- package/build/matrices/types.d.ts +32 -60
- package/build/matrices/types.d.ts.map +1 -1
- package/build/matrices/types.js +63 -1
- package/build/matrices/types.js.map +1 -1
- package/build/quaternions/asserts.d.ts +29 -38
- package/build/quaternions/asserts.d.ts.map +1 -1
- package/build/quaternions/asserts.js +61 -77
- package/build/quaternions/asserts.js.map +1 -1
- package/build/quaternions/conversions.d.ts +26 -26
- package/build/quaternions/conversions.d.ts.map +1 -1
- package/build/quaternions/conversions.js +24 -24
- package/build/quaternions/core.d.ts +70 -69
- package/build/quaternions/core.d.ts.map +1 -1
- package/build/quaternions/core.js +71 -71
- package/build/quaternions/core.js.map +1 -1
- package/build/quaternions/index.d.ts +0 -1
- package/build/quaternions/index.d.ts.map +1 -1
- package/build/quaternions/index.js +0 -2
- package/build/quaternions/index.js.map +1 -1
- package/build/quaternions/interpolation.d.ts +16 -16
- package/build/quaternions/interpolation.d.ts.map +1 -1
- package/build/quaternions/interpolation.js +21 -21
- package/build/quaternions/interpolation.js.map +1 -1
- package/build/quaternions/predefined.d.ts +10 -10
- package/build/quaternions/predefined.d.ts.map +1 -1
- package/build/quaternions/predefined.js +9 -9
- package/build/quaternions/types.d.ts +23 -12
- package/build/quaternions/types.d.ts.map +1 -1
- package/build/quaternions/types.js +51 -1
- package/build/quaternions/types.js.map +1 -1
- package/build/random.d.ts +66 -20
- package/build/random.d.ts.map +1 -1
- package/build/random.js +73 -20
- package/build/random.js.map +1 -1
- package/build/vectors/asserts.d.ts +50 -220
- package/build/vectors/asserts.d.ts.map +1 -1
- package/build/vectors/asserts.js +141 -327
- package/build/vectors/asserts.js.map +1 -1
- package/build/vectors/core.d.ts +182 -229
- package/build/vectors/core.d.ts.map +1 -1
- package/build/vectors/core.js +234 -288
- package/build/vectors/core.js.map +1 -1
- package/build/vectors/index.d.ts +0 -1
- package/build/vectors/index.d.ts.map +1 -1
- package/build/vectors/index.js +0 -2
- package/build/vectors/index.js.map +1 -1
- package/build/vectors/interpolation.d.ts +40 -40
- package/build/vectors/interpolation.d.ts.map +1 -1
- package/build/vectors/interpolation.js +75 -86
- package/build/vectors/interpolation.js.map +1 -1
- package/build/vectors/predefined.d.ts +31 -7
- package/build/vectors/predefined.d.ts.map +1 -1
- package/build/vectors/predefined.js +30 -6
- package/build/vectors/predefined.js.map +1 -1
- package/build/vectors/types.d.ts +26 -4
- package/build/vectors/types.d.ts.map +1 -1
- package/build/vectors/types.js +50 -1
- package/build/vectors/types.js.map +1 -1
- package/package.json +3 -2
- package/build/matrices/_exports.d.ts +0 -13
- package/build/matrices/_exports.d.ts.map +0 -1
- package/build/matrices/_exports.js +0 -13
- package/build/matrices/_exports.js.map +0 -1
- package/build/quaternions/_exports.d.ts +0 -11
- package/build/quaternions/_exports.d.ts.map +0 -1
- package/build/quaternions/_exports.js +0 -11
- package/build/quaternions/_exports.js.map +0 -1
- package/build/vectors/_exports.d.ts +0 -10
- package/build/vectors/_exports.d.ts.map +0 -1
- package/build/vectors/_exports.js +0 -10
- 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":"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AAC,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 {
|
|
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 {
|
|
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
|
-
*
|
|
384
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
428
|
-
* // Process the valid and compatible matrices
|
|
429
|
-
* }
|
|
34
|
+
* throw new MatrixError('Invalid matrix dimensions', { cause: originalError });
|
|
430
35
|
* ```
|
|
431
36
|
*/
|
|
432
|
-
export declare
|
|
433
|
-
|
|
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":"
|
|
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"}
|