summaryrefslogtreecommitdiff
path: root/src/c
diff options
context:
space:
mode:
authorBrijeshcr2017-07-14 18:01:26 +0530
committerBrijeshcr2017-07-14 18:01:26 +0530
commitce5c0f9d407d533364e9e7adc81e4d338e031383 (patch)
tree26defae9d1a7b339ed5d5f979b63e815ac3beeba /src/c
parent4f8c0f6aa5dddea07d84287ec2fb96276bd606d2 (diff)
downloadScilab2C_fossee_old-ce5c0f9d407d533364e9e7adc81e4d338e031383.tar.gz
Scilab2C_fossee_old-ce5c0f9d407d533364e9e7adc81e4d338e031383.tar.bz2
Scilab2C_fossee_old-ce5c0f9d407d533364e9e7adc81e4d338e031383.zip
ERF, ERFC and Demos added
Diffstat (limited to 'src/c')
-rw-r--r--src/c/specialFunctions/erf/derfa.c25
-rw-r--r--src/c/specialFunctions/erf/derfs.c22
-rw-r--r--src/c/specialFunctions/erf/serfa.c25
-rw-r--r--src/c/specialFunctions/erf/serfs.c22
-rw-r--r--src/c/specialFunctions/erfc/derfca.c25
-rw-r--r--src/c/specialFunctions/erfc/derfcs.c22
-rw-r--r--src/c/specialFunctions/erfc/serfca.c25
-rw-r--r--src/c/specialFunctions/erfc/serfcs.c22
-rw-r--r--src/c/specialFunctions/includes/erf.h35
-rw-r--r--src/c/specialFunctions/includes/erfc.h36
-rw-r--r--src/c/specialFunctions/interfaces/int_erf.h32
-rw-r--r--src/c/specialFunctions/interfaces/int_erfc.h32
12 files changed, 323 insertions, 0 deletions
diff --git a/src/c/specialFunctions/erf/derfa.c b/src/c/specialFunctions/erf/derfa.c
new file mode 100644
index 0000000..972d743
--- /dev/null
+++ b/src/c/specialFunctions/erf/derfa.c
@@ -0,0 +1,25 @@
+/* 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"
+
+void derfa(double* inp1, int sizer, int sizec,double* out)
+{
+ for (int i = 0; i < sizer*sizec; i++)
+ {
+ out[i] = erf(inp1[i]);
+ }
+}
+
diff --git a/src/c/specialFunctions/erf/derfs.c b/src/c/specialFunctions/erf/derfs.c
new file mode 100644
index 0000000..22b5d64
--- /dev/null
+++ b/src/c/specialFunctions/erf/derfs.c
@@ -0,0 +1,22 @@
+/* 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"
+
+double derfs(double inp1)
+{
+ return erf(inp1);
+}
+
diff --git a/src/c/specialFunctions/erf/serfa.c b/src/c/specialFunctions/erf/serfa.c
new file mode 100644
index 0000000..0db4a7b
--- /dev/null
+++ b/src/c/specialFunctions/erf/serfa.c
@@ -0,0 +1,25 @@
+/* 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"
+
+void serfa(float* inp1, int sizer, int sizec,float* out)
+{
+ for (int i = 0; i < sizer*sizec; i++)
+ {
+ out[i] = erf(inp1[i]);
+ }
+}
+
diff --git a/src/c/specialFunctions/erf/serfs.c b/src/c/specialFunctions/erf/serfs.c
new file mode 100644
index 0000000..66638a1
--- /dev/null
+++ b/src/c/specialFunctions/erf/serfs.c
@@ -0,0 +1,22 @@
+/* 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"
+
+float serfs(float inp1)
+{
+ return erf(inp1);
+}
+
diff --git a/src/c/specialFunctions/erfc/derfca.c b/src/c/specialFunctions/erfc/derfca.c
new file mode 100644
index 0000000..85c92ef
--- /dev/null
+++ b/src/c/specialFunctions/erfc/derfca.c
@@ -0,0 +1,25 @@
+/* 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 "erfc.h"
+
+void derfca(double* inp1, int sizer, int sizec, double* out)
+{
+ for (int i = 0; i < sizer*sizec; i++)
+ {
+ out[i] = derfcs(inp1[i]);
+ }
+}
+
diff --git a/src/c/specialFunctions/erfc/derfcs.c b/src/c/specialFunctions/erfc/derfcs.c
new file mode 100644
index 0000000..31c9846
--- /dev/null
+++ b/src/c/specialFunctions/erfc/derfcs.c
@@ -0,0 +1,22 @@
+/* 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 "erfc.h"
+
+double derfcs(double inp1)
+{
+ return (1-erf(inp1));
+}
+
diff --git a/src/c/specialFunctions/erfc/serfca.c b/src/c/specialFunctions/erfc/serfca.c
new file mode 100644
index 0000000..469c5a1
--- /dev/null
+++ b/src/c/specialFunctions/erfc/serfca.c
@@ -0,0 +1,25 @@
+/* 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 "erfc.h"
+
+void serfca(float* inp1, int sizer, int sizec, float* out)
+{
+ for (int i = 0; i < sizer*sizec; i++)
+ {
+ out[i] = serfcs(inp1[i]);
+ }
+}
+
diff --git a/src/c/specialFunctions/erfc/serfcs.c b/src/c/specialFunctions/erfc/serfcs.c
new file mode 100644
index 0000000..3f93a80
--- /dev/null
+++ b/src/c/specialFunctions/erfc/serfcs.c
@@ -0,0 +1,22 @@
+/* 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 "erfc.h"
+
+float serfcs(float inp1)
+{
+ return (1-erf(inp1));
+}
+
diff --git a/src/c/specialFunctions/includes/erf.h b/src/c/specialFunctions/includes/erf.h
new file mode 100644
index 0000000..86bb15d
--- /dev/null
+++ b/src/c/specialFunctions/includes/erf.h
@@ -0,0 +1,35 @@
+/*
+ * 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
+ *
+ */
+
+#ifndef __ERF_H__
+#define __ERF_H__
+#include "types.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "uint8.h"
+#include "uint16.h"
+#include "int16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double derfs(double inp1);
+float serfs(float inp1);
+void derfa(double* inp1, int sizer, int sizec,double* out);
+void serfa(float* inp1, int sizer, int sizec,float* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__ERF_H__*/
diff --git a/src/c/specialFunctions/includes/erfc.h b/src/c/specialFunctions/includes/erfc.h
new file mode 100644
index 0000000..77847ab
--- /dev/null
+++ b/src/c/specialFunctions/includes/erfc.h
@@ -0,0 +1,36 @@
+/*
+ * 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
+ *
+ */
+
+#ifndef __ERFC_H__
+#define __ERFC_H__
+#include "types.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "uint8.h"
+#include "uint16.h"
+#include "int16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double derfcs(double inp1);
+void derfca(double* inp1, int sizer, int sizec,double* out);
+float serfcs(float inp1);
+void serfca(float* inp1, int sizer, int sizec, float* out);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__ERFC_H__*/
diff --git a/src/c/specialFunctions/interfaces/int_erf.h b/src/c/specialFunctions/interfaces/int_erf.h
new file mode 100644
index 0000000..87f11f9
--- /dev/null
+++ b/src/c/specialFunctions/interfaces/int_erf.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_ERF_H__
+#define __INT_ERF_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+#define d0erfd0(in1) derfs(in1)
+#define s0erfs0(in1) serfs(in1)
+#define d2erfd2(in1,size,out) derfa(in1,size[0],size[1],out)
+#define s2erfs2(in1,size,out) serfa(in1,size[0],size[1],out)
+
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_ERF_H__*/
diff --git a/src/c/specialFunctions/interfaces/int_erfc.h b/src/c/specialFunctions/interfaces/int_erfc.h
new file mode 100644
index 0000000..64ae0fa
--- /dev/null
+++ b/src/c/specialFunctions/interfaces/int_erfc.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_ERFC_H__
+#define __INT_ERFC_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+#define d0erfcd0(in1) derfcs(in1)
+#define s0erfcs0(in1) serfcs(in1)
+#define d2erfcd2(in1,size,out) derfca(in1,size[0],size[1],out)
+#define s2erfcs2(in1,size,out) serfca(in1,size[0],size[1],out)
+
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_ERFC_H__*/