summaryrefslogtreecommitdiff
path: root/2.3-1
diff options
context:
space:
mode:
authorsiddhu89902015-09-03 02:06:47 +0530
committersiddhu89902015-09-03 02:06:47 +0530
commit3704cdf7eb9551353ac9175aa10be444755b8e22 (patch)
treee7d66716e67137209a55d880ebb58a7f69ce3484 /2.3-1
parent5675f7cd91515d5e88fd151943c3ec5cde57ceaa (diff)
downloadScilab2C-3704cdf7eb9551353ac9175aa10be444755b8e22.tar.gz
Scilab2C-3704cdf7eb9551353ac9175aa10be444755b8e22.tar.bz2
Scilab2C-3704cdf7eb9551353ac9175aa10be444755b8e22.zip
Intermediate commit. Not to be used
Diffstat (limited to '2.3-1')
-rw-r--r--2.3-1/macros/CCodeGeneration/C_GenerateMakefile.binbin17792 -> 17792 bytes
-rw-r--r--2.3-1/macros/CCodeGeneration/C_Type.binbin9600 -> 9600 bytes
-rw-r--r--2.3-1/macros/ToolInitialization/.fuse_hidden0000024a00000003bin405456 -> 0 bytes
-rw-r--r--2.3-1/macros/ToolInitialization/.fuse_hidden0000220800000001bin404912 -> 0 bytes
-rw-r--r--2.3-1/macros/ToolInitialization/INIT_CreateDirs.binbin9600 -> 9600 bytes
-rw-r--r--2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.binbin406496 -> 407504 bytes
-rw-r--r--2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci98
-rw-r--r--2.3-1/macros/ToolInitialization/INIT_GenAnnFLFunctions.binbin9600 -> 9600 bytes
-rw-r--r--2.3-1/macros/ToolInitialization/INIT_GenFileInfo.binbin13696 -> 13696 bytes
-rw-r--r--2.3-1/macros/ToolInitialization/INIT_GenLibraries.binbin9600 -> 9600 bytes
-rw-r--r--2.3-1/macros/ToolInitialization/INIT_GenSharedInfo.binbin13696 -> 13696 bytes
-rw-r--r--2.3-1/macros/ToolInitialization/INIT_GenSharedInfo.sci8
-rw-r--r--2.3-1/macros/ToolInitialization/INIT_LoadLibraries.binbin9600 -> 9600 bytes
-rw-r--r--2.3-1/macros/ToolInitialization/INIT_RemoveDirs.binbin13696 -> 13696 bytes
-rw-r--r--2.3-1/macros/ToolInitialization/INIT_SCI2C.binbin21152 -> 21152 bytes
-rw-r--r--2.3-1/macros/ToolInitialization/INIT_SCI2C.sci4
-rw-r--r--2.3-1/macros/ToolInitialization/INIT_SharedInfoEqual.binbin9600 -> 9600 bytes
-rw-r--r--2.3-1/macros/ToolInitialization/ManageNextConversion.binbin13696 -> 13696 bytes
-rw-r--r--2.3-1/macros/ToolInitialization/UpdateSCI2CInfo.binbin30256 -> 30256 bytes
-rw-r--r--2.3-1/macros/cb_sci2c_gui.binbin14888 -> 13696 bytes
-rw-r--r--2.3-1/macros/findDeps/getAllHeaders.binbin13696 -> 13696 bytes
-rw-r--r--2.3-1/macros/findDeps/getAllHeaders.sci3
-rw-r--r--2.3-1/macros/findDeps/getAllInterfaces.binbin13696 -> 13696 bytes
-rw-r--r--2.3-1/macros/findDeps/getAllInterfaces.sci3
-rw-r--r--2.3-1/macros/findDeps/getAllSources.binbin88224 -> 89072 bytes
-rw-r--r--2.3-1/macros/findDeps/getAllSources.sci43
-rw-r--r--2.3-1/macros/runsci2c.sci4
-rw-r--r--2.3-1/macros/sci2c_gui.binbin51700 -> 49952 bytes
-rw-r--r--2.3-1/macros/scilab2c.binbin13664 -> 16944 bytes
-rw-r--r--2.3-1/macros/scilab2c.sci43
-rw-r--r--2.3-1/src/c/auxiliaryFunctions/includes/abs.h67
-rw-r--r--2.3-1/src/c/auxiliaryFunctions/interfaces/int_abs.h16
-rw-r--r--2.3-1/src/c/auxiliaryFunctions/interfaces/int_conj.h16
-rw-r--r--2.3-1/src/c/elementaryFunctions/cosh/i16cosha.c18
-rw-r--r--2.3-1/src/c/elementaryFunctions/cosh/i8cosha.c18
-rw-r--r--2.3-1/src/c/elementaryFunctions/cosh/u16cosha.c18
-rw-r--r--2.3-1/src/c/elementaryFunctions/cosh/u8cosha.c18
-rw-r--r--2.3-1/src/c/elementaryFunctions/includes/ceil.h17
-rw-r--r--2.3-1/src/c/elementaryFunctions/includes/cosh.h8
-rw-r--r--2.3-1/src/c/elementaryFunctions/includes/fix.h17
-rw-r--r--2.3-1/src/c/elementaryFunctions/includes/floor.h17
-rw-r--r--2.3-1/src/c/elementaryFunctions/includes/round.h17
-rw-r--r--2.3-1/src/c/elementaryFunctions/interfaces/int_ceil.h16
-rw-r--r--2.3-1/src/c/elementaryFunctions/interfaces/int_fix.h16
-rw-r--r--2.3-1/src/c/elementaryFunctions/interfaces/int_floor.h16
-rw-r--r--2.3-1/src/c/elementaryFunctions/interfaces/int_round.h16
-rw-r--r--2.3-1/src/c/matrixOperations/interfaces/int_ones.h2
-rw-r--r--2.3-1/src/c/matrixOperations/interfaces/int_zeros.h8
-rw-r--r--2.3-1/src/c/operations/interfaces/int_OpLogAnd.h57
-rw-r--r--2.3-1/src/c/operations/interfaces/int_OpLogEq.h44
-rw-r--r--2.3-1/src/c/operations/interfaces/int_OpLogGe.h60
-rw-r--r--2.3-1/src/c/operations/interfaces/int_OpLogGt.h53
-rw-r--r--2.3-1/src/c/operations/interfaces/int_OpLogLe.h54
-rw-r--r--2.3-1/src/c/operations/interfaces/int_OpLogLt.h54
-rw-r--r--2.3-1/src/c/operations/interfaces/int_OpLogNe.h38
-rw-r--r--2.3-1/src/c/operations/interfaces/int_OpLogOr.h55
-rw-r--r--2.3-1/src/c/type/int_imag.h16
-rw-r--r--2.3-1/src/c/type/int_real.h23
58 files changed, 887 insertions, 94 deletions
diff --git a/2.3-1/macros/CCodeGeneration/C_GenerateMakefile.bin b/2.3-1/macros/CCodeGeneration/C_GenerateMakefile.bin
index 8439eb92..30216052 100644
--- a/2.3-1/macros/CCodeGeneration/C_GenerateMakefile.bin
+++ b/2.3-1/macros/CCodeGeneration/C_GenerateMakefile.bin
Binary files differ
diff --git a/2.3-1/macros/CCodeGeneration/C_Type.bin b/2.3-1/macros/CCodeGeneration/C_Type.bin
index 6e674911..1655c4e9 100644
--- a/2.3-1/macros/CCodeGeneration/C_Type.bin
+++ b/2.3-1/macros/CCodeGeneration/C_Type.bin
Binary files differ
diff --git a/2.3-1/macros/ToolInitialization/.fuse_hidden0000024a00000003 b/2.3-1/macros/ToolInitialization/.fuse_hidden0000024a00000003
deleted file mode 100644
index 82e80fa7..00000000
--- a/2.3-1/macros/ToolInitialization/.fuse_hidden0000024a00000003
+++ /dev/null
Binary files differ
diff --git a/2.3-1/macros/ToolInitialization/.fuse_hidden0000220800000001 b/2.3-1/macros/ToolInitialization/.fuse_hidden0000220800000001
deleted file mode 100644
index f4029868..00000000
--- a/2.3-1/macros/ToolInitialization/.fuse_hidden0000220800000001
+++ /dev/null
Binary files differ
diff --git a/2.3-1/macros/ToolInitialization/INIT_CreateDirs.bin b/2.3-1/macros/ToolInitialization/INIT_CreateDirs.bin
index b898c3cd..88208c94 100644
--- a/2.3-1/macros/ToolInitialization/INIT_CreateDirs.bin
+++ b/2.3-1/macros/ToolInitialization/INIT_CreateDirs.bin
Binary files differ
diff --git a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin
index 38319cae..68968b59 100644
--- a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin
+++ b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin
Binary files differ
diff --git a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
index ba8da6cf..44907b8f 100644
--- a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
+++ b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
@@ -483,26 +483,6 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file',
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-FunctionName = 'ceil'; //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 = 'fix'; //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 = 'floor'; //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 = 'round'; //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 = 'int'; //BJ : Done AS : Float_Done
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
@@ -557,6 +537,25 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file',
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'ceil'; //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 = 'fix'; //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 = 'floor'; //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 = 'round'; //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);
// ------------------
// --- Class Sign ---
@@ -1199,21 +1198,37 @@ PrintStringInfo('s0s0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
PrintStringInfo('c0c0'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('z0z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('u80u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u160u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i160i160'+ArgSeparator+'i160',ClassFileName,'file','y');
PrintStringInfo('s2s0'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('c2c0'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('z2z0'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('u82u80'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82i80'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162u160'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162i160'+ArgSeparator+'i162',ClassFileName,'file','y');
PrintStringInfo('s0s2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d0d2'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('c0c2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('z0z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('u80u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i80i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u160u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i160i162'+ArgSeparator+'i162',ClassFileName,'file','y');
PrintStringInfo('s2s2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d2d2'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('c2c2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('z2z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('u82u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162i162'+ArgSeparator+'i162',ClassFileName,'file','y');
PrintStringInfo('s2c0'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('d2z0'+ArgSeparator+'z2',ClassFileName,'file','y');
@@ -1301,6 +1316,10 @@ PrintStringInfo('c0c0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('z0z0'+ArgSeparator+'d0',ClassFileName,'file','y');
PrintStringInfo('g0g0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('g0g0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('u80u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u160u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i160i160'+ArgSeparator+'i160',ClassFileName,'file','y');
PrintStringInfo('s2s0'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
@@ -1308,6 +1327,10 @@ PrintStringInfo('c2c0'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('z2z0'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('g2g0'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('g2g0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('u82u80'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82i80'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162u160'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162i160'+ArgSeparator+'i162',ClassFileName,'file','y');
PrintStringInfo('s0s2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d0d2'+ArgSeparator+'d2',ClassFileName,'file','y');
@@ -1315,6 +1338,10 @@ PrintStringInfo('c0c2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('z0z2'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('g0g2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('g0g2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('u80u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i80i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u160u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i160i162'+ArgSeparator+'i162',ClassFileName,'file','y');
PrintStringInfo('s2s2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d2d2'+ArgSeparator+'d2',ClassFileName,'file','y');
@@ -1322,6 +1349,10 @@ PrintStringInfo('c2c2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('z2z2'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('g2g2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('g2g2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('u82u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162i162'+ArgSeparator+'i162',ClassFileName,'file','y');
//mixed types
PrintStringInfo('c2s0'+ArgSeparator+'s2',ClassFileName,'file','y');
@@ -3716,7 +3747,34 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file',
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+//------------------------------------
+//---Functions for Scilab-arduino ----
+//------------------------------------
+
+
+//------------------------------------
+//---- Class cmd_digital_in ----------
+//------------------------------------
+ClassName = 'cmd_digital_in';
+
+// --- 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= ''u8''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'cmd_digital_out';
+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/ToolInitialization/INIT_GenAnnFLFunctions.bin b/2.3-1/macros/ToolInitialization/INIT_GenAnnFLFunctions.bin
index 04450330..29f9d382 100644
--- a/2.3-1/macros/ToolInitialization/INIT_GenAnnFLFunctions.bin
+++ b/2.3-1/macros/ToolInitialization/INIT_GenAnnFLFunctions.bin
Binary files differ
diff --git a/2.3-1/macros/ToolInitialization/INIT_GenFileInfo.bin b/2.3-1/macros/ToolInitialization/INIT_GenFileInfo.bin
index 1de53d3e..4b0e0301 100644
--- a/2.3-1/macros/ToolInitialization/INIT_GenFileInfo.bin
+++ b/2.3-1/macros/ToolInitialization/INIT_GenFileInfo.bin
Binary files differ
diff --git a/2.3-1/macros/ToolInitialization/INIT_GenLibraries.bin b/2.3-1/macros/ToolInitialization/INIT_GenLibraries.bin
index 103aec24..d46d5be6 100644
--- a/2.3-1/macros/ToolInitialization/INIT_GenLibraries.bin
+++ b/2.3-1/macros/ToolInitialization/INIT_GenLibraries.bin
Binary files differ
diff --git a/2.3-1/macros/ToolInitialization/INIT_GenSharedInfo.bin b/2.3-1/macros/ToolInitialization/INIT_GenSharedInfo.bin
index 413a6c60..607948ca 100644
--- a/2.3-1/macros/ToolInitialization/INIT_GenSharedInfo.bin
+++ b/2.3-1/macros/ToolInitialization/INIT_GenSharedInfo.bin
Binary files differ
diff --git a/2.3-1/macros/ToolInitialization/INIT_GenSharedInfo.sci b/2.3-1/macros/ToolInitialization/INIT_GenSharedInfo.sci
index 7b8826c4..9731af30 100644
--- a/2.3-1/macros/ToolInitialization/INIT_GenSharedInfo.sci
+++ b/2.3-1/macros/ToolInitialization/INIT_GenSharedInfo.sci
@@ -1,4 +1,4 @@
-function SharedInfo = INIT_GenSharedInfo(RunMode,UserScilabMainFile,TotTempScalarVars,EnableTempVarsReuse,Sci2CLibMainHeaderFName,CopySciCodeIntoCCode)
+function SharedInfo = INIT_GenSharedInfo(RunMode,UserScilabMainFile,TotTempScalarVars,EnableTempVarsReuse,Sci2CLibMainHeaderFName,CopySciCodeIntoCCode,OutputFormat)
// function SharedInfo = INIT_GenSharedInfo(WorkingDir,OutCCCodeDir,UserSciFilesPaths,...
// RunMode,UserScilabMainFile,TotTempScalarVars,EnableTempVarsReuse,Sci2CLibMainHeaderFName)
// -----------------------------------------------------------------
@@ -115,4 +115,10 @@ SharedInfo.Extension.FuncListClasses = '.lcls'; // Stands for list class
// --- Resize Approach. ---
// ------------------------
SharedInfo.ResizeApproach = 'NO_RESIZE'; // 'NO_RESIZE', 'RESIZE_ALL', 'RESIZE_TEMP', 'RESIZE_LOCAL', 'RESIZE_GLOBAL', 'REALLOC_ALL_RESIZE_ALL'
+
+//-------------------------
+//--- Output format -------
+//-------------------------
+SharedInfo.OutputFormat = OutputFormat;
+
endfunction
diff --git a/2.3-1/macros/ToolInitialization/INIT_LoadLibraries.bin b/2.3-1/macros/ToolInitialization/INIT_LoadLibraries.bin
index 52c501f2..7cad5391 100644
--- a/2.3-1/macros/ToolInitialization/INIT_LoadLibraries.bin
+++ b/2.3-1/macros/ToolInitialization/INIT_LoadLibraries.bin
Binary files differ
diff --git a/2.3-1/macros/ToolInitialization/INIT_RemoveDirs.bin b/2.3-1/macros/ToolInitialization/INIT_RemoveDirs.bin
index 81e058a7..884ac563 100644
--- a/2.3-1/macros/ToolInitialization/INIT_RemoveDirs.bin
+++ b/2.3-1/macros/ToolInitialization/INIT_RemoveDirs.bin
Binary files differ
diff --git a/2.3-1/macros/ToolInitialization/INIT_SCI2C.bin b/2.3-1/macros/ToolInitialization/INIT_SCI2C.bin
index dd405d08..0ff35b15 100644
--- a/2.3-1/macros/ToolInitialization/INIT_SCI2C.bin
+++ b/2.3-1/macros/ToolInitialization/INIT_SCI2C.bin
Binary files differ
diff --git a/2.3-1/macros/ToolInitialization/INIT_SCI2C.sci b/2.3-1/macros/ToolInitialization/INIT_SCI2C.sci
index 8b3e5b2f..99d0f0ff 100644
--- a/2.3-1/macros/ToolInitialization/INIT_SCI2C.sci
+++ b/2.3-1/macros/ToolInitialization/INIT_SCI2C.sci
@@ -1,5 +1,5 @@
function [FileInfoDatFile,SharedInfoDatFile] = ...
- INIT_SCI2C(UserScilabMainFile, UserSciFilesPaths, SCI2COutputDir, RunMode)
+ INIT_SCI2C(UserScilabMainFile, UserSciFilesPaths, SCI2COutputDir, RunMode, OutputFormat)
// function [FileInfoDatFile,SharedInfoDatFile] = INIT_SCI2C(SCI2CInputPrmFile)
// -----------------------------------------------------------------
// #RNU_RES_B
@@ -68,7 +68,7 @@ OutCCCodeDir = SCI2CResultDir;
//-- FIXME : MainLibHeader and Verbose mode are (?) configurable
SharedInfo = INIT_GenSharedInfo(RunMode,UserScilabMainFile, ...
- TotTempScalarVars,EnableTempVarsReuse,"sci2clib.h", %t);
+ TotTempScalarVars,EnableTempVarsReuse,"sci2clib.h", %t,OutputFormat);
// ----------------------------
// --- Initialize FileInfo. ---
diff --git a/2.3-1/macros/ToolInitialization/INIT_SharedInfoEqual.bin b/2.3-1/macros/ToolInitialization/INIT_SharedInfoEqual.bin
index bcbedb41..46781bd1 100644
--- a/2.3-1/macros/ToolInitialization/INIT_SharedInfoEqual.bin
+++ b/2.3-1/macros/ToolInitialization/INIT_SharedInfoEqual.bin
Binary files differ
diff --git a/2.3-1/macros/ToolInitialization/ManageNextConversion.bin b/2.3-1/macros/ToolInitialization/ManageNextConversion.bin
index 01b88f4d..8fd0220c 100644
--- a/2.3-1/macros/ToolInitialization/ManageNextConversion.bin
+++ b/2.3-1/macros/ToolInitialization/ManageNextConversion.bin
Binary files differ
diff --git a/2.3-1/macros/ToolInitialization/UpdateSCI2CInfo.bin b/2.3-1/macros/ToolInitialization/UpdateSCI2CInfo.bin
index 41b07bbe..c916b2e6 100644
--- a/2.3-1/macros/ToolInitialization/UpdateSCI2CInfo.bin
+++ b/2.3-1/macros/ToolInitialization/UpdateSCI2CInfo.bin
Binary files differ
diff --git a/2.3-1/macros/cb_sci2c_gui.bin b/2.3-1/macros/cb_sci2c_gui.bin
index fd76c00e..a1e97832 100644
--- a/2.3-1/macros/cb_sci2c_gui.bin
+++ b/2.3-1/macros/cb_sci2c_gui.bin
Binary files differ
diff --git a/2.3-1/macros/findDeps/getAllHeaders.bin b/2.3-1/macros/findDeps/getAllHeaders.bin
index 88a2063a..ce2193a1 100644
--- a/2.3-1/macros/findDeps/getAllHeaders.bin
+++ b/2.3-1/macros/findDeps/getAllHeaders.bin
Binary files differ
diff --git a/2.3-1/macros/findDeps/getAllHeaders.sci b/2.3-1/macros/findDeps/getAllHeaders.sci
index 3b328760..07bb8baf 100644
--- a/2.3-1/macros/findDeps/getAllHeaders.sci
+++ b/2.3-1/macros/findDeps/getAllHeaders.sci
@@ -124,5 +124,6 @@ function allHeaders = getAllHeaders()
"src/c/signalProcessing/includes/dynlib_signalprocessing.h"
"src/c/signalProcessing/includes/crossCorr.h"
"src/c/implicitList/dynlib_implicitlist.h"
- "src/c/implicitList/implicitList.h"];
+ "src/c/implicitList/implicitList.h"
+ "src/c/scilab-arduino/includes/cmd_digital_out.h"];
endfunction
diff --git a/2.3-1/macros/findDeps/getAllInterfaces.bin b/2.3-1/macros/findDeps/getAllInterfaces.bin
index 991810e5..7788c2e4 100644
--- a/2.3-1/macros/findDeps/getAllInterfaces.bin
+++ b/2.3-1/macros/findDeps/getAllInterfaces.bin
Binary files differ
diff --git a/2.3-1/macros/findDeps/getAllInterfaces.sci b/2.3-1/macros/findDeps/getAllInterfaces.sci
index e6e71dca..d6be456a 100644
--- a/2.3-1/macros/findDeps/getAllInterfaces.sci
+++ b/2.3-1/macros/findDeps/getAllInterfaces.sci
@@ -118,5 +118,6 @@ function allInterfaces = getAllInterfaces()
"src/c/signalProcessing/interfaces/int_fftshift.h"
"src/c/signalProcessing/interfaces/int_fft.h"
"src/c/signalProcessing/interfaces/int_lev.h"
- "src/c/implicitList/int_OpColon.h"];
+ "src/c/implicitList/int_OpColon.h"
+ "src/c/scilab-arduino/interfaces/int_cmd_digital_out.h"];
endfunction
diff --git a/2.3-1/macros/findDeps/getAllSources.bin b/2.3-1/macros/findDeps/getAllSources.bin
index 01ab3834..503b87d5 100644
--- a/2.3-1/macros/findDeps/getAllSources.bin
+++ b/2.3-1/macros/findDeps/getAllSources.bin
Binary files differ
diff --git a/2.3-1/macros/findDeps/getAllSources.sci b/2.3-1/macros/findDeps/getAllSources.sci
index 2dde130b..e0f849c0 100644
--- a/2.3-1/macros/findDeps/getAllSources.sci
+++ b/2.3-1/macros/findDeps/getAllSources.sci
@@ -19,6 +19,14 @@ function allSources = getAllSources()
"src/c/auxiliaryFunctions/abs/cabss.c"
"src/c/auxiliaryFunctions/abs/dabsa.c"
"src/c/auxiliaryFunctions/abs/dabss.c"
+ "src/c/auxiliaryFunctions/abs/u8absa.c"
+ "src/c/auxiliaryFunctions/abs/u8abss.c"
+ "src/c/auxiliaryFunctions/abs/i8absa.c"
+ "src/c/auxiliaryFunctions/abs/i8abss.c"
+ "src/c/auxiliaryFunctions/abs/u16absa.c"
+ "src/c/auxiliaryFunctions/abs/u16abss.c"
+ "src/c/auxiliaryFunctions/abs/i16absa.c"
+ "src/c/auxiliaryFunctions/abs/i16abss.c"
"src/c/auxiliaryFunctions/conj/zconja.c"
"src/c/auxiliaryFunctions/conj/zconjs.c"
"src/c/auxiliaryFunctions/conj/cconja.c"
@@ -231,6 +239,14 @@ function allSources = getAllSources()
"src/c/elementaryFunctions/fix/zfixs.c"
"src/c/elementaryFunctions/fix/cfixa.c"
"src/c/elementaryFunctions/fix/cfixs.c"
+ "src/c/elementaryFunctions/fix/u8fixa.c"
+ "src/c/elementaryFunctions/fix/u8fixs.c"
+ "src/c/elementaryFunctions/fix/i8fixa.c"
+ "src/c/elementaryFunctions/fix/i8fixs.c"
+ "src/c/elementaryFunctions/fix/u16fixa.c"
+ "src/c/elementaryFunctions/fix/u16fixs.c"
+ "src/c/elementaryFunctions/fix/i16fixa.c"
+ "src/c/elementaryFunctions/fix/i16fixs.c"
"src/c/elementaryFunctions/exp/dexpa.c"
"src/c/elementaryFunctions/exp/dexps.c"
"src/c/elementaryFunctions/exp/sexpa.c"
@@ -335,6 +351,14 @@ function allSources = getAllSources()
"src/c/elementaryFunctions/ceil/zceils.c"
"src/c/elementaryFunctions/ceil/cceila.c"
"src/c/elementaryFunctions/ceil/cceils.c"
+ "src/c/elementaryFunctions/ceil/u8ceila.c"
+ "src/c/elementaryFunctions/ceil/u8ceils.c"
+ "src/c/elementaryFunctions/ceil/i8ceila.c"
+ "src/c/elementaryFunctions/ceil/i8ceils.c"
+ "src/c/elementaryFunctions/ceil/u16ceila.c"
+ "src/c/elementaryFunctions/ceil/u16ceils.c"
+ "src/c/elementaryFunctions/ceil/i16ceila.c"
+ "src/c/elementaryFunctions/ceil/i16ceils.c"
"src/c/elementaryFunctions/cosh/dcosha.c"
"src/c/elementaryFunctions/cosh/dcoshs.c"
"src/c/elementaryFunctions/cosh/scosha.c"
@@ -427,6 +451,14 @@ function allSources = getAllSources()
"src/c/elementaryFunctions/floor/zfloors.c"
"src/c/elementaryFunctions/floor/sfloora.c"
"src/c/elementaryFunctions/floor/sfloors.c"
+ "src/c/elementaryFunctions/floor/u8floora.c"
+ "src/c/elementaryFunctions/floor/u8floors.c"
+ "src/c/elementaryFunctions/floor/i8floora.c"
+ "src/c/elementaryFunctions/floor/i8floors.c"
+ "src/c/elementaryFunctions/floor/u16floora.c"
+ "src/c/elementaryFunctions/floor/u16floors.c"
+ "src/c/elementaryFunctions/floor/i16floora.c"
+ "src/c/elementaryFunctions/floor/i16floors.c"
"src/c/elementaryFunctions/exp10/dexp10a.c"
"src/c/elementaryFunctions/exp10/dexp10s.c"
"src/c/elementaryFunctions/exp10/cexp10a.c"
@@ -459,6 +491,14 @@ function allSources = getAllSources()
"src/c/elementaryFunctions/round/zrounds.c"
"src/c/elementaryFunctions/round/srounda.c"
"src/c/elementaryFunctions/round/srounds.c"
+ "src/c/elementaryFunctions/round/u8rounda.c"
+ "src/c/elementaryFunctions/round/u8rounds.c"
+ "src/c/elementaryFunctions/round/i8rounda.c"
+ "src/c/elementaryFunctions/round/i8rounds.c"
+ "src/c/elementaryFunctions/round/u16rounda.c"
+ "src/c/elementaryFunctions/round/u16rounds.c"
+ "src/c/elementaryFunctions/round/i16rounda.c"
+ "src/c/elementaryFunctions/round/i16rounds.c"
"src/c/elementaryFunctions/lnp1m1/slnp1m1s.c"
"src/c/elementaryFunctions/lnp1m1/dlnp1m1s.c"
"src/c/elementaryFunctions/uint8/duint8s.c"
@@ -774,5 +814,6 @@ function allSources = getAllSources()
"src/c/implicitList/zimplicitLists.c"
"src/c/implicitList/dimplicitLists.c"
"src/c/implicitList/cimplicitLists.c"
- "src/c/implicitList/simplicitLists.c" ];
+ "src/c/implicitList/simplicitLists.c"
+ "src/c/scialb-arduino/cmd_digital_out/u8cmd_digital_outs.c"];
endfunction
diff --git a/2.3-1/macros/runsci2c.sci b/2.3-1/macros/runsci2c.sci
index fbdad316..a0a84a17 100644
--- a/2.3-1/macros/runsci2c.sci
+++ b/2.3-1/macros/runsci2c.sci
@@ -1,4 +1,4 @@
-function runsci2c(UserScilabMainFile, UserSciFilesPaths, SCI2COutputPath, Runmode, BuildTool)
+function runsci2c(UserScilabMainFile, UserSciFilesPaths, SCI2COutputPath, Runmode, BuildTool, OutputFormat)
// function runsci2c(SCI2CInputPrmFile)
// -----------------------------------------------------------------
// === hArtes/PoliBa/GAP SCI2C tool ===
@@ -51,7 +51,7 @@ disp(RunSci2CMainDir);
// --- Initialize the SCI2C tool directories and files. ---
[FileInfoDatFile,SharedInfoDatFile] = INIT_SCI2C(UserScilabMainFile, ...
- UserSciFilesPaths, SCI2COutputPath, RunMode);
+ UserSciFilesPaths, SCI2COutputPath, RunMode, OutputFormat);
// -- Load FileInfo and SharedInfo
load(SharedInfoDatFile,'SharedInfo');
diff --git a/2.3-1/macros/sci2c_gui.bin b/2.3-1/macros/sci2c_gui.bin
index 1ee6044b..1c1b69c9 100644
--- a/2.3-1/macros/sci2c_gui.bin
+++ b/2.3-1/macros/sci2c_gui.bin
Binary files differ
diff --git a/2.3-1/macros/scilab2c.bin b/2.3-1/macros/scilab2c.bin
index eaf1b6b4..7416eb5f 100644
--- a/2.3-1/macros/scilab2c.bin
+++ b/2.3-1/macros/scilab2c.bin
Binary files differ
diff --git a/2.3-1/macros/scilab2c.sci b/2.3-1/macros/scilab2c.sci
index d922e0b1..82b64da3 100644
--- a/2.3-1/macros/scilab2c.sci
+++ b/2.3-1/macros/scilab2c.sci
@@ -34,7 +34,8 @@ function scilab2c(varargin)
CCodeOutputDir = varargin(2);
UserSciFilesPaths = [];
RunMode = 'All';
- BuildTool = getNativeBuildTool();
+ BuildTool = getNativeBuildTool();
+ OutputFormat = 'StandAlone';
//
// scilab2c(UserScilabMainFile, CCodeOutputDir, UserSciFilesPaths)
//
@@ -53,7 +54,8 @@ function scilab2c(varargin)
UserSciFilesPaths = varargin(3);
end
RunMode = "All";
- BuildTool = getNativeBuildTool();
+ BuildTool = getNativeBuildTool();
+ OutputFormat = 'StandAlone';
//
// scilab2c(UserScilabMainFile, CCodeOutputDir, UserSciFilesPaths, RunMode)
//
@@ -76,7 +78,9 @@ function scilab2c(varargin)
UserSciFilesPaths = varargin(3);
end
RunMode = varargin(4);
- BuildTool = getNativeBuildTool();
+ BuildTool = getNativeBuildTool();
+ OutputFormat = 'StandAlone';
+
case 5
for i = 1:4
if typeof(varargin(i)) <> "string"
@@ -100,7 +104,34 @@ function scilab2c(varargin)
UserSciFilesPaths = varargin(3);
end
RunMode = varargin(4);
- BuildTool = varargin(5);
+ BuildTool = varargin(5);
+ OutputFormat = 'StandAlone';
+
+ case 6
+ for i = 1:4
+ if typeof(varargin(i)) <> "string"
+ error(msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"),"scilab2c",i));
+ return
+ end
+ end
+ if varargin(4) <> "All" & varargin(4) <> "Translate" & varargin(4) <> "GenLibraryStructure"
+ error(msprintf(gettext("%s: argument #%d must be: ""All"", ""Translate"" or ""GenLibraryStructure"".\n"),"scilab2c",4));
+ return
+ end
+ if varargin(5) <> "make" & varargin(5) <> "nmake"
+ error(msprintf(gettext("%s: argument #%d must be: ""make"" or ""nmake"".\n"),"scilab2c",5));
+ return
+ end
+ UserScilabMainFile = varargin(1);
+ CCodeOutputDir = varargin(2);
+ if varargin(3) == ""
+ UserSciFilesPaths = [];
+ else
+ UserSciFilesPaths = varargin(3);
+ end
+ RunMode = varargin(4);
+ BuildTool = varargin(5);
+ OutputFormat = varargin(6);
else
//
// Calling scilab2c with more than understood values
@@ -121,7 +152,7 @@ error(msprintf(gettext("%s: Wrong number of input argument(s): %d expected.\n"),
end
if (userchoice == 1)
// --- LAUNCH SCI2C ---
- runsci2c(UserScilabMainFile, UserSciFilesPaths, CCodeOutputDir, RunMode, BuildTool);
+ runsci2c(UserScilabMainFile, UserSciFilesPaths, CCodeOutputDir, RunMode, BuildTool, OutputFormat);
end
endfunction
@@ -132,4 +163,4 @@ function BuildTool = getNativeBuildTool()
else
BuildTool = "make"
end
-endfunction \ No newline at end of file
+endfunction
diff --git a/2.3-1/src/c/auxiliaryFunctions/includes/abs.h b/2.3-1/src/c/auxiliaryFunctions/includes/abs.h
index 00565e39..cd022905 100644
--- a/2.3-1/src/c/auxiliaryFunctions/includes/abs.h
+++ b/2.3-1/src/c/auxiliaryFunctions/includes/abs.h
@@ -17,6 +17,7 @@
#include "floatComplex.h"
#include "doubleComplex.h"
#include "sqrt.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -55,6 +56,38 @@ EXTERN_AUXFUNCT float cabss(floatComplex in);
EXTERN_AUXFUNCT double zabss(doubleComplex in);
/**
+ ** \brief Uint8 Absolute Value function
+ ** Determine the absolute value of in.
+ ** \param in : the uint8 we must determine abs.
+ ** \return -in or in depending on the sign of in.
+ **/
+EXTERN_AUXFUNCT uint8 u8abss(uint8 in);
+
+/**
+ ** \brief Int8 Absolute Value function
+ ** Determine the absolute value of in.
+ ** \param in : the int8 we must determine abs.
+ ** \return -in or in depending on the sign of in.
+ **/
+EXTERN_AUXFUNCT int8 i8abss(int8 in);
+
+/**
+ ** \brief Uint16 Absolute Value function
+ ** Determine the absolute value of in.
+ ** \param in : the uint16 we must determine abs.
+ ** \return -in or in depending on the sign of in.
+ **/
+EXTERN_AUXFUNCT uint16 u16abss(uint16 in);
+
+/**
+ ** \brief Int16 Absolute Value function
+ ** Determine the absolute value of in.
+ ** \param in : the int16 we must determine abs.
+ ** \return -in or in depending on the sign of in.
+ **/
+EXTERN_AUXFUNCT int16 i16abss(int16 in);
+
+/**
** \brief Float Array Absolute Value function
** Determine the absolute value of in elements.
** \param in : the float array we must determine abs.
@@ -86,6 +119,40 @@ EXTERN_AUXFUNCT void cabsa(floatComplex *in, int size, float* out);
**/
EXTERN_AUXFUNCT void zabsa(doubleComplex *in, int size, double* out);
+
+/**
+ ** \brief Uint8 Array Absolute Value function
+ ** Determine the absolute value of in elements.
+ ** \param in : the uint8 array we must determine abs.
+ ** \param out : the uint8 array result.
+ **/
+EXTERN_AUXFUNCT void u8absa(uint8 *in, int size, uint8* out);
+
+/**
+ ** \brief Int8 Array Absolute Value function
+ ** Determine the absolute value of in elements.
+ ** \param in : the int8 array we must determine abs.
+ ** \param out : the int8 array result.
+ **/
+EXTERN_AUXFUNCT void i8absa(int8 *in, int size, int8* out);
+
+/**
+ ** \brief Uint16 Array Absolute Value function
+ ** Determine the absolute value of in elements.
+ ** \param in : the uint16 array we must determine abs.
+ ** \param out : the uint16 array result.
+ **/
+EXTERN_AUXFUNCT void u16absa(uint16 *in, int size, uint16* out);
+
+/**
+ ** \brief Int16 Array Absolute Value function
+ ** Determine the absolute value of in elements.
+ ** \param in : the int16 array we must determine abs.
+ ** \param out : the int16 array result.
+ **/
+EXTERN_AUXFUNCT void i16absa(int16 *in, int size, int16* out);
+
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/2.3-1/src/c/auxiliaryFunctions/interfaces/int_abs.h b/2.3-1/src/c/auxiliaryFunctions/interfaces/int_abs.h
index 4c353fee..70a428c2 100644
--- a/2.3-1/src/c/auxiliaryFunctions/interfaces/int_abs.h
+++ b/2.3-1/src/c/auxiliaryFunctions/interfaces/int_abs.h
@@ -23,6 +23,14 @@
#define z0absd0(in) zabss(in)
+#define u80absu80(in) u8abss(in)
+
+#define i80absi80(in) i8abss(in)
+
+#define u160absu160(in) u16abss(in)
+
+#define i160absi160(in) i16abss(in)
+
#define s2abss2(in,size,out) sabsa(in, size[0]*size[1], out)
#define d2absd2(in,size,out) dabsa(in, size[0]*size[1], out)
@@ -31,4 +39,12 @@
#define z2absd2(in,size,out) zabsa(in, size[0]*size[1], out)
+#define u82absu82(in,size,out) u8absa(in, size[0]*size[1], out)
+
+#define i82absi82(in,size,out) i8absa(in, size[0]*size[1], out)
+
+#define u162absu162(in,size,out) u16absa(in, size[0]*size[1], out)
+
+#define i162absi162(in,size,out) i16absa(in, size[0]*size[1], out)
+
#endif /* !__INT_ABS_H__ */
diff --git a/2.3-1/src/c/auxiliaryFunctions/interfaces/int_conj.h b/2.3-1/src/c/auxiliaryFunctions/interfaces/int_conj.h
index f54de243..fec555b2 100644
--- a/2.3-1/src/c/auxiliaryFunctions/interfaces/int_conj.h
+++ b/2.3-1/src/c/auxiliaryFunctions/interfaces/int_conj.h
@@ -25,6 +25,14 @@
#define z0conjz0(in) zconjs(in)
+#define u80conju80(in) in
+
+#define i80conji80(in) in
+
+#define u160conju160(in) in
+
+#define i160conji160(in) in
+
#define s2conjs2(in,size,out) copy(in,size,out)
#define d2conjd2(in,size,out) copy(in,size,out)
@@ -33,4 +41,12 @@
#define z2conjz2(in,size,out) zconja(in, size[0]*size[1], out)
+#define u82conju82(in,size,out) copy(in,size,out)
+
+#define i82conji82(in,size,out) copy(in,size,out)
+
+#define u162conju162(in,size,out) copy(in,size,out)
+
+#define i162conji162(in,size,out) copy(in,size,out)
+
#endif /* !__INT_CONJ_H__ */
diff --git a/2.3-1/src/c/elementaryFunctions/cosh/i16cosha.c b/2.3-1/src/c/elementaryFunctions/cosh/i16cosha.c
index 8515bc7d..eb2e9f93 100644
--- a/2.3-1/src/c/elementaryFunctions/cosh/i16cosha.c
+++ b/2.3-1/src/c/elementaryFunctions/cosh/i16cosha.c
@@ -1,6 +1,6 @@
/*
* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
*
* This file must be used under the terms of the CeCILL.
* This source file is licensed as described in the file COPYING, which
@@ -10,17 +10,11 @@
*
*/
-/*
-// cosh(z) = 0.5 (exp(|z|) + exp(-|z|))
-// = 0.5 ( y + 1/y ) with y = exp(|z|)
-*/
-
-#include <math.h>
#include "cosh.h"
-#include "exp.h"
-#include "abs.h"
-float i16coshs(int16 x) {
- float y = i16exps(i16abss(x));
- return (0.5f * (y + 1.0f / y));
+void i16cosha(int16* x, int size, int16* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = i16coshs(x[i]);
+ }
}
diff --git a/2.3-1/src/c/elementaryFunctions/cosh/i8cosha.c b/2.3-1/src/c/elementaryFunctions/cosh/i8cosha.c
index b30c14e2..beed9b30 100644
--- a/2.3-1/src/c/elementaryFunctions/cosh/i8cosha.c
+++ b/2.3-1/src/c/elementaryFunctions/cosh/i8cosha.c
@@ -1,6 +1,6 @@
/*
* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
*
* This file must be used under the terms of the CeCILL.
* This source file is licensed as described in the file COPYING, which
@@ -10,17 +10,11 @@
*
*/
-/*
-// cosh(z) = 0.5 (exp(|z|) + exp(-|z|))
-// = 0.5 ( y + 1/y ) with y = exp(|z|)
-*/
-
-#include <math.h>
#include "cosh.h"
-#include "exp.h"
-#include "abs.h"
-float i8coshs(int8 x) {
- float y = i8exps(i8abss(x));
- return (0.5f * (y + 1.0f / y));
+void i8cosha(int8* x, int size, int8* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = i8coshs(x[i]);
+ }
}
diff --git a/2.3-1/src/c/elementaryFunctions/cosh/u16cosha.c b/2.3-1/src/c/elementaryFunctions/cosh/u16cosha.c
index 775f710e..e0c41836 100644
--- a/2.3-1/src/c/elementaryFunctions/cosh/u16cosha.c
+++ b/2.3-1/src/c/elementaryFunctions/cosh/u16cosha.c
@@ -1,6 +1,6 @@
/*
* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
*
* This file must be used under the terms of the CeCILL.
* This source file is licensed as described in the file COPYING, which
@@ -10,17 +10,11 @@
*
*/
-/*
-// cosh(z) = 0.5 (exp(|z|) + exp(-|z|))
-// = 0.5 ( y + 1/y ) with y = exp(|z|)
-*/
-
-#include <math.h>
#include "cosh.h"
-#include "exp.h"
-#include "abs.h"
-float u16coshs(uint16 x) {
- float y = u16exps(u16abss(x));
- return (0.5f * (y + 1.0f / y));
+void u16cosha(uint16* x, int size, uint16* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = u16coshs(x[i]);
+ }
}
diff --git a/2.3-1/src/c/elementaryFunctions/cosh/u8cosha.c b/2.3-1/src/c/elementaryFunctions/cosh/u8cosha.c
index b6d614fa..9584b3e0 100644
--- a/2.3-1/src/c/elementaryFunctions/cosh/u8cosha.c
+++ b/2.3-1/src/c/elementaryFunctions/cosh/u8cosha.c
@@ -1,6 +1,6 @@
/*
* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
*
* This file must be used under the terms of the CeCILL.
* This source file is licensed as described in the file COPYING, which
@@ -10,17 +10,11 @@
*
*/
-/*
-// cosh(z) = 0.5 (exp(|z|) + exp(-|z|))
-// = 0.5 ( y + 1/y ) with y = exp(|z|)
-*/
-
-#include <math.h>
#include "cosh.h"
-#include "exp.h"
-#include "abs.h"
-float u8coshs(uint8 x) {
- float y = u8exps(u8abss(x));
- return (0.5f * (y + 1.0f / y));
+void u8cosha(uint8* x, int size, uint8* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = u8coshs(x[i]);
+ }
}
diff --git a/2.3-1/src/c/elementaryFunctions/includes/ceil.h b/2.3-1/src/c/elementaryFunctions/includes/ceil.h
index 960b8b3b..57df72d5 100644
--- a/2.3-1/src/c/elementaryFunctions/includes/ceil.h
+++ b/2.3-1/src/c/elementaryFunctions/includes/ceil.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
@@ -33,6 +34,14 @@ EXTERN_ELEMFUNCT floatComplex cceils(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zceils(doubleComplex in);
+EXTERN_ELEMFUNCT uint8 u8ceils(uint8 in);
+
+EXTERN_ELEMFUNCT int8 i8ceils(int8 in);
+
+EXTERN_ELEMFUNCT uint16 u16ceils(uint16 in);
+
+EXTERN_ELEMFUNCT int16 i16ceils(int16 in);
+
EXTERN_ELEMFUNCT void sceila(float* in, int size, float* out);
EXTERN_ELEMFUNCT void dceila(double* in, int size, double* out);
@@ -41,6 +50,14 @@ EXTERN_ELEMFUNCT void cceila(floatComplex* in, int size, floatComplex* out);
EXTERN_ELEMFUNCT void zceila(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void u8ceila(uint8* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void i8ceila(int8* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void u16ceila(uint16* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void i16ceila(int16* in, int size, int16* out);
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/2.3-1/src/c/elementaryFunctions/includes/cosh.h b/2.3-1/src/c/elementaryFunctions/includes/cosh.h
index e084e427..5c7c8b71 100644
--- a/2.3-1/src/c/elementaryFunctions/includes/cosh.h
+++ b/2.3-1/src/c/elementaryFunctions/includes/cosh.h
@@ -112,7 +112,7 @@ EXTERN_ELEMFUNCT void zcosha(doubleComplex* in, int size, doubleComplex* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-EXTERN_ELEMFUNCT void u8cosha(uint8* in, int size, float* out);
+EXTERN_ELEMFUNCT void u8cosha(uint8* in, int size, uint8* out);
/*
** \brief Int8 Matrix Cosine function
@@ -120,7 +120,7 @@ EXTERN_ELEMFUNCT void u8cosha(uint8* in, int size, float* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-EXTERN_ELEMFUNCT void i8cosha(int8* in, int size, float* out);
+EXTERN_ELEMFUNCT void i8cosha(int8* in, int size, int8* out);
/*
** \brief Uint16 Matrix Cosine function
@@ -128,7 +128,7 @@ EXTERN_ELEMFUNCT void i8cosha(int8* in, int size, float* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-EXTERN_ELEMFUNCT void u16cosha(uint16* in, int size, float* out);
+EXTERN_ELEMFUNCT void u16cosha(uint16* in, int size, uint16* out);
/*
** \brief Int16 Matrix Cosine function
@@ -136,7 +136,7 @@ EXTERN_ELEMFUNCT void u16cosha(uint16* in, int size, float* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-EXTERN_ELEMFUNCT void i16cosha(int16* in, int size, float* out);
+EXTERN_ELEMFUNCT void i16cosha(int16* in, int size, int16* out);
#ifdef __cplusplus
diff --git a/2.3-1/src/c/elementaryFunctions/includes/fix.h b/2.3-1/src/c/elementaryFunctions/includes/fix.h
index 504a63c1..d3e7f88b 100644
--- a/2.3-1/src/c/elementaryFunctions/includes/fix.h
+++ b/2.3-1/src/c/elementaryFunctions/includes/fix.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -35,6 +36,14 @@ EXTERN_ELEMFUNCT floatComplex cfixs(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zfixs(doubleComplex in);
+EXTERN_ELEMFUNCT uint8 u8fixs(uint8 in);
+
+EXTERN_ELEMFUNCT int8 i8fixs(int8 in);
+
+EXTERN_ELEMFUNCT uint16 u16fixs(uint16 in);
+
+EXTERN_ELEMFUNCT int16 i16fixs(int16 in);
+
EXTERN_ELEMFUNCT void sfixa(float* in, int size, float* out);
EXTERN_ELEMFUNCT void dfixa(double* in, int size, double* out);
@@ -43,6 +52,14 @@ EXTERN_ELEMFUNCT void cfixa(floatComplex* in, int size, floatComplex* out);
EXTERN_ELEMFUNCT void zfixa(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void u8fixa(uint8* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void i8fixa(int8* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void u16fixa(uint16* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void i16fixa(int16* in, int size, int16* out);
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/2.3-1/src/c/elementaryFunctions/includes/floor.h b/2.3-1/src/c/elementaryFunctions/includes/floor.h
index 971cdf65..cd566416 100644
--- a/2.3-1/src/c/elementaryFunctions/includes/floor.h
+++ b/2.3-1/src/c/elementaryFunctions/includes/floor.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -32,6 +33,14 @@ EXTERN_ELEMFUNCT floatComplex cfloors(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zfloors(doubleComplex in);
+EXTERN_ELEMFUNCT uint8 u8floors(uint8 in);
+
+EXTERN_ELEMFUNCT int8 i8floors(int8 in);
+
+EXTERN_ELEMFUNCT uint16 u16floors(uint16 in);
+
+EXTERN_ELEMFUNCT int16 i16floors(int16 in);
+
EXTERN_ELEMFUNCT void sfloora(float* in, int size, float* out);
EXTERN_ELEMFUNCT void dfloora(double* in, int size, double* out);
@@ -40,6 +49,14 @@ EXTERN_ELEMFUNCT void cfloora(floatComplex* in, int size, floatComplex* out);
EXTERN_ELEMFUNCT void zfloora(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void u8floora(uint8* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void i8floora(int8* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void u16floora(uint16* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void i16floora(int16* in, int size, int16* out);
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/2.3-1/src/c/elementaryFunctions/includes/round.h b/2.3-1/src/c/elementaryFunctions/includes/round.h
index 1c3c0cea..6894265a 100644
--- a/2.3-1/src/c/elementaryFunctions/includes/round.h
+++ b/2.3-1/src/c/elementaryFunctions/includes/round.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -32,6 +33,14 @@ EXTERN_ELEMFUNCT floatComplex crounds(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zrounds(doubleComplex in);
+EXTERN_ELEMFUNCT uint8 u8rounds(uint8 in);
+
+EXTERN_ELEMFUNCT int8 i8rounds(int8 in);
+
+EXTERN_ELEMFUNCT uint16 u16rounds(uint16 in);
+
+EXTERN_ELEMFUNCT int16 i16rounds(int16 in);
+
EXTERN_ELEMFUNCT void srounda(float* in, int size, float* out);
EXTERN_ELEMFUNCT void drounda(double* in, int size, double* out);
@@ -40,6 +49,14 @@ EXTERN_ELEMFUNCT void crounda(floatComplex* in, int size, floatComplex* out);
EXTERN_ELEMFUNCT void zrounda(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void u8rounda(uint8* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void i8rounda(int8* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void u16rounda(uint16* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void i16rounda(int16* in, int size, int16* out);
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/2.3-1/src/c/elementaryFunctions/interfaces/int_ceil.h b/2.3-1/src/c/elementaryFunctions/interfaces/int_ceil.h
index 918dd5a0..33c01769 100644
--- a/2.3-1/src/c/elementaryFunctions/interfaces/int_ceil.h
+++ b/2.3-1/src/c/elementaryFunctions/interfaces/int_ceil.h
@@ -23,6 +23,14 @@
#define z0ceilz0(in) zceils(in)
+#define u80ceilu80(in) u8ceils(in)
+
+#define i80ceili80(in) i8ceils(in)
+
+#define u160ceilu160(in) u16ceils(in)
+
+#define i160ceili160(in) i16ceils(in)
+
#define s2ceils2(in,size,out) sceila(in, size[0]*size[1], out)
#define d2ceild2(in,size,out) dceila(in, size[0]*size[1], out)
@@ -31,4 +39,12 @@
#define z2ceilz2(in,size,out) zceila(in, size[0]*size[1], out)
+#define u82ceilu82(in,size,out) u8ceila(in, size[0]*size[1], out)
+
+#define i82ceili82(in,size,out) i8ceila(in, size[0]*size[1], out)
+
+#define u162ceilu162(in,size,out) u16ceila(in, size[0]*size[1], out)
+
+#define i162ceili162(in,size,out) i16ceila(in, size[0]*size[1], out)
+
#endif /* !__INT_CEIL_H__ */
diff --git a/2.3-1/src/c/elementaryFunctions/interfaces/int_fix.h b/2.3-1/src/c/elementaryFunctions/interfaces/int_fix.h
index ac483c92..2a00e2cf 100644
--- a/2.3-1/src/c/elementaryFunctions/interfaces/int_fix.h
+++ b/2.3-1/src/c/elementaryFunctions/interfaces/int_fix.h
@@ -23,6 +23,14 @@
#define z0fixz0(in) zfixs(in)
+#define u80fixu80(in) u8fixs(in)
+
+#define i80fixi80(in) i8fixs(in)
+
+#define u160fixu160(in) u16fixs(in)
+
+#define i160fixi160(in) i16fixs(in)
+
#define s2fixs2(in,size,out) sfixa(in, size[0]*size[1], out)
#define d2fixd2(in,size,out) dfixa(in, size[0]*size[1], out)
@@ -31,4 +39,12 @@
#define z2fixz2(in,size,out) zfixa(in, size[0]*size[1], out)
+#define u82fixu82(in,size,out) u8fixa(in, size[0]*size[1], out)
+
+#define i82fixi82(in,size,out) i8fixa(in, size[0]*size[1], out)
+
+#define u162fixu162(in,size,out) u16fixa(in, size[0]*size[1], out)
+
+#define i162fixi162(in,size,out) i16fixa(in, size[0]*size[1], out)
+
#endif /* !__INT_FIX_H__ */
diff --git a/2.3-1/src/c/elementaryFunctions/interfaces/int_floor.h b/2.3-1/src/c/elementaryFunctions/interfaces/int_floor.h
index 548c5e2a..639819a7 100644
--- a/2.3-1/src/c/elementaryFunctions/interfaces/int_floor.h
+++ b/2.3-1/src/c/elementaryFunctions/interfaces/int_floor.h
@@ -23,6 +23,14 @@
#define z0floorz0(in) zfloors(in)
+#define u80flooru80(in) u8floors(in)
+
+#define i80floori80(in) i8floors(in)
+
+#define u160flooru160(in) u16floors(in)
+
+#define i160floori160(in) i16floors(in)
+
#define s2floors2(in,size,out) sfloora(in, size[0]*size[1], out)
#define d2floord2(in,size,out) dfloora(in, size[0]*size[1], out)
@@ -31,4 +39,12 @@
#define z2floorz2(in,size,out) zfloora(in, size[0]*size[1], out)
+#define u82flooru82(in,size,out) u8floora(in, size[0]*size[1], out)
+
+#define i82floori82(in,size,out) i8floora(in, size[0]*size[1], out)
+
+#define u162flooru162(in,size,out) u16floora(in, size[0]*size[1], out)
+
+#define i162floori162(in,size,out) i16floora(in, size[0]*size[1], out)
+
#endif /* !__INT_FLOOR_H__ */
diff --git a/2.3-1/src/c/elementaryFunctions/interfaces/int_round.h b/2.3-1/src/c/elementaryFunctions/interfaces/int_round.h
index a5da230c..7d013c1e 100644
--- a/2.3-1/src/c/elementaryFunctions/interfaces/int_round.h
+++ b/2.3-1/src/c/elementaryFunctions/interfaces/int_round.h
@@ -23,6 +23,14 @@
#define z0roundz0(in) zrounds(in)
+#define u80roundu80(in) u8rounds(in)
+
+#define i80roundi80(in) i8rounds(in)
+
+#define u160roundu160(in) u16rounds(in)
+
+#define i160roundi160(in) i16rounds(in)
+
#define s2rounds2(in,size,out) srounda(in, size[0]*size[1], out)
#define d2roundd2(in,size,out) drounda(in, size[0]*size[1], out)
@@ -31,4 +39,12 @@
#define z2roundz2(in,size,out) zrounda(in, size[0]*size[1], out)
+#define u82roundu82(in,size,out) u8rounda(in, size[0]*size[1], out)
+
+#define i82roundi82(in,size,out) i8rounda(in, size[0]*size[1], out)
+
+#define u162roundu162(in,size,out) u16rounda(in, size[0]*size[1], out)
+
+#define i162roundi162(in,size,out) i16rounda(in, size[0]*size[1], out)
+
#endif /* !__INT_ROUND_H__ */
diff --git a/2.3-1/src/c/matrixOperations/interfaces/int_ones.h b/2.3-1/src/c/matrixOperations/interfaces/int_ones.h
index 3946a487..e266ee52 100644
--- a/2.3-1/src/c/matrixOperations/interfaces/int_ones.h
+++ b/2.3-1/src/c/matrixOperations/interfaces/int_ones.h
@@ -64,7 +64,7 @@
#define i80i80onesi82(in1,in2,out) i8onesa(out, in1, in2)
-#define u160u160onesu82(in1,in2,out) u16onesa(out, in1, in2)
+#define u160u160onesu162(in1,in2,out) u16onesa(out, in1, in2)
#define i160i160onesi162(in1,in2,out) i16onesa(out, in1, in2)
diff --git a/2.3-1/src/c/matrixOperations/interfaces/int_zeros.h b/2.3-1/src/c/matrixOperations/interfaces/int_zeros.h
index 0f97af04..ac7e020e 100644
--- a/2.3-1/src/c/matrixOperations/interfaces/int_zeros.h
+++ b/2.3-1/src/c/matrixOperations/interfaces/int_zeros.h
@@ -61,13 +61,13 @@
#define d0d0zerosd2(in1,in2,out) dzerosa(out, in1, in2)
-#define u80u80zeross2(in1,in2,out) u80zerosa(out, in1, in2)
+#define u80u80zerosu82(in1,in2,out) u8zerosa(out, in1, in2)
-#define i80i80zeross2(in1,in2,out) i80zerosa(out, in1, in2)
+#define i80i80zerosi82(in1,in2,out) i8zerosa(out, in1, in2)
-#define u160u160zeross2(in1,in2,out) u160zerosa(out, in1, in2)
+#define u160u160zerosu162(in1,in2,out) u16zerosa(out, in1, in2)
-#define i160i160zeross2(in1,in2,out) i160zerosa(out, in1, in2)
+#define i160i160zerosi162(in1,in2,out) i16zerosa(out, in1, in2)
#define s2zeross2(in,size,out) szerosa(out, size[0], size[1])
diff --git a/2.3-1/src/c/operations/interfaces/int_OpLogAnd.h b/2.3-1/src/c/operations/interfaces/int_OpLogAnd.h
index 460c81ca..50a31894 100644
--- a/2.3-1/src/c/operations/interfaces/int_OpLogAnd.h
+++ b/2.3-1/src/c/operations/interfaces/int_OpLogAnd.h
@@ -19,6 +19,14 @@
#define Bool2Double(in) ((in) ? 1.0 : 0.0)
+#define Bool2Uint8(in) ((in) ? (uint8)1 : (uint8)0)
+
+#define Bool2Int8(in) ((in) ? (int8)1 : (int8)0)
+
+#define Bool2Uint16(in) ((in) ? (uint16)1 : (uint16)0)
+
+#define Bool2Int16(in) ((in) ? (int16)1 : (int16)0)
+
/*scalar and scalar*/
#define s0s0OpLogAnds0(in1, in2) Bool2Float(in1 != 0.0 && in2 != 0.0)
@@ -38,6 +46,15 @@
#define z0d0OpLogAndd0(in1, in2) Bool2Double((zreals(in1) != 0.0 || zimags(in1) != 0.0) && in2 != 0.0)
+#define u80u80OpLogAndu80(in1, in2) Bool2Uint8(in1 != 0 && in2 != 0)
+
+#define i80i80OpLogAndi80(in1, in2) Bool2Int8(in1 != 0 && in2 != 0)
+
+#define u160u160OpLogAndu160(in1, in2) Bool2Uint16(in1 != 0 && in2 != 0)
+
+#define i160i160OpLogAndi160(in1, in2) Bool2Int16(in1 != 0 && in2 != 0)
+
+
/*matrix and scalar*/
#define s2s0OpLogAnds2(in1, size1, in2, out) {int i = 0 ;\
@@ -65,6 +82,21 @@
#define z2d0OpLogAndd2(in1, size1, in2, out) {int i = 0 ;\
for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Double((zreals(in1[i]) != 0.0 || zimags(in1[i]) != 0.0) && in2 != 0.0);}
+#define u82u80OpLogAndu82(in1, size1, in2, out) {int i = 0 ;\
+ for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Uint8(in1[i] != 0 && in2 != 0);}
+
+#define i82i80OpLogAndi82(in1, size1, in2, out) {int i = 0 ;\
+ for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Int8(in1[i] != 0 && in2 != 0);}
+
+#define u82u80OpLogAndu82(in1, size1, in2, out) {int i = 0 ;\
+ for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Uint8(in1[i] != 0 && in2 != 0);}
+
+#define u162u160OpLogAndu162(in1, size1, in2, out) {int i = 0 ;\
+ for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Uint16(in1[i] != 0 && in2 != 0);}
+
+#define i162i160OpLogAndi162(in1, size1, in2, out) {int i = 0 ;\
+ for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Int16(in1[i] != 0 && in2 != 0);}
+
/*scalar and matrix*/
#define s0s2OpLogAnds2(in1, in2, size2, out) {int i = 0 ;\
@@ -92,6 +124,18 @@
#define z0d2OpLogAndd2(in1, in2, size2, out) {int i = 0 ;\
for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double((zreals(in1) != 0.0 || zimags(in1) != 0.0) && in2[i] != 0.0);}
+#define u80u82OpLogAndu82(in1, in2, size2, out) {int i = 0 ;\
+ for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Uint8(in1 != 0 && in2[i] != 0);}
+
+#define i80i82OpLogAndi82(in1, in2, size2, out) {int i = 0 ;\
+ for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Int8(in1 != 0 && in2[i] != 0);}
+
+#define u160u162OpLogAndu162(in1, in2, size2, out) {int i = 0 ;\
+ for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Uint16(in1 != 0 && in2[i] != 0);}
+
+#define i160i162OpLogAndi162(in1, in2, size2, out) {int i = 0 ;\
+ for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Int16(in1 != 0 && in2[i] != 0);}
+
/*TODO matrix and matrix*/
#define s2s2OpLogAnds2(in1, size1, in2, size2, out) {int i = 0 ;\
@@ -119,4 +163,17 @@
#define z2d2OpLogAndd2(in1, size1, in2, size2, out) {int i = 0 ;\
for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double((zreals(in1[i]) != 0.0 || zimags(in1[i]) != 0.0) && in2[i] != 0.0;)}
+
+#define u82u82OpLogAndu82(in1, size1, in2, size2, out) {int i = 0 ;\
+ for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Uint8(in1[i] != 0 && in2[i] != 0);}
+
+#define i82i82OpLogAndi82(in1, size1, in2, size2, out) {int i = 0 ;\
+ for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Int8(in1[i] != 0 && in2[i] != 0);}
+
+#define u162u162OpLogAndu162(in1, size1, in2, size2, out) {int i = 0 ;\
+ for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Uint16(in1[i] != 0 && in2[i] != 0);}
+
+#define i162i162OpLogAndi162(in1, size1, in2, size2, out) {int i = 0 ;\
+ for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Int16(in1[i] != 0 && in2[i] != 0);}
+
#endif /* !__INT_OPLOGAND_H__ */
diff --git a/2.3-1/src/c/operations/interfaces/int_OpLogEq.h b/2.3-1/src/c/operations/interfaces/int_OpLogEq.h
index b15a8b6a..446b11cd 100644
--- a/2.3-1/src/c/operations/interfaces/int_OpLogEq.h
+++ b/2.3-1/src/c/operations/interfaces/int_OpLogEq.h
@@ -14,11 +14,17 @@
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#define s0s0OpLogEqs0(in1,in2) (float) (in1 == in2)
#define d0d0OpLogEqd0(in1,in2) (double) (in1 == in2)
#define c0c0OpLogEqs0(in1,in2) (float) ((creals(in1) == creals(in2)) && (cimags(in1) == cimags(in2)))
#define z0z0OpLogEqd0(in1,in2) (double) ((zreals(in1) == zreals(in2)) && (zimags(in1) == zimags(in2)))
+#define u80u80OpLogEqu80(in1,in2) (uint8) (in1 == in2)
+#define i80i80OpLogEqi80(in1,in2) (int8) (in1 == in2)
+#define u160u160OpLogEqu160(in1,in2) (uint16) (in1 == in2)
+#define i160i160OpLogEqi160(in1,in2) (int16) (in1 == in2)
+
#define s0c0OpLogEqs0(in1,in2) (float) ((in1==creals(in2)) && (0==cimags(in2)))
#define d0z0OpLogEqd0(in1,in2) (double) ((in1==zreals(in2)) && (0==zimags(in2)))
@@ -51,8 +57,21 @@
#define d2z0OpLogEqd2(in1,size,in2,out) {int i;\
for (i=0;i<size[0]*size[1];i++) out[i]=(double)((in1[i]==zreals(in2))&&(zimags(in2)==0));\
}
+#define u82u80OpLogEqu82(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(uint8)(in1[i]==in2);\
+ }
+#define i82i80OpLogEqi82(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(int8)(in1[i]==in2);\
+ }
+#define u162u160OpLogEqu162(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(uint16)(in1[i]==in2);\
+ }
+
+#define i162i160OpLogEqi162(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(int16)(in1[i]==in2);\
+ }
#define s0s2OpLogEqs2(in1,in2,inSize,out) s2s0OpLogEqs2(in2,inSize,in1,out)
#define c0s2OpLogEqs2(in1,in2,inSize,out) s2c0OpLogEqs2(in2,inSize,in1,out)
@@ -62,6 +81,11 @@
#define c0c2OpLogEqs2(in1,in2,inSize,out) c2c0OpLogEqs2(in2,inSize,in1,out)
#define d0z2OpLogEqd2(in1,in2,inSize,out) z2d0OpLogEqd2(in2,inSize,in1,out)
#define z0z2OpLogEqd2(in1,in2,inSize,out) z2z0OpLogEqd2(in2,inSize,in1,out)
+#define u80u82OpLogEqu82(in1,in2,inSize,out) u82u80OpLogEqu82(in2,inSize,in1,out)
+#define i80i82OpLogEqi82(in1,in2,inSize,out) i82i80OpLogEqi82(in2,inSize,in1,out)
+#define u160u162OpLogEqu162(in1,in2,inSize,out) u162u160OpLogEq162(in2,inSize,in1,out)
+#define i160i162OpLogEqi162(in1,in2,inSize,out) i162i160OpLogEqi162(in2,inSize,in1,out)
+
/* we must have size1=size2 */
@@ -91,4 +115,22 @@
#define c2s2OpLogEqs2(in1,size1,in2,size2,out) s2c2OpLogEqs2(in2,size2,in1,size1,out)
#define z2d2OpLogEqd2(in1,size1,in2,size2,out) d2z2OpLogEqd2(in2,size2,in1,size1,out)
-#endif /* !__OPLOGGT_H__ */
+
+#define u82u82OpLogEqu82(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=(uint8)(in1[i]==in2[i]);\
+ }
+
+#define i82i82OpLogEqi82(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=(int8)(in1[i]==in2[i]);\
+ }
+
+#define u162u162OpLogEqu162(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=(uint16)(in1[i]==in2[i]);\
+ }
+
+#define i162i162OpLogEqi162(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=(int16)(in1[i]==in2[i]);\
+ }
+
+
+#endif /* !__OPLOGEQ_H__ */
diff --git a/2.3-1/src/c/operations/interfaces/int_OpLogGe.h b/2.3-1/src/c/operations/interfaces/int_OpLogGe.h
index 0ce1ad81..edbdc071 100644
--- a/2.3-1/src/c/operations/interfaces/int_OpLogGe.h
+++ b/2.3-1/src/c/operations/interfaces/int_OpLogGe.h
@@ -21,15 +21,57 @@
#define s0s0OpLogGes0(in1,in2) (float) (in1 >= in2)
#define d0d0OpLogGed0(in1,in2) (double) (in1 >= in2)
+#define u80u80OpLogGeu80(in1,in2) (uint8) (in1 >= in2)
+
+#define i80i80OpLogGei80(in1,in2) (int8) (in1 >= in2)
+
+#define u160u160OpLogGeu160(in1,in2) (uint16) (in1 >= in2)
+
+#define i160i160OpLogGei160(in1,in2) (int16) (in1 >= in2)
+
#define s2s0OpLogGes2(in1, size1, in2, out) {int i;\
for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogGes0(in1[i],in2);\
}
+
+#define u82u80OpLogGeu82(in1, size1, in2, out) {int i;\
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u80u80OpLogGeu80(in1[i],in2);\
+ }
+
+#define i82i80OpLogGei82(in1, size1, in2, out) {int i;\
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i80i80OpLogGei80(in1[i],in2);\
+ }
+
+#define u82u80OpLogGeu82(in1, size1, in2, out) {int i;\
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u80u80OpLogGeu80(in1[i],in2);\
+ }
+
+#define u162u160OpLogGeu162(in1, size1, in2, out) {int i;\
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u160u160OpLogGeu160(in1[i],in2);\
+ }
+
+#define i162i160OpLogGei162(in1, size1, in2, out) {int i;\
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i160i160OpLogGei160(in1[i],in2);\
+ }
+
#define s0s2OpLogGes2(in1, in2, size2, out) {int i; \
for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = s0s0OpLogGes0(in1,in2[i]);\
}
+#define u80u82OpLogGeu82(in1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = u80u80OpLogGeu80(in1,in2[i]);\
+ }
+
+#define u160u162OpLogGeu162(in1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = u160u160OpLogGeu160(in1,in2[i]);\
+ }
+
+
+#define i160i162OpLogGei162(in1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = i160i160OpLogGei160(in1,in2[i]);\
+ }
+
/* we must have size1=size2 */
#define s2s2OpLogGes2(in1, size1, in2, size2, out) {int i; \
for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogGes0(in1[i],in2[i]);\
@@ -47,4 +89,22 @@
#define d2d2OpLogGed2(in1, size1, in2, size2, out) {int i; \
for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogGed0(in1[i],in2[i]);\
}
+
+#define u82u82OpLogGeu82(in1, size1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u80u80OpLogGeu80(in1[i],in2[i]);\
+ }
+
+#define i82i82OpLogGei82(in1, size1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i80i80OpLogGei80(in1[i],in2[i]);\
+ }
+
+#define u162u162OpLogGeu162(in1, size1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u160u160OpLogGeu160(in1[i],in2[i]);\
+ }
+
+#define i162i162OpLogGei162(in1, size1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i160i160OpLogGei160(in1[i],in2[i]);\
+ }
+
+
#endif /* !__OPLOGGE_H__ */
diff --git a/2.3-1/src/c/operations/interfaces/int_OpLogGt.h b/2.3-1/src/c/operations/interfaces/int_OpLogGt.h
index 161b654f..38c76cfb 100644
--- a/2.3-1/src/c/operations/interfaces/int_OpLogGt.h
+++ b/2.3-1/src/c/operations/interfaces/int_OpLogGt.h
@@ -21,15 +21,51 @@
#define s0s0OpLogGts0(in1,in2) (float) (in1 > in2)
#define d0d0OpLogGtd0(in1,in2) (double) (in1 > in2)
+#define u80u80OpLogGtu80(in1,in2) (uint8) (in1 > in2)
+#define i80i80OpLogGti80(in1,in2) (int8) (in1 > in2)
+#define u160u160OpLogGtu160(in1,in2) (uint16) (in1 > in2)
+#define i160i160OpLogGti160(in1,in2) (int16) (in1 > in2)
#define s2s0OpLogGts2(in1, size1, in2, out) {int i;\
for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogGts0(in1[i],in2);\
}
+#define u82u80OpLogGtu82(in1, size1, in2, out) {int i;\
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u80u80OpLogGtu80(in1[i],in2);\
+ }
+
+#define i82i80OpLogGti82(in1, size1, in2, out) {int i;\
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i80i80OpLogGti80(in1[i],in2);\
+ }
+
+#define u162u160OpLogGtu162(in1, size1, in2, out) {int i;\
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u160u160OpLogGtu160(in1[i],in2);\
+ }
+
+#define i162i160OpLogGti162(in1, size1, in2, out) {int i;\
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i160i160OpLogGti160(in1[i],in2);\
+ }
+
#define s0s2OpLogGts2(in1, in2, size2, out) {int i; \
for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = s0s0OpLogGts0(in1,in2[i]);\
}
+#define u80u82OpLogGtu82(in1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = u80u80OpLogGtu80(in1,in2[i]);\
+ }
+
+#define i80i82OpLogGti82(in1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = i80i80OpLogGti80(in1,in2[i]);\
+ }
+
+#define u160u162OpLogGtu162(in1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = u160u160OpLogGtu160(in1,in2[i]);\
+ }
+
+#define i160i162OpLogGti162(in1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = i160i160OpLogGti160(in1,in2[i]);\
+ }
+
/* we must have size1=size2 */
#define s2s2OpLogGts2(in1, size1, in2, size2, out) {int i; \
for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogGts0(in1[i],in2[i]);\
@@ -47,4 +83,21 @@
#define d2d2OpLogGtd2(in1, size1, in2, size2, out) {int i; \
for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogGtd0(in1[i],in2[i]);\
}
+
+#define u82u82OpLogGtu82(in1, size1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u80u80OpLogGtu80(in1[i],in2[i]);\
+ }
+
+#define i82i82OpLogGti82(in1, size1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i80i80OpLogGti80(in1[i],in2[i]);\
+ }
+
+#define u162u162OpLogGtu162(in1, size1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u160u160OpLogGt160(in1[i],in2[i]);\
+ }
+
+#define i162i162OpLogGti162(in1, size1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i160i160OpLogGti160(in1[i],in2[i]);\
+ }
+
#endif /* !__OPLOGGT_H__ */
diff --git a/2.3-1/src/c/operations/interfaces/int_OpLogLe.h b/2.3-1/src/c/operations/interfaces/int_OpLogLe.h
index ebb09c7b..8dbd1aac 100644
--- a/2.3-1/src/c/operations/interfaces/int_OpLogLe.h
+++ b/2.3-1/src/c/operations/interfaces/int_OpLogLe.h
@@ -20,16 +20,51 @@
#define s0s0OpLogLes0(in1,in2) (float) (in1 <= in2)
#define d0d0OpLogLed0(in1,in2) (double) (in1 <= in2)
-
+#define u80u80OpLogLeu80(in1,in2) (uint8) (in1 <= in2)
+#define i80i80OpLogLei80(in1,in2) (int8) (in1 <= in2)
+#define u160u160OpLogLeu160(in1,in2) (uint16) (in1 <= in2)
+#define i160i160OpLogLei160(in1,in2) (int16) (in1 <= in2)
#define s2s0OpLogLes2(in1, size1, in2, out) {int i;\
for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogLes0(in1[i],in2);\
}
+#define u82u80OpLogLeu82(in1, size1, in2, out) {int i;\
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u80u80OpLogLeu80(in1[i],in2);\
+ }
+
+#define i82i80OpLogLei82(in1, size1, in2, out) {int i;\
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i80i80OpLogLei80(in1[i],in2);\
+ }
+
+#define u162u160OpLogLeu162(in1, size1, in2, out) {int i;\
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u160u160OpLogLeu160(in1[i],in2);\
+ }
+
+#define i162i160OpLogLei162(in1, size1, in2, out) {int i;\
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i160i160OpLogLei160(in1[i],in2);\
+ }
+
#define s0s2OpLogLes2(in1, in2, size2, out) {int i; \
for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = s0s0OpLogLes0(in1,in2[i]);\
}
+#define u80u82OpLogLeu82(in1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = u80u80OpLogLeu80(in1,in2[i]);\
+ }
+
+#define i80i82OpLogLei82(in1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = i80i80OpLogLei80(in1,in2[i]);\
+ }
+
+#define u160u162OpLogLeu162(in1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = u160u160OpLogLeu160(in1,in2[i]);\
+ }
+
+#define i160i162OpLogLei162(in1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = i160i160OpLogLei160(in1,in2[i]);\
+ }
+
/* we must have size1=size2 */
#define s2s2OpLogLes2(in1, size1, in2, size2, out) {int i; \
for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogLes0(in1[i],in2[i]);\
@@ -47,4 +82,21 @@
#define d2d2OpLogLed2(in1, size1, in2, size2, out) {int i; \
for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogLed0(in1[i],in2[i]);\
}
+
+#define u82u82OpLogLeu82(in1, size1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u80u80OpLogLeu80(in1[i],in2[i]);\
+ }
+
+#define i82i82OpLogLei82(in1, size1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i80i80OpLogLei80(in1[i],in2[i]);\
+ }
+
+#define u162u162OpLogLeu162(in1, size1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u160u160OpLogLeu160(in1[i],in2[i]);\
+ }
+
+#define i162i162OpLogLei162(in1, size1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i160i160OpLogLei160(in1[i],in2[i]);\
+ }
+
#endif /* !__OPLOGLE_H__ */
diff --git a/2.3-1/src/c/operations/interfaces/int_OpLogLt.h b/2.3-1/src/c/operations/interfaces/int_OpLogLt.h
index 2c5d8639..8974b156 100644
--- a/2.3-1/src/c/operations/interfaces/int_OpLogLt.h
+++ b/2.3-1/src/c/operations/interfaces/int_OpLogLt.h
@@ -20,16 +20,51 @@
#define s0s0OpLogLts0(in1,in2) (float) (in1 < in2)
#define d0d0OpLogLtd0(in1,in2) (double) (in1 < in2)
-
+#define u80u80OpLogLtu80(in1,in2) (uint8) (in1 < in2)
+#define i80i80OpLogLti80(in1,in2) (int8) (in1 < in2)
+#define u160u160OpLogLtu160(in1,in2) (uint16) (in1 < in2)
+#define i160i160OpLogLti160(in1,in2) (int16) (in1 < in2)
#define s2s0OpLogLts2(in1, size1, in2, out) {int i;\
for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogLts0(in1[i],in2);\
}
+#define u82u80OpLogLtu82(in1, size1, in2, out) {int i;\
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u80u80OpLogLtu80(in1[i],in2);\
+ }
+
+#define i82i80OpLogLti82(in1, size1, in2, out) {int i;\
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i80i80OpLogLti80(in1[i],in2);\
+ }
+
+#define u162u160OpLogLtu162(in1, size1, in2, out) {int i;\
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u160u160OpLogLtu160(in1[i],in2);\
+ }
+
+#define i162i160OpLogLti162(in1, size1, in2, out) {int i;\
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i160i160OpLogLti160(in1[i],in2);\
+ }
+
#define s0s2OpLogLts2(in1, in2, size2, out) {int i; \
for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = s0s0OpLogLts0(in1,in2[i]);\
}
+#define u80u82OpLogLtu82(in1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = u80u80OpLogLtu80(in1,in2[i]);\
+ }
+
+#define i80i82OpLogLti82(in1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = i80i80OpLogLti80(in1,in2[i]);\
+ }
+
+#define u160u162OpLogLtu162(in1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = u160u160OpLogLtu160(in1,in2[i]);\
+ }
+
+#define i160i162OpLogLti162(in1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = i160i160OpLogLti160(in1,in2[i]);\
+ }
+
/* we must have size1=size2 */
#define s2s2OpLogLts2(in1, size1, in2, size2, out) {int i; \
for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogLts0(in1[i],in2[i]);\
@@ -47,4 +82,21 @@
#define d2d2OpLogLtd2(in1, size1, in2, size2, out) {int i; \
for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogLtd0(in1[i],in2[i]);\
}
+
+#define u82u82OpLogLtu82(in1, size1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u80u80OpLogLtu80(in1[i],in2[i]);\
+ }
+
+#define i82i82OpLogLti82(in1, size1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i80i80OpLogLti80(in1[i],in2[i]);\
+ }
+
+#define u162u162OpLogLtu162(in1, size1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u160u160OpLogLtu160(in1[i],in2[i]);\
+ }
+
+#define i162i162OpLogLti162(in1, size1, in2, size2, out) {int i; \
+ for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i160i160OpLogLti160(in1[i],in2[i]);\
+ }
+
#endif /* !__OPLOGLT_H__ */
diff --git a/2.3-1/src/c/operations/interfaces/int_OpLogNe.h b/2.3-1/src/c/operations/interfaces/int_OpLogNe.h
index 238ef483..56cafefa 100644
--- a/2.3-1/src/c/operations/interfaces/int_OpLogNe.h
+++ b/2.3-1/src/c/operations/interfaces/int_OpLogNe.h
@@ -22,6 +22,10 @@
#define d0d0OpLogNed0(in1,in2) (double) !(in1 == in2)
#define c0c0OpLogNes0(in1,in2) (float) !((creals(in1) == creals(in2)) && (cimags(in1) == cimags(in2)))
#define z0z0OpLogNed0(in1,in2) (double) !((zreals(in1) == zreals(in2)) && (zimags(in1) == zimags(in2)))
+#define u80u80OpLogNeu80(in1,in2) (uint8) !(in1 == in2)
+#define i80i80OpLogNei80(in1,in2) (int8) !(in1 == in2)
+#define u160u160OpLogNeu160(in1,in2) (uint16) !(in1 == in2)
+#define i160i160OpLogNei160(in1,in2) (int16) !(in1 == in2)
#define s0c0OpLogNes0(in1,in2) (float) !((in1==creals(in2)) && (0==cimags(in2)))
#define d0z0OpLogNed0(in1,in2) (double) !((in1==zreals(in2)) && (0==zimags(in2)))
@@ -55,7 +59,21 @@
for (i=0;i<size[0]*size[1];i++) out[i]=(double)!((in1[i]==zreals(in2))&&(zimags(in2)==0));\
}
+#define u82u80OpLogNeu82(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(uint8)!(in1[i]==in2);\
+ }
+
+#define i82i80OpLogNei82(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(int8)!(in1[i]==in2);\
+ }
+#define u162u160OpLogNeu162(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(uint16)!(in1[i]==in2);\
+ }
+
+#define i162i160OpLogNei162(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=(int16)!(in1[i]==in2);\
+ }
#define s0s2OpLogNes2(in1,in2,inSize,out) s2s0OpLogNes2(in2,inSize,in1,out)
#define c0s2OpLogNes2(in1,in2,inSize,out) s2c0OpLogNes2(in2,inSize,in1,out)
@@ -65,6 +83,10 @@
#define c0c2OpLogNes2(in1,in2,inSize,out) c2c0OpLogNes2(in2,inSize,in1,out)
#define d0z2OpLogNed2(in1,in2,inSize,out) z2d0OpLogNed2(in2,inSize,in1,out)
#define z0z2OpLogNed2(in1,in2,inSize,out) z2z0OpLogNed2(in2,inSize,in1,out)
+#define u80u82OpLogNeu82(in1,in2,inSize,out) u82u80OpLogNeu82(in2,inSize,in1,out)
+#define i80i82OpLogNei82(in1,in2,inSize,out) i82i80OpLogNei82(in2,inSize,in1,out)
+#define u160u162OpLogNeu162(in1,in2,inSize,out) u162u160OpLogNeu162(in2,inSize,in1,out)
+#define i160i162OpLogNei162(in1,in2,inSize,out) i162i160OpLogNei162(in2,inSize,in1,out)
/* we must have size1=size2 */
@@ -95,4 +117,20 @@
#define c2s2OpLogNes2(in1,size1,in2,size2,out) s2c2OpLogNes2(in2,size2,in1,size1,out)
#define z2d2OpLogNed2(in1,size1,in2,size2,out) d2z2OpLogNed2(in2,size2,in1,size1,out)
+#define u82u82OpLogNeu82(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=(uint8)!(in1[i]==in2[i]);\
+ }
+
+#define i82i82OpLogNei82(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=(int8)!(in1[i]==in2[i]);\
+ }
+
+#define u162u162OpLogNeu162(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=(uint16)!(in1[i]==in2[i]);\
+ }
+
+#define i162i162OpLogNei162(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=(int16)!(in1[i]==in2[i]);\
+ }
+
#endif /* !__OPLOGNE_H__ */
diff --git a/2.3-1/src/c/operations/interfaces/int_OpLogOr.h b/2.3-1/src/c/operations/interfaces/int_OpLogOr.h
index b5d55fba..07039d1e 100644
--- a/2.3-1/src/c/operations/interfaces/int_OpLogOr.h
+++ b/2.3-1/src/c/operations/interfaces/int_OpLogOr.h
@@ -19,6 +19,14 @@
#define Bool2Double(in) ((in) ? 1.0 : 0.0)
+#define Bool2Uint8(in) ((in) ? (uint8)1 : (uint8)0)
+
+#define Bool2Int8(in) ((in) ? (int8)1 : (int8)0)
+
+#define Bool2Uint16(in) ((in) ? (uint16)1 : (uint16)0)
+
+#define Bool2Int16(in) ((in) ? (int16)1 : (int16)0)
+
/*scalar or scalar */
#define s0s0OpLogOrs0(in1, in2) Bool2Float(in1 != 0.0f || in2 != 0.0f)
@@ -37,6 +45,14 @@
#define z0d0OpLogOrd0(in1, in2) Bool2Double((zreals(in1) != 0.0 || zimags(in1) != 0.0) && in2 != 0.0)
+#define u80u80OpLogAndu80(in1, in2) Bool2Uint8(in1 != 0 || in2 != 0)
+
+#define i80i80OpLogAndi80(in1, in2) Bool2Int8(in1 != 0 || in2 != 0)
+
+#define u160u160OpLogAndu160(in1, in2) Bool2Uint16(in1 != 0 || in2 != 0)
+
+#define i160i160OpLogAndi160(in1, in2) Bool2Int16(in1 != 0 || in2 != 0)
+
/*matrix or scalar */
#define s2s0OpLogOrs2(in1, size1, in2, out) {int i = 0 ;\
@@ -63,6 +79,19 @@
#define z2d0OpLogOrd2(in1, size1, in2, out) {int i = 0 ;\
for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Double((zreals(in1[i]) != 0.0 || zimags(in1[i]) != 0.0) && in2 != 0.0);}
+#define i82i80OpLogAndi82(in1, size1, in2, out) {int i = 0 ;\
+ for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Int8(in1[i] != 0 || in2 != 0);}
+
+#define u82u80OpLogAndu82(in1, size1, in2, out) {int i = 0 ;\
+ for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Uint8(in1[i] != 0 || in2 != 0);}
+
+#define u162u160OpLogAndu162(in1, size1, in2, out) {int i = 0 ;\
+ for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Uint16(in1[i] != 0 || in2 != 0);}
+
+#define i162i160OpLogAndi162(in1, size1, in2, out) {int i = 0 ;\
+ for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Int16(in1[i] != 0 || in2 != 0);}
+
+
/*scalar or matrix */
#define s0s2OpLogOrs2(in1, in2, size2, out) {int i = 0 ;\
@@ -88,6 +117,19 @@
#define z0d2OpLogOrd2(in1, in2, size2, out) {int i = 0 ;\
for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double((zreals(in1) != 0.2 || zimags(in1) != 0.2) && in2[i] != 0.2);}
+
+#define u80u82OpLogAndu82(in1, in2, size2, out) {int i = 0 ;\
+ for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Uint8(in1 != 0 || in2[i] != 0);}
+
+#define i80i82OpLogAndi82(in1, in2, size2, out) {int i = 0 ;\
+ for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Int8(in1 != 0 || in2[i] != 0);}
+
+#define u160u162OpLogAndu162(in1, in2, size2, out) {int i = 0 ;\
+ for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Uint16(in1 != 0 || in2[i] != 0);}
+
+#define i160i162OpLogAndi162(in1, in2, size2, out) {int i = 0 ;\
+ for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Int16(in1 != 0 || in2[i] != 0);}
+
/*matrix or matrix */
#define s2s2OpLogOrs2(in1, size1, in2, size2, out) {int i = 0 ;\
@@ -113,4 +155,17 @@
#define z2d2OpLogOrd2(in1, size1, in2, size2, out) {int i = 0 ;\
for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double((zreals(in1[i]) != 0.2 || zimags(in1[i]) != 0.2) && in2[i] != 0.2);}
+
+#define u82u82OpLogAndu82(in1, size1, in2, size2, out) {int i = 0 ;\
+ for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Uint8(in1[i] != 0 || in2[i] != 0);}
+
+#define i82i82OpLogAndi82(in1, size1, in2, size2, out) {int i = 0 ;\
+ for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Int8(in1[i] != 0 || in2[i] != 0);}
+
+#define u162u162OpLogAndu162(in1, size1, in2, size2, out) {int i = 0 ;\
+ for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Uint16(in1[i] != 0 || in2[i] != 0);}
+
+#define i162i162OpLogAndi162(in1, size1, in2, size2, out) {int i = 0 ;\
+ for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Int16(in1[i] != 0 || in2[i] != 0);}
+
#endif /* !__INT_OPLOGOR_H__ */
diff --git a/2.3-1/src/c/type/int_imag.h b/2.3-1/src/c/type/int_imag.h
index 9647f6ad..6e6b7367 100644
--- a/2.3-1/src/c/type/int_imag.h
+++ b/2.3-1/src/c/type/int_imag.h
@@ -23,6 +23,14 @@
#define z0imagd0(in) zimags(in)
+#define u80imagu80(in) 0
+
+#define i80imagi80(in) 0
+
+#define u160imagu160(in) 0
+
+#define i160imagi160(in) 0
+
#define s2imags2(in,size,out) szerosa(out,size[0],size[1])
#define d2imagd2(in,size,out) dzerosa(out,size[0],size[1])
@@ -31,4 +39,12 @@
#define z2imagd2(in,size,out) zimaga(in, size[0]*size[1], out)
+#define u82imagu82(in,size,out) u8zerosa(out,size[0],size[1])
+
+#define i82imagi82(in,size,out) i8zerosa(out,size[0],size[1])
+
+#define u162imagu162(in,size,out) u16zerosa(out,size[0],size[1])
+
+#define i162imagi162(in,size,out) i16zerosa(out,size[0],size[1])
+
#endif /* !__INT_IMAG_H__ */
diff --git a/2.3-1/src/c/type/int_real.h b/2.3-1/src/c/type/int_real.h
index 4949b883..ce097ec5 100644
--- a/2.3-1/src/c/type/int_real.h
+++ b/2.3-1/src/c/type/int_real.h
@@ -23,6 +23,14 @@
#define z0reald0(in) zreals(in)
+#define u80realu80(in) in
+
+#define i80reali80(in) in
+
+#define u160realu160(in) in
+
+#define i160reali160(in) in
+
#define s2reals2(in,size,out) {int i;\
for (i=0;i<size[0]*size[1];i++) out[i]=in[i];\
}
@@ -35,4 +43,19 @@
#define z2reald2(in,size,out) zreala(in, size[0]*size[1],out)
+#define u82realu82(in,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in[i];\
+ }
+
+#define i82reali82(in,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in[i];\
+ }
+#define u162realu162(in,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in[i];\
+ }
+
+#define i162reali162(in,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in[i];\
+ }
+
#endif /* !__INT_REAL_H__ */