diff options
author | imushir | 2015-12-29 11:55:07 +0530 |
---|---|---|
committer | imushir | 2015-12-29 11:55:07 +0530 |
commit | 8afcbca3921b43c6fd977601a2c16755a91e8d91 (patch) | |
tree | 89cfb68a983605ab9876bddb5fef2d5a70b7e5a3 /2.3-1/src/c/matrixOperations/multiplication/i16mulma.c | |
parent | 9e66f0cb2de5e6475bf9bf6956fea40218bd1dd5 (diff) | |
download | Scilab2C-8afcbca3921b43c6fd977601a2c16755a91e8d91.tar.gz Scilab2C-8afcbca3921b43c6fd977601a2c16755a91e8d91.tar.bz2 Scilab2C-8afcbca3921b43c6fd977601a2c16755a91e8d91.zip |
added support for matrixMultiplication
Diffstat (limited to '2.3-1/src/c/matrixOperations/multiplication/i16mulma.c')
-rw-r--r-- | 2.3-1/src/c/matrixOperations/multiplication/i16mulma.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/2.3-1/src/c/matrixOperations/multiplication/i16mulma.c b/2.3-1/src/c/matrixOperations/multiplication/i16mulma.c new file mode 100644 index 00000000..ee1268a4 --- /dev/null +++ b/2.3-1/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; + + } + +} |