diff options
author | imushir | 2015-12-29 11:55:07 +0530 |
---|---|---|
committer | imushir | 2015-12-29 11:55:07 +0530 |
commit | a8627e204617fc212c4f05d232208890d9d1cad6 (patch) | |
tree | ad24a217bac494193bf54a82bdb16eab668e5c0b /src/c/matrixOperations/multiplication/i16mulma.c | |
parent | 52780e449df15747b1339b1fa2c8caf8d69b2c56 (diff) | |
download | Scilab2C_fossee_old-a8627e204617fc212c4f05d232208890d9d1cad6.tar.gz Scilab2C_fossee_old-a8627e204617fc212c4f05d232208890d9d1cad6.tar.bz2 Scilab2C_fossee_old-a8627e204617fc212c4f05d232208890d9d1cad6.zip |
added support for matrixMultiplication
Diffstat (limited to 'src/c/matrixOperations/multiplication/i16mulma.c')
-rw-r--r-- | src/c/matrixOperations/multiplication/i16mulma.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/c/matrixOperations/multiplication/i16mulma.c b/src/c/matrixOperations/multiplication/i16mulma.c new file mode 100644 index 0000000..ee1268a --- /dev/null +++ b/src/c/matrixOperations/multiplication/i16mulma.c @@ -0,0 +1,44 @@ +/*SCilab2C FOSSEE IIT Bombay*/ + +/* +** \brief Compute a multiplication for int16 matrixes. +** \param in1 : input matrix. +** \param lines1 : lines of in1 matrix. +** \param columns1 : columns of in1 matrix. +** \param in2 : input arry. +** \param lines2 : lines of in2 matrix. +** \param columns2 : columns of in2 matrix. +** \param out : Matrix that contains the multiplication in1 * in2. +*/ + +// dgemm function of lapack library does not support uint8,uint16,int8 and int16 datatype so removed + +#include "matrixMultiplication.h" + +void i16mulma(int16 *in1,int lines1,int columns1, + int16 *in2,int lines2,int columns2, + int16 *out) +{ + + /* Do Not Use Any BLAS Function*/ + int i = 0; + int k = 0; + int16 accu = 0; + + /* How to convert 2 index matrixes to one. + ** #define in1(a,b) in1[a+b*lines1] + ** #define in2(c,d) in2[c+d*lines2] + */ + for(i=0;i < lines1 * columns2; ++i) + { + accu = 0; + for(k=0;k < columns1; ++k) + { + accu += in1[i % lines1 + k * lines1] * in2[k + (i / lines1) * lines2]; + + } + out[i] = accu; + + } + +} |