From 4c92529e0c6b84d90356e4a0511bc4c939d24ee1 Mon Sep 17 00:00:00 2001 From: Abhinav Dronamraju Date: Thu, 3 Aug 2017 21:55:47 +0530 Subject: Hank ADDED --- 2.3-1/demos/Abhinav_Demos/test_hank.sci | 21 ++++ 2.3-1/includes/sci2clib.h | 3 + 2.3-1/jar/scilab_en_US_help.jar | Bin 18123 -> 11210 bytes .../ToolInitialization/INIT_FillSCI2LibCDirs.sci | 26 +++++ 2.3-1/macros/findDeps/getAllHeaders.sci | 1 + 2.3-1/macros/findDeps/getAllInterfaces.sci | 1 + 2.3-1/macros/findDeps/getAllSources.sci | 4 + 2.3-1/src/c/signalProcessing/hank/dhanka.c | 110 +++++++++++++++++++++ 2.3-1/src/c/signalProcessing/hank/shanka.c | 110 +++++++++++++++++++++ 2.3-1/src/c/signalProcessing/includes/hank.h | 33 +++++++ 2.3-1/src/c/signalProcessing/interfaces/int_hank.h | 21 ++++ 11 files changed, 330 insertions(+) create mode 100644 2.3-1/demos/Abhinav_Demos/test_hank.sci create mode 100644 2.3-1/src/c/signalProcessing/hank/dhanka.c create mode 100644 2.3-1/src/c/signalProcessing/hank/shanka.c create mode 100644 2.3-1/src/c/signalProcessing/includes/hank.h create mode 100644 2.3-1/src/c/signalProcessing/interfaces/int_hank.h diff --git a/2.3-1/demos/Abhinav_Demos/test_hank.sci b/2.3-1/demos/Abhinav_Demos/test_hank.sci new file mode 100644 index 00000000..b55cbc81 --- /dev/null +++ b/2.3-1/demos/Abhinav_Demos/test_hank.sci @@ -0,0 +1,21 @@ +// Test file for "Column" function for the data types double, float, double complex, string , uint16. +// All the below statements are added to initialize variables in different data types +//The function written doesn't work for string or character scalar as of now. + + +function test_hank() + seq= [1 21 123 12;11 4 5 6] + final= hank(2,1,seq); + //disp(seq) + disp('') + disp(final) + disp('') + seq1= float([21 1231 1 12; 1231 12 21 2]) + a=float(2) + b=float(1) + final1 = hank(a,b, seq1) + disp('') + disp(final1) + disp('') + +endfunction diff --git a/2.3-1/includes/sci2clib.h b/2.3-1/includes/sci2clib.h index 4b038ad4..4a986c66 100644 --- a/2.3-1/includes/sci2clib.h +++ b/2.3-1/includes/sci2clib.h @@ -543,6 +543,9 @@ extern "C" { /* interfacing dct */ #include "dct.h" #include "int_dct.h" +/* interfacing hank */ +#include "hank.h" +#include "int_hank.h" /* interfacing convol */ #include "conv.h" diff --git a/2.3-1/jar/scilab_en_US_help.jar b/2.3-1/jar/scilab_en_US_help.jar index 0217990c..c78f0c25 100644 Binary files a/2.3-1/jar/scilab_en_US_help.jar and b/2.3-1/jar/scilab_en_US_help.jar differ diff --git a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci index 5539ddae..4e7dd67f 100644 --- a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci +++ b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci @@ -7761,6 +7761,32 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file', INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + +//------------------------------------ +//---- Class HANK -------------------- +//------------------------------------ +ClassName = 'HANK'; + +// --- Class Annotation. --- +PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); +ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls); + +//Arguements specified: initial value, start time, time vector, ode function +PrintStringInfo('NIN= 3',ClassFileName,'file','y'); +PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(1)= FA_MUL(IN(1).VAL,IN(3).SZ(1))',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(2)= FA_MUL(IN(2).VAL,IN(3).SZ(1))',ClassFileName,'file','y'); + +ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); +PrintStringInfo('d0d0d2'+ArgSeparator+'d2',ClassFileName,'file','y'); +PrintStringInfo('s0s0s2'+ArgSeparator+'s2',ClassFileName,'file','y'); + +// --- Annotation Function And Function List Function. --- +FunctionName = 'hank'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); //------------------------------------ //---- Class FLIPDIM ----------------- //------------------------------------ diff --git a/2.3-1/macros/findDeps/getAllHeaders.sci b/2.3-1/macros/findDeps/getAllHeaders.sci index 83a86b7e..c3376e32 100644 --- a/2.3-1/macros/findDeps/getAllHeaders.sci +++ b/2.3-1/macros/findDeps/getAllHeaders.sci @@ -170,6 +170,7 @@ function allHeaders = getAllHeaders(SharedInfo) "src/c/string/includes/disp.h" "src/c/string/includes/str.h" "src/c/signalProcessing/includes/modk.h" + "src/c/signalProcessing/includes/hank.h" "src/c/signalProcessing/includes/idct.h" "src/c/signalProcessing/includes/dct.h" "src/c/signalProcessing/fft/fft_internal.h" diff --git a/2.3-1/macros/findDeps/getAllInterfaces.sci b/2.3-1/macros/findDeps/getAllInterfaces.sci index d0bc1ca1..d16aadbf 100644 --- a/2.3-1/macros/findDeps/getAllInterfaces.sci +++ b/2.3-1/macros/findDeps/getAllInterfaces.sci @@ -172,6 +172,7 @@ function allInterfaces = getAllInterfaces(SharedInfo) "src/c/string/interfaces/int_disp.h" "src/c/string/interfaces/int_string.h" "src/c/signalProcessing/interfaces/int_modk.h" + "src/c/signalProcessing/interfaces/int_hank.h" "src/c/signalProcessing/interfaces/int_idct.h" "src/c/signalProcessing/interfaces/int_dct.h" "src/c/signalProcessing/interfaces/int_ifft.h" diff --git a/2.3-1/macros/findDeps/getAllSources.sci b/2.3-1/macros/findDeps/getAllSources.sci index 5cdcd94b..dc27e0a9 100644 --- a/2.3-1/macros/findDeps/getAllSources.sci +++ b/2.3-1/macros/findDeps/getAllSources.sci @@ -1221,6 +1221,10 @@ function allSources = getAllSources(SharedInfo,BuildTool) "src/c/signalProcessing/conv/sconva.c" "src/c/signalProcessing/conv/zconva.c" "src/c/signalProcessing/conv/cconva.c" + "src/c/signalProcessing/hank/dhanka.c" + "src/c/signalProcessing/hank/shanka.c" + //"src/c/signalProcessing/conv/zconva.c" + //"src/c/signalProcessing/conv/cconva.c" "src/c/signalProcessing/ifft/difftbi.c" "src/c/signalProcessing/ifft/difftma.c" "src/c/signalProcessing/ifft/difftmx.c" 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