diff options
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 Binary files differindex 0df9ece7..67a6802a 100644 --- a/2.3-1/jar/scilab_en_US_help.jar +++ b/2.3-1/jar/scilab_en_US_help.jar 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__*/ |