From 4993d4e9ca9e47ebab20896cdcb0ee901c71fd5d Mon Sep 17 00:00:00 2001 From: Abhinav Dronamraju Date: Sat, 29 Jul 2017 02:28:04 +0530 Subject: nansum added --- 2.3-1/includes/sci2clib.h | 3 ++ .../ToolInitialization/INIT_FillSCI2LibCDirs.sci | 5 +++ 2.3-1/macros/findDeps/getAllHeaders.sci | 1 + 2.3-1/macros/findDeps/getAllInterfaces.sci | 1 + 2.3-1/macros/findDeps/getAllSources.sci | 11 +++++- 2.3-1/src/c/elementaryFunctions/includes/nansum.h | 42 ++++++++++++++++++++++ .../c/elementaryFunctions/interfaces/int_nansum.h | 36 +++++++++++++++++++ 2.3-1/src/c/elementaryFunctions/nansum/dnansuma.c | 37 +++++++++++++++++++ .../src/c/elementaryFunctions/nansum/dnansumcola.c | 35 ++++++++++++++++++ .../src/c/elementaryFunctions/nansum/dnansumrowa.c | 36 +++++++++++++++++++ 2.3-1/src/c/elementaryFunctions/nansum/snansuma.c | 37 +++++++++++++++++++ .../src/c/elementaryFunctions/nansum/snansumcola.c | 35 ++++++++++++++++++ .../src/c/elementaryFunctions/nansum/snansumrowa.c | 36 +++++++++++++++++++ 2.3-1/src/c/elementaryFunctions/nansum/znansuma.c | 37 +++++++++++++++++++ .../src/c/elementaryFunctions/nansum/znansumcola.c | 36 +++++++++++++++++++ .../src/c/elementaryFunctions/nansum/znansumrowa.c | 37 +++++++++++++++++++ 16 files changed, 424 insertions(+), 1 deletion(-) create mode 100644 2.3-1/src/c/elementaryFunctions/includes/nansum.h create mode 100644 2.3-1/src/c/elementaryFunctions/interfaces/int_nansum.h create mode 100644 2.3-1/src/c/elementaryFunctions/nansum/dnansuma.c create mode 100644 2.3-1/src/c/elementaryFunctions/nansum/dnansumcola.c create mode 100644 2.3-1/src/c/elementaryFunctions/nansum/dnansumrowa.c create mode 100644 2.3-1/src/c/elementaryFunctions/nansum/snansuma.c create mode 100644 2.3-1/src/c/elementaryFunctions/nansum/snansumcola.c create mode 100644 2.3-1/src/c/elementaryFunctions/nansum/snansumrowa.c create mode 100644 2.3-1/src/c/elementaryFunctions/nansum/znansuma.c create mode 100644 2.3-1/src/c/elementaryFunctions/nansum/znansumcola.c create mode 100644 2.3-1/src/c/elementaryFunctions/nansum/znansumrowa.c (limited to '2.3-1') diff --git a/2.3-1/includes/sci2clib.h b/2.3-1/includes/sci2clib.h index 360c5a66..0a5b3deb 100644 --- a/2.3-1/includes/sci2clib.h +++ b/2.3-1/includes/sci2clib.h @@ -197,6 +197,9 @@ extern "C" { /*interfacing nanmin*/ #include "nanmin.h" #include "int_nanmin.h" +/*interfacing nanmin*/ +#include "nansum.h" +#include "int_nansum.h" /*interfacing issquare*/ #include "issquare.h" #include "int_issquare.h" diff --git a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci index 0a738960..ea9176f9 100644 --- a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci +++ b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci @@ -2120,6 +2120,11 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file', INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); +FunctionName = 'nansum'; // 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 = 'nanmedian'; // BJ : Done AS : Float_Done PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); diff --git a/2.3-1/macros/findDeps/getAllHeaders.sci b/2.3-1/macros/findDeps/getAllHeaders.sci index 22daaade..e351b049 100644 --- a/2.3-1/macros/findDeps/getAllHeaders.sci +++ b/2.3-1/macros/findDeps/getAllHeaders.sci @@ -136,6 +136,7 @@ function allHeaders = getAllHeaders(SharedInfo) "src/c/elementaryFunctions/includes/nanmax.h" "src/c/elementaryFunctions/includes/nanmean.h" "src/c/elementaryFunctions/includes/nanmin.h" + "src/c/elementaryFunctions/includes/nansum.h" "src/c/elementaryFunctions/includes/issquare.h" "src/c/elementaryFunctions/includes/isscalar.h" "src/c/elementaryFunctions/includes/isvector.h" diff --git a/2.3-1/macros/findDeps/getAllInterfaces.sci b/2.3-1/macros/findDeps/getAllInterfaces.sci index fe181bc9..1191062d 100644 --- a/2.3-1/macros/findDeps/getAllInterfaces.sci +++ b/2.3-1/macros/findDeps/getAllInterfaces.sci @@ -107,6 +107,7 @@ function allInterfaces = getAllInterfaces(SharedInfo) "src/c/elementaryFunctions/interfaces/int_nanmax.h" "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_issquare.h" "src/c/elementaryFunctions/interfaces/int_isscalar.h" "src/c/elementaryFunctions/interfaces/int_isvector.h" diff --git a/2.3-1/macros/findDeps/getAllSources.sci b/2.3-1/macros/findDeps/getAllSources.sci index a71031c7..642f9649 100644 --- a/2.3-1/macros/findDeps/getAllSources.sci +++ b/2.3-1/macros/findDeps/getAllSources.sci @@ -823,7 +823,7 @@ function allSources = getAllSources(SharedInfo,BuildTool) "src/c/elementaryFunctions/nanmax/snanmaxcola.c" "src/c/elementaryFunctions/nanmax/snanmaxrowa.c" "src/c/elementaryFunctions/nanmax/snanmaxcol1a.c" - "src/c/elementaryFunctions/nanmax/snanmaxrow1a.c"" + "src/c/elementaryFunctions/nanmax/snanmaxrow1a.c" "src/c/elementaryFunctions/nanmean/dnanmeana.c" "src/c/elementaryFunctions/nanmean/dnanmeanrowa.c" "src/c/elementaryFunctions/nanmean/dnanmeancola.c" @@ -903,6 +903,15 @@ function allSources = getAllSources(SharedInfo,BuildTool) "src/c/elementaryFunctions/atand/datands.c" "src/c/elementaryFunctions/atand/satanda.c" "src/c/elementaryFunctions/atand/satands.c" + "src/c/elementaryFunctions/nansum/dnansuma.c" + "src/c/elementaryFunctions/nansum/dnansumrowa.c" + "src/c/elementaryFunctions/nansum/dnansumcola.c" + "src/c/elementaryFunctions/nansum/snansuma.c" + "src/c/elementaryFunctions/nansum/snansumrowa.c" + "src/c/elementaryFunctions/nansum/snansumcola.c" + "src/c/elementaryFunctions/nansum/znansuma.c" + "src/c/elementaryFunctions/nansum/znansumcola.c" + "src/c/elementaryFunctions/nansum/znansumrowa.c" "src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcda.c" "src/c/elementaryFunctions/discrete_mathematics/lcm/u8lcma.c" "src/c/elementaryFunctions/isequal/disequals.c" diff --git a/2.3-1/src/c/elementaryFunctions/includes/nansum.h b/2.3-1/src/c/elementaryFunctions/includes/nansum.h new file mode 100644 index 00000000..5a366631 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/includes/nansum.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 __NANSUM_H__ +#define __NANSUM_H__ + +#include "types.h" +#include "doubleComplex.h" +#include "uint16.h" + +#ifdef __cplusplus +extern "C" { +#endif + +double dnansuma(double* , int ); +void dnansumrowa(double*, int, int, double*); +void dnansumcola(double*, int, int, double*); + +float snansuma(float* , int ); +void snansumrowa(float*, int, int, float*); +void snansumcola(float*, int, int, float*); + +doubleComplex znansuma(doubleComplex* , int ); +void znansumrowa(doubleComplex*, int, int, doubleComplex*); +void znansumcola(doubleComplex*, int, int, doubleComplex*); + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__MATRIX_H__*/ diff --git a/2.3-1/src/c/elementaryFunctions/interfaces/int_nansum.h b/2.3-1/src/c/elementaryFunctions/interfaces/int_nansum.h new file mode 100644 index 00000000..149d69b8 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/interfaces/int_nansum.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_NANSUM_H__ +#define __INT_NANSUM_H__ + + +#ifdef __cplusplus +extern "C" { +#endif + +#define d2nansumd0(in1, size) dnansuma(in1, size[0]* size[1]) +#define d2g2nansumd2(in1, size1, in2, size2, out) (in2[0]== 'r') ? dnansumrowa(in1, size1[0], size1[1], out) :dnansumcola(in1, size1[0], size1[1], out) + +#define s2nansums0(in1, size) snansuma(in1, size[0]* size[1]) +#define s2g2nansums2(in1, size1, in2, size2, out) (in2[0]== 'r') ? snansumrowa(in1, size1[0], size1[1], out) :snansumcola(in1, size1[0], size1[1], out) + +#define z2nansumz0(in1, size) znansuma(in1, size[0]* size[1]) +#define z2g2nansumz2(in1, size1, in2, size2, out) (in2[0]== 'r') ? znansumrowa(in1, size1[0], size1[1], out) :znansumcola(in1, size1[0], size1[1], out) + + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__INT_MATRIX_H__*/ diff --git a/2.3-1/src/c/elementaryFunctions/nansum/dnansuma.c b/2.3-1/src/c/elementaryFunctions/nansum/dnansuma.c new file mode 100644 index 00000000..adc4a02b --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/nansum/dnansuma.c @@ -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 +*/ + + +#include "nansum.h" +#include "types.h" +#include "uint16.h" +#include "addition.h" + +double dnansuma(double *in, int size) +{ + double fin=0; + + + for (int i = 0; i < size; ++i) + + { + if(!(isnan(in[i]))) + { + fin= dadds(fin, in[i]); + + } + + + } + + return fin; +} diff --git a/2.3-1/src/c/elementaryFunctions/nansum/dnansumcola.c b/2.3-1/src/c/elementaryFunctions/nansum/dnansumcola.c new file mode 100644 index 00000000..eb406387 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/nansum/dnansumcola.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 "nansum.h" +#include "types.h" +#include "uint16.h" + +void dnansumcola(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]= dnansuma( inter, col); + + } + + +} diff --git a/2.3-1/src/c/elementaryFunctions/nansum/dnansumrowa.c b/2.3-1/src/c/elementaryFunctions/nansum/dnansumrowa.c new file mode 100644 index 00000000..e8a7cfb3 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/nansum/dnansumrowa.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 "nansum.h" +#include "types.h" +#include "uint16.h" + +void dnansumrowa(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]= dnansuma( inter, row); + + } + + +} diff --git a/2.3-1/src/c/elementaryFunctions/nansum/snansuma.c b/2.3-1/src/c/elementaryFunctions/nansum/snansuma.c new file mode 100644 index 00000000..8c1cebbb --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/nansum/snansuma.c @@ -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 +*/ + + +#include "nansum.h" +#include "types.h" +#include "uint16.h" +#include "addition.h" + +float snansuma(float *in, int size) +{ + float fin=0; + + + for (int i = 0; i < size; ++i) + + { + if(!(isnan(in[i]))) + { + fin= sadds(fin, in[i]); + + } + + + } + + return fin; +} diff --git a/2.3-1/src/c/elementaryFunctions/nansum/snansumcola.c b/2.3-1/src/c/elementaryFunctions/nansum/snansumcola.c new file mode 100644 index 00000000..d83e6f0d --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/nansum/snansumcola.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 "nansum.h" +#include "types.h" +#include "uint16.h" + +void snansumcola(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]= snansuma( inter, col); + + } + + +} diff --git a/2.3-1/src/c/elementaryFunctions/nansum/snansumrowa.c b/2.3-1/src/c/elementaryFunctions/nansum/snansumrowa.c new file mode 100644 index 00000000..5442694d --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/nansum/snansumrowa.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 "nansum.h" +#include "types.h" +#include "uint16.h" + +void snansumrowa(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]= snansuma( inter, row); + + } + + +} diff --git a/2.3-1/src/c/elementaryFunctions/nansum/znansuma.c b/2.3-1/src/c/elementaryFunctions/nansum/znansuma.c new file mode 100644 index 00000000..cb839f02 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/nansum/znansuma.c @@ -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 +*/ + + +#include "nansum.h" +#include "types.h" +#include "doubleComplex.h" +#include "addition.h" + +doubleComplex znansuma(doubleComplex *in, int size) +{ + doubleComplex fin=0; + + + for (int i = 0; i < size; ++i) + + { + if(!(isnan(zreals(in[i]))) && !(isnan(zimags(in[i])))) + { + fin= zadds(fin, in[i]); + + } + + + } + + return fin; +} diff --git a/2.3-1/src/c/elementaryFunctions/nansum/znansumcola.c b/2.3-1/src/c/elementaryFunctions/nansum/znansumcola.c new file mode 100644 index 00000000..2543c49e --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/nansum/znansumcola.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 "nansum.h" +#include "types.h" +#include "uint16.h" +#include "doubleComplex.h" + +void znansumcola(doubleComplex *in, int row, int col, doubleComplex * out) +{ + doubleComplex inter[col]; + + +for(int i=0; i< row; i++) + { + for(int j=0 ; j< col; j++) + { + inter[j]= in[i+ (j*row)]; + + } + out[i]= znansuma( inter, col); + + } + + +} diff --git a/2.3-1/src/c/elementaryFunctions/nansum/znansumrowa.c b/2.3-1/src/c/elementaryFunctions/nansum/znansumrowa.c new file mode 100644 index 00000000..39535c9f --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/nansum/znansumrowa.c @@ -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 +*/ + + +#include "nansum.h" +#include "types.h" +#include "uint16.h" +#include "doubleComplex.h" + +void znansumrowa(doubleComplex *in, int row, int col, doubleComplex* out) +{ + doubleComplex inter[row]; + + + +for(int i=0; i< col; i++) + { + for(int j=0 ; j< row; j++) + { + inter[j]= in[j+ (i*row)]; + + } + out[i]= znansuma( inter, row); + + } + + +} -- cgit