summaryrefslogtreecommitdiff
path: root/src/c/specialFunctions
diff options
context:
space:
mode:
authorBrijeshcr2017-08-10 19:38:31 +0530
committerBrijeshcr2017-08-10 19:38:31 +0530
commit4bc007e5b44a13b582b0275bf7fc6693942ba2ac (patch)
tree85bbdf6358c3c8eb5dd5dfaeb63029808f06ae3e /src/c/specialFunctions
parent14fc3be8d95da244daa1fa12d519ceee8fb97eae (diff)
downloadscilab2c-4bc007e5b44a13b582b0275bf7fc6693942ba2ac.tar.gz
scilab2c-4bc007e5b44a13b582b0275bf7fc6693942ba2ac.tar.bz2
scilab2c-4bc007e5b44a13b582b0275bf7fc6693942ba2ac.zip
Added Gamma, gammaln, beta, isinf, ndgrid and range
Diffstat (limited to 'src/c/specialFunctions')
-rw-r--r--src/c/specialFunctions/beta/dbetaa.c22
-rw-r--r--src/c/specialFunctions/beta/dbetas.c21
-rw-r--r--src/c/specialFunctions/beta/sbetaa.c22
-rw-r--r--src/c/specialFunctions/beta/sbetas.c21
-rw-r--r--src/c/specialFunctions/gamma/dgammaa.c21
-rw-r--r--src/c/specialFunctions/gamma/dgammas.c20
-rw-r--r--src/c/specialFunctions/gamma/sgammaa.c21
-rw-r--r--src/c/specialFunctions/gamma/sgammas.c20
-rw-r--r--src/c/specialFunctions/gammaln/dgammalna.c21
-rw-r--r--src/c/specialFunctions/gammaln/dgammalns.c20
-rw-r--r--src/c/specialFunctions/gammaln/sgammalna.c21
-rw-r--r--src/c/specialFunctions/gammaln/sgammalns.c20
-rw-r--r--src/c/specialFunctions/includes/beta.h36
-rw-r--r--src/c/specialFunctions/includes/gamma.h35
-rw-r--r--src/c/specialFunctions/includes/gammaln.h36
-rw-r--r--src/c/specialFunctions/interfaces/int_beta.h30
-rw-r--r--src/c/specialFunctions/interfaces/int_gamma.h31
-rw-r--r--src/c/specialFunctions/interfaces/int_gammaln.h31
18 files changed, 449 insertions, 0 deletions
diff --git a/src/c/specialFunctions/beta/dbetaa.c b/src/c/specialFunctions/beta/dbetaa.c
new file mode 100644
index 00000000..cba98be3
--- /dev/null
+++ b/src/c/specialFunctions/beta/dbetaa.c
@@ -0,0 +1,22 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Author: Brijesh Gupta C R
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "factorial.h"
+#include "gamma.h"
+#include "beta.h"
+
+void dbetaa(double* inp1,int size1, double* inp2,int size2, double* out)
+{
+ for(int i = 0; i<size1; i++)
+ out[i] = dbetas(inp1[i],inp2[i]);
+}
diff --git a/src/c/specialFunctions/beta/dbetas.c b/src/c/specialFunctions/beta/dbetas.c
new file mode 100644
index 00000000..5ef02578
--- /dev/null
+++ b/src/c/specialFunctions/beta/dbetas.c
@@ -0,0 +1,21 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Author: Brijesh Gupta C R
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "factorial.h"
+#include "gamma.h"
+#include "beta.h"
+
+double dbetas(double inp1, double inp2)
+{
+ return dgammas(inp1)*dgammas(inp2)/dgammas(inp1+inp2);
+}
diff --git a/src/c/specialFunctions/beta/sbetaa.c b/src/c/specialFunctions/beta/sbetaa.c
new file mode 100644
index 00000000..f3fc380e
--- /dev/null
+++ b/src/c/specialFunctions/beta/sbetaa.c
@@ -0,0 +1,22 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Author: Brijesh Gupta C R
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "factorial.h"
+#include "gamma.h"
+#include "beta.h"
+
+void sbetaa(float* inp1,int size1, float* inp2,int size2, float* out)
+{
+ for(int i = 0; i<size1; i++)
+ out[i] = sbetas(inp1[i],inp2[i]);
+}
diff --git a/src/c/specialFunctions/beta/sbetas.c b/src/c/specialFunctions/beta/sbetas.c
new file mode 100644
index 00000000..cbe3368b
--- /dev/null
+++ b/src/c/specialFunctions/beta/sbetas.c
@@ -0,0 +1,21 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Author: Brijesh Gupta C R
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "factorial.h"
+#include "gamma.h"
+#include "beta.h"
+
+float sbetas(float inp1, float inp2)
+{
+ return dgammas(inp1)*dgammas(inp2)/dgammas(inp1+inp2);
+}
diff --git a/src/c/specialFunctions/gamma/dgammaa.c b/src/c/specialFunctions/gamma/dgammaa.c
new file mode 100644
index 00000000..e2bfadf9
--- /dev/null
+++ b/src/c/specialFunctions/gamma/dgammaa.c
@@ -0,0 +1,21 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Author: Brijesh Gupta C R
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "factorial.h"
+#include "gamma.h"
+
+void dgammaa(double* inp,int size,double* out)
+{
+ for(int i = 0; i<size; i++)
+ out[i] = dgammas(inp[i]);
+}
diff --git a/src/c/specialFunctions/gamma/dgammas.c b/src/c/specialFunctions/gamma/dgammas.c
new file mode 100644
index 00000000..2dae08ce
--- /dev/null
+++ b/src/c/specialFunctions/gamma/dgammas.c
@@ -0,0 +1,20 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Author: Brijesh Gupta C R
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "factorial.h"
+#include "gamma.h"
+
+double dgammas(double inp)
+{
+ return dfactorials(inp-1);
+}
diff --git a/src/c/specialFunctions/gamma/sgammaa.c b/src/c/specialFunctions/gamma/sgammaa.c
new file mode 100644
index 00000000..4636e344
--- /dev/null
+++ b/src/c/specialFunctions/gamma/sgammaa.c
@@ -0,0 +1,21 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Author: Brijesh Gupta C R
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "factorial.h"
+#include "gamma.h"
+
+void sgammaa(float* inp,int size,float* out)
+{
+ for(int i = 0; i<size; i++)
+ out[i] = sgammas(inp[i]);
+}
diff --git a/src/c/specialFunctions/gamma/sgammas.c b/src/c/specialFunctions/gamma/sgammas.c
new file mode 100644
index 00000000..9f2f705a
--- /dev/null
+++ b/src/c/specialFunctions/gamma/sgammas.c
@@ -0,0 +1,20 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Author: Brijesh Gupta C R
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "factorial.h"
+#include "gamma.h"
+
+float sgammas(float inp)
+{
+ return dfactorials(inp-1);
+}
diff --git a/src/c/specialFunctions/gammaln/dgammalna.c b/src/c/specialFunctions/gammaln/dgammalna.c
new file mode 100644
index 00000000..8a2dd54b
--- /dev/null
+++ b/src/c/specialFunctions/gammaln/dgammalna.c
@@ -0,0 +1,21 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Author: Brijesh Gupta C R
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "factorial.h"
+#include "gammaln.h"
+
+void dgammalna(double* inp,int size,double* out)
+{
+ for(int i = 0; i<size; i++)
+ out[i] = dgammalns(inp[i]);
+}
diff --git a/src/c/specialFunctions/gammaln/dgammalns.c b/src/c/specialFunctions/gammaln/dgammalns.c
new file mode 100644
index 00000000..1c6c2918
--- /dev/null
+++ b/src/c/specialFunctions/gammaln/dgammalns.c
@@ -0,0 +1,20 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Author: Brijesh Gupta C R
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "factorial.h"
+#include "gammaln.h"
+
+double dgammalns(double inp)
+{
+ return log(dgammas(inp));
+}
diff --git a/src/c/specialFunctions/gammaln/sgammalna.c b/src/c/specialFunctions/gammaln/sgammalna.c
new file mode 100644
index 00000000..1760ca92
--- /dev/null
+++ b/src/c/specialFunctions/gammaln/sgammalna.c
@@ -0,0 +1,21 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Author: Brijesh Gupta C R
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "factorial.h"
+#include "gammaln.h"
+
+void sgammalna(float* inp,int size,float* out)
+{
+ for(int i = 0; i<size; i++)
+ out[i] = sgammalns(inp[i]);
+}
diff --git a/src/c/specialFunctions/gammaln/sgammalns.c b/src/c/specialFunctions/gammaln/sgammalns.c
new file mode 100644
index 00000000..af4c27fe
--- /dev/null
+++ b/src/c/specialFunctions/gammaln/sgammalns.c
@@ -0,0 +1,20 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Author: Brijesh Gupta C R
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "factorial.h"
+#include "gammaln.h"
+
+float sgammalns(float inp)
+{
+ return log(sgammas(inp));
+}
diff --git a/src/c/specialFunctions/includes/beta.h b/src/c/specialFunctions/includes/beta.h
new file mode 100644
index 00000000..be0caf69
--- /dev/null
+++ b/src/c/specialFunctions/includes/beta.h
@@ -0,0 +1,36 @@
+ /* 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 __BETA_H__
+#define __BETA_H__
+#include "types.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "uint8.h"
+#include "uint16.h"
+#include "int16.h"
+#include "factorial.h"
+#include "gamma.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dbetas(double inp1, double inp2);
+float sbetas(float inp1, float inp2);
+void dbetaa(double* inp1,int size1, double* inp2,int size2, double* out);
+void sbetaa(float* inp1,int size1, float* inp2,int size2, float* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__BETA_H__*/
diff --git a/src/c/specialFunctions/includes/gamma.h b/src/c/specialFunctions/includes/gamma.h
new file mode 100644
index 00000000..bd438b6d
--- /dev/null
+++ b/src/c/specialFunctions/includes/gamma.h
@@ -0,0 +1,35 @@
+ /* 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 __GAMMA_H__
+#define __GAMMA_H__
+#include "types.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "uint8.h"
+#include "uint16.h"
+#include "int16.h"
+#include "factorial.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dgammas(double inp);
+float sgammas(float inp);
+void dgammaa(double* inp,int size,double* out);
+void sgammaa(float* inp,int size,float* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__GAMMA_H__*/
diff --git a/src/c/specialFunctions/includes/gammaln.h b/src/c/specialFunctions/includes/gammaln.h
new file mode 100644
index 00000000..f3af242b
--- /dev/null
+++ b/src/c/specialFunctions/includes/gammaln.h
@@ -0,0 +1,36 @@
+ /* 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 __GAMMALN_H__
+#define __GAMMALN_H__
+#include "types.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "uint8.h"
+#include "uint16.h"
+#include "int16.h"
+#include "factorial.h"
+#include "gamma.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dgammalns(double inp);
+float sgammalns(float inp);
+void dgammalna(double* inp,int size,double* out);
+void sgammalna(float* inp,int size,float* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__GAMMALN_H__*/
diff --git a/src/c/specialFunctions/interfaces/int_beta.h b/src/c/specialFunctions/interfaces/int_beta.h
new file mode 100644
index 00000000..4f3981ee
--- /dev/null
+++ b/src/c/specialFunctions/interfaces/int_beta.h
@@ -0,0 +1,30 @@
+/* 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_BETA_H__
+#define __INT_BETA_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+#define d0d0betad0(in1, in2) dbetas(in1, in2)
+#define d2d2betad2(in1, size1, in2, size2, out) dbetaa(in1,size1[0]*size1[1], in2, size2[0]*size2[1], out)
+#define s0s0betas0(in1, in2) sbetas(in1, in2)
+#define s2s2betas2(in1, size1, in2, size2, out) sbetaa(in1,size1[0]*size1[1], in2, size2[0]*size2[1], out)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_BETA_H__*/
diff --git a/src/c/specialFunctions/interfaces/int_gamma.h b/src/c/specialFunctions/interfaces/int_gamma.h
new file mode 100644
index 00000000..b527fddc
--- /dev/null
+++ b/src/c/specialFunctions/interfaces/int_gamma.h
@@ -0,0 +1,31 @@
+/* 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_GAMMA_H__
+#define __INT_GAMMA_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+#define d0gammad0(in1) dgammas(in1)
+#define s0gammas0(in1) sgammas(in1)
+#define d2gammad2(in1,size,out) dgammaa(in1,size[0]*size[1],out)
+#define s2gammas2(in1,size,out) sgammaa(in1,size[0]*size[1],out)
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_GAMMA_H__*/
diff --git a/src/c/specialFunctions/interfaces/int_gammaln.h b/src/c/specialFunctions/interfaces/int_gammaln.h
new file mode 100644
index 00000000..5be29f1e
--- /dev/null
+++ b/src/c/specialFunctions/interfaces/int_gammaln.h
@@ -0,0 +1,31 @@
+/* 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_GAMMALN_H__
+#define __INT_GAMMALN_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+#define d0gammalnd0(in1) dgammalns(in1)
+#define s0gammalns0(in1) sgammalns(in1)
+#define d2gammalnd2(in1,size,out) dgammalna(in1,size[0]*size[1],out)
+#define s2gammalns2(in1,size,out) sgammalna(in1,size[0]*size[1],out)
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_GAMMALN_H__*/