curvy 1.0.7 → 1.0.9

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 (109) hide show
  1. package/dist/curve/cubic2d.d.mts +80 -2
  2. package/dist/curve/cubic2d.d.ts +80 -2
  3. package/dist/curve/cubic2d.mjs +9 -26
  4. package/dist/curve/cubic2d.mjs.map +1 -0
  5. package/dist/curve/linear2d.d.mts +68 -2
  6. package/dist/curve/linear2d.d.ts +68 -2
  7. package/dist/curve/linear2d.mjs +11 -14
  8. package/dist/curve/linear2d.mjs.map +1 -0
  9. package/dist/curve/quadratic2d.d.mts +86 -2
  10. package/dist/curve/quadratic2d.d.ts +86 -2
  11. package/dist/curve/quadratic2d.mjs +10 -15
  12. package/dist/curve/quadratic2d.mjs.map +1 -0
  13. package/dist/interval.d.mts +195 -2
  14. package/dist/interval.d.ts +195 -2
  15. package/dist/interval.mjs +9 -12
  16. package/dist/interval.mjs.map +1 -0
  17. package/dist/matrix/matrix2x2.d.mts +273 -2
  18. package/dist/matrix/matrix2x2.d.ts +273 -2
  19. package/dist/matrix/matrix2x2.mjs +5 -4
  20. package/dist/matrix/matrix2x2.mjs.map +1 -0
  21. package/dist/matrix/matrix3x3.d.mts +308 -1
  22. package/dist/matrix/matrix3x3.d.ts +308 -1
  23. package/dist/matrix/matrix3x3.mjs +5 -4
  24. package/dist/matrix/matrix3x3.mjs.map +1 -0
  25. package/dist/matrix/matrix4x4.d.mts +310 -1
  26. package/dist/matrix/matrix4x4.d.ts +310 -1
  27. package/dist/matrix/matrix4x4.mjs +24 -61
  28. package/dist/matrix/matrix4x4.mjs.map +1 -0
  29. package/dist/path/cubic2d.d.mts +68 -2
  30. package/dist/path/cubic2d.d.ts +68 -2
  31. package/dist/path/cubic2d.mjs +10 -12
  32. package/dist/path/cubic2d.mjs.map +1 -0
  33. package/dist/path/linear2d.d.mts +68 -2
  34. package/dist/path/linear2d.d.ts +68 -2
  35. package/dist/path/linear2d.mjs +7 -9
  36. package/dist/path/linear2d.mjs.map +1 -0
  37. package/dist/path/quadratic2d.d.mts +67 -2
  38. package/dist/path/quadratic2d.d.ts +67 -2
  39. package/dist/path/quadratic2d.mjs +9 -13
  40. package/dist/path/quadratic2d.mjs.map +1 -0
  41. package/dist/pipe.mjs +1 -0
  42. package/dist/pipe.mjs.map +1 -0
  43. package/dist/polynomial/cubic.d.mts +1 -1
  44. package/dist/polynomial/cubic.d.ts +1 -1
  45. package/dist/polynomial/cubic.mjs +13 -28
  46. package/dist/polynomial/cubic.mjs.map +1 -0
  47. package/dist/polynomial/linear.d.mts +1 -1
  48. package/dist/polynomial/linear.d.ts +1 -1
  49. package/dist/polynomial/linear.mjs +2 -1
  50. package/dist/polynomial/linear.mjs.map +1 -0
  51. package/dist/polynomial/quadratic.d.mts +2 -2
  52. package/dist/polynomial/quadratic.d.ts +2 -2
  53. package/dist/polynomial/quadratic.mjs +5 -2
  54. package/dist/polynomial/quadratic.mjs.map +1 -0
  55. package/dist/shared/{curvy.Cps2R_RU.mjs → curvy.BkkW8Tx9.mjs} +11 -29
  56. package/dist/shared/curvy.BkkW8Tx9.mjs.map +1 -0
  57. package/dist/shared/{curvy.BzVmUIKm.mjs → curvy.BxdGW9he.mjs} +17 -32
  58. package/dist/shared/curvy.BxdGW9he.mjs.map +1 -0
  59. package/dist/shared/{curvy.C2XGH0R0.mjs → curvy.C_sCeg9J.mjs} +15 -24
  60. package/dist/shared/curvy.C_sCeg9J.mjs.map +1 -0
  61. package/dist/shared/curvy.Cg8lZVUz.d.ts +688 -0
  62. package/dist/shared/{curvy.CE4X6_Is.mjs → curvy.DCt1gGII.mjs} +11 -45
  63. package/dist/shared/curvy.DCt1gGII.mjs.map +1 -0
  64. package/dist/shared/{curvy.BZ_mTkJe.mjs → curvy.DJ4xO0al.mjs} +9 -6
  65. package/dist/shared/curvy.DJ4xO0al.mjs.map +1 -0
  66. package/dist/shared/curvy.DmVFTi0N.mjs +1 -0
  67. package/dist/shared/curvy.DmVFTi0N.mjs.map +1 -0
  68. package/dist/shared/curvy.FDaj5rlj.d.mts +688 -0
  69. package/dist/shared/{curvy.NLeFCr-9.mjs → curvy.lktriTpx.mjs} +19 -42
  70. package/dist/shared/curvy.lktriTpx.mjs.map +1 -0
  71. package/dist/shared/{curvy.Ck0of1PI.mjs → curvy.mLFprrGm.mjs} +26 -22
  72. package/dist/shared/curvy.mLFprrGm.mjs.map +1 -0
  73. package/dist/shared/{curvy.BDhiZ7He.mjs → curvy.r6f1j287.mjs} +8 -12
  74. package/dist/shared/curvy.r6f1j287.mjs.map +1 -0
  75. package/dist/splines/basis2d.d.mts +94 -2
  76. package/dist/splines/basis2d.d.ts +94 -2
  77. package/dist/splines/basis2d.mjs +13 -12
  78. package/dist/splines/basis2d.mjs.map +1 -0
  79. package/dist/splines/bezier2d.d.mts +136 -2
  80. package/dist/splines/bezier2d.d.ts +136 -2
  81. package/dist/splines/bezier2d.mjs +10 -9
  82. package/dist/splines/bezier2d.mjs.map +1 -0
  83. package/dist/splines/cardinal2d.d.mts +131 -2
  84. package/dist/splines/cardinal2d.d.ts +131 -2
  85. package/dist/splines/cardinal2d.mjs +15 -24
  86. package/dist/splines/cardinal2d.mjs.map +1 -0
  87. package/dist/splines/hermite2d.d.mts +94 -3
  88. package/dist/splines/hermite2d.d.ts +94 -3
  89. package/dist/splines/hermite2d.mjs +22 -36
  90. package/dist/splines/hermite2d.mjs.map +1 -0
  91. package/dist/utils.d.mts +179 -1
  92. package/dist/utils.d.ts +179 -1
  93. package/dist/utils.mjs +16 -7
  94. package/dist/utils.mjs.map +1 -0
  95. package/dist/vector/vector2.d.mts +259 -1
  96. package/dist/vector/vector2.d.ts +259 -1
  97. package/dist/vector/vector2.mjs +4 -2
  98. package/dist/vector/vector2.mjs.map +1 -0
  99. package/dist/vector/vector3.d.mts +345 -1
  100. package/dist/vector/vector3.d.ts +345 -1
  101. package/dist/vector/vector3.mjs +9 -2
  102. package/dist/vector/vector3.mjs.map +1 -0
  103. package/dist/vector/vector4.d.mts +163 -1
  104. package/dist/vector/vector4.d.ts +163 -1
  105. package/dist/vector/vector4.mjs +4 -2
  106. package/dist/vector/vector4.mjs.map +1 -0
  107. package/package.json +4 -4
  108. package/dist/shared/curvy.BsHoYJNv.d.ts +0 -155
  109. package/dist/shared/curvy.NsmY7zcr.d.mts +0 -155
@@ -9,64 +9,373 @@ import '../vector/vector2.mjs';
9
9
  declare const Matrix4x4TypeId: unique symbol;
10
10
  type Matrix4x4TypeId = typeof Matrix4x4TypeId;
11
11
 
12
+ /**
13
+ * A coordinate in a 4x4 matrix.
14
+ *
15
+ * @since 1.0.0
16
+ */
12
17
  type Matrix4x4Coordinate = FourDimensionalIndex | FourDimensionalComponent;
18
+ /**
19
+ * A 4x4 matrix.
20
+ *
21
+ * All fields are readonly and immutable, and all operations create new instances.
22
+ *
23
+ * @since 1.0.0
24
+ */
13
25
  interface Matrix4x4 extends Pipeable {
14
26
  readonly [Matrix4x4TypeId]: Matrix4x4TypeId;
27
+ /**
28
+ * The value of the first row and first column.
29
+ */
15
30
  readonly m00: number;
31
+ /**
32
+ * The value of the first row and second column.
33
+ */
16
34
  readonly m01: number;
35
+ /**
36
+ * The value of the first row and third column.
37
+ */
17
38
  readonly m02: number;
39
+ /**
40
+ * The value of the first row and fourth column.
41
+ */
18
42
  readonly m03: number;
43
+ /**
44
+ * The value of the second row and first column.
45
+ */
19
46
  readonly m10: number;
47
+ /**
48
+ * The value of the second row and second column.
49
+ */
20
50
  readonly m11: number;
51
+ /**
52
+ * The value of the second row and third column.
53
+ */
21
54
  readonly m12: number;
55
+ /**
56
+ * The value of the second row and fourth column.
57
+ */
22
58
  readonly m13: number;
59
+ /**
60
+ * The value of the third row and first column.
61
+ */
23
62
  readonly m20: number;
63
+ /**
64
+ * The value of the third row and second column.
65
+ */
24
66
  readonly m21: number;
67
+ /**
68
+ * The value of the third row and third column.
69
+ */
25
70
  readonly m22: number;
71
+ /**
72
+ * The value of the third row and fourth column.
73
+ */
26
74
  readonly m23: number;
75
+ /**
76
+ * The value of the fourth row and first column.
77
+ */
27
78
  readonly m30: number;
79
+ /**
80
+ * The value of the fourth row and second column.
81
+ */
28
82
  readonly m31: number;
83
+ /**
84
+ * The value of the fourth row and third column.
85
+ */
29
86
  readonly m32: number;
87
+ /**
88
+ * The value of the fourth row and fourth column.
89
+ */
30
90
  readonly m33: number;
31
91
  }
92
+ /**
93
+ * Checks if a value is a `Matrix4x4`.
94
+ *
95
+ * @param m - The value to check.
96
+ * @returns `true` if the value is a `Matrix4x4`, `false` otherwise.
97
+ * @since 1.0.0
98
+ */
32
99
  declare const isMatrix4x4: (m: unknown) => m is Matrix4x4;
100
+ /**
101
+ * Creates a new `Matrix4x4` instance.
102
+ *
103
+ * @param m00 - The value of the first row and first column.
104
+ * @param m01 - The value of the first row and second column.
105
+ * @param m02 - The value of the first row and third column.
106
+ * @param m03 - The value of the first row and fourth column.
107
+ * @param m10 - The value of the second row and first column.
108
+ * @param m11 - The value of the second row and second column.
109
+ * @param m12 - The value of the second row and third column.
110
+ * @param m13 - The value of the second row and fourth column.
111
+ * @param m20 - The value of the third row and first column.
112
+ * @param m21 - The value of the third row and second column.
113
+ * @param m22 - The value of the third row and third column.
114
+ * @param m23 - The value of the third row and fourth column.
115
+ * @param m30 - The value of the fourth row and first column.
116
+ * @param m31 - The value of the fourth row and second column.
117
+ * @param m32 - The value of the fourth row and third column.
118
+ * @param m33 - The value of the fourth row and fourth column.
119
+ * @returns A new `Matrix4x4` instance.
120
+ * @since 1.0.0
121
+ */
33
122
  declare const make: (m00?: number, m01?: number, m02?: number, m03?: number, m10?: number, m11?: number, m12?: number, m13?: number, m20?: number, m21?: number, m22?: number, m23?: number, m30?: number, m31?: number, m32?: number, m33?: number) => Matrix4x4;
123
+ /**
124
+ * Creates a new `Matrix4x4` instance from four row vectors.
125
+ *
126
+ * @param v0 - The first row vector.
127
+ * @param v1 - The second row vector.
128
+ * @param v2 - The third row vector.
129
+ * @param v3 - The fourth row vector.
130
+ * @returns A new `Matrix4x4` instance.
131
+ * @since 1.0.0
132
+ */
34
133
  declare const fromRows: (v0: Vector4, v1: Vector4, v2: Vector4, v3: Vector4) => Matrix4x4;
134
+ /**
135
+ * Creates a new `Matrix4x4` instance from four column vectors.
136
+ *
137
+ * @param v0 - The first column vector.
138
+ * @param v1 - The second column vector.
139
+ * @param v2 - The third column vector.
140
+ * @param v3 - The fourth column vector.
141
+ */
35
142
  declare const fromColumns: (v0: Vector4, v1: Vector4, v2: Vector4, v3: Vector4) => Matrix4x4;
36
143
  declare const setRow: {
144
+ /**
145
+ * Sets a row of a `Matrix4x4` to a new vector.
146
+ *
147
+ * @param m - The matrix to modify.
148
+ * @param row - The row to set.
149
+ * @param v - The new vector.
150
+ * @returns A new `Matrix4x4` instance with the specified row set to the new vector.
151
+ * @since 1.0.0
152
+ */
37
153
  (m: Matrix4x4, row: Matrix4x4Coordinate, v: Vector4): Matrix4x4;
154
+ /**
155
+ * Sets a row of a `Matrix4x4` to a new vector.
156
+ *
157
+ * @param row - The row to set.
158
+ * @param v - The new vector.
159
+ * @returns A function that takes a matrix and returns a new `Matrix4x4` instance with the specified row set to the new vector.
160
+ * @since 1.0.0
161
+ */
38
162
  (row: Matrix4x4Coordinate, v: Vector4): (m: Matrix4x4) => Matrix4x4;
39
163
  };
40
164
  declare const setColumn: {
165
+ /**
166
+ * Sets a column of a `Matrix4x4` to a new vector.
167
+ *
168
+ * @param m - The matrix to modify.
169
+ * @param column - The column to set.
170
+ * @param v - The new vector.
171
+ * @returns A new `Matrix4x4` instance with the specified column set to the new vector.
172
+ * @since 1.0.0
173
+ */
41
174
  (m: Matrix4x4, column: Matrix4x4Coordinate, v: Vector4): Matrix4x4;
175
+ /**
176
+ * Sets a column of a `Matrix4x4` to a new vector.
177
+ *
178
+ * @param column - The column to set.
179
+ * @param v - The new vector.
180
+ * @returns A function that takes a matrix and returns a new `Matrix4x4` instance with the specified column set to the new vector.
181
+ * @since 1.0.0
182
+ */
42
183
  (column: Matrix4x4Coordinate, v: Vector4): (m: Matrix4x4) => Matrix4x4;
43
184
  };
185
+ /**
186
+ * Calculates the determinant of a `Matrix4x4`.
187
+ *
188
+ * @param m - The matrix to calculate the determinant of.
189
+ * @returns The determinant of the matrix.
190
+ * @since 1.0.0
191
+ */
44
192
  declare const determinant: (m: Matrix4x4) => number;
193
+ /**
194
+ * Calculates the minor of a `Matrix4x4` at a given row and column.
195
+ *
196
+ * @param m - The matrix to calculate the minor of.
197
+ * @param row - The row to exclude.
198
+ * @param column - The column to exclude.
199
+ * @returns The minor of the matrix at the given row and column.
200
+ */
45
201
  declare const minor: (m: Matrix4x4, row: Matrix4x4Coordinate, column: Matrix4x4Coordinate) => Matrix3x3;
46
202
  declare const vectorProductLeft: {
203
+ /**
204
+ * Calculates the left vector product of a `Matrix4x4` and a `Vector4`.
205
+ *
206
+ * @example
207
+ * ```ts
208
+ * import * as Matrix4x4 from 'curvy/matrix4x4'
209
+ * import * as Vector4 from 'curvy/vector4'
210
+ *
211
+ * const m = Matrix4x4.make(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
212
+ * const v = Vector4.make(17, 18, 19, 20)
213
+ *
214
+ * // Result:
215
+ * // x = 1 * 17 + 2 * 18 + 3 * 19 + 4 * 20
216
+ * // y = 5 * 17 + 6 * 18 + 7 * 19 + 8 * 20
217
+ * // z = 9 * 17 + 10 * 18 + 11 * 19 + 12 * 20
218
+ * // w = 13 * 17 + 14 * 18 + 15 * 19 + 16 * 20
219
+ * const result = Matrix4x4.vectorProductLeft(m, v)
220
+ * ```
221
+ * @param m - The matrix to multiply.
222
+ * @param v - The vector to multiply.
223
+ * @returns The resulting vector.
224
+ */
47
225
  (m: Matrix4x4, v: Vector4): Vector4;
226
+ /**
227
+ * Calculates the left vector product of a `Matrix4x4` and a `Vector4`.
228
+ *
229
+ * @example
230
+ * ```ts
231
+ * import * as Matrix4x4 from 'curvy/matrix4x4'
232
+ * import * as Vector4 from 'curvy/vector4'
233
+ *
234
+ * const m = Matrix4x4.make(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
235
+ * const v = Vector4.make(17, 18, 19, 20)
236
+ *
237
+ * // Result:
238
+ * // x = 1 * 17 + 2 * 18 + 3 * 19 + 4 * 20
239
+ * // y = 5 * 17 + 6 * 18 + 7 * 19 + 8 * 20
240
+ * // z = 9 * 17 + 10 * 18 + 11 * 19 + 12 * 20
241
+ * // w = 13 * 17 + 14 * 18 + 15 * 19 + 16 * 20
242
+ * const result = Matrix4x4.vectorProductLeft(v)(m)
243
+ * ```
244
+ */
48
245
  (v: Vector4): (m: Matrix4x4) => Vector4;
49
246
  };
50
247
  declare const vectorProductRight: {
248
+ /**
249
+ * Calculates the right vector product of a `Matrix4x4` and a `Vector4`.
250
+ *
251
+ * @example
252
+ * ```ts
253
+ * import * as Matrix4x4 from 'curvy/matrix4x4'
254
+ * import * as Vector4 from 'curvy/vector4'
255
+ *
256
+ * const m = Matrix4x4.make(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
257
+ * const v = Vector4.make(17, 18, 19, 20)
258
+ *
259
+ * // Result:
260
+ * // x = 1 * 17 + 5 * 18 + 9 * 19 + 13 * 20
261
+ * // y = 2 * 17 + 6 * 18 + 10 * 19 + 14 * 20
262
+ * // z = 3 * 17 + 7 * 18 + 11 * 19 + 15 * 20
263
+ * // w = 4 * 17 + 8 * 18 + 12 * 19 + 16 * 20
264
+ * const result = Matrix4x4.vectorProductRight(m, v)
265
+ * ```
266
+ */
51
267
  (m: Matrix4x4, v: Vector4): Vector4;
268
+ /**
269
+ * Calculates the right vector product of a `Matrix4x4` and a `Vector4`.
270
+ *
271
+ * @example
272
+ * ```ts
273
+ * import * as Matrix4x4 from 'curvy/matrix4x4'
274
+ * import * as Vector4 from 'curvy/vector4'
275
+ *
276
+ * const m = Matrix4x4.make(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
277
+ * const v = Vector4.make(17, 18, 19, 20)
278
+ *
279
+ * // Result:
280
+ * // x = 1 * 17 + 5 * 18 + 9 * 19 + 13 * 20
281
+ * // y = 2 * 17 + 6 * 18 + 10 * 19 + 14 * 20
282
+ * // z = 3 * 17 + 7 * 18 + 11 * 19 + 15 * 20
283
+ * // w = 4 * 17 + 8 * 18 + 12 * 19 + 16 * 20
284
+ * const result = Matrix4x4.vectorProductRight(v)(m)
285
+ */
52
286
  (v: Vector4): (m: Matrix4x4) => Vector4;
53
287
  };
54
288
  declare const solveSystem: {
289
+ /**
290
+ * Solves a system of linear equations represented by a `Matrix4x4` and a `Vector4`.
291
+ *
292
+ * @param m - The matrix representing the coefficients of the equations.
293
+ * @param v - The vector representing the constants of the equations.
294
+ * @returns The solution vector.
295
+ */
55
296
  (m: Matrix4x4, v: Vector4): Vector4;
297
+ /**
298
+ * Solves a system of linear equations represented by a `Matrix4x4` and a `Vector4`.
299
+ *
300
+ * @param v - The vector representing the constants of the equations.
301
+ * @returns A function that takes a matrix and returns the solution vector.
302
+ */
56
303
  (v: Vector4): (m: Matrix4x4) => Vector4;
57
304
  };
305
+ /**
306
+ * Returns the rows of a `Matrix4x4` as an array of vectors.
307
+ *
308
+ * @param m - The matrix to convert.
309
+ * @returns An array of vectors representing the rows of the matrix.
310
+ * @since 1.0.0
311
+ */
58
312
  declare const toRows: (m: Matrix4x4) => [Vector4, Vector4, Vector4, Vector4];
313
+ /**
314
+ * Returns the columns of a `Matrix4x4` as an array of vectors.
315
+ *
316
+ * @param m - The matrix to convert.
317
+ * @returns An array of vectors representing the columns of the matrix.
318
+ * @since 1.0.0
319
+ */
59
320
  declare const toColumns: (m: Matrix4x4) => [Vector4, Vector4, Vector4, Vector4];
60
321
  declare const rowVector: {
322
+ /**
323
+ * Returns a row vector from a `Matrix4x4`.
324
+ *
325
+ * @param m - The matrix to get the row vector from.
326
+ * @param row - The row index.
327
+ * @returns The row vector.
328
+ */
61
329
  (m: Matrix4x4, row: Matrix4x4Coordinate): Vector4;
330
+ /**
331
+ * Returns a row vector from a `Matrix4x4`.
332
+ *
333
+ * @param row - The row index.
334
+ * @returns A function that takes a matrix and returns the row vector.
335
+ */
62
336
  (row: Matrix4x4Coordinate): (m: Matrix4x4) => Vector4;
63
337
  };
64
338
  declare const columnVector: {
339
+ /**
340
+ * Returns a column vector from a `Matrix4x4`.
341
+ *
342
+ * @param m - The matrix to get the column vector from.
343
+ * @param column - The column index.
344
+ * @returns The column vector.
345
+ */
65
346
  (m: Matrix4x4, column: Matrix4x4Coordinate): Vector4;
347
+ /**
348
+ * Returns a column vector from a `Matrix4x4`.
349
+ *
350
+ * @param column - The column index.
351
+ * @returns A function that takes a matrix and returns the column vector.
352
+ */
66
353
  (column: Matrix4x4Coordinate): (m: Matrix4x4) => Vector4;
67
354
  };
355
+ /**
356
+ * Transposes a `Matrix4x4`.
357
+ *
358
+ * @param m - The matrix to transpose.
359
+ * @returns The transposed matrix.
360
+ * @since 1.0.0
361
+ */
68
362
  declare const transpose: (m: Matrix4x4) => Matrix4x4;
363
+ /**
364
+ * Reverses the rows of a `Matrix4x4`.
365
+ *
366
+ * @param m - The matrix to reverse the rows of.
367
+ * @returns The matrix with the rows reversed.
368
+ * @since 1.0.0
369
+ */
69
370
  declare const reverseRows: (m: Matrix4x4) => Matrix4x4;
371
+ /**
372
+ * Reverses the columns of a `Matrix4x4`.
373
+ *
374
+ * @param m - The matrix to reverse the columns of.
375
+ * @returns The matrix with the columns reversed.
376
+ * @since 1.0.0
377
+ */
70
378
  declare const reverseColumns: (m: Matrix4x4) => Matrix4x4;
71
379
 
72
- export { type Matrix4x4, type Matrix4x4Coordinate, columnVector, determinant, fromColumns, fromRows, isMatrix4x4, make, minor, reverseColumns, reverseRows, rowVector, setColumn, setRow, solveSystem, toColumns, toRows, transpose, vectorProductLeft, vectorProductRight };
380
+ export { columnVector, determinant, fromColumns, fromRows, isMatrix4x4, make, minor, reverseColumns, reverseRows, rowVector, setColumn, setRow, solveSystem, toColumns, toRows, transpose, vectorProductLeft, vectorProductRight };
381
+ export type { Matrix4x4, Matrix4x4Coordinate };