summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiddhesh Wani2015-07-30 17:06:28 +0530
committerSiddhesh Wani2015-07-30 17:06:28 +0530
commitf39c271ca3fbf737612350a7f1c6af7e2c7022f9 (patch)
tree3fb231c7500048aea6f41be146c66ba5b666245a
parentdb464f35f5a10b58d9ed1085e0b462689adee583 (diff)
downloadScilab2C_fossee_old-f39c271ca3fbf737612350a7f1c6af7e2c7022f9.tar.gz
Scilab2C_fossee_old-f39c271ca3fbf737612350a7f1c6af7e2c7022f9.tar.bz2
Scilab2C_fossee_old-f39c271ca3fbf737612350a7f1c6af7e2c7022f9.zip
Added new data types. Support for few functions with new data types added. These changes requires proper testing
-rw-r--r--includes/sci2clib.h82
-rw-r--r--macros/CCodeGeneration/C_Type.binbin4032 -> 9600 bytes
-rw-r--r--macros/CCodeGeneration/C_Type.sci8
-rw-r--r--macros/FunctionAnnotation/FA_GetDefaultPrecision.sci9
-rw-r--r--macros/FunctionAnnotation/FA_TP_INT16.binbin0 -> 9600 bytes
-rw-r--r--macros/FunctionAnnotation/FA_TP_INT16.sci30
-rw-r--r--macros/FunctionAnnotation/FA_TP_INT8.binbin0 -> 9600 bytes
-rw-r--r--macros/FunctionAnnotation/FA_TP_INT8.sci30
-rw-r--r--macros/FunctionAnnotation/FA_TP_UINT16.binbin0 -> 9600 bytes
-rw-r--r--macros/FunctionAnnotation/FA_TP_UINT16.sci30
-rw-r--r--macros/FunctionAnnotation/FA_TP_UINT8.binbin0 -> 9600 bytes
-rw-r--r--macros/FunctionAnnotation/FA_TP_UINT8.sci30
-rw-r--r--macros/FunctionAnnotation/names4
-rw-r--r--macros/ToolInitialization/INIT_FillSCI2LibCDirs.binbin708780 -> 403968 bytes
-rw-r--r--macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci500
-rw-r--r--macros/ToolInitialization/INIT_GenLibraries.binbin8556 -> 9600 bytes
-rw-r--r--macros/ToolInitialization/INIT_GenSharedInfo.sci2
-rw-r--r--macros/findDeps/getAllHeaders.binbin20440 -> 13696 bytes
-rw-r--r--macros/findDeps/getAllHeaders.sci1
-rw-r--r--macros/runsci2c.binbin23048 -> 17152 bytes
-rw-r--r--src/c/operations/interfaces/int_OpStar.h39
-rw-r--r--src/c/operations/multiplication/i16muls.c19
-rw-r--r--src/c/operations/multiplication/i16mulv.c27
-rw-r--r--src/c/operations/multiplication/i8muls.c19
-rw-r--r--src/c/operations/multiplication/i8mulv.c27
-rw-r--r--src/c/operations/multiplication/u16muls.c19
-rw-r--r--src/c/operations/multiplication/u16mulv.c27
-rw-r--r--src/c/operations/multiplication/u8muls.c19
-rw-r--r--src/c/operations/multiplication/u8mulv.c26
-rw-r--r--src/c/type/types.h17
30 files changed, 926 insertions, 39 deletions
diff --git a/includes/sci2clib.h b/includes/sci2clib.h
index eff4cf0..3154ac3 100644
--- a/includes/sci2clib.h
+++ b/includes/sci2clib.h
@@ -1,27 +1,45 @@
#ifndef __SCI2CLIB_H__
#define __SCI2CLIB_H__
-#include <stdlib.h>
-#include <string.h>
+#include <stdlib.h>
+#include <string.h>
#include <math.h>
-/* #include "SCI2CMacroInterface.h" */
-/* #include "notFound.h" */
-/* #include "doubleComplex.h" */
-/* #include "floatComplex.h" */
-/* #include "RealToComplex.h" */
-/* #include "OpEqual.h" */
-/* #include "OpIns.h" */
-/* #include "OpExt.h" */
-/* #include "FileManagement.h" */
-/* #include "OpLogNe.h" */
-/* #include "OpLogGt.h" */
-/* #include "OpLogLt.h" */
-/* #include "OpLogGe.h" */
-/* #include "OpLogLe.h" */
-/* #include "OpLogEq.h" */
-/* #include "OpLogOr.h" */
-/* #include "OpLogAnd.h" */
-/* #include "OpLogNot.h" */
+/* #include "SCI2CMacroInterface.h"
+ */
+/* #include "notFound.h"
+ */
+/* #include "doubleComplex.h"
+ */
+/* #include "floatComplex.h"
+ */
+/* #include "RealToComplex.h"
+ */
+/* #include "OpEqual.h"
+ */
+/* #include "OpIns.h"
+ */
+/* #include "OpExt.h"
+ */
+/* #include "FileManagement.h"
+ */
+/* #include "OpLogNe.h"
+ */
+/* #include "OpLogGt.h"
+ */
+/* #include "OpLogLt.h"
+ */
+/* #include "OpLogGe.h"
+ */
+/* #include "OpLogLe.h"
+ */
+/* #include "OpLogEq.h"
+ */
+/* #include "OpLogOr.h"
+ */
+/* #include "OpLogAnd.h"
+ */
+/* #include "OpLogNot.h"
+ */
/* #include "ConvertPrecision.h" */
/* CONSTANT */
@@ -56,14 +74,14 @@
/* interfacing isnan */
#include "isnan.h"
#include "int_isnan.h"
-/* interfacing length */
-#include "length.h"
+/* interfacing length */
+#include "length.h"
#include "int_length.h"
-/* interfacing max */
-#include "max.h"
+/* interfacing max */
+#include "max.h"
#include "int_max.h"
-/* interfacing min */
-#include "min.h"
+/* interfacing min */
+#include "min.h"
#include "int_min.h"
/* interfacing pythag */
#include "pythag.h"
@@ -147,8 +165,8 @@
/* interfacing sinh */
#include "sinh.h"
#include "int_sinh.h"
-/* interfacing sqrt */
-#include "sqrt.h"
+/* interfacing sqrt */
+#include "sqrt.h"
#include "int_sqrt.h"
/* interfacing tan */
#include "tan.h"
@@ -223,7 +241,8 @@
#include "matrixInversion.h"
#include "int_invert.h"
/* interfacing infinite norm */
-#include "infiniteNorm.h" /* interfacing ones */
+#include "infiniteNorm.h"
+/* interfacing ones */
#include "ones.h"
#include "int_ones.h"
/* interfacing spec */
@@ -235,7 +254,8 @@
/* interfacing tranpose */
#include "matrixTranspose.h"
#include "int_OpApex.h"
-#include "int_OpDotApex.h" /* interfacing zeros */
+#include "int_OpDotApex.h"
+/* interfacing zeros */
#include "zeros.h"
#include "int_zeros.h"
@@ -294,4 +314,6 @@
/* interfacing imag */
#include "int_imag.h"
+#include "types.h"
+
#endif /* !__SCI2CLIB_H__ */
diff --git a/macros/CCodeGeneration/C_Type.bin b/macros/CCodeGeneration/C_Type.bin
index bdbbb26..607a1b3 100644
--- a/macros/CCodeGeneration/C_Type.bin
+++ b/macros/CCodeGeneration/C_Type.bin
Binary files differ
diff --git a/macros/CCodeGeneration/C_Type.sci b/macros/CCodeGeneration/C_Type.sci
index 21d83a7..506c8fd 100644
--- a/macros/CCodeGeneration/C_Type.sci
+++ b/macros/CCodeGeneration/C_Type.sci
@@ -35,6 +35,14 @@ elseif (ArgType == 'g')
OutC_Type = 'char';
elseif (ArgType == 'f')
OutC_Type = 'SCI2CFILEID';
+elseif (ArgType == 'u8')
+ OutC_Type = 'uint8';
+elseif (ArgType == 'i8')
+ OutC_Type = 'int8';
+elseif (ArgType == 'u16')
+ OutC_Type = 'uint16';
+elseif (ArgType == 'i16')
+ OutC_Type = 'int16';
else
error(9999, 'Unknown Argument Type: ""'+ArgType+'"".');
end
diff --git a/macros/FunctionAnnotation/FA_GetDefaultPrecision.sci b/macros/FunctionAnnotation/FA_GetDefaultPrecision.sci
index 3afe264..da5486d 100644
--- a/macros/FunctionAnnotation/FA_GetDefaultPrecision.sci
+++ b/macros/FunctionAnnotation/FA_GetDefaultPrecision.sci
@@ -79,6 +79,15 @@ else
defaultprecision = 's';
elseif (tmpprecision == 'DOUBLE')
defaultprecision = 'd';
+ elseif (tmpprecision == 'UINT8')
+ defaultprecision = 'u8';
+ elseif (tmpprecision == 'INT8')
+ defaultprecision = 'i8';
+ elseif (tmpprecision == 'UINT16')
+ defaultprecision = 'u16';
+ elseif (tmpprecision == 'INT16')
+ defaultprecision = 'i16';
+
end
end
diff --git a/macros/FunctionAnnotation/FA_TP_INT16.bin b/macros/FunctionAnnotation/FA_TP_INT16.bin
new file mode 100644
index 0000000..2ffc10e
--- /dev/null
+++ b/macros/FunctionAnnotation/FA_TP_INT16.bin
Binary files differ
diff --git a/macros/FunctionAnnotation/FA_TP_INT16.sci b/macros/FunctionAnnotation/FA_TP_INT16.sci
new file mode 100644
index 0000000..8971754
--- /dev/null
+++ b/macros/FunctionAnnotation/FA_TP_INT16.sci
@@ -0,0 +1,30 @@
+function typeout = FA_TP_INT16()
+// function typeout = FA_TP_INT16()
+// -----------------------------------------------------------------
+// Returns the "uint8" type specifier
+// for Function Annotations.
+//
+// Input data:
+// ---
+//
+// Output data:
+// typeout: string containing the type specifier.
+//
+// Status:
+//
+// Copyright 2007 Raffaele Nutricato & Alberto Morea.
+// Contact: raffaele.nutricato@tiscali.it
+// -----------------------------------------------------------------
+
+// ------------------------------
+// --- Check input arguments. ---
+// ------------------------------
+SCI2CNInArgCheck(argn(2),0,0);
+
+
+// ------------------------
+// --- Generate Output. ---
+// ------------------------
+typeout = 'i16';
+
+endfunction
diff --git a/macros/FunctionAnnotation/FA_TP_INT8.bin b/macros/FunctionAnnotation/FA_TP_INT8.bin
new file mode 100644
index 0000000..3455174
--- /dev/null
+++ b/macros/FunctionAnnotation/FA_TP_INT8.bin
Binary files differ
diff --git a/macros/FunctionAnnotation/FA_TP_INT8.sci b/macros/FunctionAnnotation/FA_TP_INT8.sci
new file mode 100644
index 0000000..49c752b
--- /dev/null
+++ b/macros/FunctionAnnotation/FA_TP_INT8.sci
@@ -0,0 +1,30 @@
+function typeout = FA_TP_INT8()
+// function typeout = FA_TP_INT8()
+// -----------------------------------------------------------------
+// Returns the "int8" type specifier
+// for Function Annotations.
+//
+// Input data:
+// ---
+//
+// Output data:
+// typeout: string containing the type specifier.
+//
+// Status:
+//
+// Copyright 2007 Raffaele Nutricato & Alberto Morea.
+// Contact: raffaele.nutricato@tiscali.it
+// -----------------------------------------------------------------
+
+// ------------------------------
+// --- Check input arguments. ---
+// ------------------------------
+SCI2CNInArgCheck(argn(2),0,0);
+
+
+// ------------------------
+// --- Generate Output. ---
+// ------------------------
+typeout = 'i8';
+
+endfunction
diff --git a/macros/FunctionAnnotation/FA_TP_UINT16.bin b/macros/FunctionAnnotation/FA_TP_UINT16.bin
new file mode 100644
index 0000000..5c0ec30
--- /dev/null
+++ b/macros/FunctionAnnotation/FA_TP_UINT16.bin
Binary files differ
diff --git a/macros/FunctionAnnotation/FA_TP_UINT16.sci b/macros/FunctionAnnotation/FA_TP_UINT16.sci
new file mode 100644
index 0000000..5f1c98f
--- /dev/null
+++ b/macros/FunctionAnnotation/FA_TP_UINT16.sci
@@ -0,0 +1,30 @@
+function typeout = FA_TP_UINT16()
+// function typeout = FA_TP_UINT16()
+// -----------------------------------------------------------------
+// Returns the "uint16" type specifier
+// for Function Annotations.
+//
+// Input data:
+// ---
+//
+// Output data:
+// typeout: string containing the type specifier.
+//
+// Status:
+//
+// Copyright 2007 Raffaele Nutricato & Alberto Morea.
+// Contact: raffaele.nutricato@tiscali.it
+// -----------------------------------------------------------------
+
+// ------------------------------
+// --- Check input arguments. ---
+// ------------------------------
+SCI2CNInArgCheck(argn(2),0,0);
+
+
+// ------------------------
+// --- Generate Output. ---
+// ------------------------
+typeout = 'u16';
+
+endfunction
diff --git a/macros/FunctionAnnotation/FA_TP_UINT8.bin b/macros/FunctionAnnotation/FA_TP_UINT8.bin
new file mode 100644
index 0000000..6966139
--- /dev/null
+++ b/macros/FunctionAnnotation/FA_TP_UINT8.bin
Binary files differ
diff --git a/macros/FunctionAnnotation/FA_TP_UINT8.sci b/macros/FunctionAnnotation/FA_TP_UINT8.sci
new file mode 100644
index 0000000..934f354
--- /dev/null
+++ b/macros/FunctionAnnotation/FA_TP_UINT8.sci
@@ -0,0 +1,30 @@
+function typeout = FA_TP_UINT8()
+// function typeout = FA_TP_UINT8()
+// -----------------------------------------------------------------
+// Returns the "uint8" type specifier
+// for Function Annotations.
+//
+// Input data:
+// ---
+//
+// Output data:
+// typeout: string containing the type specifier.
+//
+// Status:
+//
+// Copyright 2007 Raffaele Nutricato & Alberto Morea.
+// Contact: raffaele.nutricato@tiscali.it
+// -----------------------------------------------------------------
+
+// ------------------------------
+// --- Check input arguments. ---
+// ------------------------------
+SCI2CNInArgCheck(argn(2),0,0);
+
+
+// ------------------------
+// --- Generate Output. ---
+// ------------------------
+typeout = 'u8';
+
+endfunction
diff --git a/macros/FunctionAnnotation/names b/macros/FunctionAnnotation/names
index 83710bc..e95bff5 100644
--- a/macros/FunctionAnnotation/names
+++ b/macros/FunctionAnnotation/names
@@ -49,3 +49,7 @@ FA_SUB
FA_SZ_OPLOGNOT
FA_SZ_OPLOGLE
FA_SZ_OPAPEX
+FA_TP_UINT8
+FA_TP_INT8
+FA_TP_UINT8
+FA_TP_INT16
diff --git a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin
index d5d23bd..e43e2d9 100644
--- a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin
+++ b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin
Binary files differ
diff --git a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
index 30fa92b..5fcc0f9 100644
--- a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
+++ b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
@@ -106,12 +106,22 @@ PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d0'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'s0',ClassFileName,'file','y');
+
//PrintStringInfo('c0'+ArgSeparator+'s0',ClassFileName,'file','y');
//PrintStringInfo('z0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d2'+ArgSeparator+'s2',ClassFileName,'file','y');
//PrintStringInfo('c2'+ArgSeparator+'s2',ClassFileName,'file','y');
//PrintStringInfo('z2'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'s2',ClassFileName,'file','y');
+
// --- Annotation Function And Function List Function. ---
FunctionName = 'float';
@@ -137,10 +147,18 @@ PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
PrintStringInfo('s0'+ArgSeparator+'d0',ClassFileName,'file','y');
PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'d0',ClassFileName,'file','y');
//PrintStringInfo('c0'+ArgSeparator+'d0',ClassFileName,'file','y');
//PrintStringInfo('z0'+ArgSeparator+'d0',ClassFileName,'file','y');
PrintStringInfo('s2'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'d2',ClassFileName,'file','y');
//PrintStringInfo('c2'+ArgSeparator+'d2',ClassFileName,'file','y');
//PrintStringInfo('z2'+ArgSeparator+'d2',ClassFileName,'file','y');
@@ -173,10 +191,19 @@ PrintStringInfo('s0'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('d0'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('z0'+ArgSeparator+'c0',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'c0',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'c0',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'c0',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'c0',ClassFileName,'file','y');
+
PrintStringInfo('s2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('d2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('z2'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'c2',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
FunctionName = 'floatcomplex';
@@ -207,10 +234,19 @@ PrintStringInfo('s0'+ArgSeparator+'z0',ClassFileName,'file','y');
PrintStringInfo('d0'+ArgSeparator+'z0',ClassFileName,'file','y');
PrintStringInfo('c0'+ArgSeparator+'z0',ClassFileName,'file','y');
PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'z0',ClassFileName,'file','y');
+
PrintStringInfo('s2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('d2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('c2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'z2',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
FunctionName = 'doublecomplex';
@@ -218,6 +254,164 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file',
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+// ---------------------
+// --- Class Uint8. ---
+// ---------------------
+ClassName = 'Uint8';
+
+// --- 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= ''u8''',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('s0'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'u80',ClassFileName,'file','y');
+//PrintStringInfo('c0'+ArgSeparator+'d0',ClassFileName,'file','y');
+//PrintStringInfo('z0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'u82',ClassFileName,'file','y');
+//PrintStringInfo('c2'+ArgSeparator+'d2',ClassFileName,'file','y');
+//PrintStringInfo('z2'+ArgSeparator+'d2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'uint8';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+// ---------------------
+// --- Class Int8. ---
+// ---------------------
+ClassName = 'Int8';
+
+// --- 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= ''i8''',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('s0'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i80',ClassFileName,'file','y');
+//PrintStringInfo('c0'+ArgSeparator+'d0',ClassFileName,'file','y');
+//PrintStringInfo('z0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i82',ClassFileName,'file','y');
+//PrintStringInfo('c2'+ArgSeparator+'d2',ClassFileName,'file','y');
+//PrintStringInfo('z2'+ArgSeparator+'d2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'int8';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+// ---------------------
+// --- Class Uint16. ---
+// ---------------------
+ClassName = 'Uint16';
+
+// --- 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= ''u16''',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('s0'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'u160',ClassFileName,'file','y');
+//PrintStringInfo('c0'+ArgSeparator+'d0',ClassFileName,'file','y');
+//PrintStringInfo('z0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'u162',ClassFileName,'file','y');
+//PrintStringInfo('c2'+ArgSeparator+'d2',ClassFileName,'file','y');
+//PrintStringInfo('z2'+ArgSeparator+'d2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'uint16';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+// ---------------------
+// --- Class Int16. ---
+// ---------------------
+ClassName = 'Int16';
+
+// --- 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= ''i16''',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('s0'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+//PrintStringInfo('c0'+ArgSeparator+'d0',ClassFileName,'file','y');
+//PrintStringInfo('z0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+//PrintStringInfo('c2'+ArgSeparator+'d2',ClassFileName,'file','y');
+//PrintStringInfo('z2'+ArgSeparator+'d2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'int16';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
// ------------------
// --- Class Sin. ---
// ------------------
@@ -238,10 +432,19 @@ PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+
PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
FunctionName = 'sin'; //BJ : Done AS : Float_Done
@@ -366,10 +569,19 @@ PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+
PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
PrintStringInfo('s0s0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
@@ -411,6 +623,12 @@ PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
PrintStringInfo('d0'+ArgSeparator+'z0',ClassFileName,'file','y');
PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'c0',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('s2'+ArgSeparator+'c2',ClassFileName,'file','y');
@@ -418,6 +636,12 @@ PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('d2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'c2',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
FunctionName = 'asin'; //BJ : Works but not able to generate all cases , AS : same for float
@@ -511,15 +735,29 @@ ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
PrintStringInfo(ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo(ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo(ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo(ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo(ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo(ArgSeparator+'i160',ClassFileName,'file','y');
PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+
PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+
//NUT: no mixed input types are allowed.
PrintStringInfo('s0s0'+ArgSeparator+'s0',ClassFileName,'file','y');
@@ -530,6 +768,14 @@ PrintStringInfo('d0d0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
PrintStringInfo('d0d0'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d0d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('u80u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('u80u80'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i80i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('i80i80'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u160u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('u160u160'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i160i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i160i160'+ArgSeparator+'i12',ClassFileName,'file','y');
PrintStringInfo('d0d0d0'+ArgSeparator+'d3',ClassFileName,'file','y');
@@ -581,10 +827,19 @@ PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+
PrintStringInfo('s2'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d2'+ArgSeparator+'d0',ClassFileName,'file','y');
PrintStringInfo('c2'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('z2'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i160',ClassFileName,'file','y');
PrintStringInfo('s0s0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
@@ -599,6 +854,19 @@ PrintStringInfo('s2s0'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('c2s0'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('z2d0'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('u80u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('u82u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('u82u80'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i80i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('i82i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('i82i80'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u160u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('u162u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('u162u160'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i160i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i162i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i162i160'+ArgSeparator+'i162',ClassFileName,'file','y');
+
PrintStringInfo('s0g2'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d0g2'+ArgSeparator+'d0',ClassFileName,'file','y');
@@ -612,6 +880,18 @@ PrintStringInfo('s2g2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d2g2'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('c2g2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('z2g2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('u80g2'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('u82g2'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('u82g2'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i80g2'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('i82g2'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('i82g2'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u160g2'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('u162g2'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('u162g2'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i160g2'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i162g2'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i162g2'+ArgSeparator+'i162',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
FunctionName = 'sum'; // BJ : Done AS : Float_Done
@@ -668,7 +948,10 @@ PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
PrintStringInfo('s2'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d2'+ArgSeparator+'d0',ClassFileName,'file','y');
-
+PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
PrintStringInfo('s0s0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('s2s0'+ArgSeparator+'s2',ClassFileName,'file','y');
@@ -680,6 +963,26 @@ PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('d0d2'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('d2d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('u80u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('u82u80'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('u80u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('u82u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+
+PrintStringInfo('i80i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('i82i80'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i80i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i82i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+
+PrintStringInfo('u160u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('u162u160'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('u160u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('u162u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+
+PrintStringInfo('i160i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i162i160'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i160i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i162i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+
FunctionName = 'max'; // BJ : Done AS : Float_Done
// WARNING : Complex case will never be
// WARNING : max(x, 2) <=> max(x, 2 * ones(x)) nothing to do with 'r' nor 'c'
@@ -718,10 +1021,19 @@ PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
PrintStringInfo('c0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('z0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+
PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('c2'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('z2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
FunctionName = 'abs'; // BJ : Done AS : Float_Done
@@ -1027,6 +1339,26 @@ PrintStringInfo('c0c0'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('d0z0'+ArgSeparator+'z0',ClassFileName,'file','y');
PrintStringInfo('z0d0'+ArgSeparator+'z0',ClassFileName,'file','y');
PrintStringInfo('z0z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('u80u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('u80u80'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('u80i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u80i80'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('u80u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('u80i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i80u80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('i80u80'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i80i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('i80i80'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i80u160'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i80i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('u160u80'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('u160i80'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('u160u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('u160i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i160u80'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i160i80'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i160u160'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i160i160'+ArgSeparator+'i160',ClassFileName,'file','y');
PrintStringInfo('s2s0'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
@@ -1036,6 +1368,22 @@ PrintStringInfo('c2c0'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('d2z0'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('z2d0'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('z2z0'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('u82u80'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('u82i80'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u82u160'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('u82i160'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i82u80'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i82i80'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i82u160'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i82i160'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u162u80'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('u162i80'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u162u160'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('u162i160'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i162u80'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i162i80'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i162u160'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i162i160'+ArgSeparator+'i162',ClassFileName,'file','y');
PrintStringInfo('s0s2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d0d2'+ArgSeparator+'d2',ClassFileName,'file','y');
@@ -1045,6 +1393,20 @@ PrintStringInfo('c0c2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('d0z2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('z0d2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('z0z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('u80u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('u80i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u80u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('u80i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i80u82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i80i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i80u162'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i80i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u160u82'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('u160i82'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u160u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('u160i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i160i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+
PrintStringInfo('s2s2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d2d2'+ArgSeparator+'d2',ClassFileName,'file','y');
@@ -1054,6 +1416,22 @@ PrintStringInfo('c2c2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('d2z2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('z2d2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('z2z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('u82u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('u82i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u82u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('u82i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i82u82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i82i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i82u162'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i82i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u162u82'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('u162i82'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u162u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('u162i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i162u82'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i162i82'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i162u162'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i162i162'+ArgSeparator+'i162',ClassFileName,'file','y');
PrintStringInfo('s2s2'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d2d2'+ArgSeparator+'d0',ClassFileName,'file','y');
@@ -1063,6 +1441,23 @@ PrintStringInfo('c2c2'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('d2z2'+ArgSeparator+'z0',ClassFileName,'file','y');
PrintStringInfo('z2d2'+ArgSeparator+'z0',ClassFileName,'file','y');
PrintStringInfo('z2z2'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('u82u82'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('u82i82'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u82u162'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('u82i162'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i82u82'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('i82i82'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('i82u162'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i82i162'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('u162u82'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('u162i82'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('u162u162'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('u162i162'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i162u82'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i162i82'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i162u162'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('i162i162'+ArgSeparator+'i160',ClassFileName,'file','y');
+
// --- Annotation Function And Function List Function. ---
FunctionName = 'OpStar'; // BJ : Done AS : Float_Done
@@ -1098,6 +1493,10 @@ PrintStringInfo('c0c0'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('d0z0'+ArgSeparator+'z0',ClassFileName,'file','y');
PrintStringInfo('z0d0'+ArgSeparator+'z0',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');
@@ -1107,6 +1506,10 @@ PrintStringInfo('c2c0'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('d2z0'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('z2d0'+ArgSeparator+'z2',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');
@@ -1116,6 +1519,10 @@ PrintStringInfo('c0c2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('d0z2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('z0d2'+ArgSeparator+'z2',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');
@@ -1125,6 +1532,10 @@ PrintStringInfo('c2c2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('d2z2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('z2d2'+ArgSeparator+'z2',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('s2s2'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d2d2'+ArgSeparator+'d0',ClassFileName,'file','y');
@@ -1134,6 +1545,10 @@ PrintStringInfo('c2c2'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('d2z2'+ArgSeparator+'z0',ClassFileName,'file','y');
PrintStringInfo('z2d2'+ArgSeparator+'z0',ClassFileName,'file','y');
PrintStringInfo('z2z2'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('u82u82'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i82i82'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u162u162'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i162i162'+ArgSeparator+'i160',ClassFileName,'file','y');
FunctionName = 'OpSlash'; // BJ : Done AS : Float_Done
@@ -1161,10 +1576,21 @@ PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+
PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+
+
// --- Annotation Function And Function List Function. ---
FunctionName = 'OpApex'; // BJ : Done AS : Float_Done
@@ -1196,12 +1622,21 @@ PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(1)',ClassFileName,'file','y');
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('c0'+ArgSeparator+'s0',ClassFileName,'file','y');
-PrintStringInfo('z0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
+PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+
PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('c2'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('z2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
FunctionName = 'isnan'; // BJ : Done AS : Float_Done
@@ -1235,11 +1670,19 @@ PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
PrintStringInfo('s0s0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
@@ -1250,6 +1693,11 @@ PrintStringInfo('d0z0'+ArgSeparator+'z0',ClassFileName,'file','y');
PrintStringInfo('z0d0'+ArgSeparator+'z0',ClassFileName,'file','y');
PrintStringInfo('z0z0'+ArgSeparator+'z0',ClassFileName,'file','y');
PrintStringInfo('g0g0'+ArgSeparator+'g2',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');
@@ -1260,6 +1708,10 @@ PrintStringInfo('d2z0'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('z2d0'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('z2z0'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('g2g0'+ArgSeparator+'g2',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');
@@ -1270,6 +1722,10 @@ PrintStringInfo('d0z2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('z0d2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('z0z2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('g0g2'+ArgSeparator+'g2',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');
@@ -1280,6 +1736,10 @@ PrintStringInfo('d2z2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('z2d2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('z2z2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('g2g2'+ArgSeparator+'g2',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');
// --- Annotation Function And Function List Function. ---
FunctionName = 'OpPlus'; // BJ : Done AS : Float_Done
@@ -1317,11 +1777,19 @@ PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
PrintStringInfo('s0s0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
@@ -1331,6 +1799,10 @@ PrintStringInfo('c0c0'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('d0z0'+ArgSeparator+'z0',ClassFileName,'file','y');
PrintStringInfo('z0d0'+ArgSeparator+'z0',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');
@@ -1340,6 +1812,10 @@ PrintStringInfo('c2c0'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('d2z0'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('z2d0'+ArgSeparator+'z2',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');
@@ -1349,6 +1825,10 @@ PrintStringInfo('c0c2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('d0z2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('z0d2'+ArgSeparator+'z2',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');
@@ -1358,6 +1838,10 @@ PrintStringInfo('c2c2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('d2z2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('z2d2'+ArgSeparator+'z2',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');
// --- Annotation Function And Function List Function. ---
@@ -3536,7 +4020,7 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,Ex
// 9) CxC->{C,C}
// 10) RxRxR->{R,R}
// 11) RxCxC->{C,C}
- // and so on …..
+ // and so on \85..
// ////////////////////////////////
diff --git a/macros/ToolInitialization/INIT_GenLibraries.bin b/macros/ToolInitialization/INIT_GenLibraries.bin
index bc3bc87..0d43141 100644
--- a/macros/ToolInitialization/INIT_GenLibraries.bin
+++ b/macros/ToolInitialization/INIT_GenLibraries.bin
Binary files differ
diff --git a/macros/ToolInitialization/INIT_GenSharedInfo.sci b/macros/ToolInitialization/INIT_GenSharedInfo.sci
index eb8a5ff..7b8826c 100644
--- a/macros/ToolInitialization/INIT_GenSharedInfo.sci
+++ b/macros/ToolInitialization/INIT_GenSharedInfo.sci
@@ -56,7 +56,7 @@ SharedInfo.NFilesToTranslate = 1;
// --- Annotations. ---
SharedInfo.Annotations.GBLVAR = 'global';
-SharedInfo.Annotations.DataPrec = {'int','float','double'};
+SharedInfo.Annotations.DataPrec = {'uint8','int8','uint16','int16','int','float','double'};
SharedInfo.Annotations.FUNNIN = 'NIN=';
SharedInfo.Annotations.FUNNOUT = 'NOUT=';
SharedInfo.Annotations.FUNTYPE = '''OUT(''+string(SCI2C_nout)+'').TP='''; // Type includes also precision.
diff --git a/macros/findDeps/getAllHeaders.bin b/macros/findDeps/getAllHeaders.bin
index 17e8a52..4dda892 100644
--- a/macros/findDeps/getAllHeaders.bin
+++ b/macros/findDeps/getAllHeaders.bin
Binary files differ
diff --git a/macros/findDeps/getAllHeaders.sci b/macros/findDeps/getAllHeaders.sci
index f648ce8..98b96ed 100644
--- a/macros/findDeps/getAllHeaders.sci
+++ b/macros/findDeps/getAllHeaders.sci
@@ -37,6 +37,7 @@ function allHeaders = getAllHeaders()
"src/c/type/doubleComplex.h"
"src/c/type/dynlib_type.h"
"src/c/type/floatComplex.h"
+ "src/c/type/types.h"
"src/c/matrixOperations/includes/cat.h"
"src/c/matrixOperations/includes/hilb.h"
"src/c/matrixOperations/includes/eye.h"
diff --git a/macros/runsci2c.bin b/macros/runsci2c.bin
index f67d80f..7b2c901 100644
--- a/macros/runsci2c.bin
+++ b/macros/runsci2c.bin
Binary files differ
diff --git a/src/c/operations/interfaces/int_OpStar.h b/src/c/operations/interfaces/int_OpStar.h
index 52ff221..0dbd079 100644
--- a/src/c/operations/interfaces/int_OpStar.h
+++ b/src/c/operations/interfaces/int_OpStar.h
@@ -33,7 +33,46 @@
#define z0d0OpStarz0(in1,in2) zmuls(in1,DoubleComplex(in2,0))
+#define u80u80OpStaru80(in1,in2) (uint8)(in1 * in2)
+#define u80u80OpStaru160(in1,in2) (uint16)(in1 * in2)
+
+#define u80i80OpStari80(in1,in2) (int8)(in1 * in2)
+
+#define u80u80OpStari160(in1,in2) (int16)(in1 * in2)
+
+#define u80u160OpStaru160(in1,in2) (uint16)(in1 * in2)
+
+#define u80i160OpStari160(in1,in2) (int16)(in1 * in2)
+
+#define i80u80OpStari80(in1,in2) (int8)(in1 * in2)
+
+#define i80u80OpStari160(in1,in2) (int16)(in1 * in2)
+
+#define i80i80OpStari80(in1,in2) (int8)(in1 * in2)
+
+#define i80i80OpStari160(in1,in2) (int16)(in1 * in2)
+
+
+#define i80u160OpStari160(in1,in2) (int16)(in1 * in2)
+
+#define i80i160OpStari160(in1,in2) (int16)(in1 * in2)
+
+#define u160u80OpStaru160(in1,in2) (uint16)(in1 * in2)
+
+#define u160i80OpStari160(in1,in2) (int16)(in1 * in2)
+
+#define u160u160OpStaru160(in1,in2) (uint16)(in1 * in2)
+
+#define u160i160OpStari160(in1,in2) (int16)(in1 * in2)
+
+#define i160u80OpStari160(in1,in2) (int16)(in1 * in2)
+
+#define i160i80OpStari160(in1,in2) (int16)(in1 * in2)
+
+#define i160u160OpStari160(in1,in2) (int16)(in1 * in2)
+
+#define i160i160OpStari160(in1,in2) (int16)(in1 * in2)
/* Scalar * Matrix */
diff --git a/src/c/operations/multiplication/i16muls.c b/src/c/operations/multiplication/i16muls.c
new file mode 100644
index 0000000..1bd002e
--- /dev/null
+++ b/src/c/operations/multiplication/i16muls.c
@@ -0,0 +1,19 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+
+#include "multiplication.h"
+#include "types.h"
+
+i16 i16muls(i16 in1, i16 in2){
+ return in1*in2;
+}
diff --git a/src/c/operations/multiplication/i16mulv.c b/src/c/operations/multiplication/i16mulv.c
new file mode 100644
index 0000000..364d81d
--- /dev/null
+++ b/src/c/operations/multiplication/i16mulv.c
@@ -0,0 +1,27 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+
+#include "multiplication.h"
+
+i16 i16mulv(i16* in1, i16* in2, u16 size)
+{
+ i16 out = 0;
+ u16 i = 0;
+
+ for (i = 0 ; i < size ; ++i)
+ {
+ out += i16muls(in1[i], in2[i]);
+ }
+
+ return out;
+}
diff --git a/src/c/operations/multiplication/i8muls.c b/src/c/operations/multiplication/i8muls.c
new file mode 100644
index 0000000..6f12425
--- /dev/null
+++ b/src/c/operations/multiplication/i8muls.c
@@ -0,0 +1,19 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+
+#include "multiplication.h"
+#include "types.h"
+
+i80 i8muls(i80 in1, i80 in2){
+ return in1*in2;
+}
diff --git a/src/c/operations/multiplication/i8mulv.c b/src/c/operations/multiplication/i8mulv.c
new file mode 100644
index 0000000..f059101
--- /dev/null
+++ b/src/c/operations/multiplication/i8mulv.c
@@ -0,0 +1,27 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+
+#include "multiplication.h"
+
+i8 i8mulv(i8* in1, i8* in2, i16 size)
+{
+ i8 out = 0;
+ u16 i = 0;
+
+ for (i = 0 ; i < size ; ++i)
+ {
+ out += i8muls(in1[i], in2[i]);
+ }
+
+ return out;
+}
diff --git a/src/c/operations/multiplication/u16muls.c b/src/c/operations/multiplication/u16muls.c
new file mode 100644
index 0000000..c4d8f0e
--- /dev/null
+++ b/src/c/operations/multiplication/u16muls.c
@@ -0,0 +1,19 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+
+#include "multiplication.h"
+#include "types.h"
+
+u160 u16muls(u160 in1, u160 in2){
+ return in1*in2;
+}
diff --git a/src/c/operations/multiplication/u16mulv.c b/src/c/operations/multiplication/u16mulv.c
new file mode 100644
index 0000000..b7bd9a4
--- /dev/null
+++ b/src/c/operations/multiplication/u16mulv.c
@@ -0,0 +1,27 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+
+#include "multiplication.h"
+
+u16 u16mulv(u16* in1, u16* in2, u16 size)
+{
+ u16 out = 0;
+ u16 i = 0;
+
+ for (i = 0 ; i < size ; ++i)
+ {
+ out += u16muls(in1[i], in2[i]);
+ }
+
+ return out;
+}
diff --git a/src/c/operations/multiplication/u8muls.c b/src/c/operations/multiplication/u8muls.c
new file mode 100644
index 0000000..6a4062e
--- /dev/null
+++ b/src/c/operations/multiplication/u8muls.c
@@ -0,0 +1,19 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+
+#include "multiplication.h"
+#include "types.h"
+
+u80 u8muls(u80 in1, u80 in2){
+ return in1*in2;
+}
diff --git a/src/c/operations/multiplication/u8mulv.c b/src/c/operations/multiplication/u8mulv.c
new file mode 100644
index 0000000..4723b53
--- /dev/null
+++ b/src/c/operations/multiplication/u8mulv.c
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "multiplication.h"
+
+u8 u8mulv(u8* in1, u8* in2, u16 size)
+{
+ u8 out = 0;
+ u16 i = 0;
+
+ for (i = 0 ; i < size ; ++i)
+ {
+ out += u8muls(in1[i], in2[i]);
+ }
+
+ return out;
+}
diff --git a/src/c/type/types.h b/src/c/type/types.h
new file mode 100644
index 0000000..d8cb523
--- /dev/null
+++ b/src/c/type/types.h
@@ -0,0 +1,17 @@
+#ifndef _TYPES_H_
+#define _TYPES_H_
+
+/*****************************************************************************/
+/* TYPE DEFINITIONS */
+/*****************************************************************************/
+typedef unsigned char boolean;
+
+typedef unsigned char uint8;
+typedef unsigned short uint16;
+typedef unsigned int uint32;
+
+typedef signed char int8;
+typedef signed short int16;
+typedef signed int int32;
+
+#endif //_TYPES_H