diff options
author | siddhu8990 | 2016-05-18 09:44:43 +0530 |
---|---|---|
committer | siddhu8990 | 2016-05-18 09:44:43 +0530 |
commit | a6d6a9c1e88b75668868af691c9731075a514ffb (patch) | |
tree | ac0082f5f70a279ce5d25089d328f1f872d85981 /src/c/matrixOperations/kron | |
parent | a9d0c72c839428a17956fa0530977fc058d8a799 (diff) | |
download | Scilab2C_fossee_old-a6d6a9c1e88b75668868af691c9731075a514ffb.tar.gz Scilab2C_fossee_old-a6d6a9c1e88b75668868af691c9731075a514ffb.tar.bz2 Scilab2C_fossee_old-a6d6a9c1e88b75668868af691c9731075a514ffb.zip |
Support added for kron, flipdim
Diffstat (limited to 'src/c/matrixOperations/kron')
-rw-r--r-- | src/c/matrixOperations/kron/dkrona.c | 38 | ||||
-rw-r--r-- | src/c/matrixOperations/kron/skrona.c | 38 |
2 files changed, 76 insertions, 0 deletions
diff --git a/src/c/matrixOperations/kron/dkrona.c b/src/c/matrixOperations/kron/dkrona.c new file mode 100644 index 0000000..9379f96 --- /dev/null +++ b/src/c/matrixOperations/kron/dkrona.c @@ -0,0 +1,38 @@ +// Copyright (C) 2016 - IIT Bombay - FOSSEE +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt +// Author: Siddhesh Wani +// Organization: FOSSEE, IIT Bombay +// Email: toolbox@scilab.in + +//Function for kroneker product of two matrices + +#include "kron.h" + +void dkrona (double *in1, int row1, int col1, double *in2, int row2, \ + int col2, double *out) +{ + int row1_count, col1_count,row2_count, col2_count; + int row = row1*row2, col = col1*col2; + int temp = 0; + + for(col1_count = 0;col1_count < col1; col1_count++) + { + for(row1_count = 0;row1_count < row1; row1_count++) + { + for(col2_count = 0;col2_count < col2; col2_count++) + { + for(row2_count = 0;row2_count < row2; row2_count++) + { + temp = (col1_count*col2+col2_count)*row+(row1_count*row2+row2_count); + out[temp] = in1[col1_count*row1+row1_count]*in2[col2_count*row2+row2_count]; + } + } + } + } + +}
\ No newline at end of file diff --git a/src/c/matrixOperations/kron/skrona.c b/src/c/matrixOperations/kron/skrona.c new file mode 100644 index 0000000..368d04b --- /dev/null +++ b/src/c/matrixOperations/kron/skrona.c @@ -0,0 +1,38 @@ +// Copyright (C) 2016 - IIT Bombay - FOSSEE +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt +// Author: Siddhesh Wani +// Organization: FOSSEE, IIT Bombay +// Email: toolbox@scilab.in + +//Function for kroneker product of two matrices + +#include "kron.h" + +void skrona (float *in1, int row1, int col1, float *in2, int row2, \ + int col2, float *out) +{ + int row1_count, col1_count,row2_count, col2_count; + int row = row1*row2, col = col1*col2; + int temp = 0; + + for(col1_count = 0;col1_count < col1; col1_count++) + { + for(row1_count = 0;row1_count < row1; row1_count++) + { + for(col2_count = 0;col2_count < col2; col2_count++) + { + for(row2_count = 0;row2_count < row2; row2_count++) + { + temp = (col1_count*col2+col2_count)*row+(row1_count*row2+row2_count); + out[temp] = in1[col1_count*row1+row1_count]*in2[col2_count*row2+row2_count]; + } + } + } + } + +}
\ No newline at end of file |