From 82e50ba319fc2c531bde168df4b23fa28b990d56 Mon Sep 17 00:00:00 2001 From: imushir Date: Fri, 22 Jan 2016 16:01:46 +0530 Subject: added support of uint8,uint16 for bitwise operators --- includes/sci2clib.h | 34 +++++ .../ToolInitialization/INIT_FillSCI2LibCDirs.sci | 154 +++++++++++++++++++++ macros/findDeps/getAllHeaders.sci | 6 + macros/findDeps/getAllInterfaces.sci | 6 + macros/findDeps/getAllSources.sci | 20 +++ src/c/elementaryFunctions/bitand/u16bitanda.c | 14 ++ src/c/elementaryFunctions/bitand/u16bitands.c | 9 ++ src/c/elementaryFunctions/bitand/u8bitanda.c | 14 ++ src/c/elementaryFunctions/bitand/u8bitands.c | 9 ++ src/c/elementaryFunctions/bitcmp/u16bitcmpa.c | 16 +++ src/c/elementaryFunctions/bitcmp/u16bitcmps.c | 11 ++ src/c/elementaryFunctions/bitcmp/u8bitcmpa.c | 16 +++ src/c/elementaryFunctions/bitcmp/u8bitcmps.c | 11 ++ src/c/elementaryFunctions/bitget/u16bitgets.c | 24 ++++ src/c/elementaryFunctions/bitget/u16bitgets.c~ | 24 ++++ src/c/elementaryFunctions/bitget/u8bitgets.c | 24 ++++ src/c/elementaryFunctions/bitget/u8bitgets.c~ | 24 ++++ src/c/elementaryFunctions/bitor/dbitanda.c~ | 14 ++ src/c/elementaryFunctions/bitor/dbitands.c~ | 9 ++ src/c/elementaryFunctions/bitor/u16bitanda.c~ | 14 ++ src/c/elementaryFunctions/bitor/u16bitands.c~ | 9 ++ src/c/elementaryFunctions/bitor/u16bitora.c | 14 ++ src/c/elementaryFunctions/bitor/u16bitora.c~ | 14 ++ src/c/elementaryFunctions/bitor/u16bitors.c | 9 ++ src/c/elementaryFunctions/bitor/u16bitors.c~ | 9 ++ src/c/elementaryFunctions/bitor/u8bitanda.c~ | 14 ++ src/c/elementaryFunctions/bitor/u8bitands.c~ | 9 ++ src/c/elementaryFunctions/bitor/u8bitora.c | 14 ++ src/c/elementaryFunctions/bitor/u8bitora.c~ | 14 ++ src/c/elementaryFunctions/bitor/u8bitors.c | 9 ++ src/c/elementaryFunctions/bitor/u8bitors.c~ | 9 ++ src/c/elementaryFunctions/bitset/u16bitsets.c | 20 +++ src/c/elementaryFunctions/bitset/u16bitsets.c~ | 20 +++ src/c/elementaryFunctions/bitset/u8bitsets.c | 20 +++ src/c/elementaryFunctions/bitset/u8bitsets.c~ | 20 +++ src/c/elementaryFunctions/bitxor/dbitanda.c~ | 14 ++ src/c/elementaryFunctions/bitxor/dbitands.c~ | 9 ++ src/c/elementaryFunctions/bitxor/u16bitanda.c~ | 14 ++ src/c/elementaryFunctions/bitxor/u16bitands.c~ | 9 ++ src/c/elementaryFunctions/bitxor/u16bitora.c~ | 14 ++ src/c/elementaryFunctions/bitxor/u16bitors.c~ | 9 ++ src/c/elementaryFunctions/bitxor/u16bitxora.c | 14 ++ src/c/elementaryFunctions/bitxor/u16bitxora.c~ | 14 ++ src/c/elementaryFunctions/bitxor/u16bitxors.c | 9 ++ src/c/elementaryFunctions/bitxor/u16bitxors.c~ | 9 ++ src/c/elementaryFunctions/bitxor/u8bitanda.c~ | 14 ++ src/c/elementaryFunctions/bitxor/u8bitands.c~ | 9 ++ src/c/elementaryFunctions/bitxor/u8bitora.c~ | 14 ++ src/c/elementaryFunctions/bitxor/u8bitors.c~ | 9 ++ src/c/elementaryFunctions/bitxor/u8bitxora.c | 14 ++ src/c/elementaryFunctions/bitxor/u8bitxora.c~ | 14 ++ src/c/elementaryFunctions/bitxor/u8bitxors.c | 9 ++ src/c/elementaryFunctions/bitxor/u8bitxors.c~ | 9 ++ src/c/elementaryFunctions/includes/bitand.h | 39 ++++++ src/c/elementaryFunctions/includes/bitcmp.h | 38 +++++ src/c/elementaryFunctions/includes/bitget.h | 25 ++++ src/c/elementaryFunctions/includes/bitor.h | 38 +++++ src/c/elementaryFunctions/includes/bitset.h | 25 ++++ src/c/elementaryFunctions/includes/bitxor.h | 38 +++++ src/c/elementaryFunctions/interfaces/int_bitand.h | 16 +++ src/c/elementaryFunctions/interfaces/int_bitcmp.h | 16 +++ src/c/elementaryFunctions/interfaces/int_bitget.h | 10 ++ src/c/elementaryFunctions/interfaces/int_bitor.h | 16 +++ src/c/elementaryFunctions/interfaces/int_bitset.h | 13 ++ src/c/elementaryFunctions/interfaces/int_bitxor.h | 16 +++ 65 files changed, 1154 insertions(+) create mode 100644 src/c/elementaryFunctions/bitand/u16bitanda.c create mode 100644 src/c/elementaryFunctions/bitand/u16bitands.c create mode 100644 src/c/elementaryFunctions/bitand/u8bitanda.c create mode 100644 src/c/elementaryFunctions/bitand/u8bitands.c create mode 100644 src/c/elementaryFunctions/bitcmp/u16bitcmpa.c create mode 100644 src/c/elementaryFunctions/bitcmp/u16bitcmps.c create mode 100644 src/c/elementaryFunctions/bitcmp/u8bitcmpa.c create mode 100644 src/c/elementaryFunctions/bitcmp/u8bitcmps.c create mode 100644 src/c/elementaryFunctions/bitget/u16bitgets.c create mode 100644 src/c/elementaryFunctions/bitget/u16bitgets.c~ create mode 100644 src/c/elementaryFunctions/bitget/u8bitgets.c create mode 100644 src/c/elementaryFunctions/bitget/u8bitgets.c~ create mode 100644 src/c/elementaryFunctions/bitor/dbitanda.c~ create mode 100644 src/c/elementaryFunctions/bitor/dbitands.c~ create mode 100644 src/c/elementaryFunctions/bitor/u16bitanda.c~ create mode 100644 src/c/elementaryFunctions/bitor/u16bitands.c~ create mode 100644 src/c/elementaryFunctions/bitor/u16bitora.c create mode 100644 src/c/elementaryFunctions/bitor/u16bitora.c~ create mode 100644 src/c/elementaryFunctions/bitor/u16bitors.c create mode 100644 src/c/elementaryFunctions/bitor/u16bitors.c~ create mode 100644 src/c/elementaryFunctions/bitor/u8bitanda.c~ create mode 100644 src/c/elementaryFunctions/bitor/u8bitands.c~ create mode 100644 src/c/elementaryFunctions/bitor/u8bitora.c create mode 100644 src/c/elementaryFunctions/bitor/u8bitora.c~ create mode 100644 src/c/elementaryFunctions/bitor/u8bitors.c create mode 100644 src/c/elementaryFunctions/bitor/u8bitors.c~ create mode 100644 src/c/elementaryFunctions/bitset/u16bitsets.c create mode 100644 src/c/elementaryFunctions/bitset/u16bitsets.c~ create mode 100644 src/c/elementaryFunctions/bitset/u8bitsets.c create mode 100644 src/c/elementaryFunctions/bitset/u8bitsets.c~ create mode 100644 src/c/elementaryFunctions/bitxor/dbitanda.c~ create mode 100644 src/c/elementaryFunctions/bitxor/dbitands.c~ create mode 100644 src/c/elementaryFunctions/bitxor/u16bitanda.c~ create mode 100644 src/c/elementaryFunctions/bitxor/u16bitands.c~ create mode 100644 src/c/elementaryFunctions/bitxor/u16bitora.c~ create mode 100644 src/c/elementaryFunctions/bitxor/u16bitors.c~ create mode 100644 src/c/elementaryFunctions/bitxor/u16bitxora.c create mode 100644 src/c/elementaryFunctions/bitxor/u16bitxora.c~ create mode 100644 src/c/elementaryFunctions/bitxor/u16bitxors.c create mode 100644 src/c/elementaryFunctions/bitxor/u16bitxors.c~ create mode 100644 src/c/elementaryFunctions/bitxor/u8bitanda.c~ create mode 100644 src/c/elementaryFunctions/bitxor/u8bitands.c~ create mode 100644 src/c/elementaryFunctions/bitxor/u8bitora.c~ create mode 100644 src/c/elementaryFunctions/bitxor/u8bitors.c~ create mode 100644 src/c/elementaryFunctions/bitxor/u8bitxora.c create mode 100644 src/c/elementaryFunctions/bitxor/u8bitxora.c~ create mode 100644 src/c/elementaryFunctions/bitxor/u8bitxors.c create mode 100644 src/c/elementaryFunctions/bitxor/u8bitxors.c~ create mode 100644 src/c/elementaryFunctions/includes/bitand.h create mode 100644 src/c/elementaryFunctions/includes/bitcmp.h create mode 100644 src/c/elementaryFunctions/includes/bitget.h create mode 100644 src/c/elementaryFunctions/includes/bitor.h create mode 100644 src/c/elementaryFunctions/includes/bitset.h create mode 100644 src/c/elementaryFunctions/includes/bitxor.h create mode 100644 src/c/elementaryFunctions/interfaces/int_bitand.h create mode 100644 src/c/elementaryFunctions/interfaces/int_bitcmp.h create mode 100644 src/c/elementaryFunctions/interfaces/int_bitget.h create mode 100644 src/c/elementaryFunctions/interfaces/int_bitor.h create mode 100644 src/c/elementaryFunctions/interfaces/int_bitset.h create mode 100644 src/c/elementaryFunctions/interfaces/int_bitxor.h diff --git a/includes/sci2clib.h b/includes/sci2clib.h index 3dc5820e..65533aa8 100644 --- a/includes/sci2clib.h +++ b/includes/sci2clib.h @@ -187,6 +187,30 @@ #include "int16.h" #include "int_int16.h" +/*interfacing bitand */ +#include "bitand.h" +#include "int_bitand.h" + +/*interfacing bitor */ +#include "bitor.h" +#include "int_bitor.h" + +/*interfacing bitxor */ +#include "bitxor.h" +#include "int_bitxor.h" + +/*interfacing bitcmp */ +#include "bitcmp.h" +#include "int_bitcmp.h" + +/*interfacing bitset */ +#include "bitset.h" +#include "int_bitset.h" + +/*interfacing bitget */ +#include "bitget.h" +#include "int_bitget.h" + /* IMPLICIT LISTS */ /* interfacing implicitList/OpColon */ @@ -329,6 +353,12 @@ #include "types.h" +/* STRING*? +/* interface for String */ +#include "int_string.h" +/*include for string */ +#include "str.h" + /*Scilab-arduino toolbox*/ #ifdef Arduino1 #include "int_cmd_digital_out.h" @@ -344,6 +374,10 @@ #include "cmd_dcmotor_setup.h" #include "int_sleep.h" #include "sleep.h" +#include "cmd_servo_attach.h" +#include "cmd_servo_detach.h" +#include "cmd_servo_move.h" +#include "int_cmd_servo.h" #endif /*AVR*/ diff --git a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci index 55c43ad2..e832b83c 100644 --- a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci +++ b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci @@ -557,6 +557,157 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file', INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + + + + +// ------------------- +// --- Class bitand. --- +// ------------------- +ClassName = 'bitand'; + +// --- 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'); + +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'); + +// --- Function List Class. --- +ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); + + +PrintStringInfo('u80u80'+ArgSeparator+'u80',ClassFileName,'file','y'); +PrintStringInfo('u82u82'+ArgSeparator+'u82',ClassFileName,'file','y'); +PrintStringInfo('u160u160'+ArgSeparator+'u160',ClassFileName,'file','y'); +PrintStringInfo('u162u162'+ArgSeparator+'u162',ClassFileName,'file','y'); + + +// --- Annotation Function And Function List Function. --- +FunctionName = 'bitand'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + +// --- Annotation Function And Function List Function. --- +FunctionName = 'bitor'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + +// --- Annotation Function And Function List Function. --- +FunctionName = 'bitxor'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + + + + +// ------------------- +// --- Class bitcmp. --- +// ------------------- +ClassName = 'bitcmp'; + +// --- 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'); + +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'); + +// --- Function List Class. --- +ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); + + +PrintStringInfo('u80d0'+ArgSeparator+'u80',ClassFileName,'file','y'); +PrintStringInfo('u82d0'+ArgSeparator+'u82',ClassFileName,'file','y'); +PrintStringInfo('u160d0'+ArgSeparator+'u160',ClassFileName,'file','y'); +PrintStringInfo('u162d0'+ArgSeparator+'u162',ClassFileName,'file','y'); + +// --- Annotation Function And Function List Function. --- +FunctionName = 'bitcmp'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + +// ------------------- +// --- Class bitset. --- +// ------------------- +ClassName = 'bitset'; + +// --- 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'); + +// --- Function List Class. --- +ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); + + +PrintStringInfo('u80d0d0'+ArgSeparator+'u80',ClassFileName,'file','y'); +PrintStringInfo('u160d0d0'+ArgSeparator+'u160',ClassFileName,'file','y'); + +// --- Annotation Function And Function List Function. --- +FunctionName = 'bitset'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + + + +// ------------------- +// --- Class bitget. --- +// ------------------- +ClassName = 'bitget'; + +// --- 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'); + +// --- Function List Class. --- +ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); + + +PrintStringInfo('u80d0'+ArgSeparator+'u80',ClassFileName,'file','y'); +PrintStringInfo('u160d0'+ArgSeparator+'u160',ClassFileName,'file','y'); + +// --- Annotation Function And Function List Function. --- +FunctionName = 'bitget'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + + + + // ------------------ // --- Class Sign --- // ------------------ @@ -976,6 +1127,7 @@ PrintStringInfo('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y'); PrintStringInfo('c0c0'+ArgSeparator+'c0',ClassFileName,'file','y'); PrintStringInfo('c0s0'+ArgSeparator+'c0',ClassFileName,'file','y'); PrintStringInfo('z0d0'+ArgSeparator+'z0',ClassFileName,'file','y'); + PrintStringInfo('s2s0'+ArgSeparator+'s0',ClassFileName,'file','y'); //* possible ? */ PrintStringInfo('d2d0'+ArgSeparator+'d0',ClassFileName,'file','y'); //* possible ? */ PrintStringInfo('c2s0'+ArgSeparator+'c0',ClassFileName,'file','y'); //* possible ? */ @@ -2061,6 +2213,7 @@ PrintStringInfo('i162i162'+ArgSeparator+'i162',ClassFileName,'file','y'); // --- Annotation Function And Function List Function. --- + FunctionName = 'OpMinus'; // AS : Done AS : Float_Done PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); @@ -3761,6 +3914,7 @@ PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y'); PrintStringInfo('d2d2'+ArgSeparator+'d2',ClassFileName,'file','y'); PrintStringInfo('u80u80'+ArgSeparator+'u80',ClassFileName,'file','y'); + PrintStringInfo('u80u82'+ArgSeparator+'u82',ClassFileName,'file','y'); PrintStringInfo('u82u80'+ArgSeparator+'u82',ClassFileName,'file','y'); PrintStringInfo('u82u82'+ArgSeparator+'u82',ClassFileName,'file','y'); diff --git a/macros/findDeps/getAllHeaders.sci b/macros/findDeps/getAllHeaders.sci index 90010058..2678d9e9 100644 --- a/macros/findDeps/getAllHeaders.sci +++ b/macros/findDeps/getAllHeaders.sci @@ -87,6 +87,12 @@ function allHeaders = getAllHeaders(OutFormat) "src/c/elementaryFunctions/includes/lnp1m1.h" "src/c/elementaryFunctions/includes/tanh.h" "src/c/elementaryFunctions/includes/sqrt.h" + "src/c/elementaryFunctions/includes/bitand.h" + "src/c/elementaryFunctions/includes/bitor.h" + "src/c/elementaryFunctions/includes/bitxor.h" + "src/c/elementaryFunctions/includes/bitcmp.h" + "src/c/elementaryFunctions/includes/bitset.h" + "src/c/elementaryFunctions/includes/bitget.h" "src/c/elementaryFunctions/includes/asinh.h" "src/c/elementaryFunctions/includes/atan2.h" "src/c/elementaryFunctions/includes/atanh.h" diff --git a/macros/findDeps/getAllInterfaces.sci b/macros/findDeps/getAllInterfaces.sci index aa6776c8..649210b8 100644 --- a/macros/findDeps/getAllInterfaces.sci +++ b/macros/findDeps/getAllInterfaces.sci @@ -77,6 +77,12 @@ function allInterfaces = getAllInterfaces(OutFormat) "src/c/elementaryFunctions/interfaces/int_asin.h" "src/c/elementaryFunctions/interfaces/int_atan.h" "src/c/elementaryFunctions/interfaces/int_ceil.h" + "src/c/elementaryFunctions/interfaces/int_bitand.h" + "src/c/elementaryFunctions/interfaces/int_bitor.h" + "src/c/elementaryFunctions/interfaces/int_bitxor.h" + "src/c/elementaryFunctions/interfaces/int_bitcmp.h" + "src/c/elementaryFunctions/interfaces/int_bitset.h" + "src/c/elementaryFunctions/interfaces/int_bitget.h" "src/c/elementaryFunctions/interfaces/int_cosh.h" "src/c/elementaryFunctions/interfaces/int_uint8.h" "src/c/elementaryFunctions/interfaces/int_int8.h" diff --git a/macros/findDeps/getAllSources.sci b/macros/findDeps/getAllSources.sci index e8b86c44..0dc0fdea 100644 --- a/macros/findDeps/getAllSources.sci +++ b/macros/findDeps/getAllSources.sci @@ -570,6 +570,26 @@ function allSources = getAllSources(OutFormat) "src/c/elementaryFunctions/int16/i8int16a.c" "src/c/elementaryFunctions/int16/u16int16s.c" "src/c/elementaryFunctions/int16/u16int16a.c" + "src/c/elementaryFunctions/bitand/u8bitands.c" + "src/c/elementaryFunctions/bitand/u8bitanda.c" + "src/c/elementaryFunctions/bitand/u16bitands.c" + "src/c/elementaryFunctions/bitand/u16bitanda.c" + "src/c/elementaryFunctions/bitor/u8bitors.c" + "src/c/elementaryFunctions/bitor/u8bitora.c" + "src/c/elementaryFunctions/bitor/u16bitors.c" + "src/c/elementaryFunctions/bitor/u16bitora.c" + "src/c/elementaryFunctions/bitxor/u8bitxors.c" + "src/c/elementaryFunctions/bitxor/u8bitxora.c" + "src/c/elementaryFunctions/bitxor/u16bitxors.c" + "src/c/elementaryFunctions/bitxor/u16bitxora.c" + "src/c/elementaryFunctions/bitcmp/u8bitcmps.c" + "src/c/elementaryFunctions/bitcmp/u8bitcmpa.c" + "src/c/elementaryFunctions/bitcmp/u16bitcmps.c" + "src/c/elementaryFunctions/bitcmp/u16bitcmpa.c" + "src/c/elementaryFunctions/bitset/u8bitsets.c" + "src/c/elementaryFunctions/bitset/u16bitsets.c" + "src/c/elementaryFunctions/bitget/u8bitgets.c" + "src/c/elementaryFunctions/bitget/u16bitgets.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/bitand/u16bitanda.c b/src/c/elementaryFunctions/bitand/u16bitanda.c new file mode 100644 index 00000000..743161ea --- /dev/null +++ b/src/c/elementaryFunctions/bitand/u16bitanda.c @@ -0,0 +1,14 @@ +/* Scilab2C FOSSEE IITB */ +#include "bitand.h" + +void u16bitanda(uint16* x,uint16* y,int size,uint16* out) +{ + int i = 0; + for(i=0;i + +uint16 u16bitgets(uint16 value,int position) +{ + + value = value >> (position -1); + value = value & 1; + return value; + + /*unsigned char mask = 1<<(position-1); + uint16 bit = value&mask; + if(bit > 0) + { + return 1; + } + else + { + return 0; + }*/ + +} diff --git a/src/c/elementaryFunctions/bitget/u16bitgets.c~ b/src/c/elementaryFunctions/bitget/u16bitgets.c~ new file mode 100644 index 00000000..20593bff --- /dev/null +++ b/src/c/elementaryFunctions/bitget/u16bitgets.c~ @@ -0,0 +1,24 @@ +/* Scilab2C FOSSEE IITB */ + +#include "bitget.h" +#include + +uint16 u16bitgets(uint16 value,int position) +{ + + value = value >> (position -1); + value = value & 1; + return value; + + /*unsigned char mask = 1<<(position-1); + uint16 bit = value&mask; + if(bit > 0) + { + return 1; + } + else + { + return 0; + }*/ + +} diff --git a/src/c/elementaryFunctions/bitget/u8bitgets.c b/src/c/elementaryFunctions/bitget/u8bitgets.c new file mode 100644 index 00000000..130bff86 --- /dev/null +++ b/src/c/elementaryFunctions/bitget/u8bitgets.c @@ -0,0 +1,24 @@ +/* Scilab2C FOSSEE IITB */ + +#include "bitget.h" +#include + +uint8 u8bitgets(uint8 value,int position) +{ + + value = value >> (position -1); + value = value & 1; + return value; + + /*unsigned char mask = 1<<(position-1); + uint8 bit = value&mask; + if(bit > 0) + { + return 1; + } + else + { + return 0; + }*/ + +} diff --git a/src/c/elementaryFunctions/bitget/u8bitgets.c~ b/src/c/elementaryFunctions/bitget/u8bitgets.c~ new file mode 100644 index 00000000..130bff86 --- /dev/null +++ b/src/c/elementaryFunctions/bitget/u8bitgets.c~ @@ -0,0 +1,24 @@ +/* Scilab2C FOSSEE IITB */ + +#include "bitget.h" +#include + +uint8 u8bitgets(uint8 value,int position) +{ + + value = value >> (position -1); + value = value & 1; + return value; + + /*unsigned char mask = 1<<(position-1); + uint8 bit = value&mask; + if(bit > 0) + { + return 1; + } + else + { + return 0; + }*/ + +} diff --git a/src/c/elementaryFunctions/bitor/dbitanda.c~ b/src/c/elementaryFunctions/bitor/dbitanda.c~ new file mode 100644 index 00000000..d411e6e4 --- /dev/null +++ b/src/c/elementaryFunctions/bitor/dbitanda.c~ @@ -0,0 +1,14 @@ +/* Scilab2C FOSSEE IITB */ +#include "bitand.h" + +void dbitanda(double* x,double* y,int size,double* out) +{ + int i = 0; + for(i=0;i + +uint16 u16bitsets(uint16 value,int position,int bit_value) +{ + if(bit_value==1) + { + unsigned char mask1 = 1 << (position-1) ; // we could cast to unsigned char, just to be safe + return (mask1 | value); + } + else + { + unsigned char mask2 = ~(1 << (position-1)); // we could cast to unsigned char, just to be safe + return (mask2 & value); + + } + +} diff --git a/src/c/elementaryFunctions/bitset/u16bitsets.c~ b/src/c/elementaryFunctions/bitset/u16bitsets.c~ new file mode 100644 index 00000000..953e46c9 --- /dev/null +++ b/src/c/elementaryFunctions/bitset/u16bitsets.c~ @@ -0,0 +1,20 @@ +/* Scilab2C FOSSEE IITB */ + +#include "bitset.h" +#include + +uint16 u16bitsets(uint16 value,int position,int bit_value) +{ + if(bit_value==1) + { + unsigned char mask1 = 1 << (position-1) ; // we could cast to unsigned char, just to be safe + return (mask1 | value); + } + else + { + unsigned char mask2 = ~(1 << (position-1)); // we could cast to unsigned char, just to be safe + return (mask2 & value); + + } + +} diff --git a/src/c/elementaryFunctions/bitset/u8bitsets.c b/src/c/elementaryFunctions/bitset/u8bitsets.c new file mode 100644 index 00000000..5f44dcd8 --- /dev/null +++ b/src/c/elementaryFunctions/bitset/u8bitsets.c @@ -0,0 +1,20 @@ +/* Scilab2C FOSSEE IITB */ + +#include "bitset.h" +#include + +uint8 u8bitsets(uint8 value,int position,int bit_value) +{ + if(bit_value==1) + { + unsigned char mask1 = 1 << (position-1) ; // we could cast to unsigned char, just to be safe + return (mask1 | value); + } + else + { + unsigned char mask2 = ~(1 << (position-1)); // we could cast to unsigned char, just to be safe + return (mask2 & value); + + } + +} diff --git a/src/c/elementaryFunctions/bitset/u8bitsets.c~ b/src/c/elementaryFunctions/bitset/u8bitsets.c~ new file mode 100644 index 00000000..5f44dcd8 --- /dev/null +++ b/src/c/elementaryFunctions/bitset/u8bitsets.c~ @@ -0,0 +1,20 @@ +/* Scilab2C FOSSEE IITB */ + +#include "bitset.h" +#include + +uint8 u8bitsets(uint8 value,int position,int bit_value) +{ + if(bit_value==1) + { + unsigned char mask1 = 1 << (position-1) ; // we could cast to unsigned char, just to be safe + return (mask1 | value); + } + else + { + unsigned char mask2 = ~(1 << (position-1)); // we could cast to unsigned char, just to be safe + return (mask2 & value); + + } + +} diff --git a/src/c/elementaryFunctions/bitxor/dbitanda.c~ b/src/c/elementaryFunctions/bitxor/dbitanda.c~ new file mode 100644 index 00000000..d411e6e4 --- /dev/null +++ b/src/c/elementaryFunctions/bitxor/dbitanda.c~ @@ -0,0 +1,14 @@ +/* Scilab2C FOSSEE IITB */ +#include "bitand.h" + +void dbitanda(double* x,double* y,int size,double* out) +{ + int i = 0; + for(i=0;i