diff options
author | Brijeshcr | 2017-08-04 18:02:35 +0530 |
---|---|---|
committer | Brijeshcr | 2017-08-04 18:02:35 +0530 |
commit | 54e1cdd2b4f5d4a214fab050e1d8b8e3790fe860 (patch) | |
tree | b67923f5dc4f624b4855f058a75373096888ca8a /2.3-1/src | |
parent | 6f62fa3cdad54e77abb0c4abc7f0a0cfb0d90a3a (diff) | |
parent | 15851af36bb226871b50fb2966360e2a043dd4cb (diff) | |
download | Scilab2C-54e1cdd2b4f5d4a214fab050e1d8b8e3790fe860.tar.gz Scilab2C-54e1cdd2b4f5d4a214fab050e1d8b8e3790fe860.tar.bz2 Scilab2C-54e1cdd2b4f5d4a214fab050e1d8b8e3790fe860.zip |
HANK added
Diffstat (limited to '2.3-1/src')
-rw-r--r-- | 2.3-1/src/c/signalProcessing/hank/dhanka.c | 110 | ||||
-rw-r--r-- | 2.3-1/src/c/signalProcessing/hank/shanka.c | 110 | ||||
-rw-r--r-- | 2.3-1/src/c/signalProcessing/includes/hank.h | 33 | ||||
-rw-r--r-- | 2.3-1/src/c/signalProcessing/interfaces/int_hank.h | 21 |
4 files changed, 274 insertions, 0 deletions
diff --git a/2.3-1/src/c/signalProcessing/hank/dhanka.c b/2.3-1/src/c/signalProcessing/hank/dhanka.c new file mode 100644 index 00000000..1857cc20 --- /dev/null +++ b/2.3-1/src/c/signalProcessing/hank/dhanka.c @@ -0,0 +1,110 @@ +/* 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: Abhinav Dronamraju + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + + +#include "hank.h" +#include "types.h" +#include "ones.h" +#include "kron.h" +#include "addition.h" +#include "matrix.h" + +void dhanka(int m, int n, double*seq_conv, int row, int col, double*out) +{ + int mr, nr; + mr= m* row; + nr= n* row; + double ones1[1*nr]; + double ones2[m*1]; + double temp1[mr*1]; + double temp2[1*nr]; + double middle1[m*nr]; + double middle2[m*nr]; + double index[m*nr]; + double final[row*m*nr]; + + + donesa(ones1, 1 , nr); + donesa(ones2, m , 1); +int j=0; +for(int i=1; i< mr+1; i= i+row) + { + temp1[j]=i; + j++; + printf("%d", i); + } +for(int j=0;j< nr; j++) + temp2[j]=j; + + dkrona(ones1, 1 , nr, temp1, m , 1 , middle1); + dkrona(temp2, 1 , nr, ones2, m , 1 , middle2); + + dadda(middle1, m*nr, middle2, m*nr, index); + + +for(int i=0; i< m*nr; i++) + { + + for(int j=0; j<row; j++) + { + int rank=index[i]; + final[(i*row)+j]= seq_conv[ j+(rank-1)*row]; + + } + + } + +/* +printf("ones1\n"); +for(int k=0; k<1*nr; k++) + printf("%lf\t", ones1[k]); +printf("\n"); + +printf("ones2\n"); +for(int k=0; k<m*1; k++) + printf("%lf\t", ones2[k]); +printf("\n"); + +printf("temp1\n"); +for(int k=0; k<m*1; k++) + printf("%lf\t", temp1[k]); +printf("\n"); + +printf("temp2\n"); +for(int k=0; k<nr*1; k++) + printf("%lf\t", temp2[k]); +printf("\n"); + +printf("middle1\n"); +for(int k=0; k<m*nr; k++) + printf("%lf\t", middle1[k]); +printf("\n"); + +printf("middle2\n"); +for(int k=0; k<m*nr; k++) + printf("%lf\t", middle2[k]); +printf("\n"); + +printf("index\n"); +for(int k=0; k<m*nr; k++) + printf("%lf\t", index[k]); +printf("\n"); + +printf("final\n"); +for(int k=0; k<row*m*nr; k++) + printf("%lf\t", final[k]); +printf("\n"); +*/ + + dmatrixa(final, row, m*nr, mr, (row*m*nr)/mr, out); + +} diff --git a/2.3-1/src/c/signalProcessing/hank/shanka.c b/2.3-1/src/c/signalProcessing/hank/shanka.c new file mode 100644 index 00000000..1c8f0181 --- /dev/null +++ b/2.3-1/src/c/signalProcessing/hank/shanka.c @@ -0,0 +1,110 @@ +/* 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: Abhinav Dronamraju + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + + +#include "hank.h" +#include "types.h" +#include "ones.h" +#include "kron.h" +#include "addition.h" +#include "matrix.h" + +void shanka(int m, int n, float*seq_conv, int row, int col, float*out) +{ + int mr, nr; + mr= m* row; + nr= n* row; + float ones1[1*nr]; + float ones2[m*1]; + float temp1[mr*1]; + float temp2[1*nr]; + float middle1[m*nr]; + float middle2[m*nr]; + float index[m*nr]; + float final[row*m*nr]; + + + sonesa(ones1, 1 , nr); + sonesa(ones2, m , 1); +int j=0; +for(int i=1; i< mr+1; i= i+row) + { + temp1[j]=i; + j++; + //printf("%d", i); + } +for(int j=0;j< nr; j++) + temp2[j]=j; + + skrona(ones1, 1 , nr, temp1, m , 1 , middle1); + skrona(temp2, 1 , nr, ones2, m , 1 , middle2); + + sadda(middle1, m*nr, middle2, m*nr, index); + + +for(int i=0; i< m*nr; i++) + { + + for(int j=0; j<row; j++) + { + int rank=index[i]; + final[(i*row)+j]= seq_conv[ j+(rank-1)*row]; + + } + + } + +/* +printf("ones1\n"); +for(int k=0; k<1*nr; k++) + printf("%f\t", ones1[k]); +printf("\n"); + +printf("ones2\n"); +for(int k=0; k<m*1; k++) + printf("%f\t", ones2[k]); +printf("\n"); + +printf("temp1\n"); +for(int k=0; k<m*1; k++) + printf("%f\t", temp1[k]); +printf("\n"); + +printf("temp2\n"); +for(int k=0; k<nr*1; k++) + printf("%f\t", temp2[k]); +printf("\n"); + +printf("middle1\n"); +for(int k=0; k<m*nr; k++) + printf("%f\t", middle1[k]); +printf("\n"); + +printf("middle2\n"); +for(int k=0; k<m*nr; k++) + printf("%f\t", middle2[k]); +printf("\n"); + +printf("index\n"); +for(int k=0; k<m*nr; k++) + printf("%f\t", index[k]); +printf("\n"); + +printf("final\n"); +for(int k=0; k<row*m*nr; k++) + printf("%f\t", final[k]); +printf("\n"); +*/ + + smatrixa(final, row, m*nr, mr, (row*m*nr)/mr, out); + +} diff --git a/2.3-1/src/c/signalProcessing/includes/hank.h b/2.3-1/src/c/signalProcessing/includes/hank.h new file mode 100644 index 00000000..1b661ec5 --- /dev/null +++ b/2.3-1/src/c/signalProcessing/includes/hank.h @@ -0,0 +1,33 @@ +/* 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: Abhinav Dronamraju + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in + */ + +#ifndef __HANK_H__ +#define __HANK_H__ +#include "types.h" +#include "doubleComplex.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void dhanka(int m, int n, double*seq_conv, int row, int col, double*out); + +void shanka(int m, int n, float*seq_conv, int row, int col, float*out); + + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* __HANK_H__ */ + diff --git a/2.3-1/src/c/signalProcessing/interfaces/int_hank.h b/2.3-1/src/c/signalProcessing/interfaces/int_hank.h new file mode 100644 index 00000000..45ab9b62 --- /dev/null +++ b/2.3-1/src/c/signalProcessing/interfaces/int_hank.h @@ -0,0 +1,21 @@ +/* Copyright (C) 2017 - 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: ABHINAV Dronamraju + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in + */ + +#ifndef __INT_HANK_H__ +#define __INT_HANK_H__ + +#define d0d0d2hankd2( in1, in2, in3, size1, out) dhanka(in1, in2, in3, size1[0], size1[1], out) + +#define s0s0s2hanks2( in1, in2, in3, size1, out) shanka(in1, in2, in3, size1[0], size1[1], out) + +#endif /* !INT_HANK_! */ + |