summaryrefslogtreecommitdiff
path: root/src/c/specialFunctions
diff options
context:
space:
mode:
authorAbhinav Dronamraju2017-07-29 02:38:28 +0530
committerAbhinav Dronamraju2017-07-29 02:38:28 +0530
commit1f639242264252674aaec1b2726a4389eed9a7c0 (patch)
tree4e08a147578ec40316dd980e76669c078609a73b /src/c/specialFunctions
parente3630a1a245b9b7a2aba285a242bea200398ff6a (diff)
parentbe665fa018032441e5fa9352962286d96303e33c (diff)
downloadScilab2C_fossee_old-1f639242264252674aaec1b2726a4389eed9a7c0.tar.gz
Scilab2C_fossee_old-1f639242264252674aaec1b2726a4389eed9a7c0.tar.bz2
Scilab2C_fossee_old-1f639242264252674aaec1b2726a4389eed9a7c0.zip
Merge
Diffstat (limited to 'src/c/specialFunctions')
-rw-r--r--src/c/specialFunctions/calerf/dcalerfa.c29
-rw-r--r--src/c/specialFunctions/calerf/dcalerfs.c29
-rw-r--r--src/c/specialFunctions/calerf/scalerfa.c29
-rw-r--r--src/c/specialFunctions/calerf/scalerfs.c29
-rw-r--r--src/c/specialFunctions/includes/calerf.h41
-rw-r--r--src/c/specialFunctions/includes/erf.h21
-rw-r--r--src/c/specialFunctions/interfaces/int_calerf.h32
7 files changed, 199 insertions, 11 deletions
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__*/