diff options
Diffstat (limited to 'src/c')
-rw-r--r-- | src/c/elementaryFunctions/includes/nanmin.h | 3 | ||||
-rw-r--r-- | src/c/elementaryFunctions/interfaces/int_nanmin.h | 2 | ||||
-rw-r--r-- | src/c/elementaryFunctions/nanmin/dnanmincola.c | 27 | ||||
-rw-r--r-- | src/c/elementaryFunctions/nanmin/dnanminrowa.c | 11 | ||||
-rw-r--r-- | src/c/specialFunctions/calerf/dcalerfa.c | 29 | ||||
-rw-r--r-- | src/c/specialFunctions/calerf/dcalerfs.c | 29 | ||||
-rw-r--r-- | src/c/specialFunctions/calerf/scalerfa.c | 29 | ||||
-rw-r--r-- | src/c/specialFunctions/calerf/scalerfs.c | 29 | ||||
-rw-r--r-- | src/c/specialFunctions/includes/calerf.h | 41 | ||||
-rw-r--r-- | src/c/specialFunctions/includes/erf.h | 21 | ||||
-rw-r--r-- | src/c/specialFunctions/interfaces/int_calerf.h | 32 |
11 files changed, 219 insertions, 34 deletions
diff --git a/src/c/elementaryFunctions/includes/nanmin.h b/src/c/elementaryFunctions/includes/nanmin.h index adeff6b..34bbfef 100644 --- a/src/c/elementaryFunctions/includes/nanmin.h +++ b/src/c/elementaryFunctions/includes/nanmin.h @@ -30,7 +30,8 @@ double dnanminnps(double in); void dnanminrownpa(double *in, int row, int col, double* out); void dnanmincolnpa(double *in, int row, int col, double* out); - +void dnanminrowa(double *in, int row, int col, double *out, double *p); +void dnanmincola(double *in, int row, int col, double *out, double *p); diff --git a/src/c/elementaryFunctions/interfaces/int_nanmin.h b/src/c/elementaryFunctions/interfaces/int_nanmin.h index 408dac6..e351a24 100644 --- a/src/c/elementaryFunctions/interfaces/int_nanmin.h +++ b/src/c/elementaryFunctions/interfaces/int_nanmin.h @@ -22,7 +22,7 @@ extern "C" { #define d0nanmind0(in1) dnanminnps(in1) #define d2g2nanmind2(in1, size1, in2, size2, out) (in2[0]=='r') ? dnanminrownpa(in1, size1[0], size1[1], out) : dnanmincolnpa(in1, size1[0] , size1[1], out) -//#define d2g2nanmind2d2(in1, size1, in2, size2, p, out) (in2[0]=='r') ? dnanminrowa(in1, size1[0], size1[1], p, out) : dnanmincola(in1, size1[0] , size1[1], p, out) +#define d2g2nanmind2d2(in1, size1, in2, size2, out, p) (in2[0]=='r') ? dnanminrowa(in1, size1[0], size1[1], p, out) : dnanmincola(in1, size1[0] , size1[1], out, p) #ifdef __cplusplus } /* extern "C" */ diff --git a/src/c/elementaryFunctions/nanmin/dnanmincola.c b/src/c/elementaryFunctions/nanmin/dnanmincola.c index 0c4d202..35b94c0 100644 --- a/src/c/elementaryFunctions/nanmin/dnanmincola.c +++ b/src/c/elementaryFunctions/nanmin/dnanmincola.c @@ -15,22 +15,19 @@ #include <math.h> #include "nanmin.h" -void dnanmincola(double *in, int row, int col, double *p, double *out) +void dnanmincola(double *in, int row, int col, double *out, double *p) { - double inter[col]; - - -for(int i=0; i< row; i++) + double inter[col]; + double position[col]; + + for(int i=0; i < row; i++) + { + for(int j=0; j < col; i++) { - for(int j=0 ; j< col; j++) - { - inter[j]= in[i+ (j*row)]; - - } - out[i]= dnanmina( inter, 1, col, p); - + inter[j]= in[i+ (j*row)]; } - - + + out[i]= dnanmina(inter, 1, col, position); + + } } - diff --git a/src/c/elementaryFunctions/nanmin/dnanminrowa.c b/src/c/elementaryFunctions/nanmin/dnanminrowa.c index d255ef1..0909fc2 100644 --- a/src/c/elementaryFunctions/nanmin/dnanminrowa.c +++ b/src/c/elementaryFunctions/nanmin/dnanminrowa.c @@ -15,22 +15,21 @@ #include <math.h> #include "nanmin.h" -void dnanminrowa(double *in, int row, int col, double *p, double *out) +void dnanminrowa(double *in, int row, int col, double *out, double *p) { - double inter[row]; + double inter[row], *position; -for(int i=0; i< col; i++) + for(int i=0; i< col; i++) { for(int j=0 ; j< row; j++) { inter[j]= in[j+ (i*row)]; } - out[i]= dnanmina( inter, row, 1, p); - + out[i]= dnanmina( inter, row, 1, position); } - + //p = position; } diff --git a/src/c/specialFunctions/calerf/dcalerfa.c b/src/c/specialFunctions/calerf/dcalerfa.c new file mode 100644 index 0000000..1637925 --- /dev/null +++ b/src/c/specialFunctions/calerf/dcalerfa.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: Brijesh Gupta C R + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +#include <stdio.h> +#include <stdlib.h> +#include <math.h> +#include "erf.h" +#include "erfc.h" +#include "erfcx.h" +#include "calerf.h" + + +void dcalerfa(double* inp1, int size,double inp2, double* out) +{ + for (int i = 0; i < size; i++) + { + out[i] = dcalerfs(inp1[i],inp2); + } +} + diff --git a/src/c/specialFunctions/calerf/dcalerfs.c b/src/c/specialFunctions/calerf/dcalerfs.c new file mode 100644 index 0000000..c360865 --- /dev/null +++ b/src/c/specialFunctions/calerf/dcalerfs.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: Brijesh Gupta C R + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +#include <stdio.h> +#include <stdlib.h> +#include <math.h> +#include "erf.h" +#include "erfc.h" +#include "erfcx.h" + +double dcalerfs (double inp1, double inp2) +{ + if (inp2 == 0) + return erf(inp1); + if (inp2 == 1) + return derfcs(inp1); + if (inp2 == 2) + return derfcxs(inp1); +} + diff --git a/src/c/specialFunctions/calerf/scalerfa.c b/src/c/specialFunctions/calerf/scalerfa.c new file mode 100644 index 0000000..726ab1d --- /dev/null +++ b/src/c/specialFunctions/calerf/scalerfa.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: Brijesh Gupta C R + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +#include <stdio.h> +#include <stdlib.h> +#include <math.h> +#include "erf.h" +#include "erfc.h" +#include "erfcx.h" +#include "calerf.h" + + +void scalerfa(float* inp1, int size,double inp2, float* out) +{ + for (int i = 0; i < size; i++) + { + out[i] = scalerfs(inp1[i],inp2); + } +} + diff --git a/src/c/specialFunctions/calerf/scalerfs.c b/src/c/specialFunctions/calerf/scalerfs.c new file mode 100644 index 0000000..ffc48c3 --- /dev/null +++ b/src/c/specialFunctions/calerf/scalerfs.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: Brijesh Gupta C R + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +#include <stdio.h> +#include <stdlib.h> +#include <math.h> +#include "erf.h" +#include "erfc.h" +#include "erfcx.h" + +float scalerfs (float inp1, double inp2) +{ + if (inp2 == 0) + return erf(inp1); + if (inp2 == 1) + return derfcs(inp1); + if (inp2 == 2) + return derfcxs(inp1); +} + diff --git a/src/c/specialFunctions/includes/calerf.h b/src/c/specialFunctions/includes/calerf.h new file mode 100644 index 0000000..9bb63eb --- /dev/null +++ b/src/c/specialFunctions/includes/calerf.h @@ -0,0 +1,41 @@ + /* Copyright (C) 2017 - 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: Brijesh Gupta C R + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in + */ + +#ifndef __CALERF_H__ +#define __CALERF_H__ +#include "types.h" +#include "floatComplex.h" +#include "doubleComplex.h" +#include "uint8.h" +#include "uint16.h" +#include "int16.h" +#include "erf.h" +#include "erfc.h" +#include "erfcx.h" +#include "calerf.h" + +#ifdef __cplusplus +extern "C" { +#endif + +double dcalerfs (double inp1, double inp2); +void dcalerfa(double* inp1, int size,double inp2, double* out); + +float scalerfs (float inp1, double inp2); +void scalerfa(float* inp1, int size,double inp2, float* out); + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__CALERF_H__*/ diff --git a/src/c/specialFunctions/includes/erf.h b/src/c/specialFunctions/includes/erf.h index 86bb15d..4b3cde4 100644 --- a/src/c/specialFunctions/includes/erf.h +++ b/src/c/specialFunctions/includes/erf.h @@ -1,15 +1,14 @@ -/* - * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab - * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET - * - * 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 - * - */ + /* Copyright (C) 2017 - 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: Brijesh Gupta C R + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in + */ #ifndef __ERF_H__ #define __ERF_H__ #include "types.h" diff --git a/src/c/specialFunctions/interfaces/int_calerf.h b/src/c/specialFunctions/interfaces/int_calerf.h new file mode 100644 index 0000000..ee75bdc --- /dev/null +++ b/src/c/specialFunctions/interfaces/int_calerf.h @@ -0,0 +1,32 @@ +/* Copyright (C) 2017 - 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: Brijesh Gupta C R + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in + */ +#ifndef __INT_CALERF_H__ +#define __INT_CALERF_H__ + +#ifdef __cplusplus +extern "C" { +#endif + + + +#define d0d0calerfd0(in1,in2) dcalerfs(in1, in2) +#define d2d0calerfd2(in1, size, in2, out) dcalerfa(in1, size[0]*size[1], in2, out) + +#define s0d0calerfs0(in1,in2) scalerfs(in1, in2) +#define s2d0calerfs2(in1, size, in2, out) scalerfa(in1, size[0]*size[1], in2, out) + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__INT_CALERF_H__*/ |