diff options
27 files changed, 623 insertions, 1 deletions
diff --git a/2.3-1/demos/Brijesh_Demos/test_log2.sci b/2.3-1/demos/Brijesh_Demos/test_log2.sci new file mode 100644 index 00000000..bd1288b2 --- /dev/null +++ b/2.3-1/demos/Brijesh_Demos/test_log2.sci @@ -0,0 +1,14 @@ +function test_log2 + disp('Datatype: Double'); + i1 = [1 2 3; 4 5 6]; + o1 = log2(i1); + disp(o1); + disp('Datatype: float'); + i2 = float([1 2 3; 4 5 6]); + o2 = log2(i2); + disp(o2); + disp('Datatype: Double Complex'); + i3 = [5*%i+6, 3; 1 %i]; + o3 = log2(i3); + disp(o3); +endfunction diff --git a/2.3-1/demos/Brijesh_Demos/test_lu.sci b/2.3-1/demos/Brijesh_Demos/test_lu.sci new file mode 100644 index 00000000..aa7c2013 --- /dev/null +++ b/2.3-1/demos/Brijesh_Demos/test_lu.sci @@ -0,0 +1,11 @@ +function test_lu + disp('Datatype: Double'); + i1 = [1 2 ;3 4 ;5 6;3 4 ;5 6; 7 8]; + [o1, o2] = lu(i1); + disp(o1); + disp(o2); + //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_scaling.sci b/2.3-1/demos/Brijesh_Demos/test_scaling.sci new file mode 100644 index 00000000..19aa7f4c --- /dev/null +++ b/2.3-1/demos/Brijesh_Demos/test_scaling.sci @@ -0,0 +1,15 @@ +function test_scaling + disp("Data Type: Double"); + i1 = [1 2 3; 4 5 6]; + i2 = [5 5]; + o1 = scaling(i1, 10, i2); + disp(o1); + disp("Data Type: Float"); + o2 = scaling(float(i1), 10, float(i2)); + disp(o2); + disp("Data Type: Double Complex"); + i3 = [1 2+%i %i*3; 4 0 6]; + i4 = [5*%i 0]; + o3 = scaling(i3, %i, i4); + disp(o3); +endfunction diff --git a/2.3-1/includes/sci2clib.h b/2.3-1/includes/sci2clib.h index eadf1bf9..06b8e4ab 100644 --- a/2.3-1/includes/sci2clib.h +++ b/2.3-1/includes/sci2clib.h @@ -247,6 +247,9 @@ extern "C" { /* interfacing log */ #include "log.h" #include "int_log.h" +/* interfacing log2 */ +#include "log2.h" +#include "int_log2.h" /* interfacing log10 */ #include "log10.h" #include "int_log10.h" @@ -504,6 +507,9 @@ extern "C" { /* interfacing trace */ #include "matrixTrace.h" #include "int_trace.h" +/* interfacing lu */ +#include "lu.h" +#include "int_lu.h" /* interfacing tranpose */ #include "matrixTranspose.h" #include "int_OpApex.h" @@ -552,6 +558,13 @@ extern "C" { #include "int_ndgrid.h" +/* GRAPHICS */ + +/* interfacing scaling */ +#include "scaling.h" +#include "int_scaling.h" + + /* SIGNAL PROCESSING */ 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 67a6802a..63e33626 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/ASTManagement/AST_HandleFunCC.sci b/2.3-1/macros/ASTManagement/AST_HandleFunCC.sci index 8669ad1f..395a01df 100644 --- a/2.3-1/macros/ASTManagement/AST_HandleFunCC.sci +++ b/2.3-1/macros/ASTManagement/AST_HandleFunCC.sci @@ -101,6 +101,7 @@ end PrintStringInfo('N Input Arguments: '+string(NInArg),ReportFileName,'file','y','n'); PrintStringInfo('N Output Arguments: '+string(NOutArg),ReportFileName,'file','y'); + //#RNU_RES_E for counterinputargs = 1:NInArg //#RNU_RES_B diff --git a/2.3-1/macros/ASTManagement/AST_HandleFuncArray.sci b/2.3-1/macros/ASTManagement/AST_HandleFuncArray.sci index 364e305e..b9ca3c38 100644 --- a/2.3-1/macros/ASTManagement/AST_HandleFuncArray.sci +++ b/2.3-1/macros/ASTManagement/AST_HandleFuncArray.sci @@ -59,5 +59,4 @@ for cntpush = cntpop:-1:1 end - endfunction diff --git a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci index 0025e819..3e634030 100644 --- a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci +++ b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci @@ -1944,6 +1944,11 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file', INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'log2'; // BJ : Done AS : Float_Done
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
FunctionName = 'log10'; // BJ : Done AS : Float_Done
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
@@ -9233,6 +9238,67 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,E INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+//------------------------------------
+//---- Class LU ---------------------
+//------------------------------------
+ClassName = 'lu';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 1',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)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'lu';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+//------------------------------------
+//---- Class SCALING ---------------------
+//------------------------------------
+ClassName = 'scaling';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 3',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('d2d0d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2s0s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('s2d0s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('z2z0z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('z2d0d2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('z2d0z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('z2z0d2'+ArgSeparator+'z2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'scaling';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
//------------------------------------
diff --git a/2.3-1/macros/findDeps/getAllHeaders.sci b/2.3-1/macros/findDeps/getAllHeaders.sci index 4ee9eafb..aba0ec08 100644 --- a/2.3-1/macros/findDeps/getAllHeaders.sci +++ b/2.3-1/macros/findDeps/getAllHeaders.sci @@ -90,6 +90,7 @@ function allHeaders = getAllHeaders(SharedInfo) "src/c/elementaryFunctions/includes/tan.h" "src/c/elementaryFunctions/includes/round.h" "src/c/elementaryFunctions/includes/log10.h" + "src/c/elementaryFunctions/includes/log2.h" "src/c/elementaryFunctions/includes/log1p.h" "src/c/elementaryFunctions/includes/acos.h" "src/c/elementaryFunctions/includes/asin.h" @@ -150,6 +151,7 @@ function allHeaders = getAllHeaders(SharedInfo) "src/c/elementaryFunctions/includes/atand.h" "src/c/elementaryFunctions/includes/isequal.h" "src/c/elementaryFunctions/includes/isinf.h" + "src/c/graphics/transforms/includes/scaling.h" "src/c/statisticsFunctions/includes/variance.h" "src/c/statisticsFunctions/includes/sum.h" "src/c/statisticsFunctions/includes/mean.h" @@ -263,6 +265,7 @@ function allHeaders = getAllHeaders(SharedInfo) "src/c/linearAlgebra/includes/schur.h" "src/c/linearAlgebra/includes/balanc.h" "src/c/linearAlgebra/includes/svd.h" + "src/c/linearAlgebra/includes/lu.h" "src/c/linearAlgebra/includes/hess.h" "src/c/linearAlgebra/includes/sva.h" "src/c/linearAlgebra/includes/sqroot.h" diff --git a/2.3-1/macros/findDeps/getAllInterfaces.sci b/2.3-1/macros/findDeps/getAllInterfaces.sci index 9a4353b4..f57f33b1 100644 --- a/2.3-1/macros/findDeps/getAllInterfaces.sci +++ b/2.3-1/macros/findDeps/getAllInterfaces.sci @@ -79,6 +79,7 @@ function allInterfaces = getAllInterfaces(SharedInfo) "src/c/elementaryFunctions/interfaces/int_lnp1m1.h" "src/c/elementaryFunctions/interfaces/int_round.h" "src/c/elementaryFunctions/interfaces/int_log10.h" + "src/c/elementaryFunctions/interfaces/int_log2.h" "src/c/elementaryFunctions/interfaces/int_log1p.h" "src/c/elementaryFunctions/interfaces/int_floor.h" "src/c/elementaryFunctions/interfaces/int_exp10.h" @@ -141,6 +142,7 @@ function allInterfaces = getAllInterfaces(SharedInfo) "src/c/elementaryFunctions/interfaces/int_lcm.h" "src/c/elementaryFunctions/interfaces/int_isequal.h" "src/c/elementaryFunctions/interfaces/int_isinf.h" + "src/c/graphics/transforms/interfaces/int_scaling.h" "src/c/statisticsFunctions/interfaces/int_mean.h" "src/c/statisticsFunctions/interfaces/int_median.h" "src/c/statisticsFunctions/interfaces/int_nanmedian.h" @@ -259,6 +261,7 @@ function allInterfaces = getAllInterfaces(SharedInfo) "src/c/linearAlgebra/interfaces/int_schur.h" "src/c/linearAlgebra/interfaces/int_balanc.h" "src/c/linearAlgebra/interfaces/int_svd.h" + "src/c/linearAlgebra/interfaces/int_lu.h" "src/c/linearAlgebra/interfaces/int_sqroot.h" "src/c/linearAlgebra/interfaces/int_hess.h" "src/c/linearAlgebra/interfaces/int_sva.h" diff --git a/2.3-1/macros/findDeps/getAllSources.sci b/2.3-1/macros/findDeps/getAllSources.sci index 4b75c2e1..effb893a 100644 --- a/2.3-1/macros/findDeps/getAllSources.sci +++ b/2.3-1/macros/findDeps/getAllSources.sci @@ -627,6 +627,12 @@ function allSources = getAllSources(SharedInfo,BuildTool) "src/c/elementaryFunctions/log10/zlog10s.c" "src/c/elementaryFunctions/log10/slog10a.c" "src/c/elementaryFunctions/log10/slog10s.c" + "src/c/elementaryFunctions/log2/dlog2s.c" + "src/c/elementaryFunctions/log2/dlog2a.c" + "src/c/elementaryFunctions/log2/slog2s.c" + "src/c/elementaryFunctions/log2/slog2a.c" + "src/c/elementaryFunctions/log2/zlog2s.c" + "src/c/elementaryFunctions/log2/zlog2a.c" "src/c/elementaryFunctions/log1p/dlog1pa.c" "src/c/elementaryFunctions/log1p/dlog1ps.c" "src/c/elementaryFunctions/log1p/clog1pa.c" @@ -946,6 +952,9 @@ function allSources = getAllSources(SharedInfo,BuildTool) "src/c/elementaryFunctions/isequal/u16isequala.c" "src/c/elementaryFunctions/isinf/disinfs.c" "src/c/elementaryFunctions/isinf/sisinfs.c" + "src/c/graphics/transforms/scaling/dscalinga.c" + "src/c/graphics/transforms/scaling/sscalinga.c" + "src/c/graphics/transforms/scaling/zscalinga.c" "src/c/statisticsFunctions/max/dmaxa.c" "src/c/statisticsFunctions/max/smaxa.c" "src/c/statisticsFunctions/max/srowmaxa.c" @@ -1541,6 +1550,7 @@ function allSources = getAllSources(SharedInfo,BuildTool) "src/c/linearAlgebra/schur/dgschura.c" "src/c/linearAlgebra/balanc/dbalanca.c" "src/c/linearAlgebra/svd/dsvda.c" + "src/c/linearAlgebra/lu/dlua.c" "src/c/linearAlgebra/svd/zsvda.c" "src/c/linearAlgebra/sqroot/dsqroota.c" "src/c/linearAlgebra/hess/dhessa.c" diff --git a/2.3-1/src/c/elementaryFunctions/includes/log2.h b/2.3-1/src/c/elementaryFunctions/includes/log2.h new file mode 100644 index 00000000..e7b2affb --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/includes/log2.h @@ -0,0 +1,39 @@ + /* 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 __LOG2_H__ +#define __LOG2_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" +#include "types.h" +#include "log.h" + +#ifdef __cplusplus +extern "C" { +#endif + +double dlog2s(double inp); +float slog2s(float inp); +doubleComplex zlog2s(doubleComplex inp); +void dlog2a(double* inp,int size, double* out); +void slog2a(float* inp,int size, float* out); +void zlog2a(doubleComplex* inp,int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__LOG2_H__ */ + diff --git a/2.3-1/src/c/elementaryFunctions/interfaces/int_log2.h b/2.3-1/src/c/elementaryFunctions/interfaces/int_log2.h new file mode 100644 index 00000000..370503cd --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/interfaces/int_log2.h @@ -0,0 +1,33 @@ +/* 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_LOG2_H__ +#define __INT_LOG2_H__ + +#ifdef __cplusplus +extern "C" { +#endif + + + +#define d0log2d0(in1) dlog2s(in1) +#define d2log2d2(in1, size1, out) dlog2a(in1,size1[0]*size1[1], out) +#define s0log2s0(in1) slog2s(in1, in2) +#define s2log2s2(in1, size1, out) slog2a(in1,size1[0]*size1[1], out) +#define z0log2z0(in1) zlog2s(in1, in2) +#define z2log2z2(in1, size1, out) zlog2a(in1,size1[0]*size1[1], out) + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__INT_LOG2_H__*/ diff --git a/2.3-1/src/c/elementaryFunctions/log2/dlog2a.c b/2.3-1/src/c/elementaryFunctions/log2/dlog2a.c new file mode 100644 index 00000000..79047dec --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/log2/dlog2a.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 "log2.h" + +void dlog2a(double* inp,int size, double* out) +{ + for(int i = 0; i<size; i++) + out[i] = dlog2s(inp[i]); +} diff --git a/2.3-1/src/c/elementaryFunctions/log2/dlog2s.c b/2.3-1/src/c/elementaryFunctions/log2/dlog2s.c new file mode 100644 index 00000000..9d2f8ab2 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/log2/dlog2s.c @@ -0,0 +1,21 @@ +/* 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 <math.h> +#include "log2.h" + +double dlog2s(double inp) +{ + return log(inp)/log(2); +} + + diff --git a/2.3-1/src/c/elementaryFunctions/log2/slog2a.c b/2.3-1/src/c/elementaryFunctions/log2/slog2a.c new file mode 100644 index 00000000..04723072 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/log2/slog2a.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 "log2.h" + +void slog2a(float* inp,int size, float* out) +{ + for(int i = 0; i<size; i++) + out[i] = slog2s(inp[i]); +} diff --git a/2.3-1/src/c/elementaryFunctions/log2/slog2s.c b/2.3-1/src/c/elementaryFunctions/log2/slog2s.c new file mode 100644 index 00000000..d162248a --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/log2/slog2s.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 "log2.h" + +float slog2s(float inp) +{ + return log(inp)/log(2); +} diff --git a/2.3-1/src/c/elementaryFunctions/log2/zlog2a.c b/2.3-1/src/c/elementaryFunctions/log2/zlog2a.c new file mode 100644 index 00000000..4cd0b33f --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/log2/zlog2a.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 "log2.h" + +void zlog2a(doubleComplex* inp,int size, doubleComplex* out) +{ + for(int i = 0; i<size; i++) + out[i] = zlog2s(inp[i]); +} diff --git a/2.3-1/src/c/elementaryFunctions/log2/zlog2s.c b/2.3-1/src/c/elementaryFunctions/log2/zlog2s.c new file mode 100644 index 00000000..8447c9e3 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/log2/zlog2s.c @@ -0,0 +1,22 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Author: Brijesh Gupta C R + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ +#include <stdio.h> +#include <math.h> +#include "log2.h" +#include "log.h" + +doubleComplex zlog2s(doubleComplex inp) +{ + return zlogs(inp)/zlogs(2); +} + + diff --git a/2.3-1/src/c/graphics/transforms/includes/scaling.h b/2.3-1/src/c/graphics/transforms/includes/scaling.h new file mode 100644 index 00000000..35d9f24e --- /dev/null +++ b/2.3-1/src/c/graphics/transforms/includes/scaling.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 __SCALING_H__ +#define __SCALING_H__ +#include "types.h" +#include "floatComplex.h" +#include "doubleComplex.h" +#include "uint8.h" +#include "uint16.h" +#include "int16.h" +#include "factorial.h" +#include "ones.h" +#include "matrixMultiplication.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void dscalinga (double* inp1, int row, int col, double inp2, double* inp3, int size3, double* out); +void sscalinga (float* inp1, int row, int col, double inp2, float* inp3, int size3, float* out); +void zscalinga (doubleComplex* inp1, int row, int col, doubleComplex inp2, doubleComplex* inp3, int size3, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__SCALING_H__*/ diff --git a/2.3-1/src/c/graphics/transforms/interfaces/int_scaling.h b/2.3-1/src/c/graphics/transforms/interfaces/int_scaling.h new file mode 100644 index 00000000..61cb5ab8 --- /dev/null +++ b/2.3-1/src/c/graphics/transforms/interfaces/int_scaling.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 __INT_SCALING_H__ +#define __INT_SCALING_H__ + +#ifdef __cplusplus +extern "C" { +#endif + + + +#define d2d0d2scalingd2(in1, size1, in2, in3, size2, out) dscalinga(in1, size1[0], size1[1], in2, in3, size2[0]*size2[1], out) +#define s2s0s2scalings2(in1, size1, in2, in3, size2, out) sscalinga(in1, size1[0], size1[1], in2, in3, size2[0]*size2[1], out) +#define s2d0s2scalings2(in1, size1, in2, in3, size2, out) sscalinga(in1, size1[0], size1[1], in2, in3, size2[0]*size2[1], out) +#define z2z0z2scalingz2(in1, size1, in2, in3, size2, out) zscalinga(in1, size1[0], size1[1], in2, in3, size2[0]*size2[1], out) +#define z2d0d2scalingz2(in1, size1, in2, in3, size2, out) zscalinga(in1, size1[0], size1[1], in2, in3, size2[0]*size2[1], out) +#define z2z0d2scalingz2(in1, size1, in2, in3, size2, out) zscalinga(in1, size1[0], size1[1], in2, in3, size2[0]*size2[1], out) +#define z2d0z2scalingz2(in1, size1, in2, in3, size2, out) zscalinga(in1, size1[0], size1[1], in2, in3, size2[0]*size2[1], out) + + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__INT_SCALING_H__*/ diff --git a/2.3-1/src/c/graphics/transforms/scaling/dscalinga.c b/2.3-1/src/c/graphics/transforms/scaling/dscalinga.c new file mode 100644 index 00000000..24d45733 --- /dev/null +++ b/2.3-1/src/c/graphics/transforms/scaling/dscalinga.c @@ -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 + Organization: FOSSEE, IIT Bombay + Author: Brijesh Gupta C R + Email: toolbox@scilab.in +*/ +#include <stdio.h> +#include <math.h> +#include "scaling.h" +#include "ones.h" +#include "matrixMultiplication.h" + +void dscalinga (double* inp1, int row, int col, double inp2, double* inp3, int size3, double* out) +{ + double temp[row*col], one[col], prod[row*col], diff[row*col]; + + for(int i = 0; i < row*col; i++) + temp[i] = inp1[i]; + + donesa(one, 1, col); + + dmulma(inp3, 2, 1, one, 1, col, prod); + + for(int i = 0; i < row*col; i++) + diff[i] = inp1[i] - prod[i]; + + for(int i = 0; i < row*col; i++) + out[i] = (inp2 * diff[i]) + prod[i]; +} diff --git a/2.3-1/src/c/graphics/transforms/scaling/sscalinga.c b/2.3-1/src/c/graphics/transforms/scaling/sscalinga.c new file mode 100644 index 00000000..1adfcf3e --- /dev/null +++ b/2.3-1/src/c/graphics/transforms/scaling/sscalinga.c @@ -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 + Organization: FOSSEE, IIT Bombay + Author: Brijesh Gupta C R + Email: toolbox@scilab.in +*/ +#include <stdio.h> +#include <math.h> +#include "scaling.h" +#include "ones.h" +#include "matrixMultiplication.h" + +void sscalinga (float* inp1, int row, int col, double inp2, float* inp3, int size3, float* out) +{ + float temp[row*col], one[col], prod[row*col], diff[row*col]; + + for(int i = 0; i < row*col; i++) + temp[i] = inp1[i]; + + sonesa(one, 1, col); + + smulma(inp3, 2, 1, one, 1, col, prod); + + for(int i = 0; i < row*col; i++) + diff[i] = inp1[i] - prod[i]; + + for(int i = 0; i < row*col; i++) + out[i] = (inp2 * diff[i]) + prod[i]; +} diff --git a/2.3-1/src/c/graphics/transforms/scaling/zscalinga.c b/2.3-1/src/c/graphics/transforms/scaling/zscalinga.c new file mode 100644 index 00000000..fb71a77e --- /dev/null +++ b/2.3-1/src/c/graphics/transforms/scaling/zscalinga.c @@ -0,0 +1,38 @@ +/* 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 "scaling.h" +#include "ones.h" +#include "matrixMultiplication.h" +#include "doubleComplex.h" +#include "subtraction.h" +#include "addition.h" +#include "multiplication.h" + +void zscalinga (doubleComplex* inp1, int row, int col, doubleComplex inp2, doubleComplex* inp3, int size3, doubleComplex* out) +{ + doubleComplex temp[row*col], one[col], prod[row*col], diff[row*col]; + + for(int i = 0; i < row*col; i++) + temp[i] = inp1[i]; + + zonesa(one, 1, col); + + zmulma(inp3, 2, 1, one, 1, col, prod); + + for(int i = 0; i < row*col; i++) + diff[i] = zdiffs(inp1[i], prod[i]); + + for(int i = 0; i < row*col; i++) + out[i] = zadds(zmuls(inp2, diff[i]), prod[i]); +} diff --git a/2.3-1/src/c/linearAlgebra/includes/lu.h b/2.3-1/src/c/linearAlgebra/includes/lu.h new file mode 100644 index 00000000..08f46637 --- /dev/null +++ b/2.3-1/src/c/linearAlgebra/includes/lu.h @@ -0,0 +1,33 @@ + /* 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 __LU_H__ +#define __LU_H__ +#include "types.h" +#include "doubleComplex.h" +#include <stdio.h> +#include <stdlib.h> +#include <math.h> +#include "lapack.h" +#include "string.h" +#include "matrixTranspose.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void dlua(double*inp1, int size, double* out1, double* out2); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__LU_H__*/ diff --git a/2.3-1/src/c/linearAlgebra/interfaces/int_lu.h b/2.3-1/src/c/linearAlgebra/interfaces/int_lu.h new file mode 100644 index 00000000..44c258a7 --- /dev/null +++ b/2.3-1/src/c/linearAlgebra/interfaces/int_lu.h @@ -0,0 +1,26 @@ + /* 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_LU_H__ +#define __INT_LU_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#define d2lud2d2(in1,size1, out1,out2) dlua(in1,size1[0]*size1[1],out1,out2) + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__INT_LU_H__*/ diff --git a/2.3-1/src/c/linearAlgebra/lu/dlua.c b/2.3-1/src/c/linearAlgebra/lu/dlua.c new file mode 100644 index 00000000..d3cf6d11 --- /dev/null +++ b/2.3-1/src/c/linearAlgebra/lu/dlua.c @@ -0,0 +1,55 @@ +/* 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 <stdlib.h> +#include <math.h> +#include "lu.h" +#include "lapack.h" +#include "string.h" +#include "matrixTranspose.h" + +extern double dgetrf_ (int* , int* , double* , int* , int* , int* ); + +void dlua(double*inp1, int size, double* out1, double* out2) +{ + char TRANS = 'N'; + int INFO=3; + int LDA = 3; + int LDB = 3; + int N = 3; + int NRHS = 1; + int IPIV[2] ; + + /*double A[9] = + { + 1, 2, 3, + 2, 3, 4, + 3, 4, 1 + };*/ + + //void LAPACK_dgetrf( lapack_int* m, lapack_int* n, double* a, lapack_int* lda, lapack_int* ipiv, lapack_int *info ); +// dgetrf_(&N,&N,inp1,&LDA,IPIV,&INFO); + + dgetrf_(6,2,inp1,6,IPIV,&INFO); + + // checks INFO, if INFO != 0 something goes wrong, for more information see the MAN page of dgetrf. + for(int i = 0; i < 3*3; i++) + printf("%lf \n ", inp1[i]); + + printf("PIVOTTTTTT \n "); + + for(int i = 0; i < 2; i++) + printf("%d \n ", IPIV[i]); + + +} + |