diff options
author | Brijeshcr | 2017-08-04 18:00:38 +0530 |
---|---|---|
committer | Brijeshcr | 2017-08-04 18:00:38 +0530 |
commit | f42fcd5532d7ed17a8ddf2cd583d545846fd9562 (patch) | |
tree | abc9996b9531f4b56393eb620ef81621327affd5 /src | |
parent | ee498f417540084c08cf335a03cdefcd3fa853e4 (diff) | |
parent | c73be8f2ad1c7c11f67ba31817f9d051bfa29fa1 (diff) | |
download | Scilab2C_fossee_old-f42fcd5532d7ed17a8ddf2cd583d545846fd9562.tar.gz Scilab2C_fossee_old-f42fcd5532d7ed17a8ddf2cd583d545846fd9562.tar.bz2 Scilab2C_fossee_old-f42fcd5532d7ed17a8ddf2cd583d545846fd9562.zip |
Pulled on 4th august
Diffstat (limited to 'src')
28 files changed, 1034 insertions, 19 deletions
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 <stdio.h> +#include <stdlib.h> +#include <math.h> +#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 <stdio.h> +#include <stdlib.h> +#include <math.h> +#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 <math.h> +#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 <math.h> +#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); + + } + + +} |