path: root/src/iemmatrix.h
diff options
authorIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2005-05-11 13:05:29 +0000
committerIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2005-05-11 13:05:29 +0000
commitc74f9041a42d95190b88990e91c2587f2f57a056 (patch)
tree5679242a76c8f8a0fc59fcc044c97c01b6713471 /src/iemmatrix.h
parentf4299cb7e6a5e161aa16670acd33de1ef75fae4d (diff)
split the objects from mtx_binops into several files: mtx_add, mtx_sub, mtx_mul, mtx_pow
mtx_binops is still there for glue functions exposed some important operations on float-arrays via iemmatrix.h (mtx_doInvert, mtx_doTranspose, mtx_doMultiply) as you can easily see, they all start with "mtx_do" and a capital letter; they all return a pointer to (newly allocated) memory with the result svn path=/trunk/externals/iem/iemmatrix/; revision=2947
Diffstat (limited to 'src/iemmatrix.h')
1 files changed, 10 insertions, 0 deletions
diff --git a/src/iemmatrix.h b/src/iemmatrix.h
index a5be96f..8401344 100644
--- a/src/iemmatrix.h
+++ b/src/iemmatrix.h
@@ -134,4 +134,14 @@ void mtx_binmtx_free(t_mtx_binmtx *x);
void mtx_binscalar_bang(t_mtx_binscalar *x);
void mtx_binscalar_free(t_mtx_binscalar *x);
+/* some math */
+/* invert a square matrix (row=col=rowcol) */
+t_matrixfloat*mtx_doInvert(t_matrixfloat*input, int rowcol);
+/* transpose a matrix */
+t_matrixfloat*mtx_doTranspose(t_matrixfloat*output, int row, int col);
+/* multiply matrix A=[rowA*colA] with matrix B=[rowB*colB]; C=A*B; colA=rowB=colArowB */
+t_matrixfloat*mtx_doMultiply(int rowA, t_matrixfloat*A, int colArowB, t_matrixfloat*B, int colB);