From cdd9b1eb4471ee2d4bf14b020ae97803ffc29702 Mon Sep 17 00:00:00 2001 From: Abhinav Dronamraju Date: Thu, 3 Aug 2017 21:55:47 +0530 Subject: Hank ADDED --- src/c/signalProcessing/hank/shanka.c | 110 +++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 src/c/signalProcessing/hank/shanka.c (limited to 'src/c/signalProcessing/hank/shanka.c') diff --git a/src/c/signalProcessing/hank/shanka.c b/src/c/signalProcessing/hank/shanka.c new file mode 100644 index 00000000..1c8f0181 --- /dev/null +++ b/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