From ac4326bd2f66e0978e200e4685f14669b8feda82 Mon Sep 17 00:00:00 2001 From: Abhinav Dronamraju Date: Tue, 1 Aug 2017 20:22:53 +0530 Subject: Nanstdev, stdev, nancumsum added --- demos/Abhinav_Demos/nan_cumsum.sci | 35 ++++++++++++++ demos/Abhinav_Demos/nan_stdev.sci | 31 +++++++++++++ demos/Abhinav_Demos/std_dev.sci | 20 ++++++++ includes/sci2clib.h | 11 ++++- jar/scilab_en_US_help.jar | Bin 23856 -> 11210 bytes .../ToolInitialization/INIT_FillSCI2LibCDirs.sci | 48 +++++++++++++++++++ macros/findDeps/getAllHeaders.sci | 5 +- macros/findDeps/getAllInterfaces.sci | 3 ++ macros/findDeps/getAllSources.sci | 21 +++++++++ src/c/elementaryFunctions/includes/nancumsum.h | 42 +++++++++++++++++ .../elementaryFunctions/interfaces/int_nancumsum.h | 36 +++++++++++++++ src/c/elementaryFunctions/nancumsum/dnancumsuma.c | 38 +++++++++++++++ .../elementaryFunctions/nancumsum/dnancumsumcola.c | 43 +++++++++++++++++ .../elementaryFunctions/nancumsum/dnancumsumrowa.c | 45 ++++++++++++++++++ src/c/elementaryFunctions/nancumsum/snancumsuma.c | 38 +++++++++++++++ .../elementaryFunctions/nancumsum/snancumsumcola.c | 43 +++++++++++++++++ .../elementaryFunctions/nancumsum/snancumsumrowa.c | 44 ++++++++++++++++++ src/c/elementaryFunctions/nancumsum/znancumsuma.c | 39 ++++++++++++++++ .../elementaryFunctions/nancumsum/znancumsumcola.c | 44 ++++++++++++++++++ .../elementaryFunctions/nancumsum/znancumsumrowa.c | 45 ++++++++++++++++++ src/c/statisticsFunctions/includes/nanstdev.h | 40 ++++++++++++++++ src/c/statisticsFunctions/includes/stdev.h | 37 +++++++++++++++ src/c/statisticsFunctions/interfaces/int_median.h | 20 +------- .../statisticsFunctions/interfaces/int_nanstdev.h | 23 ++++++++++ src/c/statisticsFunctions/interfaces/int_stdev.h | 32 +++++++++++++ src/c/statisticsFunctions/nanstdev/dnanstdeva.c | 51 +++++++++++++++++++++ src/c/statisticsFunctions/nanstdev/dnanstdevcola.c | 35 ++++++++++++++ src/c/statisticsFunctions/nanstdev/dnanstdevrowa.c | 36 +++++++++++++++ src/c/statisticsFunctions/nanstdev/snanstdeva.c | 51 +++++++++++++++++++++ src/c/statisticsFunctions/nanstdev/snanstdevcola.c | 35 ++++++++++++++ src/c/statisticsFunctions/nanstdev/snanstdevrowa.c | 36 +++++++++++++++ src/c/statisticsFunctions/stdev/dstdeva.c | 29 ++++++++++++ src/c/statisticsFunctions/stdev/dstdevcola.c | 35 ++++++++++++++ src/c/statisticsFunctions/stdev/dstdevrowa.c | 36 +++++++++++++++ src/c/statisticsFunctions/stdev/sstdeva.c | 29 ++++++++++++ src/c/statisticsFunctions/stdev/sstdevcola.c | 35 ++++++++++++++ src/c/statisticsFunctions/stdev/sstdevrowa.c | 36 +++++++++++++++ 37 files changed, 1206 insertions(+), 21 deletions(-) create mode 100644 demos/Abhinav_Demos/nan_cumsum.sci create mode 100644 demos/Abhinav_Demos/nan_stdev.sci create mode 100644 demos/Abhinav_Demos/std_dev.sci create mode 100644 src/c/elementaryFunctions/includes/nancumsum.h create mode 100644 src/c/elementaryFunctions/interfaces/int_nancumsum.h create mode 100644 src/c/elementaryFunctions/nancumsum/dnancumsuma.c create mode 100644 src/c/elementaryFunctions/nancumsum/dnancumsumcola.c create mode 100644 src/c/elementaryFunctions/nancumsum/dnancumsumrowa.c create mode 100644 src/c/elementaryFunctions/nancumsum/snancumsuma.c create mode 100644 src/c/elementaryFunctions/nancumsum/snancumsumcola.c create mode 100644 src/c/elementaryFunctions/nancumsum/snancumsumrowa.c create mode 100644 src/c/elementaryFunctions/nancumsum/znancumsuma.c create mode 100644 src/c/elementaryFunctions/nancumsum/znancumsumcola.c create mode 100644 src/c/elementaryFunctions/nancumsum/znancumsumrowa.c create mode 100644 src/c/statisticsFunctions/includes/nanstdev.h create mode 100644 src/c/statisticsFunctions/includes/stdev.h create mode 100644 src/c/statisticsFunctions/interfaces/int_nanstdev.h create mode 100644 src/c/statisticsFunctions/interfaces/int_stdev.h create mode 100644 src/c/statisticsFunctions/nanstdev/dnanstdeva.c create mode 100644 src/c/statisticsFunctions/nanstdev/dnanstdevcola.c create mode 100644 src/c/statisticsFunctions/nanstdev/dnanstdevrowa.c create mode 100644 src/c/statisticsFunctions/nanstdev/snanstdeva.c create mode 100644 src/c/statisticsFunctions/nanstdev/snanstdevcola.c create mode 100644 src/c/statisticsFunctions/nanstdev/snanstdevrowa.c create mode 100644 src/c/statisticsFunctions/stdev/dstdeva.c create mode 100644 src/c/statisticsFunctions/stdev/dstdevcola.c create mode 100644 src/c/statisticsFunctions/stdev/dstdevrowa.c create mode 100644 src/c/statisticsFunctions/stdev/sstdeva.c create mode 100644 src/c/statisticsFunctions/stdev/sstdevcola.c create mode 100644 src/c/statisticsFunctions/stdev/sstdevrowa.c diff --git a/demos/Abhinav_Demos/nan_cumsum.sci b/demos/Abhinav_Demos/nan_cumsum.sci new file mode 100644 index 0000000..c5943a0 --- /dev/null +++ b/demos/Abhinav_Demos/nan_cumsum.sci @@ -0,0 +1,35 @@ +function nan_cumsum () + x= [1 %nan 1 0.8; 21 1 13 %nan] + disp('Double') + a= nancumsum(x) + disp(a) + disp('') + b= nancumsum(x, 'r') + disp(b) + disp('') + c= nancumsum(x,'c') + disp(c) + disp('') + y= float(x) + disp('Float') + d= nancumsum(y) + disp(d) + disp('') + e= nancumsum(y, 'r') + disp(e) + disp('') + f= nancumsum(y,'c') + disp(f) + disp('') + z= [%nan , 12, 1219, %nan + %i*121; 121 %nan 90 12] + disp('DoubleComplex') + g= nancumsum(z) + disp(g) + disp('') + h= nancumsum(z, 'r') + disp(h) + disp('') + i= nancumsum(z,'c') + disp(i) + disp('') +endfunction diff --git a/demos/Abhinav_Demos/nan_stdev.sci b/demos/Abhinav_Demos/nan_stdev.sci new file mode 100644 index 0000000..0ff5b25 --- /dev/null +++ b/demos/Abhinav_Demos/nan_stdev.sci @@ -0,0 +1,31 @@ +function nan_stdev() + +x=[%nan 0.121 %nan 0.5 0.8; 21.9 %nan 1 0.9812 %nan; 0.12 0.65 1.08 12 0.1621; %nan 12 24 1 12] + +disp('Double') + +disp(nanstdev(x)) +disp('') + +disp(nanstdev(x , 'r')) +disp('') + +disp(nanstdev(x, 'c')) +disp('') + +y= float(x) + +disp('Float') + +disp(nanstdev(y)) +disp('') + +disp(nanstdev(y , 'r')) +disp('') + +disp(nanstdev(y, 'c')) +disp('') + + +endfunction + diff --git a/demos/Abhinav_Demos/std_dev.sci b/demos/Abhinav_Demos/std_dev.sci new file mode 100644 index 0000000..f7dbe41 --- /dev/null +++ b/demos/Abhinav_Demos/std_dev.sci @@ -0,0 +1,20 @@ +// Test file for "Column" function for the data types double, float, double complex, string. +// All the below statements are added to initialize variables in different data types + + +function std_dev() + a=[1,2,3,4; 5,6,7,8; 98,162,6587,0] + disp('Double') + disp(stdev(a)) + disp('') + disp(stdev(a,'r')) + disp('') + disp(stdev(a,'c')) + b=float(a) + disp('Float') + disp(stdev(b)) + disp('') + disp(stdev(b,'r')) + disp('') + disp(stdev(b,'c')) +endfunction diff --git a/includes/sci2clib.h b/includes/sci2clib.h index 5f94371..aa810b4 100644 --- a/includes/sci2clib.h +++ b/includes/sci2clib.h @@ -201,9 +201,12 @@ extern "C" { /*interfacing nanmin*/ #include "nanmin.h" #include "int_nanmin.h" -/*interfacing nanmin*/ +/*interfacing nansum*/ #include "nansum.h" #include "int_nansum.h" +/*interfacing nancumsum*/ +#include "nancumsum.h" +#include "int_nancumsum.h" /*interfacing issquare*/ #include "issquare.h" #include "int_issquare.h" @@ -635,12 +638,18 @@ extern "C" { /* interfacing nanmedian */ #include "nanmedian.h" #include "int_nanmedian.h" +/* interfacing nanstdev */ +#include "nanstdev.h" +#include "int_nanstdev.h" /* interfacing mad */ #include "mad.h" #include "int_mad.h" /* interfacing stdevf */ #include "stdevf.h" #include "int_stdevf.h" +/* interfacing stdev */ +#include "stdev.h" +#include "int_stdev.h" /* interfacing meanf */ #include "meanf.h" #include "int_meanf.h" diff --git a/jar/scilab_en_US_help.jar b/jar/scilab_en_US_help.jar index 3e0f09b..86e1c60 100644 Binary files a/jar/scilab_en_US_help.jar and b/jar/scilab_en_US_help.jar differ diff --git a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci index 2ca622f..71d918c 100644 --- a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci +++ b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci @@ -1137,6 +1137,44 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,Ex +// ------------------- +// --- Class Nancumsum. --- +// ------------------- +ClassName = 'Nancumsum'; + +// --- Class Annotation. --- +PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); +ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls); +PrintStringInfo('NIN= 1',ClassFileName,'file','y'); +PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y'); + +PrintStringInfo('NIN= 2',ClassFileName,'file','y'); +PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y'); + +//---Function list class. ---- +ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); +PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y'); +PrintStringInfo('d2g2'+ArgSeparator+'d2',ClassFileName,'file','y'); +PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y'); +PrintStringInfo('s2g2'+ArgSeparator+'s2',ClassFileName,'file','y'); +PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y'); +PrintStringInfo('z2g2'+ArgSeparator+'z2',ClassFileName,'file','y'); + + +// --- Annotation Function And Function List Function. --- +FunctionName = 'nancumsum'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + + + // ------------------- // --- Class Nanmean. --- // ------------------- @@ -2129,6 +2167,16 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file', INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); +FunctionName = 'stdev'; // BJ : Done AS : Float_Done +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + +FunctionName = 'nanstdev'; // BJ : Done AS : Float_Done +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + // -------------------- diff --git a/macros/findDeps/getAllHeaders.sci b/macros/findDeps/getAllHeaders.sci index 1a45523..5869aba 100644 --- a/macros/findDeps/getAllHeaders.sci +++ b/macros/findDeps/getAllHeaders.sci @@ -137,6 +137,7 @@ function allHeaders = getAllHeaders(SharedInfo) "src/c/elementaryFunctions/includes/nanmean.h" "src/c/elementaryFunctions/includes/nanmin.h" "src/c/elementaryFunctions/includes/nansum.h" + "src/c/elementaryFunctions/includes/nancumsum.h" "src/c/elementaryFunctions/includes/issquare.h" "src/c/elementaryFunctions/includes/isscalar.h" "src/c/elementaryFunctions/includes/isvector.h" @@ -150,9 +151,11 @@ function allHeaders = getAllHeaders(SharedInfo) "src/c/statisticsFunctions/includes/mean.h" "src/c/statisticsFunctions/includes/median.h" "src/c/statisticsFunctions/includes/nanmedian.h" + "src/c/statisticsFunctions/includes/nanstdev.h" "src/c/statisticsFunctions/includes/mad.h" "src/c/statisticsFunctions/includes/meanf.h" - "src/c/statisticsFunctions/includes/stdevf.h" + "src/c/statisticsFunctions/includes/stdevf.h" + "src/c/statisticsFunctions/includes/stdev.h" "src/c/statisticsFunctions/includes/prod.h" "src/c/statisticsFunctions/includes/dynlib_statisticsfunctions.h" "src/c/statisticsFunctions/includes/statMax.h" diff --git a/macros/findDeps/getAllInterfaces.sci b/macros/findDeps/getAllInterfaces.sci index 12f5b3d..b31fb92 100644 --- a/macros/findDeps/getAllInterfaces.sci +++ b/macros/findDeps/getAllInterfaces.sci @@ -108,6 +108,7 @@ function allInterfaces = getAllInterfaces(SharedInfo) "src/c/elementaryFunctions/interfaces/int_nanmean.h" "src/c/elementaryFunctions/interfaces/int_nanmin.h" "src/c/elementaryFunctions/interfaces/int_nansum.h" + "src/c/elementaryFunctions/interfaces/int_nancumsum.h" "src/c/elementaryFunctions/interfaces/int_issquare.h" "src/c/elementaryFunctions/interfaces/int_isscalar.h" "src/c/elementaryFunctions/interfaces/int_isvector.h" @@ -139,9 +140,11 @@ function allInterfaces = getAllInterfaces(SharedInfo) "src/c/statisticsFunctions/interfaces/int_mean.h" "src/c/statisticsFunctions/interfaces/int_median.h" "src/c/statisticsFunctions/interfaces/int_nanmedian.h" + "src/c/statisticsFunctions/interfaces/int_nanstdev.h" "src/c/statisticsFunctions/interfaces/int_mad.h" "src/c/statisticsFunctions/interfaces/int_meanf.h" "src/c/statisticsFunctions/interfaces/int_stdevf.h" + "src/c/statisticsFunctions/interfaces/int_stdev.h" "src/c/statisticsFunctions/interfaces/int_prod.h" "src/c/statisticsFunctions/interfaces/int_variance.h" "src/c/statisticsFunctions/interfaces/int_sum.h" diff --git a/macros/findDeps/getAllSources.sci b/macros/findDeps/getAllSources.sci index 7e0a806..fbc71eb 100644 --- a/macros/findDeps/getAllSources.sci +++ b/macros/findDeps/getAllSources.sci @@ -914,6 +914,15 @@ function allSources = getAllSources(SharedInfo,BuildTool) "src/c/elementaryFunctions/nansum/znansuma.c" "src/c/elementaryFunctions/nansum/znansumcola.c" "src/c/elementaryFunctions/nansum/znansumrowa.c" + "src/c/elementaryFunctions/nancumsum/dnancumsuma.c" + "src/c/elementaryFunctions/nancumsum/dnancumsumrowa.c" + "src/c/elementaryFunctions/nancumsum/dnancumsumcola.c" + "src/c/elementaryFunctions/nancumsum/snancumsuma.c" + "src/c/elementaryFunctions/nancumsum/snancumsumrowa.c" + "src/c/elementaryFunctions/nancumsum/snancumsumcola.c" + "src/c/elementaryFunctions/nancumsum/znancumsuma.c" + "src/c/elementaryFunctions/nancumsum/znancumsumcola.c" + "src/c/elementaryFunctions/nancumsum/znancumsumrowa.c" "src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcda.c" "src/c/elementaryFunctions/discrete_mathematics/lcm/u8lcma.c" "src/c/elementaryFunctions/isequal/disequals.c" @@ -988,6 +997,12 @@ function allSources = getAllSources(SharedInfo,BuildTool) "src/c/statisticsFunctions/median/zmediana.c" "src/c/statisticsFunctions/median/zmediancola.c" "src/c/statisticsFunctions/median/zmedianrowa.c" + "src/c/statisticsFunctions/stdev/dstdeva.c" + "src/c/statisticsFunctions/stdev/dstdevrowa.c" + "src/c/statisticsFunctions/stdev/dstdevcola.c" + "src/c/statisticsFunctions/stdev/sstdeva.c" + "src/c/statisticsFunctions/stdev/sstdevrowa.c" + "src/c/statisticsFunctions/stdev/sstdevcola.c" "src/c/statisticsFunctions/nanmedian/dnanmediana.c" "src/c/statisticsFunctions/nanmedian/dnanmedianrowa.c" "src/c/statisticsFunctions/nanmedian/dnanmediancola.c" @@ -997,6 +1012,12 @@ function allSources = getAllSources(SharedInfo,BuildTool) "src/c/statisticsFunctions/nanmedian/znanmediana.c" "src/c/statisticsFunctions/nanmedian/znanmediancola.c" "src/c/statisticsFunctions/nanmedian/znanmedianrowa.c" + "src/c/statisticsFunctions/nanstdev/dnanstdeva.c" + "src/c/statisticsFunctions/nanstdev/dnanstdevrowa.c" + "src/c/statisticsFunctions/nanstdev/dnanstdevcola.c" + "src/c/statisticsFunctions/nanstdev/snanstdeva.c" + "src/c/statisticsFunctions/nanstdev/snanstdevrowa.c" + "src/c/statisticsFunctions/nanstdev/snanstdevcola.c" "src/c/statisticsFunctions/mad/dmada.c" "src/c/statisticsFunctions/mad/dmadrowa.c" "src/c/statisticsFunctions/mad/dmadcola.c" diff --git a/src/c/elementaryFunctions/includes/nancumsum.h b/src/c/elementaryFunctions/includes/nancumsum.h new file mode 100644 index 0000000..48ccc96 --- /dev/null +++ b/src/c/elementaryFunctions/includes/nancumsum.h @@ -0,0 +1,42 @@ +/* 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 __NANCUMSUM_H__ +#define __NANCUMSUM_H__ + +#include "types.h" +#include "doubleComplex.h" +#include "uint16.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void dnancumsuma(double* , int , double*); +void dnancumsumrowa(double*, int, int, double*); +void dnancumsumcola(double*, int, int, double*); + +void snancumsuma(float* , int, float* ); +void snancumsumrowa(float*, int, int, float*); +void snancumsumcola(float*, int, int, float*); + +void znancumsuma(doubleComplex* , int , doubleComplex*); +void znancumsumrowa(doubleComplex*, int, int, doubleComplex*); +void znancumsumcola(doubleComplex*, int, int, doubleComplex*); + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__NANCUMSUM_H__*/ diff --git a/src/c/elementaryFunctions/interfaces/int_nancumsum.h b/src/c/elementaryFunctions/interfaces/int_nancumsum.h new file mode 100644 index 0000000..c82f6d6 --- /dev/null +++ b/src/c/elementaryFunctions/interfaces/int_nancumsum.h @@ -0,0 +1,36 @@ +/* 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 __INT_NANCUMSUM_H__ +#define __INT_NANCUMSUM_H__ + + +#ifdef __cplusplus +extern "C" { +#endif + +#define d2nancumsumd2(in1, size, out) dnancumsuma(in1, size[0]* size[1], out) +#define d2g2nancumsumd2(in1, size1, in2, size2, out) (in2[0]== 'r') ? dnancumsumrowa(in1, size1[0], size1[1], out) :dnancumsumcola(in1, size1[0], size1[1], out) + +#define s2nancumsums2(in1, size, out) snancumsuma(in1, size[0]* size[1], out) +#define s2g2nancumsums2(in1, size1, in2, size2, out) (in2[0]== 'r') ? snancumsumrowa(in1, size1[0], size1[1], out) :snancumsumcola(in1, size1[0], size1[1], out) + +#define z2nancumsumz2(in1, size, out) znancumsuma(in1, size[0]* size[1],out) +#define z2g2nancumsumz2(in1, size1, in2, size2, out) (in2[0]== 'r') ? znancumsumrowa(in1, size1[0], size1[1], out) :znancumsumcola(in1, size1[0], size1[1], out) + + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__INT_NANCUMSUM_H__*/ diff --git a/src/c/elementaryFunctions/nancumsum/dnancumsuma.c b/src/c/elementaryFunctions/nancumsum/dnancumsuma.c new file mode 100644 index 0000000..135ab4b --- /dev/null +++ b/src/c/elementaryFunctions/nancumsum/dnancumsuma.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: Abhinav Dronamraju + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + + +#include "nancumsum.h" +#include "types.h" +#include "uint16.h" +#include "addition.h" + +void dnancumsuma(double *in, int size, double* out) +{ + double fin=0; + + + + for (int i = 0; i < size; ++i) + + { + if(!(isnan(in[i]))) + { + fin= dadds(fin, in[i]); + + } + out[i]= fin; + + } + + +} diff --git a/src/c/elementaryFunctions/nancumsum/dnancumsumcola.c b/src/c/elementaryFunctions/nancumsum/dnancumsumcola.c new file mode 100644 index 0000000..a49b394 --- /dev/null +++ b/src/c/elementaryFunctions/nancumsum/dnancumsumcola.c @@ -0,0 +1,43 @@ +/* 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 "nancumsum.h" +#include "types.h" +#include "uint16.h" +#include "addition.h" + +void dnancumsumcola(double *in, int row, int col, double* out) +{ + double fin=0; + +for(int i=0; i< row; i++) + { + + for(int j= 0; j< col; j ++) + { + if(!(isnan(in[i+j*row]))) + + { + + fin = dadds(fin, in[i+j*row]); + + + + } + out[i+j*row]= fin; + + } + fin=0; + + } +} diff --git a/src/c/elementaryFunctions/nancumsum/dnancumsumrowa.c b/src/c/elementaryFunctions/nancumsum/dnancumsumrowa.c new file mode 100644 index 0000000..45ce1ca --- /dev/null +++ b/src/c/elementaryFunctions/nancumsum/dnancumsumrowa.c @@ -0,0 +1,45 @@ +/* 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 "nancumsum.h" +#include "types.h" +#include "uint16.h" +#include "addition.h" + +void dnancumsumrowa(double *in, int row, int col, double* out) +{ + + double fin=0; + + +for(int i=0; i< col; i++) + { + + for(int j= 0; j< row; j ++) + { + if(!(isnan(in[j+i*row]))) + + { + + fin = dadds(fin, in[j+i*row]); + + + + } + out[j+i*row]= fin; + + } + fin=0; + + } +} diff --git a/src/c/elementaryFunctions/nancumsum/snancumsuma.c b/src/c/elementaryFunctions/nancumsum/snancumsuma.c new file mode 100644 index 0000000..56d1633 --- /dev/null +++ b/src/c/elementaryFunctions/nancumsum/snancumsuma.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: Abhinav Dronamraju + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + + +#include "nancumsum.h" +#include "types.h" +#include "uint16.h" +#include "addition.h" + +void snancumsuma(float *in, int size, float* out) +{ + float fin=0; + + + + for (int i = 0; i < size; ++i) + + { + if(!(isnan(in[i]))) + { + fin= sadds(fin, in[i]); + + } + out[i]= fin; + + } + + +} diff --git a/src/c/elementaryFunctions/nancumsum/snancumsumcola.c b/src/c/elementaryFunctions/nancumsum/snancumsumcola.c new file mode 100644 index 0000000..3b96ef0 --- /dev/null +++ b/src/c/elementaryFunctions/nancumsum/snancumsumcola.c @@ -0,0 +1,43 @@ +/* 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 "nancumsum.h" +#include "types.h" +#include "uint16.h" +#include "addition.h" + +void snancumsumcola(float *in, int row, int col, float* out) +{ + float fin=0; + +for(int i=0; i< row; i++) + { + + for(int j= 0; j< col; j ++) + { + if(!(isnan(in[i+j*row]))) + + { + + fin = sadds(fin, in[i+j*row]); + + + + } + out[i+j*row]= fin; + + } + fin=0; + + } +} diff --git a/src/c/elementaryFunctions/nancumsum/snancumsumrowa.c b/src/c/elementaryFunctions/nancumsum/snancumsumrowa.c new file mode 100644 index 0000000..7eef386 --- /dev/null +++ b/src/c/elementaryFunctions/nancumsum/snancumsumrowa.c @@ -0,0 +1,44 @@ +/* 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 "nancumsum.h" +#include "types.h" +#include "uint16.h" +#include "addition.h" + +void snancumsumrowa(float *in, int row, int col, float* out) +{ + float fin=0; + + +for(int i=0; i< col; i++) + { + + for(int j= 0; j< row; j ++) + { + if(!(isnan(in[j+i*row]))) + + { + + fin = sadds(fin, in[j+i*row]); + + + + } + out[j+i*row]= fin; + + } + fin=0; + + } +} diff --git a/src/c/elementaryFunctions/nancumsum/znancumsuma.c b/src/c/elementaryFunctions/nancumsum/znancumsuma.c new file mode 100644 index 0000000..fd0a1e3 --- /dev/null +++ b/src/c/elementaryFunctions/nancumsum/znancumsuma.c @@ -0,0 +1,39 @@ +/* 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 "nancumsum.h" +#include "types.h" +#include "uint16.h" +#include "doubleComplex.h" +#include "addition.h" + +void znancumsuma(doubleComplex *in, int size, doubleComplex* out) +{ + doubleComplex fin=0; + + + + for (int i = 0; i < size; ++i) + + { + if(!(isnan(zreals(in[i]))) && !(isnan(zimags(in[i]))) ) + { + fin= zadds(fin, in[i]); + + } + out[i]= fin; + + } + + +} diff --git a/src/c/elementaryFunctions/nancumsum/znancumsumcola.c b/src/c/elementaryFunctions/nancumsum/znancumsumcola.c new file mode 100644 index 0000000..c1ca16b --- /dev/null +++ b/src/c/elementaryFunctions/nancumsum/znancumsumcola.c @@ -0,0 +1,44 @@ +/* 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 "nancumsum.h" +#include "types.h" +#include "uint16.h" +#include "addition.h" +#include "doubleComplex.h" + +void znancumsumcola(doubleComplex* in, int row, int col, doubleComplex* out) +{ + doubleComplex fin= 0; + +for(int i=0; i< row; i++) + { + + for(int j= 0; j< col; j ++) + { + if( !(isnan(zreals(in[i+j*row]))) && !(isnan(zimags(in[i+j*row]))) ) + + { + + fin = zadds(fin, in[i+j*row]); + + + + } + out[i+j*row]= fin; + + } + fin= 0; + + } +} diff --git a/src/c/elementaryFunctions/nancumsum/znancumsumrowa.c b/src/c/elementaryFunctions/nancumsum/znancumsumrowa.c new file mode 100644 index 0000000..be04a4a --- /dev/null +++ b/src/c/elementaryFunctions/nancumsum/znancumsumrowa.c @@ -0,0 +1,45 @@ +/* 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 "nancumsum.h" +#include "types.h" +#include "doubleComplex.h" +#include "uint16.h" +#include "addition.h" + +void znancumsumrowa(doubleComplex *in, int row, int col, doubleComplex* out) +{ + doubleComplex fin=0; + + +for(int i=0; i< col; i++) + { + + for(int j= 0; j< row; j ++) + { + if(!(isnan(zreals(in[j+i*row]))) && !(isnan(zimags(in[j+i*row]))) ) + + { + + fin = zadds(fin, in[j+i*row]); + + + + } + out[j+i*row]= fin; + + } + fin=0; + + } +} diff --git a/src/c/statisticsFunctions/includes/nanstdev.h b/src/c/statisticsFunctions/includes/nanstdev.h new file mode 100644 index 0000000..5c14093 --- /dev/null +++ b/src/c/statisticsFunctions/includes/nanstdev.h @@ -0,0 +1,40 @@ +/* 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 __NANSTDEV_H__ +#define __NANSTDEV_H__ + + +#include "types.h" +#include "doubleComplex.h" +#include "floatComplex.h" +#include "int16.h" + +#ifdef __cplusplus +extern "C" { +#endif + +double dnanstdeva (double* , int); +void dnanstdevrowa (double*, int , int, double*); +void dnanstdevcola (double*, int , int, double*); + +float snanstdeva (float* , int); +void snanstdevrowa (float*, int , int, float*); +void snanstdevcola (float*, int , int, float*); + + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif diff --git a/src/c/statisticsFunctions/includes/stdev.h b/src/c/statisticsFunctions/includes/stdev.h new file mode 100644 index 0000000..16b4697 --- /dev/null +++ b/src/c/statisticsFunctions/includes/stdev.h @@ -0,0 +1,37 @@ +/* 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 __STDEV_H__ +#define __STDEV_H__ + +#include "types.h" +#include "doubleComplex.h" +#include "uint16.h" + +#ifdef __cplusplus +extern "C" { +#endif + +double dstdeva(double* , int ); +void dstdevrowa(double*, int, int, double*); +void dstdevcola(double*, int, int, double*); + +float sstdeva(float* , int ); +void sstdevrowa(float*, int, int, float*); +void sstdevcola(float*, int, int, float*); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__STDEV_H__*/ diff --git a/src/c/statisticsFunctions/interfaces/int_median.h b/src/c/statisticsFunctions/interfaces/int_median.h index 2a21987..e9f3578 100644 --- a/src/c/statisticsFunctions/interfaces/int_median.h +++ b/src/c/statisticsFunctions/interfaces/int_median.h @@ -31,27 +31,9 @@ extern "C" { #define z2g2medianz2(in1, size1, in2, size2, out) (in2[0]== 'r') ? zmedianrowa(in1, size1[0], size1[1], out) :zmediancola(in1, size1[0], size1[1], out) -#define s2d0d0matrixs2(in1, size, in2, in3, out ) smatrixa(in1, size[0], size[1], in2, in3, out) -#define s2s0s0matrixs2(in1, size, in2, in3, out ) smatrixa(in1, size[0], size[1], in2, in3, out) -//#define s2u160u160matrixs2(in1, size, in2, in3, out ) smatrixa(in1, size[0], size[1], in2, in3, out) -//#define s2u80u80matrixs2(in1, size, in2, in3, out ) smatrixa(in1, size[0], size[1], in2, in3, out) - -#define u162d0d0matrixu162(in1, size, in2, in3, out ) u16matrixa(in1, size[0], size[1], in2, in3, out) -#define u162s0s0matrixu162(in1, size, in2, in3, out ) u16matrixa(in1, size[0], size[1], in2, in3, out) -//#define s2u160u160matrixs2(in1, size, in2, in3, out ) smatrixa(in1, size[0], size[1], in2, in3, out) -//#define s2u80u80matrixs2(in1, size, in2, in3, out ) smatrixa(in1, size[0], size[1], in2, in3, out) - -#define z2d0d0matrixz2(in1, size, in2, in3, out ) zmatrixa(in1, size[0], size[1], in2, in3, out) -#define z2s0s0matrixz2(in1, size, in2, in3, out ) zmatrixa(in1, size[0], size[1], in2, in3, out) -//#define s2u160u160matrixs2(in1, size, in2, in3, out ) smatrixa(in1, size[0], size[1], in2, in3, out) -//#define s2u80u80matrixs2(in1, size, in2, in3, out ) smatrixa(in1, size[0], size[1], in2, in3, out) - - - - #ifdef __cplusplus } /* extern "C" */ #endif -#endif /*__INT_MATRIX_H__*/ +#endif /*__INT_MEDIAN_H__*/ diff --git a/src/c/statisticsFunctions/interfaces/int_nanstdev.h b/src/c/statisticsFunctions/interfaces/int_nanstdev.h new file mode 100644 index 0000000..1d652ee --- /dev/null +++ b/src/c/statisticsFunctions/interfaces/int_nanstdev.h @@ -0,0 +1,23 @@ + /*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_NANSTDEV_H__ +#define __INT_NANSTDEV_H__ + +#define d2nanstdevd0(in1, size) dnanstdeva(in1,size[0]* size[1]) +#define d2g2nanstdevd2(in1, size1, in2, size2, out) (in2[0]=='r') ? dnanstdevrowa(in1, size1[0], size1[1], out) : dnanstdevcola(in1, size1[0] , size1[1], out) + +#define s2nanstdevs0(in1, size) snanstdeva(in1,size[0]* size[1]) +#define s2g2nanstdevs2(in1, size1, in2, size2, out) (in2[0]=='r') ? snanstdevrowa(in1, size1[0], size1[1], out) : snanstdevcola(in1, size1[0] , size1[1], out) + + +#endif diff --git a/src/c/statisticsFunctions/interfaces/int_stdev.h b/src/c/statisticsFunctions/interfaces/int_stdev.h new file mode 100644 index 0000000..1e0b6a3 --- /dev/null +++ b/src/c/statisticsFunctions/interfaces/int_stdev.h @@ -0,0 +1,32 @@ +/* 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 __INT_STDEV_H__ +#define __INT_STDEV_H__ + + +#ifdef __cplusplus +extern "C" { +#endif + +#define d2stdevd0(in1, size) dstdeva(in1, size[0]* size[1]) +#define d2g2stdevd2(in1, size1, in2, size2, out) (in2[0]== 'r') ? dstdevrowa(in1, size1[0], size1[1], out) :dstdevcola(in1, size1[0], size1[1], out) + +#define s2stdevs0(in1, size) sstdeva(in1, size[0]* size[1]) +#define s2g2stdevs2(in1, size1, in2, size2, out) (in2[0]== 'r') ? sstdevrowa(in1, size1[0], size1[1], out) :sstdevcola(in1, size1[0], size1[1], out) + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__INT_STDEV_H__*/ diff --git a/src/c/statisticsFunctions/nanstdev/dnanstdeva.c b/src/c/statisticsFunctions/nanstdev/dnanstdeva.c new file mode 100644 index 0000000..05b5433 --- /dev/null +++ b/src/c/statisticsFunctions/nanstdev/dnanstdeva.c @@ -0,0 +1,51 @@ +/* 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 +#include +#include +#include "nanstdev.h" +#include "stdev.h" +#include "types.h" +double dnanstdeva(double* in, int size) +{ + +double temp[size]; +double out; +int j=0; + +double a= 0.0/0.0; + + + + for(int i=0; i< size; i++) + { + if( !(isnan(in[i])) ) + { + temp[j]= in[i]; + j=j+1; + + + } + + + } + + +out= dstdeva(temp, j); + +if(j=0) +return a; +else +return out; + +} diff --git a/src/c/statisticsFunctions/nanstdev/dnanstdevcola.c b/src/c/statisticsFunctions/nanstdev/dnanstdevcola.c new file mode 100644 index 0000000..a6704b0 --- /dev/null +++ b/src/c/statisticsFunctions/nanstdev/dnanstdevcola.c @@ -0,0 +1,35 @@ +/* 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 "nanstdev.h" +#include "types.h" +#include "uint16.h" + +void dnanstdevcola(double *in, int row, int col, double* out) +{ + double inter[col]; + + +for(int i=0; i< row; i++) + { + for(int j=0 ; j< col; j++) + { + inter[j]= in[i+ (j*row)]; + + } + out[i]= dnanstdeva( inter, col); + + } + + +} diff --git a/src/c/statisticsFunctions/nanstdev/dnanstdevrowa.c b/src/c/statisticsFunctions/nanstdev/dnanstdevrowa.c new file mode 100644 index 0000000..52a1722 --- /dev/null +++ b/src/c/statisticsFunctions/nanstdev/dnanstdevrowa.c @@ -0,0 +1,36 @@ +/* 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 "nanstdev.h" +#include "types.h" +#include "uint16.h" + +void dnanstdevrowa(double *in, int row, int col, double* out) +{ + double inter[row]; + + + +for(int i=0; i< col; i++) + { + for(int j=0 ; j< row; j++) + { + inter[j]= in[j+ (i*row)]; + + } + out[i]= dnanstdeva( inter, row); + + } + + +} diff --git a/src/c/statisticsFunctions/nanstdev/snanstdeva.c b/src/c/statisticsFunctions/nanstdev/snanstdeva.c new file mode 100644 index 0000000..3e6ab15 --- /dev/null +++ b/src/c/statisticsFunctions/nanstdev/snanstdeva.c @@ -0,0 +1,51 @@ +/* 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 +#include +#include +#include "nanstdev.h" +#include "stdev.h" +#include "types.h" +float snanstdeva(float* in, int size) +{ + +float temp[size]; +float out; +int j=0; + +double a= 0.0/0.0; + + + + for(int i=0; i< size; i++) + { + if( !(isnan(in[i])) ) + { + temp[j]= in[i]; + j=j+1; + + + } + + + } + + +out= sstdeva(temp, j); + +if(j=0) +return a; +else +return out; + +} diff --git a/src/c/statisticsFunctions/nanstdev/snanstdevcola.c b/src/c/statisticsFunctions/nanstdev/snanstdevcola.c new file mode 100644 index 0000000..987cb3f --- /dev/null +++ b/src/c/statisticsFunctions/nanstdev/snanstdevcola.c @@ -0,0 +1,35 @@ +/* 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 "nanstdev.h" +#include "types.h" +#include "uint16.h" + +void snanstdevcola(float *in, int row, int col, float* out) +{ + float inter[col]; + + +for(int i=0; i< row; i++) + { + for(int j=0 ; j< col; j++) + { + inter[j]= in[i+ (j*row)]; + + } + out[i]= snanstdeva( inter, col); + + } + + +} diff --git a/src/c/statisticsFunctions/nanstdev/snanstdevrowa.c b/src/c/statisticsFunctions/nanstdev/snanstdevrowa.c new file mode 100644 index 0000000..9c08682 --- /dev/null +++ b/src/c/statisticsFunctions/nanstdev/snanstdevrowa.c @@ -0,0 +1,36 @@ +/* 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 "nanstdev.h" +#include "types.h" +#include "uint16.h" + +void snanstdevrowa(float *in, int row, int col, float* out) +{ + float inter[row]; + + + +for(int i=0; i< col; i++) + { + for(int j=0 ; j< row; j++) + { + inter[j]= in[j+ (i*row)]; + + } + out[i]= snanstdeva( inter, row); + + } + + +} diff --git a/src/c/statisticsFunctions/stdev/dstdeva.c b/src/c/statisticsFunctions/stdev/dstdeva.c new file mode 100644 index 0000000..73a4bec --- /dev/null +++ b/src/c/statisticsFunctions/stdev/dstdeva.c @@ -0,0 +1,29 @@ +/* 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 "stdev.h" +#include +#include "mean.h" +#include "pow.h" +#include "variance.h" +#include "types.h" +#include "uint16.h" + +double dstdeva(double *in, int size) +{ + double variance = dvariancea(in, size); + + return dpows(variance, 0.5); + + +} diff --git a/src/c/statisticsFunctions/stdev/dstdevcola.c b/src/c/statisticsFunctions/stdev/dstdevcola.c new file mode 100644 index 0000000..cdce81a --- /dev/null +++ b/src/c/statisticsFunctions/stdev/dstdevcola.c @@ -0,0 +1,35 @@ +/* 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 "stdev.h" +#include "types.h" +#include "uint16.h" + +void dstdevcola(double *in, int row, int col, double* out) +{ + double inter[col]; + + +for(int i=0; i< row; i++) + { + for(int j=0 ; j< col; j++) + { + inter[j]= in[i+ (j*row)]; + + } + out[i]= dstdeva( inter, col); + + } + + +} diff --git a/src/c/statisticsFunctions/stdev/dstdevrowa.c b/src/c/statisticsFunctions/stdev/dstdevrowa.c new file mode 100644 index 0000000..a4cf40c --- /dev/null +++ b/src/c/statisticsFunctions/stdev/dstdevrowa.c @@ -0,0 +1,36 @@ +/* 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 "stdev.h" +#include "types.h" +#include "uint16.h" + +void dstdevrowa(double *in, int row, int col, double* out) +{ + double inter[row]; + + + +for(int i=0; i< col; i++) + { + for(int j=0 ; j< row; j++) + { + inter[j]= in[j+ (i*row)]; + + } + out[i]= dstdeva( inter, row); + + } + + +} diff --git a/src/c/statisticsFunctions/stdev/sstdeva.c b/src/c/statisticsFunctions/stdev/sstdeva.c new file mode 100644 index 0000000..db76d95 --- /dev/null +++ b/src/c/statisticsFunctions/stdev/sstdeva.c @@ -0,0 +1,29 @@ +/* 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 "stdev.h" +#include +#include "mean.h" +#include "pow.h" +#include "variance.h" +#include "types.h" +#include "uint16.h" + +float sstdeva(float *in, int size) +{ + float variance = svariancea(in, size); + + return spows(variance, 0.5); + + +} diff --git a/src/c/statisticsFunctions/stdev/sstdevcola.c b/src/c/statisticsFunctions/stdev/sstdevcola.c new file mode 100644 index 0000000..c72b4a5 --- /dev/null +++ b/src/c/statisticsFunctions/stdev/sstdevcola.c @@ -0,0 +1,35 @@ +/* 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 "stdev.h" +#include "types.h" +#include "uint16.h" + +void sstdevcola(float *in, int row, int col, float* out) +{ + float inter[col]; + + +for(int i=0; i< row; i++) + { + for(int j=0 ; j< col; j++) + { + inter[j]= in[i+ (j*row)]; + + } + out[i]= sstdeva( inter, col); + + } + + +} diff --git a/src/c/statisticsFunctions/stdev/sstdevrowa.c b/src/c/statisticsFunctions/stdev/sstdevrowa.c new file mode 100644 index 0000000..415d409 --- /dev/null +++ b/src/c/statisticsFunctions/stdev/sstdevrowa.c @@ -0,0 +1,36 @@ +/* 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 "stdev.h" +#include "types.h" +#include "uint16.h" + +void sstdevrowa(float *in, int row, int col, float* out) +{ + float inter[row]; + + + +for(int i=0; i< col; i++) + { + for(int j=0 ; j< row; j++) + { + inter[j]= in[j+ (i*row)]; + + } + out[i]= sstdeva( inter, row); + + } + + +} -- cgit