summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrijeshcr2017-08-10 19:38:31 +0530
committerBrijeshcr2017-08-10 19:38:31 +0530
commitdcfc88991cdfa7f8e53607094e8d26cae399b78e (patch)
tree477aa36aee917771677bbd6500fc57ca353f4d4f
parent60dc24077bf42ddf1b8973915350dfabdf5b040a (diff)
downloadScilab2C-dcfc88991cdfa7f8e53607094e8d26cae399b78e.tar.gz
Scilab2C-dcfc88991cdfa7f8e53607094e8d26cae399b78e.tar.bz2
Scilab2C-dcfc88991cdfa7f8e53607094e8d26cae399b78e.zip
Added Gamma, gammaln, beta, isinf, ndgrid and range
-rw-r--r--2.3-1/demos/Brijesh_Demos/test_beta.sci12
-rw-r--r--2.3-1/demos/Brijesh_Demos/test_gamma.sci10
-rw-r--r--2.3-1/demos/Brijesh_Demos/test_gammaln.sci10
-rw-r--r--2.3-1/demos/Brijesh_Demos/test_isinf.sci6
-rw-r--r--2.3-1/demos/Brijesh_Demos/test_ndgrid.sci20
-rw-r--r--2.3-1/demos/Brijesh_Demos/test_range.sci8
-rw-r--r--2.3-1/includes/sci2clib.h21
-rw-r--r--2.3-1/jar/scilab_en_US_help.jarbin11210 -> 11210 bytes
-rw-r--r--2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci173
-rw-r--r--2.3-1/macros/findDeps/getAllHeaders.sci6
-rw-r--r--2.3-1/macros/findDeps/getAllInterfaces.sci6
-rw-r--r--2.3-1/macros/findDeps/getAllSources.sci18
-rw-r--r--2.3-1/src/c/elementaryFunctions/includes/isinf.h35
-rw-r--r--2.3-1/src/c/elementaryFunctions/interfaces/int_isinf.h20
-rw-r--r--2.3-1/src/c/elementaryFunctions/isinf/disinfs.c24
-rw-r--r--2.3-1/src/c/elementaryFunctions/isinf/sisinfs.c24
-rw-r--r--2.3-1/src/c/linearAlgebra/includes/range.h34
-rw-r--r--2.3-1/src/c/linearAlgebra/interfaces/int_range.h27
-rw-r--r--2.3-1/src/c/linearAlgebra/range/drangea.c78
-rw-r--r--2.3-1/src/c/matrixOperations/includes/ndgrid.h31
-rw-r--r--2.3-1/src/c/matrixOperations/interfaces/int_ndgrid.h28
-rw-r--r--2.3-1/src/c/matrixOperations/ndgrid/dndgrida.c31
-rw-r--r--2.3-1/src/c/matrixOperations/ndgrid/sndgrida.c32
-rw-r--r--2.3-1/src/c/matrixOperations/ndgrid/zndgrida.c39
-rw-r--r--2.3-1/src/c/specialFunctions/beta/dbetaa.c22
-rw-r--r--2.3-1/src/c/specialFunctions/beta/dbetas.c21
-rw-r--r--2.3-1/src/c/specialFunctions/beta/sbetaa.c22
-rw-r--r--2.3-1/src/c/specialFunctions/beta/sbetas.c21
-rw-r--r--2.3-1/src/c/specialFunctions/gamma/dgammaa.c21
-rw-r--r--2.3-1/src/c/specialFunctions/gamma/dgammas.c20
-rw-r--r--2.3-1/src/c/specialFunctions/gamma/sgammaa.c21
-rw-r--r--2.3-1/src/c/specialFunctions/gamma/sgammas.c20
-rw-r--r--2.3-1/src/c/specialFunctions/gammaln/dgammalna.c21
-rw-r--r--2.3-1/src/c/specialFunctions/gammaln/dgammalns.c20
-rw-r--r--2.3-1/src/c/specialFunctions/gammaln/sgammalna.c21
-rw-r--r--2.3-1/src/c/specialFunctions/gammaln/sgammalns.c20
-rw-r--r--2.3-1/src/c/specialFunctions/includes/beta.h36
-rw-r--r--2.3-1/src/c/specialFunctions/includes/gamma.h35
-rw-r--r--2.3-1/src/c/specialFunctions/includes/gammaln.h36
-rw-r--r--2.3-1/src/c/specialFunctions/interfaces/int_beta.h30
-rw-r--r--2.3-1/src/c/specialFunctions/interfaces/int_gamma.h31
-rw-r--r--2.3-1/src/c/specialFunctions/interfaces/int_gammaln.h31
42 files changed, 1142 insertions, 0 deletions
diff --git a/2.3-1/demos/Brijesh_Demos/test_beta.sci b/2.3-1/demos/Brijesh_Demos/test_beta.sci
new file mode 100644
index 00000000..a5465a77
--- /dev/null
+++ b/2.3-1/demos/Brijesh_Demos/test_beta.sci
@@ -0,0 +1,12 @@
+function test_beta
+ disp('Datatype: Double');
+ i1 = [1 2 3; 4 5 6];
+ i2 = [7 8 9; 10 11 12];
+ o1 = beta(i1,i2);
+ disp(o1);
+ disp('Datatype: float');
+ i3 = float([1 2 3; 4 5 6]);
+ i4 = float([7 8 9; 10 11 12]);
+ o2 = beta(i3,i4);
+ disp(o2);
+endfunction
diff --git a/2.3-1/demos/Brijesh_Demos/test_gamma.sci b/2.3-1/demos/Brijesh_Demos/test_gamma.sci
new file mode 100644
index 00000000..4ca5f021
--- /dev/null
+++ b/2.3-1/demos/Brijesh_Demos/test_gamma.sci
@@ -0,0 +1,10 @@
+function test_gamma
+ disp('Datatype: Double');
+ i1 = [1 2 3; 4 5 6];
+ o1 = gamma(i1);
+ disp(o1);
+ disp('Datatype: float');
+ i2 = float([1 2 3; 4 5 6]);
+ o2 = gamma(i2);
+ disp(o2);
+endfunction
diff --git a/2.3-1/demos/Brijesh_Demos/test_gammaln.sci b/2.3-1/demos/Brijesh_Demos/test_gammaln.sci
new file mode 100644
index 00000000..a12a57bb
--- /dev/null
+++ b/2.3-1/demos/Brijesh_Demos/test_gammaln.sci
@@ -0,0 +1,10 @@
+function test_gammaln
+ disp('Datatype: Double');
+ i1 = [1 2 3; 4 5 6];
+ o1 = gammaln(i1);
+ disp(o1);
+ disp('Datatype: float');
+ i2 = float([1 2 3; 4 5 6]);
+ o2 = gammaln(i2);
+ disp(o2);
+endfunction
diff --git a/2.3-1/demos/Brijesh_Demos/test_isinf.sci b/2.3-1/demos/Brijesh_Demos/test_isinf.sci
new file mode 100644
index 00000000..59be9759
--- /dev/null
+++ b/2.3-1/demos/Brijesh_Demos/test_isinf.sci
@@ -0,0 +1,6 @@
+function test_isinf
+ disp('Datatype: Double');
+ i1 = %inf;
+ o1 = isinf(float(i1));
+ disp(o1);
+endfunction
diff --git a/2.3-1/demos/Brijesh_Demos/test_ndgrid.sci b/2.3-1/demos/Brijesh_Demos/test_ndgrid.sci
new file mode 100644
index 00000000..79f9a5d3
--- /dev/null
+++ b/2.3-1/demos/Brijesh_Demos/test_ndgrid.sci
@@ -0,0 +1,20 @@
+function test_ndgrid
+ disp('Datatype: Double');
+ i1 = linspace(-1,1,10);
+ i2 = linspace(-1,1,3);
+ [o1, o2] = ndgrid(i1,i2);
+ disp(o1);
+ disp(o2);
+ disp('Datatype: float');
+ i3 = linspace(-1,1,10);
+ i4 = linspace(-1,1,3);
+ [o3, o4] = ndgrid(float(i3),float(i4));
+ disp(o3);
+ disp(o4);
+ disp('Datatype: Double Complex');
+ i5 = [1 %i 3];
+ i6 = [%i 3+%i 5*%i 9 7 0];
+ [o5, o6] = ndgrid(i5,i6);
+ disp(o5);
+ disp(o6);
+endfunction
diff --git a/2.3-1/demos/Brijesh_Demos/test_range.sci b/2.3-1/demos/Brijesh_Demos/test_range.sci
new file mode 100644
index 00000000..beca7a1a
--- /dev/null
+++ b/2.3-1/demos/Brijesh_Demos/test_range.sci
@@ -0,0 +1,8 @@
+function test_range
+ disp('Datatype: Double');
+ i1 = [1 2 3; 4 5 6; 7 8 9];
+ i2 = 4;
+ [o1, o2] = range(i1, i2);
+ disp(o1);
+ disp(o2);
+endfunction
diff --git a/2.3-1/includes/sci2clib.h b/2.3-1/includes/sci2clib.h
index a67130e0..eadf1bf9 100644
--- a/2.3-1/includes/sci2clib.h
+++ b/2.3-1/includes/sci2clib.h
@@ -102,6 +102,17 @@ extern "C" {
#include "erfinv.h"
#include "int_erfinv.h"
+/* interfacing gamma */
+#include "gamma.h"
+#include "int_gamma.h"
+
+/* interfacing gammaln */
+#include "gammaln.h"
+#include "int_gammaln.h"
+
+/* interfacing beta */
+#include "beta.h"
+#include "int_beta.h"
/* ELEMENTARY FUNCTIONS */
@@ -413,6 +424,10 @@ extern "C" {
#include "isequal.h"
#include "int_isequal.h"
+/*interfacing isinf*/
+#include "isinf.h"
+#include "int_isinf.h"
+
/* IMPLICIT LISTS */
/* interfacing implicitList/OpColon */
@@ -532,6 +547,9 @@ extern "C" {
/*interface Cross */
#include "cross.h"
#include "int_cross.h"
+/*interface Ndgrid */
+#include "ndgrid.h"
+#include "int_ndgrid.h"
/* SIGNAL PROCESSING */
@@ -797,6 +815,9 @@ extern "C" {
#include "rowcomp.h" /* Linear Algebra - row compression, range */
#include "int_rowcomp.h"
+/*interfacing range*/
+#include "range.h"
+#include "int_range.h"
#include "qr.h" /* Linear Algebra - QR decomposition */
#include "int_qr.h"
diff --git a/2.3-1/jar/scilab_en_US_help.jar b/2.3-1/jar/scilab_en_US_help.jar
index 0df9ece7..67a6802a 100644
--- a/2.3-1/jar/scilab_en_US_help.jar
+++ b/2.3-1/jar/scilab_en_US_help.jar
Binary files differ
diff --git a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
index 768b80e4..0025e819 100644
--- a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
+++ b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
@@ -5308,6 +5308,39 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,Ex
//------------------------------------
+//---- Class NDGRID ----------------
+//------------------------------------
+ClassName = 'ndgrid';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 2',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(2).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= IN(2).SZ(2)',ClassFileName,'file','y');
+
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d2d2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
+PrintStringInfo('s2s2'+ArgSeparator+'s2s2',ClassFileName,'file','y');
+PrintStringInfo('z2z2'+ArgSeparator+'z2z2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'ndgrid';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+
+//------------------------------------
//---- Class ISEQUAL ----------------
//------------------------------------
ClassName = 'isequal';
@@ -5344,6 +5377,36 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,Ex
//------------------------------------
+//---- Class ISINF ----------------
+//------------------------------------
+ClassName = 'isinf';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''g''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'g0',ClassFileName,'file','y');
+
+
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'isinf';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+//------------------------------------
//---- Class CALERF ----------------
//------------------------------------
ClassName = 'calerf';
@@ -5403,6 +5466,85 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,E
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+//------------------------------------
+//---- Class GAMMA ----------------
+//------------------------------------
+ClassName = 'gamma';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+
+
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'gamma';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+//------------------------------------
+//---- Class GAMMALN ----------------
+//------------------------------------
+ClassName = 'gammaln';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+
+
+//------------------------------------
+//---- Class BETA ----------------
+//------------------------------------
+ClassName = 'beta';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s0s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('s2s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'beta';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
@@ -9063,6 +9205,37 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,Ex
//------------------------------------
+//---- Class RANGE ---------------------
+//------------------------------------
+ClassName = 'range';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 2',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= ''1''',ClassFileName,'file','y');
+
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d2d0'+ArgSeparator+'d2d0',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'range';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+
+//------------------------------------
//---- Class QR---------------------
//------------------------------------
ClassName = 'QR';
diff --git a/2.3-1/macros/findDeps/getAllHeaders.sci b/2.3-1/macros/findDeps/getAllHeaders.sci
index 3c186210..4ee9eafb 100644
--- a/2.3-1/macros/findDeps/getAllHeaders.sci
+++ b/2.3-1/macros/findDeps/getAllHeaders.sci
@@ -75,6 +75,7 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/matrixOperations/includes/norm.h"
"src/c/matrixOperations/includes/toeplitz.h"
"src/c/matrixOperations/includes/cross.h"
+ "src/c/matrixOperations/includes/ndgrid.h"
"src/c/interpolation/includes/interp1.h"
"src/c/elementaryFunctions/includes/nextpow2.h"
"src/c/elementaryFunctions/includes/gcd.h"
@@ -148,6 +149,7 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/elementaryFunctions/includes/asind.h"
"src/c/elementaryFunctions/includes/atand.h"
"src/c/elementaryFunctions/includes/isequal.h"
+ "src/c/elementaryFunctions/includes/isinf.h"
"src/c/statisticsFunctions/includes/variance.h"
"src/c/statisticsFunctions/includes/sum.h"
"src/c/statisticsFunctions/includes/mean.h"
@@ -251,6 +253,9 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/specialFunctions/includes/erfcx.h"
"src/c/specialFunctions/includes/erfinv.h"
"src/c/specialFunctions/includes/calerf.h"
+ "src/c/specialFunctions/includes/gamma.h"
+ "src/c/specialFunctions/includes/gammaln.h"
+ "src/c/specialFunctions/includes/beta.h"
"src/c/CACSD/includes/syslin.h"
"src/c/CACSD/includes/lqr.h"
"src/c/CACSD/includes/lqe.h"
@@ -265,6 +270,7 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/linearAlgebra/includes/householder.h"
"src/c/linearAlgebra/includes/fullrf.h"
"src/c/linearAlgebra/includes/rowcomp.h"
+ "src/c/linearAlgebra/includes/range.h"
"src/c/linearAlgebra/includes/rcond.h"
"src/c/linearAlgebra/includes/qr.h"
"src/c/linearAlgebra/includes/spec.h"];
diff --git a/2.3-1/macros/findDeps/getAllInterfaces.sci b/2.3-1/macros/findDeps/getAllInterfaces.sci
index 6a189f30..9a4353b4 100644
--- a/2.3-1/macros/findDeps/getAllInterfaces.sci
+++ b/2.3-1/macros/findDeps/getAllInterfaces.sci
@@ -64,6 +64,7 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/matrixOperations/interfaces/int_norm.h"
"src/c/matrixOperations/interfaces/int_toeplitz.h"
"src/c/matrixOperations/interfaces/int_cross.h"
+ "src/c/matrixOperations/interfaces/int_ndgrid.h"
"src/c/interpolation/interfaces/int_interp1.h"
"src/c/elementaryFunctions/interfaces/int_nextpow2.h"
"src/c/elementaryFunctions/interfaces/int_gcd.h"
@@ -139,6 +140,7 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/elementaryFunctions/interfaces/int_gcd.h"
"src/c/elementaryFunctions/interfaces/int_lcm.h"
"src/c/elementaryFunctions/interfaces/int_isequal.h"
+ "src/c/elementaryFunctions/interfaces/int_isinf.h"
"src/c/statisticsFunctions/interfaces/int_mean.h"
"src/c/statisticsFunctions/interfaces/int_median.h"
"src/c/statisticsFunctions/interfaces/int_nanmedian.h"
@@ -246,6 +248,9 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/specialFunctions/interfaces/int_erfcx.h"
"src/c/specialFunctions/interfaces/int_erfinv.h"
"src/c/specialFunctions/interfaces/int_calerf.h"
+ "src/c/specialFunctions/interfaces/int_gamma.h"
+ "src/c/specialFunctions/interfaces/int_gammaln.h"
+ "src/c/specialFunctions/interfaces/int_beta.h"
"src/c/CACSD/interfaces/int_syslin.h"
"src/c/CACSD/interfaces/int_lqr.h"
"src/c/CACSD/interfaces/int_lqe.h"
@@ -261,6 +266,7 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/linearAlgebra/interfaces/int_householder.h"
"src/c/linearAlgebra/interfaces/int_fullrf.h"
"src/c/linearAlgebra/interfaces/int_rowcomp.h"
+ "src/c/linearAlgebra/interfaces/int_range.h"
"src/c/linearAlgebra/interfaces/int_qr.h";
"src/c/linearAlgebra/interfaces/int_rcond.h"];
diff --git a/2.3-1/macros/findDeps/getAllSources.sci b/2.3-1/macros/findDeps/getAllSources.sci
index bdb3bcc6..4b75c2e1 100644
--- a/2.3-1/macros/findDeps/getAllSources.sci
+++ b/2.3-1/macros/findDeps/getAllSources.sci
@@ -353,6 +353,9 @@ function allSources = getAllSources(SharedInfo,BuildTool)
"src/c/matrixOperations/cross/i8crossa.c"
"src/c/matrixOperations/cross/u16crossa.c"
"src/c/matrixOperations/cross/i16crossa.c"
+ "src/c/matrixOperations/ndgrid/dndgrida.c"
+ "src/c/matrixOperations/ndgrid/sndgrida.c"
+ "src/c/matrixOperations/ndgrid/zndgrida.c"
"src/c/elementaryFunctions/nextpow2/dnextpow2a.c"
"src/c/elementaryFunctions/isreal/sisreals.c"
"src/c/elementaryFunctions/isreal/disreals.c"
@@ -941,6 +944,8 @@ function allSources = getAllSources(SharedInfo,BuildTool)
"src/c/elementaryFunctions/isequal/zisequala.c"
"src/c/elementaryFunctions/isequal/u16isequals.c"
"src/c/elementaryFunctions/isequal/u16isequala.c"
+ "src/c/elementaryFunctions/isinf/disinfs.c"
+ "src/c/elementaryFunctions/isinf/sisinfs.c"
"src/c/statisticsFunctions/max/dmaxa.c"
"src/c/statisticsFunctions/max/smaxa.c"
"src/c/statisticsFunctions/max/srowmaxa.c"
@@ -1508,6 +1513,18 @@ function allSources = getAllSources(SharedInfo,BuildTool)
"src/c/specialFunctions/calerf/dcalerfa.c"
"src/c/specialFunctions/calerf/scalerfs.c"
"src/c/specialFunctions/calerf/scalerfa.c"
+ "src/c/specialFunctions/gamma/dgammas.c"
+ "src/c/specialFunctions/gamma/dgammaa.c"
+ "src/c/specialFunctions/gamma/sgammas.c"
+ "src/c/specialFunctions/gamma/sgammaa.c"
+ "src/c/specialFunctions/gammaln/dgammalns.c"
+ "src/c/specialFunctions/gammaln/dgammalna.c"
+ "src/c/specialFunctions/gammaln/sgammalns.c"
+ "src/c/specialFunctions/gammaln/sgammalna.c"
+ "src/c/specialFunctions/beta/dbetas.c"
+ "src/c/specialFunctions/beta/dbetaa.c"
+ "src/c/specialFunctions/beta/sbetas.c"
+ "src/c/specialFunctions/beta/sbetaa.c"
"src/c/CACSD/syslin/dsyslina.c"
"src/c/CACSD/lqr/dlqra.c"
"src/c/CACSD/lqe/dlqea.c"
@@ -1533,6 +1550,7 @@ function allSources = getAllSources(SharedInfo,BuildTool)
"src/c/linearAlgebra/spec/dspec1a.c"
"src/c/linearAlgebra/fullrf/dfullrfa.c"
"src/c/linearAlgebra/rowcomp/drowcompa.c"
+ "src/c/linearAlgebra/range/drangea.c"
"src/c/linearAlgebra/qr/dqra.c"
"src/c/linearAlgebra/rcond/drconda.c"];
diff --git a/2.3-1/src/c/elementaryFunctions/includes/isinf.h b/2.3-1/src/c/elementaryFunctions/includes/isinf.h
new file mode 100644
index 00000000..6752c377
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/includes/isinf.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 __ISINF_H__
+#define __ISINF_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char disinfs(double x);
+char sisinfs(float x);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__ISINF_H__ */
+
diff --git a/2.3-1/src/c/elementaryFunctions/interfaces/int_isinf.h b/2.3-1/src/c/elementaryFunctions/interfaces/int_isinf.h
new file mode 100644
index 00000000..9eefa658
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/interfaces/int_isinf.h
@@ -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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_ISINF_H__
+#define __INT_ISINF_H__
+
+#define d0isinfg0(in) disinfs(in)
+#define s0isinfg0(in) sisinfs(in)
+
+
+#endif /* !__INT_ISINF_H__ */
diff --git a/2.3-1/src/c/elementaryFunctions/isinf/disinfs.c b/2.3-1/src/c/elementaryFunctions/isinf/disinfs.c
new file mode 100644
index 00000000..1d940051
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/isinf/disinfs.c
@@ -0,0 +1,24 @@
+/* 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 "isinf.h"
+
+char disinfs(double x)
+{
+ char o = 'F';
+ if (x == INFINITY || x == - INFINITY)
+ o = 'T';
+ return o;
+}
diff --git a/2.3-1/src/c/elementaryFunctions/isinf/sisinfs.c b/2.3-1/src/c/elementaryFunctions/isinf/sisinfs.c
new file mode 100644
index 00000000..c36c0a5b
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/isinf/sisinfs.c
@@ -0,0 +1,24 @@
+/* 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 "isinf.h"
+
+char sisinfs(float x)
+{
+ char o = 'F';
+ if (x == INFINITY || x == - INFINITY)
+ o = 'T';
+ return o;
+}
diff --git a/2.3-1/src/c/linearAlgebra/includes/range.h b/2.3-1/src/c/linearAlgebra/includes/range.h
new file mode 100644
index 00000000..cb1d3a3e
--- /dev/null
+++ b/2.3-1/src/c/linearAlgebra/includes/range.h
@@ -0,0 +1,34 @@
+ /* 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 __RANGE_H__
+#define __RANGE_H__
+#include "types.h"
+#include "eye.h"
+#include "rowcomp.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "matrixTranspose.h"
+#include "matrixMultiplication.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double drangea(double* inp1, int row, int col, double inp2, double* out1);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__RANGE_H__*/
diff --git a/2.3-1/src/c/linearAlgebra/interfaces/int_range.h b/2.3-1/src/c/linearAlgebra/interfaces/int_range.h
new file mode 100644
index 00000000..d0c529d8
--- /dev/null
+++ b/2.3-1/src/c/linearAlgebra/interfaces/int_range.h
@@ -0,0 +1,27 @@
+ /* 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_RANGE_H__
+#define __INT_RANGE_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d2d0ranged2d0(in1,size1,in2,out1) drangea(in1,size1[0],size1[1],in2,out1)
+#define d2ranged2d0(in1,size1,out1) drangea(in1,size1[0],size1[1], 1,out1)
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_RANGE_H__*/
diff --git a/2.3-1/src/c/linearAlgebra/range/drangea.c b/2.3-1/src/c/linearAlgebra/range/drangea.c
new file mode 100644
index 00000000..7627f24a
--- /dev/null
+++ b/2.3-1/src/c/linearAlgebra/range/drangea.c
@@ -0,0 +1,78 @@
+/* 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 "range.h"
+
+double drangea(double* inp1, int row, int col, double inp2, double* out1)
+{
+ double a[row*col], aprod[row*col], dim = 0, u[row*row], utrans[row*row], o[row*row], unew[row*col], otemp[row*col];
+ if (inp2 == 0)
+ {
+ deyea(out1, row, col);
+ return row;
+
+ }
+
+ dim = drowcompa(1,inp1,row,col,NULL,0,u);
+
+
+ for(int i = 0; i < row*row; i++)
+ o[i] = u[i];
+
+ for(int i = 0; i < row*col; i++)
+ a[i] = inp1[i];
+
+ dtransposea(u,row,row, utrans);
+
+
+ for(int i = 2; i <= inp2; i++)
+ {
+
+ dmulma(a, row, col, utrans, row, row, aprod);
+
+ for(int i = 0; i < row*col; i++)
+ a[i] = aprod[i];
+
+
+ double acut[row*(int)dim];
+
+ for(int i = 0; i < row*dim; i++)
+ acut[i] = a[i];
+
+
+
+ dim = drowcompa(1,acut,row,(int)dim,NULL,0,unew);
+
+ for(int i = 0; i < row*col; i++)
+ u[i] = unew[i];
+
+
+
+ dmulma(u, row, row, o, row, col, otemp);
+
+ for(int i = 0; i < row*col; i++)
+ o[i] = otemp[i];
+
+
+ }
+
+
+
+ for(int i = 0; i < row*col; i++)
+ out1[i] = o[i];
+
+ return dim;
+
+}
diff --git a/2.3-1/src/c/matrixOperations/includes/ndgrid.h b/2.3-1/src/c/matrixOperations/includes/ndgrid.h
new file mode 100644
index 00000000..2c6f9cfb
--- /dev/null
+++ b/2.3-1/src/c/matrixOperations/includes/ndgrid.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 __NDGRID_H__
+#define __NDGRID_H__
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "ndgrid.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dndgrida(double* inp1, int size1, double* inp2, int size2, double* out1, double* out2);
+void sndgrida(float* inp1, int size1, float* inp2, int size2, float* out1, float* out2);
+void zndgrida(doubleComplex* inp1, int size1, doubleComplex* inp2, int size2, doubleComplex* out1, doubleComplex* out2);
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__NDGRID_H__*/
diff --git a/2.3-1/src/c/matrixOperations/interfaces/int_ndgrid.h b/2.3-1/src/c/matrixOperations/interfaces/int_ndgrid.h
new file mode 100644
index 00000000..b7fd0a65
--- /dev/null
+++ b/2.3-1/src/c/matrixOperations/interfaces/int_ndgrid.h
@@ -0,0 +1,28 @@
+ /* 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_NDGRID_H__
+#define __INT_NDGRID_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d2d2ndgridd2d2(in1,size1,in2,size2,out1,out2) dndgrida(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out1,out2)
+#define s2s2ndgrids2s2(in1,size1,in2,size2,out1,out2) sndgrida(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out1,out2)
+#define z2z2ndgridz2z2(in1,size1,in2,size2,out1,out2) zndgrida(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out1,out2)
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_NDGRID_H__*/
diff --git a/2.3-1/src/c/matrixOperations/ndgrid/dndgrida.c b/2.3-1/src/c/matrixOperations/ndgrid/dndgrida.c
new file mode 100644
index 00000000..d0c1ee0a
--- /dev/null
+++ b/2.3-1/src/c/matrixOperations/ndgrid/dndgrida.c
@@ -0,0 +1,31 @@
+/* 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 "ndgrid.h"
+
+void dndgrida(double* inp1, int size1, double* inp2, int size2, double* out1, double* out2)
+{
+ for(int i = 0; i < size2; i++)
+ {
+ for(int j = 0; j < size1; j++)
+ out1[j + i*size1] = inp1[j];
+ }
+
+ for(int i = 0; i < size2; i++)
+ {
+ for(int j = 0; j < size1; j++)
+ out2[j + i*size1] = inp2[i];
+ }
+}
diff --git a/2.3-1/src/c/matrixOperations/ndgrid/sndgrida.c b/2.3-1/src/c/matrixOperations/ndgrid/sndgrida.c
new file mode 100644
index 00000000..355d85e9
--- /dev/null
+++ b/2.3-1/src/c/matrixOperations/ndgrid/sndgrida.c
@@ -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: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "ndgrid.h"
+
+void sndgrida(float* inp1, int size1, float* inp2, int size2, float* out1, float* out2)
+{
+ for(int i = 0; i < size2; i++)
+ {
+ for(int j = 0; j < size1; j++)
+ out1[j + i*size1] = inp1[j];
+ }
+
+ for(int i = 0; i < size2; i++)
+ {
+ for(int j = 0; j < size1; j++)
+ out2[j + i*size1] = inp2[i];
+ }
+
+}
diff --git a/2.3-1/src/c/matrixOperations/ndgrid/zndgrida.c b/2.3-1/src/c/matrixOperations/ndgrid/zndgrida.c
new file mode 100644
index 00000000..28360e20
--- /dev/null
+++ b/2.3-1/src/c/matrixOperations/ndgrid/zndgrida.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: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "ndgrid.h"
+#include "doubleComplex.h"
+
+void zndgrida(doubleComplex* inp1, int size1, doubleComplex* inp2, int size2, doubleComplex* out1, doubleComplex* out2)
+{
+ for(int i = 0; i < size2; i++)
+ {
+ for(int j = 0; j < size1; j++)
+ {
+ (out1[j + i*size1]) = (inp1[j]);
+ (out1[j + i*size1]) = (inp1[j]);
+ }
+ }
+
+ for(int i = 0; i < size2; i++)
+ {
+ for(int j = 0; j < size1; j++)
+ {
+ (out2[j + i*size1]) = (inp2[i]);
+ (out2[j + i*size1]) = (inp2[i]);
+ }
+ }
+
+}
diff --git a/2.3-1/src/c/specialFunctions/beta/dbetaa.c b/2.3-1/src/c/specialFunctions/beta/dbetaa.c
new file mode 100644
index 00000000..cba98be3
--- /dev/null
+++ b/2.3-1/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/2.3-1/src/c/specialFunctions/beta/dbetas.c b/2.3-1/src/c/specialFunctions/beta/dbetas.c
new file mode 100644
index 00000000..5ef02578
--- /dev/null
+++ b/2.3-1/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/2.3-1/src/c/specialFunctions/beta/sbetaa.c b/2.3-1/src/c/specialFunctions/beta/sbetaa.c
new file mode 100644
index 00000000..f3fc380e
--- /dev/null
+++ b/2.3-1/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/2.3-1/src/c/specialFunctions/beta/sbetas.c b/2.3-1/src/c/specialFunctions/beta/sbetas.c
new file mode 100644
index 00000000..cbe3368b
--- /dev/null
+++ b/2.3-1/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/2.3-1/src/c/specialFunctions/gamma/dgammaa.c b/2.3-1/src/c/specialFunctions/gamma/dgammaa.c
new file mode 100644
index 00000000..e2bfadf9
--- /dev/null
+++ b/2.3-1/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/2.3-1/src/c/specialFunctions/gamma/dgammas.c b/2.3-1/src/c/specialFunctions/gamma/dgammas.c
new file mode 100644
index 00000000..2dae08ce
--- /dev/null
+++ b/2.3-1/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/2.3-1/src/c/specialFunctions/gamma/sgammaa.c b/2.3-1/src/c/specialFunctions/gamma/sgammaa.c
new file mode 100644
index 00000000..4636e344
--- /dev/null
+++ b/2.3-1/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/2.3-1/src/c/specialFunctions/gamma/sgammas.c b/2.3-1/src/c/specialFunctions/gamma/sgammas.c
new file mode 100644
index 00000000..9f2f705a
--- /dev/null
+++ b/2.3-1/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/2.3-1/src/c/specialFunctions/gammaln/dgammalna.c b/2.3-1/src/c/specialFunctions/gammaln/dgammalna.c
new file mode 100644
index 00000000..8a2dd54b
--- /dev/null
+++ b/2.3-1/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/2.3-1/src/c/specialFunctions/gammaln/dgammalns.c b/2.3-1/src/c/specialFunctions/gammaln/dgammalns.c
new file mode 100644
index 00000000..1c6c2918
--- /dev/null
+++ b/2.3-1/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/2.3-1/src/c/specialFunctions/gammaln/sgammalna.c b/2.3-1/src/c/specialFunctions/gammaln/sgammalna.c
new file mode 100644
index 00000000..1760ca92
--- /dev/null
+++ b/2.3-1/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/2.3-1/src/c/specialFunctions/gammaln/sgammalns.c b/2.3-1/src/c/specialFunctions/gammaln/sgammalns.c
new file mode 100644
index 00000000..af4c27fe
--- /dev/null
+++ b/2.3-1/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/2.3-1/src/c/specialFunctions/includes/beta.h b/2.3-1/src/c/specialFunctions/includes/beta.h
new file mode 100644
index 00000000..be0caf69
--- /dev/null
+++ b/2.3-1/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/2.3-1/src/c/specialFunctions/includes/gamma.h b/2.3-1/src/c/specialFunctions/includes/gamma.h
new file mode 100644
index 00000000..bd438b6d
--- /dev/null
+++ b/2.3-1/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/2.3-1/src/c/specialFunctions/includes/gammaln.h b/2.3-1/src/c/specialFunctions/includes/gammaln.h
new file mode 100644
index 00000000..f3af242b
--- /dev/null
+++ b/2.3-1/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/2.3-1/src/c/specialFunctions/interfaces/int_beta.h b/2.3-1/src/c/specialFunctions/interfaces/int_beta.h
new file mode 100644
index 00000000..4f3981ee
--- /dev/null
+++ b/2.3-1/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/2.3-1/src/c/specialFunctions/interfaces/int_gamma.h b/2.3-1/src/c/specialFunctions/interfaces/int_gamma.h
new file mode 100644
index 00000000..b527fddc
--- /dev/null
+++ b/2.3-1/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/2.3-1/src/c/specialFunctions/interfaces/int_gammaln.h b/2.3-1/src/c/specialFunctions/interfaces/int_gammaln.h
new file mode 100644
index 00000000..5be29f1e
--- /dev/null
+++ b/2.3-1/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__*/