From 09446b579acaf802438810bac018cbf56e1427ca Mon Sep 17 00:00:00 2001 From: Brijeshcr Date: Wed, 12 Jul 2017 20:00:18 +0530 Subject: Isequal added --- includes/sci2clib.h | 4 +++ jar/scilab_en_US_help.jar | Bin 11210 -> 11210 bytes macros/ASTManagement/lib | Bin 2008 -> 2008 bytes macros/CCodeGeneration/lib | Bin 1056 -> 1056 bytes macros/ErrorMessages/lib | Bin 520 -> 520 bytes macros/FunctionAnnotation/lib | Bin 2412 -> 2412 bytes macros/FunctionList/lib | Bin 588 -> 588 bytes macros/GeneralFunctions/lib | Bin 1132 -> 1132 bytes macros/Hardware/AVR/lib | Bin 972 -> 972 bytes macros/Hardware/RasberryPi/lib | Bin 976 -> 976 bytes macros/ImageProcessing/core/lib | Bin 524 -> 524 bytes macros/ImageProcessing/highgui/lib | Bin 584 -> 584 bytes macros/ImageProcessing/imgproc/lib | Bin 752 -> 752 bytes macros/Scilab-Arduino/lib | Bin 716 -> 716 bytes macros/SymbolTable/lib | Bin 752 -> 752 bytes .../ToolInitialization/INIT_FillSCI2LibCDirs.sci | 36 +++++++++++++++++++ macros/findDeps/getAllHeaders.sci | 1 + macros/findDeps/getAllInterfaces.sci | 1 + macros/findDeps/getAllSources.sci | 8 +++++ src/c/elementaryFunctions/includes/isequal.h | 38 ++++++++++++++++++++ src/c/elementaryFunctions/interfaces/int_isequal.h | 35 ++++++++++++++++++ src/c/elementaryFunctions/isequal/disequala.c | 39 ++++++++++++++++++++ src/c/elementaryFunctions/isequal/disequals.c | 24 +++++++++++++ src/c/elementaryFunctions/isequal/sisequala.c | 39 ++++++++++++++++++++ src/c/elementaryFunctions/isequal/sisequals.c | 24 +++++++++++++ src/c/elementaryFunctions/isequal/u16isequala.c | 40 +++++++++++++++++++++ src/c/elementaryFunctions/isequal/u16isequals.c | 25 +++++++++++++ src/c/elementaryFunctions/isequal/zisequala.c | 40 +++++++++++++++++++++ src/c/elementaryFunctions/isequal/zisequals.c | 25 +++++++++++++ 29 files changed, 379 insertions(+) create mode 100644 src/c/elementaryFunctions/includes/isequal.h create mode 100644 src/c/elementaryFunctions/interfaces/int_isequal.h create mode 100644 src/c/elementaryFunctions/isequal/disequala.c create mode 100644 src/c/elementaryFunctions/isequal/disequals.c create mode 100644 src/c/elementaryFunctions/isequal/sisequala.c create mode 100644 src/c/elementaryFunctions/isequal/sisequals.c create mode 100644 src/c/elementaryFunctions/isequal/u16isequala.c create mode 100644 src/c/elementaryFunctions/isequal/u16isequals.c create mode 100644 src/c/elementaryFunctions/isequal/zisequala.c create mode 100644 src/c/elementaryFunctions/isequal/zisequals.c diff --git a/includes/sci2clib.h b/includes/sci2clib.h index b070a90..7b691a0 100644 --- a/includes/sci2clib.h +++ b/includes/sci2clib.h @@ -359,6 +359,10 @@ extern "C" { #include "lcm.h" #include "int_lcm.h" +/*interfacing isequal*/ +#include "isequal.h" +#include "int_isequal.h" + /* IMPLICIT LISTS */ /* interfacing implicitList/OpColon */ diff --git a/jar/scilab_en_US_help.jar b/jar/scilab_en_US_help.jar index d8c468f..0b187e2 100644 Binary files a/jar/scilab_en_US_help.jar and b/jar/scilab_en_US_help.jar differ diff --git a/macros/ASTManagement/lib b/macros/ASTManagement/lib index 5978ea7..dee4362 100644 Binary files a/macros/ASTManagement/lib and b/macros/ASTManagement/lib differ diff --git a/macros/CCodeGeneration/lib b/macros/CCodeGeneration/lib index 3181979..3d4fed1 100644 Binary files a/macros/CCodeGeneration/lib and b/macros/CCodeGeneration/lib differ diff --git a/macros/ErrorMessages/lib b/macros/ErrorMessages/lib index 794d4c0..ba3b9a5 100644 Binary files a/macros/ErrorMessages/lib and b/macros/ErrorMessages/lib differ diff --git a/macros/FunctionAnnotation/lib b/macros/FunctionAnnotation/lib index bb1f47c..239105c 100644 Binary files a/macros/FunctionAnnotation/lib and b/macros/FunctionAnnotation/lib differ diff --git a/macros/FunctionList/lib b/macros/FunctionList/lib index c3274f1..1c722dd 100644 Binary files a/macros/FunctionList/lib and b/macros/FunctionList/lib differ diff --git a/macros/GeneralFunctions/lib b/macros/GeneralFunctions/lib index 1cf5c1f..7586a91 100644 Binary files a/macros/GeneralFunctions/lib and b/macros/GeneralFunctions/lib differ diff --git a/macros/Hardware/AVR/lib b/macros/Hardware/AVR/lib index 069c520..ed4c52b 100644 Binary files a/macros/Hardware/AVR/lib and b/macros/Hardware/AVR/lib differ diff --git a/macros/Hardware/RasberryPi/lib b/macros/Hardware/RasberryPi/lib index 4c85475..eec912f 100644 Binary files a/macros/Hardware/RasberryPi/lib and b/macros/Hardware/RasberryPi/lib differ diff --git a/macros/ImageProcessing/core/lib b/macros/ImageProcessing/core/lib index d80305c..40b7b0a 100644 Binary files a/macros/ImageProcessing/core/lib and b/macros/ImageProcessing/core/lib differ diff --git a/macros/ImageProcessing/highgui/lib b/macros/ImageProcessing/highgui/lib index 1e7f750..0d7f88a 100644 Binary files a/macros/ImageProcessing/highgui/lib and b/macros/ImageProcessing/highgui/lib differ diff --git a/macros/ImageProcessing/imgproc/lib b/macros/ImageProcessing/imgproc/lib index a83978b..63b5e7e 100644 Binary files a/macros/ImageProcessing/imgproc/lib and b/macros/ImageProcessing/imgproc/lib differ diff --git a/macros/Scilab-Arduino/lib b/macros/Scilab-Arduino/lib index f3d5b2f..a62fd4e 100644 Binary files a/macros/Scilab-Arduino/lib and b/macros/Scilab-Arduino/lib differ diff --git a/macros/SymbolTable/lib b/macros/SymbolTable/lib index e66158d..4379c83 100644 Binary files a/macros/SymbolTable/lib and b/macros/SymbolTable/lib differ diff --git a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci index 7dcae8a..56ba417 100644 --- a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci +++ b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci @@ -4836,6 +4836,42 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,E INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); +//------------------------------------ +//---- Class ISEQUAL ---------------- +//------------------------------------ +ClassName = 'isequal'; + +// --- 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'); +//Was FA_TP_USER +//Cause some trouble if user specify some precision and if input(and also output) is complex. +PrintStringInfo('OUT(1).TP= ''g''',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); + + +ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); +PrintStringInfo('d0d0'+ArgSeparator+'g0',ClassFileName,'file','y'); +PrintStringInfo('d2d2'+ArgSeparator+'g0',ClassFileName,'file','y'); +PrintStringInfo('s0s0'+ArgSeparator+'g0',ClassFileName,'file','y'); +PrintStringInfo('s2s2'+ArgSeparator+'g0',ClassFileName,'file','y'); +PrintStringInfo('z0z0'+ArgSeparator+'g0',ClassFileName,'file','y'); +PrintStringInfo('z2z2'+ArgSeparator+'g0',ClassFileName,'file','y'); +PrintStringInfo('u160u160'+ArgSeparator+'g0',ClassFileName,'file','y'); +PrintStringInfo('u162u162'+ArgSeparator+'g0',ClassFileName,'file','y'); + + +// --- Annotation Function And Function List Function. --- +FunctionName = 'isequal'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + + // ------------------- // --- Class Spec. --- // ------------------- diff --git a/macros/findDeps/getAllHeaders.sci b/macros/findDeps/getAllHeaders.sci index 67444f9..ed4a995 100644 --- a/macros/findDeps/getAllHeaders.sci +++ b/macros/findDeps/getAllHeaders.sci @@ -137,6 +137,7 @@ function allHeaders = getAllHeaders(SharedInfo) "src/c/elementaryFunctions/includes/ismatrix.h" "src/c/elementaryFunctions/includes/asind.h" "src/c/elementaryFunctions/includes/atand.h" + "src/c/elementaryFunctions/includes/isequal.h" "src/c/statisticsFunctions/includes/variance.h" "src/c/statisticsFunctions/includes/sum.h" "src/c/statisticsFunctions/includes/mean.h" diff --git a/macros/findDeps/getAllInterfaces.sci b/macros/findDeps/getAllInterfaces.sci index da910a0..e9f19a2 100644 --- a/macros/findDeps/getAllInterfaces.sci +++ b/macros/findDeps/getAllInterfaces.sci @@ -128,6 +128,7 @@ function allInterfaces = getAllInterfaces(SharedInfo) "src/c/elementaryFunctions/interfaces/int_atand.h" "src/c/elementaryFunctions/interfaces/int_gcd.h" "src/c/elementaryFunctions/interfaces/int_lcm.h" + "src/c/elementaryFunctions/interfaces/int_isequal.h" "src/c/statisticsFunctions/interfaces/int_mean.h" "src/c/statisticsFunctions/interfaces/int_meanf.h" "src/c/statisticsFunctions/interfaces/int_stdevf.h" diff --git a/macros/findDeps/getAllSources.sci b/macros/findDeps/getAllSources.sci index ddb3e47..12ce1be 100644 --- a/macros/findDeps/getAllSources.sci +++ b/macros/findDeps/getAllSources.sci @@ -855,6 +855,14 @@ function allSources = getAllSources(SharedInfo,BuildTool) "src/c/elementaryFunctions/atand/satands.c" "src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcda.c" "src/c/elementaryFunctions/discrete_mathematics/lcm/u8lcma.c" + "src/c/elementaryFunctions/isequal/disequals.c" + "src/c/elementaryFunctions/isequal/disequala.c" + "src/c/elementaryFunctions/isequal/sisequals.c" + "src/c/elementaryFunctions/isequal/sisequala.c" + "src/c/elementaryFunctions/isequal/zisequals.c" + "src/c/elementaryFunctions/isequal/zisequala.c" + "src/c/elementaryFunctions/isequal/u16isequals.c" + "src/c/elementaryFunctions/isequal/u16isequala.c" "src/c/statisticsFunctions/max/dmaxa.c" "src/c/statisticsFunctions/max/smaxa.c" "src/c/statisticsFunctions/max/srowmaxa.c" diff --git a/src/c/elementaryFunctions/includes/isequal.h b/src/c/elementaryFunctions/includes/isequal.h new file mode 100644 index 0000000..d22a804 --- /dev/null +++ b/src/c/elementaryFunctions/includes/isequal.h @@ -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 + Author: Brijesh Gupta C R + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in + */ + +#ifndef __ISEQUAL_H__ +#define __ISEQUAL_H__ +#include "types.h" +#include "doubleComplex.h" +#include "floatComplex.h" +#include "uint16.h" + +#ifdef __cplusplus +extern "C" { +#endif + +char disequals(double inp1, double inp2); +char disequala(double* inp1, int size1r, int size1c, double* inp2, int size2r, int size2c); +char sisequals(float inp1, float inp2); +char sisequala(float* inp1, int size1r, int size1c, float* inp2, int size2r, int size2c); +char zisequals(doubleComplex inp1, doubleComplex inp2); +char zisequala(doubleComplex* inp1, int size1r, int size1c, doubleComplex* inp2, int size2r, int size2c); +char u16isequals(uint16 inp1, uint16 inp2); +char u16isequala(uint16* inp1, int size1r, int size1c, uint16* inp2, int size2r, int size2c); + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__ISEQUAL_H__*/ diff --git a/src/c/elementaryFunctions/interfaces/int_isequal.h b/src/c/elementaryFunctions/interfaces/int_isequal.h new file mode 100644 index 0000000..d22ab65 --- /dev/null +++ b/src/c/elementaryFunctions/interfaces/int_isequal.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_ISEQUAL_H__ +#define __INT_ISEQUAL_H__ + +#ifdef __cplusplus +extern "C" { +#endif + + + +#define d0d0isequalg0(in1,in2) disequals(in1,in2) +#define d2d2isequalg0(in1, s1, in2, s2) disequala(in1, s1[0], s1[1], in2, s2[0], s2[1]) +#define s0s0isequalg0(in1,in2) sisequals(in1,in2) +#define s2s2isequalg0(in1, s1, in2, s2) sisequala(in1, s1[0], s1[1], in2, s2[0], s2[1]) +#define z0z0isequalg0(in1,in2) zisequals(in1,in2) +#define z2z2isequalg0(in1, s1, in2, s2) zisequala(in1, s1[0], s1[1], in2, s2[0], s2[1]) +#define u160u160isequalg0(in1,in2) u16isequals(in1,in2) +#define u162u162isequalg0(in1, s1, in2, s2) u16isequala(in1, s1[0], s1[1], in2, s2[0], s2[1]) + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__INT_ISEQUAL_H__*/ diff --git a/src/c/elementaryFunctions/isequal/disequala.c b/src/c/elementaryFunctions/isequal/disequala.c new file mode 100644 index 0000000..8781ac7 --- /dev/null +++ b/src/c/elementaryFunctions/isequal/disequala.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 +#include +#include + +char disequala(double* inp1, int size1r, int size1c, double* inp2, int size2r, int size2c) +{ + if ((size1r != size2r) && (size1c != size2c)) + return 'F'; + else + { + int i, f = 0; + for (i = 0; i +#include +#include + +char disequals(double inp1, double inp2) +{ + if (inp1 == inp2) + return 'T'; + else + return 'F'; +} + diff --git a/src/c/elementaryFunctions/isequal/sisequala.c b/src/c/elementaryFunctions/isequal/sisequala.c new file mode 100644 index 0000000..2634efd --- /dev/null +++ b/src/c/elementaryFunctions/isequal/sisequala.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 +#include +#include + +char sisequala(float* inp1, int size1r, int size1c, float* inp2, int size2r, int size2c) +{ + if ((size1r != size2r) && (size1c != size2c)) + return 'F'; + else + { + int i, f = 0; + for (i = 0; i +#include +#include + +char sisequals(float inp1, float inp2) +{ + if (inp1 == inp2) + return 'T'; + else + return 'F'; +} + diff --git a/src/c/elementaryFunctions/isequal/u16isequala.c b/src/c/elementaryFunctions/isequal/u16isequala.c new file mode 100644 index 0000000..62de1e8 --- /dev/null +++ b/src/c/elementaryFunctions/isequal/u16isequala.c @@ -0,0 +1,40 @@ +/* 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 +#include +#include +#include "uint16.h" + +char u16isequala(uint16* inp1, int size1r, int size1c, uint16* inp2, int size2r, int size2c) +{ + if ((size1r != size2r) && (size1c != size2c)) + return 'F'; + else + { + int i, f = 0; + for (i = 0; i +#include +#include +#include "uint16.h" + +char u16isequals(uint16 inp1, uint16 inp2) +{ + if (inp1 == inp2) + return 'T'; + else + return 'F'; +} + diff --git a/src/c/elementaryFunctions/isequal/zisequala.c b/src/c/elementaryFunctions/isequal/zisequala.c new file mode 100644 index 0000000..13d241f --- /dev/null +++ b/src/c/elementaryFunctions/isequal/zisequala.c @@ -0,0 +1,40 @@ +/* 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 +#include +#include +#include "doubleComplex.h" + +char zisequala(doubleComplex* inp1, int size1r, int size1c, doubleComplex* inp2, int size2r, int size2c) +{ + if ((size1r != size2r) && (size1c != size2c)) + return 'F'; + else + { + int i, f = 0; + for (i = 0; i +#include +#include +#include "doubleComplex.h" + +char zisequals(doubleComplex inp1, doubleComplex inp2) +{ + if ((zreals(inp1) == zreals(inp2)) && (zimags(inp1) == zimags(inp2))) + return 'T'; + else + return 'F'; +} + -- cgit