Clean includes. 94/2794/3
Bruno JOFRET [Thu, 16 Dec 2010 19:11:25 +0000 (20:11 +0100)]
Must be careful with "using namespace XXX".

Remove alltypes.hxx to include only types needed.

Change-Id: Ibda664aab55b5a1517d65653031f79de230449f4

151 files changed:
scilab/modules/abstractSyntaxTree/includes/runvisitor.hxx
scilab/modules/abstractSyntaxTree/includes/timedvisitor.hxx
scilab/modules/abstractSyntaxTree/src/cpp/visitor_common.cpp
scilab/modules/api_scilab/src/cpp/api_boolean.cpp
scilab/modules/api_scilab/src/cpp/api_boolean_sparse.cpp
scilab/modules/api_scilab/src/cpp/api_common.cpp
scilab/modules/api_scilab/src/cpp/api_double.cpp
scilab/modules/api_scilab/src/cpp/api_error.cpp
scilab/modules/api_scilab/src/cpp/api_int.cpp
scilab/modules/api_scilab/src/cpp/api_list.cpp
scilab/modules/api_scilab/src/cpp/api_oldstack.cpp
scilab/modules/api_scilab/src/cpp/api_pointer.cpp
scilab/modules/api_scilab/src/cpp/api_poly.cpp
scilab/modules/api_scilab/src/cpp/api_sparse.cpp
scilab/modules/api_scilab/src/cpp/api_string.cpp
scilab/modules/core/sci_gateway/cpp/sci_argn.cpp
scilab/modules/core/sci_gateway/cpp/sci_clear.cpp
scilab/modules/core/sci_gateway/cpp/sci_clearglobal.cpp
scilab/modules/core/sci_gateway/cpp/sci_getmodules.cpp
scilab/modules/core/sci_gateway/cpp/sci_getos.cpp
scilab/modules/core/sci_gateway/cpp/sci_getscilabmode.cpp
scilab/modules/core/sci_gateway/cpp/sci_getversion.cpp
scilab/modules/core/sci_gateway/cpp/sci_global.cpp
scilab/modules/core/sci_gateway/cpp/sci_isglobal.cpp
scilab/modules/core/sci_gateway/cpp/sci_lasterror.cpp
scilab/modules/core/sci_gateway/cpp/sci_with_module.cpp
scilab/modules/core/src/cpp/scilab.cpp
scilab/modules/elementary_functions/includes/elem_func_gw.hxx
scilab/modules/elementary_functions/sci_gateway/cpp/sci_eye.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_size.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_basename.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_createdir.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_deletefile.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_fileext.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_fileinfo.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_fileparts.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_filesep.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_findfiles.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_getshortpathname.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_isdir.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_isfile.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mclose.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mget.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mgetl.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mopen.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mput.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mputl.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_pathconvert.cpp
scilab/modules/fileio/src/cpp/expandPathVariable.cpp
scilab/modules/functions/sci_gateway/cpp/sci_functionlist.cpp
scilab/modules/functions/sci_gateway/cpp/sci_getThreads.cpp
scilab/modules/functions/sci_gateway/cpp/sci_mode.cpp
scilab/modules/functions/sci_gateway/cpp/sci_whereis.cpp
scilab/modules/integer/includes/integer_gw.hxx
scilab/modules/integer/sci_gateway/cpp/sci_inttype.cpp
scilab/modules/io/sci_gateway/cpp/sci_file.cpp
scilab/modules/io/sci_gateway/cpp/sci_genlib.cpp
scilab/modules/io/sci_gateway/cpp/sci_host.cpp
scilab/modules/io/sci_gateway/cpp/sci_load.cpp
scilab/modules/jvm/sci_gateway/cpp/jvm_gw.cpp
scilab/modules/jvm/sci_gateway/cpp/sci_system_getproperty.cpp
scilab/modules/localization/sci_gateway/cpp/localization_gw.cpp
scilab/modules/localization/sci_gateway/cpp/sci_gettext.cpp
scilab/modules/matio/includes/matio_gw.hxx
scilab/modules/operations/includes/types_addition.hxx
scilab/modules/operations/includes/types_divide.hxx
scilab/modules/operations/includes/types_finite.hxx
scilab/modules/operations/includes/types_multiplication.hxx
scilab/modules/operations/includes/types_power.hxx
scilab/modules/operations/includes/types_substraction.hxx
scilab/modules/operations/src/cpp/types_addition.cpp
scilab/modules/operations/src/cpp/types_substraction.cpp
scilab/modules/output_stream/includes/output_stream_gw.hxx
scilab/modules/output_stream/includes/scilab_sprintf.hxx
scilab/modules/output_stream/sci_gateway/cpp/output_stream_gw.cpp
scilab/modules/output_stream/sci_gateway/cpp/sci_disp.cpp
scilab/modules/output_stream/sci_gateway/cpp/sci_mprintf.cpp
scilab/modules/output_stream/sci_gateway/cpp/sci_msprintf.cpp
scilab/modules/output_stream/src/cpp/scilab_sprintf.cpp
scilab/modules/string/includes/string_gw.hxx
scilab/modules/string/sci_gateway/cpp/sci_ascii.cpp
scilab/modules/string/sci_gateway/cpp/sci_grep.cpp
scilab/modules/string/sci_gateway/cpp/sci_length.cpp
scilab/modules/string/sci_gateway/cpp/sci_part.cpp
scilab/modules/string/sci_gateway/cpp/sci_regexp.cpp
scilab/modules/string/sci_gateway/cpp/sci_strcat.cpp
scilab/modules/string/sci_gateway/cpp/sci_strindex.cpp
scilab/modules/string/sci_gateway/cpp/sci_string.cpp
scilab/modules/string/sci_gateway/cpp/sci_strsubst.cpp
scilab/modules/string/sci_gateway/cpp/string_gw.cpp
scilab/modules/symbol/includes/context.hxx
scilab/modules/symbol/includes/heap.hxx
scilab/modules/symbol/includes/scope.hxx
scilab/modules/symbol/includes/stack.hxx
scilab/modules/symbol/includes/table.hxx
scilab/modules/symbol/src/cpp/context.cpp
scilab/modules/system_env/includes/configvariable.hxx
scilab/modules/system_env/src/cpp/configvariable.cpp
scilab/modules/types/Makefile.am
scilab/modules/types/Makefile.in
scilab/modules/types/includes/bool.hxx
scilab/modules/types/includes/cell.hxx
scilab/modules/types/includes/double.hxx
scilab/modules/types/includes/file.hxx
scilab/modules/types/includes/function.hxx
scilab/modules/types/includes/implicitlist.hxx
scilab/modules/types/includes/int.hxx
scilab/modules/types/includes/internal.hxx
scilab/modules/types/includes/intt.hxx
scilab/modules/types/includes/list.hxx
scilab/modules/types/includes/listdelete.hxx
scilab/modules/types/includes/listinsert.hxx
scilab/modules/types/includes/listoperation.hxx
scilab/modules/types/includes/listundefined.hxx
scilab/modules/types/includes/macro.hxx
scilab/modules/types/includes/macrofile.hxx
scilab/modules/types/includes/matrixpoly.hxx
scilab/modules/types/includes/mlist.hxx
scilab/modules/types/includes/poly.hxx
scilab/modules/types/includes/string.hxx
scilab/modules/types/includes/struct.hxx
scilab/modules/types/includes/threadId.hxx
scilab/modules/types/includes/tlist.hxx
scilab/modules/types/includes/types.hxx
scilab/modules/types/sci_gateway/cpp/sci_cell.cpp
scilab/modules/types/sci_gateway/cpp/sci_insert.cpp
scilab/modules/types/sci_gateway/cpp/sci_list.cpp
scilab/modules/types/sci_gateway/cpp/sci_makecell.cpp
scilab/modules/types/sci_gateway/cpp/sci_mlist.cpp
scilab/modules/types/sci_gateway/cpp/sci_null.cpp
scilab/modules/types/sci_gateway/cpp/sci_struct.cpp
scilab/modules/types/sci_gateway/cpp/sci_tlist.cpp
scilab/modules/types/sci_gateway/cpp/types_gw.cpp
scilab/modules/types/src/cpp/bool.cpp
scilab/modules/types/src/cpp/cell.cpp
scilab/modules/types/src/cpp/file.cpp
scilab/modules/types/src/cpp/float.cpp
scilab/modules/types/src/cpp/function.cpp
scilab/modules/types/src/cpp/implicitlist.cpp
scilab/modules/types/src/cpp/list.cpp
scilab/modules/types/src/cpp/listdelete.cpp
scilab/modules/types/src/cpp/listinsert.cpp
scilab/modules/types/src/cpp/listoperation.cpp
scilab/modules/types/src/cpp/listundefined.cpp
scilab/modules/types/src/cpp/macro.cpp
scilab/modules/types/src/cpp/struct.cpp
scilab/modules/types/src/cpp/test-types.cpp
scilab/modules/types/src/cpp/threadId.cpp
scilab/modules/types/src/cpp/tlist.cpp
scilab/modules/types/src/cpp/types.cpp
scilab/modules/windows_tools/src/cpp/windows_tools_gw.cpp

index 1084161..95cf111 100644 (file)
 #include "shortcutvisitor.hxx"
 #include "printvisitor.hxx"
 
+#include "double.hxx"
+#include "implicitlist.hxx"
+#include "tlist.hxx"
+#include "struct.hxx"
+#include "macro.hxx"
+#include "macrofile.hxx"
+#include "cell.hxx"
+
 // Needed by visitprivate(const OpExp &)
 // Needed by visitprivate(const LogicalOpExp &)
 #include "types_multiplication.hxx"
index c94b7dd..c1bab21 100644 (file)
@@ -21,7 +21,6 @@
 #include "allexp.hxx"
 #include "allvar.hxx"
 #include "alldec.hxx"
-#include "alltypes.hxx"
 #include "runvisitor.hxx"
 #include "timer.hxx"
 
index 92e8029..3caf496 100644 (file)
 #include "fieldexp.hxx"
 #include "callexp.hxx"
 #include "simplevar.hxx"
+#include "double.hxx"
+#include "string.hxx"
+#include "implicitlist.hxx"
+#include "struct.hxx"
+#include "matrixpoly.hxx"
 
 bool bConditionState(types::InternalType *_pITResult)
 {
index 2658963..95a3636 100644 (file)
@@ -9,12 +9,18 @@
 * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 *
 * Please note that piece of code will be rewrited for the Scilab 6 family
-* However, the API (profile of the functions in the header files) will be 
+* However, the API (profile of the functions in the header files) will be
 * still available and supported in Scilab 6.
 */
 
 #include <string.h>
 #include <stdlib.h>
+
+#include "bool.hxx"
+#include "function.hxx"
+
+extern "C"
+{
 #include "machine.h"
 #include "call_scilab.h"
 #include "api_scilab.h"
@@ -24,7 +30,8 @@
 #include "api_oldstack.h"
 #include "localization.h"
 #include "MALLOC.h"
-#include "context.hxx"
+}
+
 
 using namespace std;
 using namespace types;
@@ -129,41 +136,41 @@ SciErr createMatrixOfBoolean(void* _pvCtx, int _iVar, int _iRows, int _iCols, co
 SciErr createNamedMatrixOfBoolean(void* _pvCtx, const char* _pstName, int _iRows, int _iCols, const int* _piBool)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iVarID[nsiz];
-       int iSaveRhs                    = api_Rhs((int*)_pvCtx);
-       int iSaveTop                    = api_Top((int*)_pvCtx);
-       int* piBool                             = NULL;
-       int *piAddr                             = NULL;
-
-       C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
-       Top = Top + Nbvars + 1;
-
-       int iMemSize = (int)(((double)(_iRows * _iCols) / 2) + 2);
-       int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(*Lstk(Top)));
-       if (iMemSize > iFreeSpace)
-       {
-               addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
-               return sciErr;
-       }
-
-       getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
-
-       //write matrix information
-       sciErr = fillMatrixOfBoolean(_pvCtx, piAddr, _iRows, _iCols, &piBool);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_BOOLEAN, _("%s: Unable to create %s named \"%s\""), "createNamedMatrixOfBoolean", _("matrix of boolean"), _pstName);
-               return sciErr;
-       }
-
-       //copy data in stack
-       memcpy(piBool, _piBool, sizeof(int) * _iRows * _iCols);
-
-       updateLstk(Top, *Lstk(Top) + sadr(3), (_iRows * _iCols) / (sizeof(double)/sizeof(int)));
-
-       //Rhs = 0;
-       //Add name in stack reference list
-       createNamedVariable(iVarID);
+       //int iVarID[nsiz];
+       //int iSaveRhs                  = api_Rhs((int*)_pvCtx);
+       //int iSaveTop                  = api_Top((int*)_pvCtx);
+       //int* piBool                           = NULL;
+       //int *piAddr                           = NULL;
+
+       //C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
+       ////Top = Top + Nbvars + 1;
+
+       //int iMemSize = (int)(((double)(_iRows * _iCols) / 2) + 2);
+       //int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(*Lstk(Top)));
+       //if (iMemSize > iFreeSpace)
+       //{
+       //      addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
+       //      return sciErr;
+       //}
+
+       //getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+
+       ////write matrix information
+       //sciErr = fillMatrixOfBoolean(_pvCtx, piAddr, _iRows, _iCols, &piBool);
+       //if(sciErr.iErr)
+       //{
+       //      addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_BOOLEAN, _("%s: Unable to create %s named \"%s\""), "createNamedMatrixOfBoolean", _("matrix of boolean"), _pstName);
+       //      return sciErr;
+       //}
+
+       ////copy data in stack
+       //memcpy(piBool, _piBool, sizeof(int) * _iRows * _iCols);
+
+       //updateLstk(Top, *Lstk(Top) + sadr(3), (_iRows * _iCols) / (sizeof(double)/sizeof(int)));
+
+       ////Rhs = 0;
+       ////Add name in stack reference list
+       //createNamedVariable(iVarID);
 
        //Top = iSaveTop;
        //Rhs = iSaveRhs;
index 01ae3ac..6e95e77 100644 (file)
  * still available and supported in Scilab 6.
  */
 
+extern "C"
+{
+#include "MALLOC.h"
+#include "call_scilab.h"
 #include "api_common.h"
 #include "api_internal_common.h"
 #include "api_boolean_sparse.h"
 #include "api_internal_boolean_sparse.h"
 #include "localization.h"
-
-
-#include "call_scilab.h"
 #include "stack-c.h"
-#include "MALLOC.h"
+#include "api_oldstack.h"
+}
 
 SciErr getBooleanSparseMatrix(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos)
 {
@@ -69,30 +71,30 @@ SciErr getBooleanSparseMatrix(void* _pvCtx, int* _piAddress, int* _piRows, int*
 SciErr allocBooleanSparseMatrix(void* _pvCtx, int _iVar, int _iRows, int _iCols, int _iNbItem, int** _piNbItemRow, int** _piColPos)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iNewPos                     = Top - Rhs + _iVar;
-       int iAddr                               = *Lstk(iNewPos);
-       int iPos                                = 5 + _iRows + _iNbItem;
-       int* piAddr                     = NULL;
-
-       int iMemSize = (int)( ( (double)iPos / 2 ) + 0.5);
-       int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(iAddr));
-       if (iMemSize > iFreeSpace)
-       {
-               addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
-               return sciErr;
-       }
-
-       getNewVarAddressFromPosition(_pvCtx, iNewPos, &piAddr);
-       sciErr = fillBooleanSparseMatrix(_pvCtx, piAddr, _iRows, _iCols, _iNbItem, _piNbItemRow, _piColPos);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_ALLOC_BOOLEAN_SPARSE, _("%s: Unable to create variable in Scilab memory"), "allocBooleanSparseMatrix");
-               return sciErr;
-       }
-
-       iPos += iAddr;
-       updateInterSCI(_iVar, '$', iAddr, iPos);
-       updateLstk(iNewPos, iPos, 0);
+       //int iNewPos                   = Top - Rhs + _iVar;
+       //int iAddr                             = *Lstk(iNewPos);
+       //int iPos                              = 5 + _iRows + _iNbItem;
+       //int* piAddr                   = NULL;
+
+       //int iMemSize = (int)( ( (double)iPos / 2 ) + 0.5);
+       //int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(iAddr));
+       //if (iMemSize > iFreeSpace)
+       //{
+       //      addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
+       //      return sciErr;
+       //}
+
+       //getNewVarAddressFromPosition(_pvCtx, iNewPos, &piAddr);
+       //sciErr = fillBooleanSparseMatrix(_pvCtx, piAddr, _iRows, _iCols, _iNbItem, _piNbItemRow, _piColPos);
+       //if(sciErr.iErr)
+       //{
+       //      addErrorMessage(&sciErr, API_ERROR_ALLOC_BOOLEAN_SPARSE, _("%s: Unable to create variable in Scilab memory"), "allocBooleanSparseMatrix");
+       //      return sciErr;
+       //}
+
+       //iPos += iAddr;
+       //updateInterSCI(_iVar, '$', iAddr, iPos);
+       //updateLstk(iNewPos, iPos, 0);
        return sciErr;
 }
 
@@ -139,49 +141,49 @@ SciErr createBooleanSparseMatrix(void* _pvCtx, int _iVar, int _iRows, int _iCols
 SciErr createNamedBooleanSparseMatrix(void* _pvCtx, const char* _pstName, int _iRows, int _iCols, int _iNbItem, const int* _piNbItemRow, const int* _piColPos)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iVarID[nsiz];
-       int iSaveRhs            = Rhs;
-       int iSaveTop            = Top;
-       int iPos                = 0;
-
-       int* piAddr             = NULL;
-       int* piNbItemRow        = NULL;
-       int* piColPos           = NULL;
-
-       C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
-       Top = Top + Nbvars + 1;
-
-       int iMemSize = (int)( ( (double)iPos / 2) + 0.5);
-       int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(Top));
-       if (iMemSize > iFreeSpace)
-       {
-               addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
-               return sciErr;
-       }
-
-       getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
-       sciErr = fillBooleanSparseMatrix(_pvCtx, piAddr, _iRows, _iCols, _iNbItem, &piNbItemRow, &piColPos);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_BOOLEAN_SPARSE, _("%s: Unable to create %s named \"%s\""), "createNamedBooleanSparseMatrix", _("boolean sparse matrix"), _pstName);
-               return sciErr;
-       }
-
-       memcpy(piNbItemRow, _piNbItemRow, _iRows * sizeof(int));
-       memcpy(piColPos, _piColPos, _iNbItem * sizeof(int));
-
-       iPos    = 5;//4 for header + 1 for NbItem
-       iPos += _iRows + _iNbItem;
-
-       //update "variable index"
-       updateLstk(Top, *Lstk(Top) + iPos, 0);
-
-       Rhs = 0;
-       //Add name in stack reference list
-       createNamedVariable(iVarID);
-
-       Top = iSaveTop;
-  Rhs = iSaveRhs;
+    //int iVarID[nsiz];
+    //int iSaveRhs             = Rhs;
+    //int iSaveTop             = Top;
+    //int iPos         = 0;
+
+    //int* piAddr              = NULL;
+    //int* piNbItemRow = NULL;
+    //int* piColPos            = NULL;
+
+    //C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
+    //Top = Top + Nbvars + 1;
+
+    //int iMemSize = (int)( ( (double)iPos / 2) + 0.5);
+    //int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(Top));
+    //if (iMemSize > iFreeSpace)
+    //{
+    //    addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
+    //    return sciErr;
+    //}
+
+    //getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+    //sciErr = fillBooleanSparseMatrix(_pvCtx, piAddr, _iRows, _iCols, _iNbItem, &piNbItemRow, &piColPos);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_BOOLEAN_SPARSE, _("%s: Unable to create %s named \"%s\""), "createNamedBooleanSparseMatrix", _("boolean sparse matrix"), _pstName);
+    //    return sciErr;
+    //}
+
+    //memcpy(piNbItemRow, _piNbItemRow, _iRows * sizeof(int));
+    //memcpy(piColPos, _piColPos, _iNbItem * sizeof(int));
+
+    //iPos     = 5;//4 for header + 1 for NbItem
+    //iPos += _iRows + _iNbItem;
+
+    ////update "variable index"
+    //updateLstk(Top, *Lstk(Top) + iPos, 0);
+
+    //Rhs = 0;
+    ////Add name in stack reference list
+    //createNamedVariable(iVarID);
+
+    //Top = iSaveTop;
+    //Rhs = iSaveRhs;
 
        return sciErr;
 }
index feb681e..7cb1a78 100644 (file)
  * still available and supported in Scilab 6.
  */
 
+
+#include "types.hxx"
+#include "internal.hxx"
+#include "double.hxx"
+#include "function.hxx"
+#include "matrixpoly.hxx"
+#include "alltypes.hxx"
+
+extern "C"
+{
 #include <string.h>
 #include <stdlib.h>
 #include "machine.h"
 #include "call_scilab.h"
 #include "api_scilab.h"
+#include "api_common.h"
 #include "api_internal_common.h"
 #include "stack-c.h"
 #include "localization.h"
 #include "MALLOC.h"
-#include "context.hxx"
-
-using namespace std;
-using namespace types;
+#include "api_oldstack.h"
+}
 
 /*Global structure for scilab 5.x*/
 extern "C"
@@ -52,8 +61,8 @@ SciErr getVarDimension(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
        if(_piAddress != NULL && isVarMatrixType(_pvCtx, _piAddress))
        {
-               *_piRows                = ((InternalType*)_piAddress)->getAsGenericType()->rows_get();
-               *_piCols                = ((InternalType*)_piAddress)->getAsGenericType()->cols_get();
+               *_piRows                = ((types::InternalType*)_piAddress)->getAsGenericType()->rows_get();
+               *_piCols                = ((types::InternalType*)_piAddress)->getAsGenericType()->cols_get();
        }
        else
        {
@@ -102,10 +111,10 @@ SciErr getVarAddressFromPosition(void* _pvCtx, int _iVar, int** _piAddress)
                return sciErr;
        }
 
-       GatewayStruct* pStr = (GatewayStruct*)_pvCtx;
-  typed_list in = *pStr->m_pIn;
-  int* piRetCount = pStr->m_piRetCount;
-  wchar_t* pstName = pStr->m_pstName;
+    types::GatewayStruct* pStr = (types::GatewayStruct*)_pvCtx;
+    types::typed_list in = *pStr->m_pIn;
+    int*       piRetCount = pStr->m_piRetCount;
+    wchar_t* pstName = pStr->m_pstName;
 
        int iAddr                       = 0;
 
@@ -177,6 +186,7 @@ SciErr getVarAddressFromName(void* _pvCtx, const char* _pstName, int** _piAddres
        *_piAddress = piAddr;
        return sciErr;
 }
+
 /*--------------------------------------------------------------------------*/
 SciErr getVarType(void* _pvCtx, int* _piAddress, int* _piType)
 {
@@ -188,7 +198,8 @@ SciErr getVarType(void* _pvCtx, int* _piAddress, int* _piType)
                return sciErr;
        }
 
-       switch(((InternalType*)_piAddress)->getType())
+/*
+    switch(((types::InternalType *)_piAddress)->getType())
        {
        case GenericType::RealDouble :
                *_piType = sci_matrix;
@@ -247,7 +258,7 @@ SciErr getVarType(void* _pvCtx, int* _piAddress, int* _piType)
        default :
                *_piType = 0;
        }
-
+*/
        return sciErr;
 }
 /*--------------------------------------------------------------------------*/
@@ -286,18 +297,20 @@ int isVarComplex(void* _pvCtx, int* _piAddress)
                return 0;
        }
 
+/*
        getVarType(_pvCtx, _piAddress, &iType);
        switch(iType)
        {
        case sci_matrix :
-               iComplex = ((InternalType*)_piAddress)->getAsDouble()->isComplex();
+               iComplex = ((types::InternalType*)(_piAddress))->getAsDouble()->isComplex();
                break;
        case sci_poly :
-               iComplex = ((InternalType*)_piAddress)->getAsPoly()->isComplex();
+               iComplex = ((types::InternalType*)_piAddress)->getAsPoly()->isComplex();
        case sci_sparse :
                //iComplex = ((InternalType*)_piAddress)->getAsSparse()->isComplex();
                break;
        }
+*/
        return iComplex;
 }
 /*--------------------------------------------------------------------------*/
@@ -655,17 +668,17 @@ SciErr getDimFromNamedVar(void* _pvCtx, const char* _pstName, int* _piVal)
 /*--------------------------------------------------------------------------*/
 int getRhsFromAddress(void* _pvCtx, int* _piAddress)
 {
-       int i = 0;
-       GatewayStruct* pStr = (GatewayStruct*)_pvCtx;
-  typed_list in = *pStr->m_pIn;
-
-       for(i = 0 ; i < Rhs ; i++)
-       {
-               if(_piAddress == (int*)in[i])
-               {
-                       return i + 1;
-               }
-       }
+       //int i = 0;
+ //   types::GatewayStruct* pStr = (types::GatewayStruct*)_pvCtx;
+ //   types::typed_list in = *pStr->m_pIn;
+
+       //for(i = 0 ; i < Rhs ; i++)
+       //{
+       //      if(_piAddress == (int*)in[i])
+       //      {
+       //              return i + 1;
+       //      }
+       //}
        return 0;
 }
 
index ff5288f..7930908 100644 (file)
 
 #include <string.h>
 #include <stdlib.h>
+
+#include "function.hxx"
+#include "double.hxx"
+
+extern "C"
+{
 #include "machine.h"
+#include "localization.h"
+#include "MALLOC.h"
 #include "call_scilab.h"
 #include "api_scilab.h"
 #include "api_internal_double.h"
 #include "api_internal_common.h"
 #include "stack-c.h"
 #include "api_oldstack.h"
-#include "localization.h"
-#include "MALLOC.h"
-#include "context.hxx"
-
-using namespace std;
+}
 using namespace types;
 
 /*******************************/
@@ -274,34 +278,34 @@ SciErr createNamedComplexMatrixOfDouble(void* _pvCtx, const char* _pstName, int
 SciErr createNamedComplexZMatrixOfDouble(void* _pvCtx, const char* _pstName, int _iRows, int _iCols, const doublecomplex* _pdblData)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-    int iVarID[nsiz];
-    int iSaveRhs                       = api_Rhs((int*)_pvCtx);
-    int iSaveTop                       = api_Top((int*)_pvCtx);
-    int iSize                                  = _iRows * _iCols;
-       int *piAddr                             = NULL;
-       double *pdblReal        = NULL;
-       double *pdblImg         = NULL;
+ //   int iVarID[nsiz];
+ //   int iSaveRhs                     = api_Rhs((int*)_pvCtx);
+ //   int iSaveTop                     = api_Top((int*)_pvCtx);
+ //   int iSize                                        = _iRows * _iCols;
+       //int *piAddr                           = NULL;
+       //double *pdblReal      = NULL;
+       //double *pdblImg               = NULL;
 
-    C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
-    Top = Top + Nbvars + 1;
+ //   C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
+ //   Top = Top + Nbvars + 1;
 
-    getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+ //   getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
 
-    //write matrix information
-    fillCommonMatrixOfDouble(_pvCtx, piAddr, 1, _iRows, _iCols, &pdblReal, &pdblImg);
+ //   //write matrix information
+ //   fillCommonMatrixOfDouble(_pvCtx, piAddr, 1, _iRows, _iCols, &pdblReal, &pdblImg);
 
-    vGetPointerFromDoubleComplex(_pdblData, _iRows * _iCols, pdblReal, pdblImg);
+ //   vGetPointerFromDoubleComplex(_pdblData, _iRows * _iCols, pdblReal, pdblImg);
 
-    //update "variable index"
-    updateLstk(Top, *Lstk(Top) + sadr(4), iSize * (2) * 2);
+ //   //update "variable index"
+ //   updateLstk(Top, *Lstk(Top) + sadr(4), iSize * (2) * 2);
 
-       //Rhs = 0;
+       ////Rhs = 0;
 
-       //Add name in stack reference list
-       createNamedVariable(iVarID);
+       ////Add name in stack reference list
+       //createNamedVariable(iVarID);
 
-       //Top = iSaveTop;
-       //Rhs = iSaveRhs;
+       ////Top = iSaveTop;
+       ////Rhs = iSaveRhs;
 
     return sciErr;
 }
@@ -309,44 +313,44 @@ SciErr createNamedComplexZMatrixOfDouble(void* _pvCtx, const char* _pstName, int
 SciErr createCommonNamedMatrixOfDouble(void* _pvCtx, const char* _pstName, int _iComplex, int _iRows, int _iCols, const double* _pdblReal, const double* _pdblImg)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iVarID[nsiz];
-       int iSaveRhs                    = api_Rhs((int*)_pvCtx);
-       int iSaveTop                    = api_Top((int*)_pvCtx);
-       int iSize                                       = _iRows * _iCols;
-       int *piAddr                             = NULL;
-       double *pdblReal        = NULL;
-       double *pdblImg         = NULL;
-       int iOne                = 1;
-
-    C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
-    Top = Top + Nbvars + 1;
-
-    int iMemSize = _iRows * _iCols * (_iComplex + 1) + 2;
-    int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(Top));
-    if (iMemSize > iFreeSpace)
-    {
-        addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
-        return sciErr;
-    }
-
-    getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
-
-    //write matrix information
-    fillCommonMatrixOfDouble(_pvCtx, piAddr, _iComplex, _iRows, _iCols, &pdblReal, &pdblImg);
-    //copy data in stack
-    C2F(dcopy)(&iSize, const_cast<double*>(_pdblReal), &iOne, pdblReal, &iOne);
-
-    if(_iComplex)
-    {
-        C2F(dcopy)(&iSize, const_cast<double*>(_pdblImg), &iOne, pdblImg, &iOne);
-    }
-
-    //update "variable index"
-    updateLstk(Top, *Lstk(Top) + sadr(4), iSize * (_iComplex + 1) * 2);
-
-       //Rhs = 0;
-       //Add name in stack reference list
-       createNamedVariable(iVarID);
+       //int iVarID[nsiz];
+       //int iSaveRhs                  = api_Rhs((int*)_pvCtx);
+       //int iSaveTop                  = api_Top((int*)_pvCtx);
+       //int iSize                                     = _iRows * _iCols;
+       //int *piAddr                           = NULL;
+       //double *pdblReal      = NULL;
+       //double *pdblImg               = NULL;
+       //int iOne              = 1;
+
+ //   C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
+ //   Top = Top + Nbvars + 1;
+
+ //   int iMemSize = _iRows * _iCols * (_iComplex + 1) + 2;
+ //   int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(Top));
+ //   if (iMemSize > iFreeSpace)
+ //   {
+ //       addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
+ //       return sciErr;
+ //   }
+
+ //   getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+
+ //   //write matrix information
+ //   fillCommonMatrixOfDouble(_pvCtx, piAddr, _iComplex, _iRows, _iCols, &pdblReal, &pdblImg);
+ //   //copy data in stack
+ //   C2F(dcopy)(&iSize, const_cast<double*>(_pdblReal), &iOne, pdblReal, &iOne);
+
+ //   if(_iComplex)
+ //   {
+ //       C2F(dcopy)(&iSize, const_cast<double*>(_pdblImg), &iOne, pdblImg, &iOne);
+ //   }
+
+ //   //update "variable index"
+ //   updateLstk(Top, *Lstk(Top) + sadr(4), iSize * (_iComplex + 1) * 2);
+
+       ////Rhs = 0;
+       ////Add name in stack reference list
+       //createNamedVariable(iVarID);
 
        //Top = iSaveTop;
        //Rhs = iSaveRhs;
index e126eec..f9fb58b 100644 (file)
@@ -13,6 +13,8 @@
  * still available and supported in Scilab 6.
  */
 
+extern "C"
+{
 #include "MALLOC.h"
 #include <stdio.h> 
 #include "api_common.h"
 #include "stack-c.h"
 #include "os_strdup.h"
 #include "localization.h"
-extern "C"
-{
-       #include "stackinfo.h"
-       #include "mode_exec.h"
+#include "stackinfo.h"
+#include "mode_exec.h"
+#include "api_oldstack.h"
 }
 
 int addStackSizeError(SciErr* _psciErr, char* _pstCaller, int _iNeeded)
index 6ad7906..6d6fcb8 100644 (file)
 
 #include <string.h>
 #include <stdlib.h>
+
+#include "function.hxx"
+#include "int.hxx"
+
+extern "C"
+{
 #include "machine.h"
+#include "localization.h"
+#include "MALLOC.h"
 #include "call_scilab.h"
 #include "api_scilab.h"
 #include "api_internal_int.h"
 #include "api_internal_common.h"
 #include "stack-c.h"
 #include "api_oldstack.h"
-#include "localization.h"
-#include "MALLOC.h"
-#include "context.hxx"
+}
 
-using namespace std;
 using namespace types;
 
 SciErr getMatrixOfIntegerPrecision(void* _pvCtx, int* _piAddress, int* _piPrecision)
@@ -518,48 +523,48 @@ SciErr createNamedMatrixOfInteger64(void* _pvCtx, const char* _pstName, int _iRo
 
 SciErr createCommonNamedMatrixOfInteger(void* _pvCtx, const char* _pstName, int _iPrecision, int _iRows, int _iCols, const void* _pvData)
 {
-       SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iVarID[nsiz];
-  int iSaveRhs                 = api_Rhs((int*)_pvCtx);
-       int iSaveTop                    = api_Top((int*)_pvCtx);
-       int *piAddr                             = NULL;
-       void *pvData                    = NULL;
-
-       int iRate                               = (sizeof(double) / (_iPrecision % 10));
-       int iSize                               = _iRows * _iCols;
-       int iDouble                     = iSize / iRate;
-       int iMod                                = (iSize % iRate) == 0 ? 0 : 1;
-       int iTotalSize  = iDouble + iMod;
-
-       C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
-  Top = Top + Nbvars + 1;
-
-       int iMemSize = iTotalSize + 2;
-       int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(Top));
-       if (iMemSize > iFreeSpace)
-       {
-               addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
-               return sciErr;
-       }
+    SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
+    //int iVarID[nsiz];
+    //int iSaveRhs                     = api_Rhs((int*)_pvCtx);
+    //int iSaveTop                     = api_Top((int*)_pvCtx);
+    //int *piAddr                              = NULL;
+    //void *pvData                     = NULL;
 
-       getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+    //int iRate                                = (sizeof(double) / (_iPrecision % 10));
+    //int iSize                                = _iRows * _iCols;
+    //int iDouble                      = iSize / iRate;
+    //int iMod                         = (iSize % iRate) == 0 ? 0 : 1;
+    //int iTotalSize   = iDouble + iMod;
 
-       //write matrix information
-       fillCommonMatrixOfInteger(_pvCtx, piAddr, _iPrecision, _iRows, _iCols, &pvData);
-       //copy data in stack
-       memcpy(pvData, _pvData, (_iPrecision % 10) * iSize);
+    //C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
+    //Top = Top + Nbvars + 1;
 
-       //update "variable index"
-       updateLstk(Top, *Lstk(Top) + 4, iTotalSize);
+    //int iMemSize = iTotalSize + 2;
+    //int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(Top));
+    //if (iMemSize > iFreeSpace)
+    //{
+    //    addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
+    //    return sciErr;
+    //}
 
-       //Rhs = 0;
-       //Add name in stack reference list
-       createNamedVariable(iVarID);
+    //getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
 
-       //Top = iSaveTop;
-  //Rhs = iSaveRhs;
+    ////write matrix information
+    //fillCommonMatrixOfInteger(_pvCtx, piAddr, _iPrecision, _iRows, _iCols, &pvData);
+    ////copy data in stack
+    //memcpy(pvData, _pvData, (_iPrecision % 10) * iSize);
 
-       return sciErr;
+    ////update "variable index"
+    //updateLstk(Top, *Lstk(Top) + 4, iTotalSize);
+
+    ////Rhs = 0;
+    ////Add name in stack reference list
+    //createNamedVariable(iVarID);
+
+    ////Top = iSaveTop;
+    ////Rhs = iSaveRhs;
+
+    return sciErr;
 }
 
 SciErr getNamedMatrixOfIntegerPrecision(void* _pvCtx, const char* _pstName, int* _piPrecision)
index c383d66..cab3535 100644 (file)
@@ -13,6 +13,8 @@
  * still available and supported in Scilab 6.
  */
 
+extern "C"
+{
 #include "stdio.h"
 #include "MALLOC.h"
 #include "stack-c.h"
@@ -35,7 +37,8 @@
 #include "api_boolean_sparse.h"
 #include "api_pointer.h"
 #include "localization.h"
-
+#include "api_oldstack.h"
+}
 //internal functions
 static SciErr createCommonList(void* _pvCtx, int _iVar, int _iListType, int _iNbItem, int** _piAddress);
 static SciErr createCommonListInList(void* _pvCtx, int _iVar, int* _piParent, int _iItemPos, int _iListType, int _iNbItem, int** _piAddress, int iNamed);
@@ -173,62 +176,62 @@ SciErr createNamedMList(void* _pvCtx, const char* _pstName, int _iNbItem, int**
 
 static SciErr createCommonNamedList(void* _pvCtx, const char* _pstName, int _iListType, int _iNbItem, int** _piAddress)
 {
-       SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iVarID[nsiz];
-  int iSaveRhs                 = Rhs;
-       int iSaveTop                    = Top;
-       int *piAddr                             = NULL;
-       int* piEnd                              = NULL;
+    SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
+    //int iVarID[nsiz];
+    //int iSaveRhs                     = Rhs;
+    //int iSaveTop                     = Top;
+    //int *piAddr                              = NULL;
+    //int* piEnd                               = NULL;
 
-  C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
-  Top = Top + Nbvars + 1;
+    //C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
+    //Top = Top + Nbvars + 1;
 
-       getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+    //getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
 
-       sciErr = fillCommonList(_pvCtx, piAddr, _iListType, _iNbItem);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_LIST,_("%s: Unable to create %s named \"%s\""), "createNamedList", getListTypeName(_iListType), _pstName);
-               return sciErr;
-       }
+    //sciErr = fillCommonList(_pvCtx, piAddr, _iListType, _iNbItem);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_LIST,_("%s: Unable to create %s named \"%s\""), "createNamedList", getListTypeName(_iListType), _pstName);
+    //    return sciErr;
+    //}
 
-       piEnd = piAddr + 3 + _iNbItem + !(_iNbItem % 2);
-       closeList(Top, piEnd);
+    //piEnd = piAddr + 3 + _iNbItem + !(_iNbItem % 2);
+    //closeList(Top, piEnd);
 
 
-       Rhs = 0;
+    //Rhs = 0;
 
-       if(_iNbItem == 0)
-       {//Add name in stack reference list
-               createNamedVariable(iVarID);
-       }
+    //if(_iNbItem == 0)
+    //{//Add name in stack reference list
+    //    createNamedVariable(iVarID);
+    //}
 
-       Top                                             = iSaveTop;
-  Rhs                                          = iSaveRhs;
+    //Top = iSaveTop;
+    //Rhs = iSaveRhs;
 
-       *_piAddress = piAddr;
-       return sciErr;
+    //*_piAddress = piAddr;
+    return sciErr;
 }
 
 static SciErr createCommonList(void* _pvCtx, int _iVar, int _iListType, int _iNbItem, int** _piAddress)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int *piAddr                     = NULL;
-       int iNewPos                     = Top - Rhs + _iVar;
-       int iAddr                               = *Lstk(iNewPos);
+       //int *piAddr                   = NULL;
+       //int iNewPos                   = Top - Rhs + _iVar;
+       //int iAddr                             = *Lstk(iNewPos);
 
-       getNewVarAddressFromPosition(_pvCtx, iNewPos, &piAddr);
+       //getNewVarAddressFromPosition(_pvCtx, iNewPos, &piAddr);
 
-       sciErr = fillCommonList(_pvCtx, piAddr, _iListType, _iNbItem);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_LIST, _("%s: Unable to create variable in Scilab memory"), "createList");
-               return sciErr;
-       }
+       //sciErr = fillCommonList(_pvCtx, piAddr, _iListType, _iNbItem);
+       //if(sciErr.iErr)
+       //{
+       //      addErrorMessage(&sciErr, API_ERROR_CREATE_LIST, _("%s: Unable to create variable in Scilab memory"), "createList");
+       //      return sciErr;
+       //}
 
-       *_piAddress     = piAddr;
-       updateInterSCI(_iVar, '$', iAddr, sadr(iadr(iAddr) + 2 + _iNbItem + 1 + !(_iNbItem % 2)));
-       closeList(iNewPos, piAddr + 2 + _iNbItem + 1 + !(_iNbItem % 2));
+       //*_piAddress   = piAddr;
+       //updateInterSCI(_iVar, '$', iAddr, sadr(iadr(iAddr) + 2 + _iNbItem + 1 + !(_iNbItem % 2)));
+       //closeList(iNewPos, piAddr + 2 + _iNbItem + 1 + !(_iNbItem % 2));
 
        return sciErr;
 }
@@ -387,58 +390,58 @@ SciErr createMListInList(void* _pvCtx, int _iVar, int* _piParent, int _iItemPos,
 static SciErr createCommonListInList(void* _pvCtx, int _iVar, int* _piParent, int _iItemPos, int _iListType, int _iNbItem, int** _piAddress, int iNamed)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iNewPos                             = Top - Rhs + _iVar;
-       int iNbItem                             = 0;
-       int* piChildAddr        = NULL;
-
-       //Does item can be added in the list
-       sciErr = getListItemNumber(_pvCtx, _piParent, &iNbItem);
-
-       if(iNbItem < _iItemPos)
-       {
-               addErrorMessage(&sciErr, API_ERROR_ITEM_LIST_NUMBER, _("%s: Unable to create list item #%d in Scilab memory"), "createListInList", _iItemPos + 1);
-               return sciErr;
-       }
-
-       sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_LIST_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createListInList", _iItemPos + 1);
-               return sciErr;
-       }
-
-       sciErr = fillCommonList(_pvCtx, piChildAddr, _iListType, _iNbItem);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_LIST_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createListInList", _iItemPos + 1);
-               return sciErr;
-       }
-
-       *_piAddress = piChildAddr;
-       if(iNamed)
-       {
-               closeList(_iVar, piChildAddr + 2 + _iNbItem + 1 + !(_iNbItem % 2));
-       }
-       else
-       {
-               closeList(iNewPos, piChildAddr + 2 + _iNbItem + 1 + !(_iNbItem % 2));
-       }
-
-       if(_iNbItem == 0)
-       {//for empty list
-               int *piOffset                           = _piParent + 2;
-               int* piEnd                                      = piChildAddr + 4;
-
-               piOffset[_iItemPos] = piOffset[_iItemPos - 1] + 2;
-               if(iNamed)
-               {
-                       updateNamedListOffset(_pvCtx, _iVar, _piParent, _iItemPos, piEnd);
-               }
-               else
-               {
-                       updateListOffset(_pvCtx, _iVar, _piParent, _iItemPos, piEnd);
-               }
-       }
+       //int iNewPos                           = Top - Rhs + _iVar;
+       //int iNbItem                           = 0;
+       //int* piChildAddr      = NULL;
+
+       ////Does item can be added in the list
+       //sciErr = getListItemNumber(_pvCtx, _piParent, &iNbItem);
+
+       //if(iNbItem < _iItemPos)
+       //{
+       //      addErrorMessage(&sciErr, API_ERROR_ITEM_LIST_NUMBER, _("%s: Unable to create list item #%d in Scilab memory"), "createListInList", _iItemPos + 1);
+       //      return sciErr;
+       //}
+
+       //sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
+       //if(sciErr.iErr)
+       //{
+       //      addErrorMessage(&sciErr, API_ERROR_CREATE_LIST_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createListInList", _iItemPos + 1);
+       //      return sciErr;
+       //}
+
+       //sciErr = fillCommonList(_pvCtx, piChildAddr, _iListType, _iNbItem);
+       //if(sciErr.iErr)
+       //{
+       //      addErrorMessage(&sciErr, API_ERROR_CREATE_LIST_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createListInList", _iItemPos + 1);
+       //      return sciErr;
+       //}
+
+       //*_piAddress = piChildAddr;
+       //if(iNamed)
+       //{
+       //      closeList(_iVar, piChildAddr + 2 + _iNbItem + 1 + !(_iNbItem % 2));
+       //}
+       //else
+       //{
+       //      closeList(iNewPos, piChildAddr + 2 + _iNbItem + 1 + !(_iNbItem % 2));
+       //}
+
+       //if(_iNbItem == 0)
+       //{//for empty list
+       //      int *piOffset                           = _piParent + 2;
+       //      int* piEnd                                      = piChildAddr + 4;
+
+       //      piOffset[_iItemPos] = piOffset[_iItemPos - 1] + 2;
+       //      if(iNamed)
+       //      {
+       //              updateNamedListOffset(_pvCtx, _iVar, _piParent, _iItemPos, piEnd);
+       //      }
+       //      else
+       //      {
+       //              updateListOffset(_pvCtx, _iVar, _piParent, _iItemPos, piEnd);
+       //      }
+       //}
 
        return sciErr;
 }
@@ -461,27 +464,27 @@ SciErr createMListInNamedList(void* _pvCtx, const char* _pstName, int* _piParent
 SciErr createCommonListInNamedList(void* _pvCtx, const char* _pstName, int* _piParent, int _iItemPos, int _iListType, int _iNbItem, int** _piAddress)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iVarID[nsiz];
-       int iSaveTop = Top;
-
-  C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
-       Top = Top + Nbvars + 1;
-
-       sciErr = createCommonListInList(_pvCtx, Top, _piParent, _iItemPos, _iListType, _iNbItem, _piAddress, 1);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_LIST_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createListInList", _iItemPos + 1, _pstName);
-               return sciErr;
-       }
-
-       if(_iNbItem == 0 && _iItemPos == _piParent[1])
-       {
-               int* piEnd = *_piAddress + 4;
-               updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
-               createNamedVariable(iVarID);
-       }
-
-       Top = iSaveTop;
+    //int iVarID[nsiz];
+    //int iSaveTop = Top;
+
+    //C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
+    //Top = Top + Nbvars + 1;
+
+    //sciErr = createCommonListInList(_pvCtx, Top, _piParent, _iItemPos, _iListType, _iNbItem, _piAddress, 1);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_LIST_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createListInList", _iItemPos + 1, _pstName);
+    //    return sciErr;
+    //}
+
+    //if(_iNbItem == 0 && _iItemPos == _piParent[1])
+    //{
+    //    int* piEnd = *_piAddress + 4;
+    //    updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
+    //    createNamedVariable(iVarID);
+    //}
+
+    //Top = iSaveTop;
        return sciErr;
 }
 
@@ -556,23 +559,23 @@ SciErr allocComplexMatrixOfDoubleInList(void* _pvCtx, int _iVar, int* _piParent,
 static SciErr allocCommonMatrixOfDoubleInList(void* _pvCtx, int _iVar, int* _piParent, int _iItemPos, int _iComplex, int _iRows, int _iCols, double** _pdblReal, double** _pdblImg)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iNewPos                             = Top - Rhs + _iVar;
-       int* piEnd                              = NULL;
+       //int iNewPos                           = Top - Rhs + _iVar;
+       //int* piEnd                            = NULL;
 
-       sciErr = fillCommonMatrixOfDoubleInList(_pvCtx, _iVar, _piParent, _iItemPos, _iComplex, _iRows, _iCols, _pdblReal, _pdblImg);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_ALLOC_DOUBLE_IN_LIST, _("%s: Unable to get address of item #%d in argument #%d"), _iComplex ? "allocComplexMatrixOfDoubleInList" : "allocMatrixOfDoubleInList", _iItemPos + 1, getRhsFromAddress(_pvCtx, _piParent));
-               return sciErr;
-       }
+       //sciErr = fillCommonMatrixOfDoubleInList(_pvCtx, _iVar, _piParent, _iItemPos, _iComplex, _iRows, _iCols, _pdblReal, _pdblImg);
+       //if(sciErr.iErr)
+       //{
+       //      addErrorMessage(&sciErr, API_ERROR_ALLOC_DOUBLE_IN_LIST, _("%s: Unable to get address of item #%d in argument #%d"), _iComplex ? "allocComplexMatrixOfDoubleInList" : "allocMatrixOfDoubleInList", _iItemPos + 1, getRhsFromAddress(_pvCtx, _piParent));
+       //      return sciErr;
+       //}
 
-       piEnd = (int*) (*_pdblReal + _iRows * _iCols * (_iComplex + 1));
-       closeList(iNewPos, piEnd);
+       //piEnd = (int*) (*_pdblReal + _iRows * _iCols * (_iComplex + 1));
+       //closeList(iNewPos, piEnd);
 
-       if(_iItemPos == _piParent[1])
-       {
-               updateListOffset(_pvCtx, _iVar, _piParent, _iItemPos, piEnd);
-       }
+       //if(_iItemPos == _piParent[1])
+       //{
+       //      updateListOffset(_pvCtx, _iVar, _piParent, _iItemPos, piEnd);
+       //}
 
        return sciErr;
 }
@@ -685,47 +688,47 @@ SciErr createComplexMatrixOfDoubleInNamedList(void* _pvCtx, const char* _pstName
 SciErr createComplexZMatrixOfDoubleInNamedList(void* _pvCtx, const char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, const doublecomplex* _pdblData)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iVarID[nsiz];
-  int iSaveRhs                 = Rhs;
-       int iSaveTop                    = Top;
-       int *piAddr                             = NULL;
-       double *pdblReal        = NULL;
-       double *pdblImg         = NULL;
-       int* piEnd                              = NULL;
-       int* piChildAddr        = NULL;
-
-  C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
-  Top = Top + Nbvars + 1;
-
-       getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
-
-       sciErr = fillCommonMatrixOfDoubleInList(_pvCtx, Top, _piParent, _iItemPos, 1, _iRows, _iCols, &pdblReal, &pdblImg);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_ZDOUBLE_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createComplexZMatrixOfDoubleInNamedList", _iItemPos + 1, _pstName);
-               return sciErr;
-       }
-
-       vGetPointerFromDoubleComplex(_pdblData, _iRows * _iCols, pdblReal, pdblImg);
-
-       sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_ZDOUBLE_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createComplexZMatrixOfDoubleInNamedList", _iItemPos + 1, _pstName);
-               return sciErr;
-       }
-
-       piEnd = piChildAddr + 4 + (_iRows * _iCols * 4);//4 -> 2*2 real + img * double
-       closeList(Top, piEnd);
-
-       if(_iItemPos == _piParent[1])
-       {
-               updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
-               createNamedVariable(iVarID);
-       }
-
-       Top = iSaveTop;
-  Rhs = iSaveRhs;
+    //int iVarID[nsiz];
+    //int iSaveRhs                     = Rhs;
+    //int iSaveTop                     = Top;
+    //int *piAddr                              = NULL;
+    //double *pdblReal = NULL;
+    //double *pdblImg          = NULL;
+    //int* piEnd                               = NULL;
+    //int* piChildAddr = NULL;
+
+    //C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
+    //Top = Top + Nbvars + 1;
+
+    //getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+
+    //sciErr = fillCommonMatrixOfDoubleInList(_pvCtx, Top, _piParent, _iItemPos, 1, _iRows, _iCols, &pdblReal, &pdblImg);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_ZDOUBLE_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createComplexZMatrixOfDoubleInNamedList", _iItemPos + 1, _pstName);
+    //    return sciErr;
+    //}
+
+    //vGetPointerFromDoubleComplex(_pdblData, _iRows * _iCols, pdblReal, pdblImg);
+
+    //sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_ZDOUBLE_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createComplexZMatrixOfDoubleInNamedList", _iItemPos + 1, _pstName);
+    //    return sciErr;
+    //}
+
+    //piEnd = piChildAddr + 4 + (_iRows * _iCols * 4);//4 -> 2*2 real + img * double
+    //closeList(Top, piEnd);
+
+    //if(_iItemPos == _piParent[1])
+    //{
+    //    updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
+    //    createNamedVariable(iVarID);
+    //}
+
+    //Top = iSaveTop;
+    //Rhs = iSaveRhs;
 
        return sciErr;
 }
@@ -733,51 +736,51 @@ SciErr createComplexZMatrixOfDoubleInNamedList(void* _pvCtx, const char* _pstNam
 SciErr createCommomMatrixOfDoubleInNamedList(void* _pvCtx, const char* _pstName, int* _piParent, int _iItemPos, int _iComplex, int _iRows, int _iCols, const double* _pdblReal, const double* _pdblImg)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iVarID[nsiz];
-  int iSaveRhs                 = Rhs;
-       int iSaveTop                    = Top;
-       int *piAddr                             = NULL;
-       double *pdblReal        = NULL;
-       double *pdblImg         = NULL;
-       int* piEnd                              = NULL;
-       int* piChildAddr        = NULL;
-
-  C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
-  Top = Top + Nbvars + 1;
-
-       getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
-
-       sciErr = fillCommonMatrixOfDoubleInList(_pvCtx, Top, _piParent, _iItemPos, _iComplex, _iRows, _iCols, &pdblReal, &pdblImg);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_DOUBLE_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), _iComplex ? "createComplexMatrixOfDoubleInNamedList" : "createMatrixOfDoubleInNamedList", _iItemPos + 1, _pstName);
-               return sciErr;
-       }
-
-       memcpy(pdblReal, _pdblReal, sizeof(double) * _iRows * _iCols);
-       if(_iComplex)
-       {
-               memcpy(pdblImg, _pdblImg, sizeof(double) * _iRows * _iCols);
-       }
-
-       sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_DOUBLE_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), _iComplex ? "createComplexMatrixOfDoubleInNamedList" : "createMatrixOfDoubleInNamedList", _iItemPos + 1, _pstName);
-               return sciErr;
-       }
-
-       piEnd = piChildAddr + 4 + (_iRows * _iCols * 2 * (_iComplex + 1));
-       closeList(Top, piEnd);
+   /* int iVarID[nsiz];
+    int iSaveRhs                       = Rhs;
+    int iSaveTop                       = Top;
+    int *piAddr                                = NULL;
+    double *pdblReal   = NULL;
+    double *pdblImg            = NULL;
+    int* piEnd                         = NULL;
+    int* piChildAddr   = NULL;
 
-       if(_iItemPos == _piParent[1])
-       {
-               updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
-               createNamedVariable(iVarID);
-       }
-
-       Top = iSaveTop;
-  Rhs = iSaveRhs;
+    C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
+    Top = Top + Nbvars + 1;
+
+    getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+
+    sciErr = fillCommonMatrixOfDoubleInList(_pvCtx, Top, _piParent, _iItemPos, _iComplex, _iRows, _iCols, &pdblReal, &pdblImg);
+    if(sciErr.iErr)
+    {
+        addErrorMessage(&sciErr, API_ERROR_CREATE_DOUBLE_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), _iComplex ? "createComplexMatrixOfDoubleInNamedList" : "createMatrixOfDoubleInNamedList", _iItemPos + 1, _pstName);
+        return sciErr;
+    }
+
+    memcpy(pdblReal, _pdblReal, sizeof(double) * _iRows * _iCols);
+    if(_iComplex)
+    {
+        memcpy(pdblImg, _pdblImg, sizeof(double) * _iRows * _iCols);
+    }
+
+    sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
+    if(sciErr.iErr)
+    {
+        addErrorMessage(&sciErr, API_ERROR_CREATE_DOUBLE_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), _iComplex ? "createComplexMatrixOfDoubleInNamedList" : "createMatrixOfDoubleInNamedList", _iItemPos + 1, _pstName);
+        return sciErr;
+    }
+
+    piEnd = piChildAddr + 4 + (_iRows * _iCols * 2 * (_iComplex + 1));
+    closeList(Top, piEnd);
+
+    if(_iItemPos == _piParent[1])
+    {
+        updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
+        createNamedVariable(iVarID);
+    }
+
+    Top = iSaveTop;
+    Rhs = iSaveRhs;*/
 
        return sciErr;
 }
@@ -875,47 +878,47 @@ SciErr getMatrixOfStringInList(void* _pvCtx, int* _piParent, int _iItemPos, int*
 SciErr createMatrixOfStringInList(void* _pvCtx, int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, const char* const* _pstStrings)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iNbItem                             = 0;
-       int iTotalLen                   = 0;
-       int iNewPos                             = Top - Rhs + _iVar;
-
-       int* piItemAddr         = NULL;
-       int* piEnd                              = NULL;
-
-       sciErr = getListItemNumber(_pvCtx, _piParent, &iNbItem);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_STRING_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createMatrixOfStringInList", _iItemPos + 1);
-               return sciErr;
-       }
-
-       if(iNbItem < _iItemPos)
-       {
-               addErrorMessage(&sciErr, API_ERROR_ITEM_LIST_NUMBER, _("%s: Unable to create list item #%d in Scilab memory"), "createMatrixOfStringInList", _iItemPos + 1);
-               return sciErr;
-       }
-
-       sciErr = getListItemAddress(_pvCtx, _piParent, _iItemPos, &piItemAddr);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_STRING_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createMatrixOfStringInList", _iItemPos + 1);
-               return sciErr;
-       }
-
-       sciErr = fillCommonMatrixOfStringInList(_pvCtx, _iVar, _piParent, _iItemPos, _iRows, _iCols, _pstStrings, &iTotalLen);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_STRING_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createMatrixOfStringInList", _iItemPos + 1);
-               return sciErr;
-       }
-
-       piEnd = piItemAddr + iTotalLen + 5 + _iRows * _iCols + !((iTotalLen + _iRows * _iCols) % 2);
-       closeList(iNewPos, piEnd);
-
-       if(_iItemPos == iNbItem)
-       {
-               updateListOffset(_pvCtx, _iVar, _piParent, _iItemPos, piEnd);
-       }
+       //int iNbItem                           = 0;
+       //int iTotalLen                 = 0;
+       //int iNewPos                           = Top - Rhs + _iVar;
+
+       //int* piItemAddr               = NULL;
+       //int* piEnd                            = NULL;
+
+       //sciErr = getListItemNumber(_pvCtx, _piParent, &iNbItem);
+       //if(sciErr.iErr)
+       //{
+       //      addErrorMessage(&sciErr, API_ERROR_CREATE_STRING_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createMatrixOfStringInList", _iItemPos + 1);
+       //      return sciErr;
+       //}
+
+       //if(iNbItem < _iItemPos)
+       //{
+       //      addErrorMessage(&sciErr, API_ERROR_ITEM_LIST_NUMBER, _("%s: Unable to create list item #%d in Scilab memory"), "createMatrixOfStringInList", _iItemPos + 1);
+       //      return sciErr;
+       //}
+
+       //sciErr = getListItemAddress(_pvCtx, _piParent, _iItemPos, &piItemAddr);
+       //if(sciErr.iErr)
+       //{
+       //      addErrorMessage(&sciErr, API_ERROR_CREATE_STRING_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createMatrixOfStringInList", _iItemPos + 1);
+       //      return sciErr;
+       //}
+
+       //sciErr = fillCommonMatrixOfStringInList(_pvCtx, _iVar, _piParent, _iItemPos, _iRows, _iCols, _pstStrings, &iTotalLen);
+       //if(sciErr.iErr)
+       //{
+       //      addErrorMessage(&sciErr, API_ERROR_CREATE_STRING_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createMatrixOfStringInList", _iItemPos + 1);
+       //      return sciErr;
+       //}
+
+       //piEnd = piItemAddr + iTotalLen + 5 + _iRows * _iCols + !((iTotalLen + _iRows * _iCols) % 2);
+       //closeList(iNewPos, piEnd);
+
+       //if(_iItemPos == iNbItem)
+       //{
+       //      updateListOffset(_pvCtx, _iVar, _piParent, _iItemPos, piEnd);
+       //}
 
        return sciErr;
 }
@@ -959,42 +962,42 @@ SciErr fillCommonMatrixOfStringInList(void* _pvCtx, int _iVar, int* _piParent, i
 SciErr createMatrixOfStringInNamedList(void* _pvCtx, const char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, const char* const* _pstStrings)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iVarID[nsiz];
-       int iTotalLen                   = 0;
-       int iSaveRhs                    = Rhs;
-       int iSaveTop                    = Top;
+    //int iVarID[nsiz];
+    //int iTotalLen                    = 0;
+    //int iSaveRhs                     = Rhs;
+    //int iSaveTop                     = Top;
 
-       int* piItemAddr         = NULL;
-       int* piEnd                              = NULL;
+    //int* piItemAddr          = NULL;
+    //int* piEnd                               = NULL;
 
-    C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
-       Top = Top + Nbvars + 1;
+    //C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
+    //Top = Top + Nbvars + 1;
 
-       sciErr = getListItemAddress(_pvCtx, _piParent, _iItemPos, &piItemAddr);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_STRING_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createMatrixOfStringInNamedList", _iItemPos + 1, _pstName);
-               return sciErr;
-       }
+    //sciErr = getListItemAddress(_pvCtx, _piParent, _iItemPos, &piItemAddr);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_STRING_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createMatrixOfStringInNamedList", _iItemPos + 1, _pstName);
+    //    return sciErr;
+    //}
 
-       sciErr = fillCommonMatrixOfStringInList(_pvCtx, Top, _piParent, _iItemPos, _iRows, _iCols, _pstStrings, &iTotalLen);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_STRING_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createMatrixOfStringInNamedList", _iItemPos + 1, _pstName);
-               return sciErr;
-       }
+    //sciErr = fillCommonMatrixOfStringInList(_pvCtx, Top, _piParent, _iItemPos, _iRows, _iCols, _pstStrings, &iTotalLen);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_STRING_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createMatrixOfStringInNamedList", _iItemPos + 1, _pstName);
+    //    return sciErr;
+    //}
 
-       piEnd = piItemAddr + (iTotalLen + 5 + _iRows * _iCols + !((_iRows * _iCols) %2));
-       closeList(Top, piEnd);
+    //piEnd = piItemAddr + (iTotalLen + 5 + _iRows * _iCols + !((_iRows * _iCols) %2));
+    //closeList(Top, piEnd);
 
-       if(_iItemPos == _piParent[1])
-       {
-               updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
-               createNamedVariable(iVarID);
-       }
+    //if(_iItemPos == _piParent[1])
+    //{
+    //    updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
+    //    createNamedVariable(iVarID);
+    //}
 
-       Top = iSaveTop;
-  Rhs = iSaveRhs;
+    //Top = iSaveTop;
+    //Rhs = iSaveRhs;
 
 
        return sciErr;
@@ -1087,23 +1090,23 @@ SciErr createMatrixOfBooleanInList(void* _pvCtx, int _iVar, int* _piParent, int
 SciErr allocMatrixOfBooleanInList(void* _pvCtx, int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, int** _piBool)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iNewPos                             = Top - Rhs + _iVar;
-       int* piEnd                              = NULL;
-
-       sciErr = fillMatrixOfBoolInList(_pvCtx, _iVar, _piParent, _iItemPos, _iRows, _iCols, _piBool);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_ALLOC_BOOLEAN_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "allocMatrixOfBooleanInList", _iItemPos + 1);
-               return sciErr;
-       }
-
-       piEnd = *_piBool + _iRows * _iCols + !((_iRows * _iCols) % 2);
-       closeList(iNewPos, piEnd);
-
-       if(_iItemPos == _piParent[1])
-       {
-               updateListOffset(_pvCtx, _iVar, _piParent, _iItemPos, piEnd);
-       }
+       //int iNewPos                           = Top - Rhs + _iVar;
+       //int* piEnd                            = NULL;
+
+       //sciErr = fillMatrixOfBoolInList(_pvCtx, _iVar, _piParent, _iItemPos, _iRows, _iCols, _piBool);
+       //if(sciErr.iErr)
+       //{
+       //      addErrorMessage(&sciErr, API_ERROR_ALLOC_BOOLEAN_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "allocMatrixOfBooleanInList", _iItemPos + 1);
+       //      return sciErr;
+       //}
+
+       //piEnd = *_piBool + _iRows * _iCols + !((_iRows * _iCols) % 2);
+       //closeList(iNewPos, piEnd);
+
+       //if(_iItemPos == _piParent[1])
+       //{
+       //      updateListOffset(_pvCtx, _iVar, _piParent, _iItemPos, piEnd);
+       //}
        return sciErr;
 }
 
@@ -1152,46 +1155,46 @@ static SciErr fillMatrixOfBoolInList(void* _pvCtx, int _iVar, int* _piParent, in
 SciErr createMatrixOfBooleanInNamedList(void* _pvCtx, const char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, const int* _piBool)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iVarID[nsiz];
-  int iSaveRhs                 = Rhs;
-       int iSaveTop                    = Top;
-       int *piAddr                             = NULL;
-       int* piBool                             = NULL;
-       int* piEnd                              = NULL;
-       int* piChildAddr        = NULL;
-
-  C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
-  Top = Top + Nbvars + 1;
-
-       getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
-
-       sciErr = fillMatrixOfBoolInList(_pvCtx, Top, _piParent, _iItemPos, _iRows, _iCols, &piBool);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_BOOLEAN_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createMatrixOfBooleanInNamedList", _iItemPos + 1, _pstName);
-               return sciErr;
-       }
-
-       memcpy(piBool, _piBool, sizeof(int) * _iRows * _iCols);
-
-       sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_BOOLEAN_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createMatrixOfBooleanInNamedList", _iItemPos + 1, _pstName);
-               return sciErr;
-       }
-
-       piEnd = piChildAddr + 4 + (_iRows * _iCols) + ((_iRows * _iCols) % 2);
-       closeList(Top, piEnd);
-
-       if(_iItemPos == _piParent[1])
-       {
-               updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
-               createNamedVariable(iVarID);
-       }
-
-       Top = iSaveTop;
-  Rhs = iSaveRhs;
+    //int iVarID[nsiz];
+    //int iSaveRhs                     = Rhs;
+    //int iSaveTop                     = Top;
+    //int *piAddr                              = NULL;
+    //int* piBool                              = NULL;
+    //int* piEnd                               = NULL;
+    //int* piChildAddr = NULL;
+
+    // C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
+    // Top = Top + Nbvars + 1;
+
+    //getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+
+    //sciErr = fillMatrixOfBoolInList(_pvCtx, Top, _piParent, _iItemPos, _iRows, _iCols, &piBool);
+    //if(sciErr.iErr)
+    //{
+    // addErrorMessage(&sciErr, API_ERROR_CREATE_BOOLEAN_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createMatrixOfBooleanInNamedList", _iItemPos + 1, _pstName);
+    // return sciErr;
+    //}
+
+    //memcpy(piBool, _piBool, sizeof(int) * _iRows * _iCols);
+
+    //sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
+    //if(sciErr.iErr)
+    //{
+    // addErrorMessage(&sciErr, API_ERROR_CREATE_BOOLEAN_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createMatrixOfBooleanInNamedList", _iItemPos + 1, _pstName);
+    // return sciErr;
+    //}
+
+    //piEnd = piChildAddr + 4 + (_iRows * _iCols) + ((_iRows * _iCols) % 2);
+    //closeList(Top, piEnd);
+
+    //if(_iItemPos == _piParent[1])
+    //{
+    // updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
+    // createNamedVariable(iVarID);
+    //}
+
+    //Top = iSaveTop;
+    //Rhs = iSaveRhs;
 
        return sciErr;
 }
@@ -1387,49 +1390,49 @@ SciErr createComplexMatrixOfPolyInNamedList(void* _pvCtx, const char* _pstName,
 SciErr createCommonMatrixOfPolyInNamedList(void* _pvCtx, const char* _pstName, int* _piParent, int _iItemPos, char* _pstVarName, int _iComplex, int _iRows, int _iCols, const int* _piNbCoef, const double* const* _pdblReal, const double* const* _pdblImg)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iVarID[nsiz];
-  int iSaveRhs                 = Rhs;
-       int iSaveTop                    = Top;
-       int *piAddr                             = NULL;
-       int* piEnd                              = NULL;
-       int* piChildAddr        = NULL;
-       int iTotalLen                   = 0;
-       int iItemLen                    = 0;
-
-  C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
-  Top = Top + Nbvars + 1;
-
-       getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
-
-       sciErr = fillCommonMatrixOfPolyInList(_pvCtx, Top, _piParent, _iItemPos, _pstVarName, _iComplex, _iRows, _iCols, _piNbCoef, _pdblReal, _pdblImg, &iTotalLen);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_POLY_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), _iComplex ? "createComplexMatrixOfPolyInNamedList" : "createMatrixOfPolyInNamedList", _iItemPos + 1, _pstName);
-               return sciErr;
-       }
-
-       iItemLen                                                = 9 + _iRows * _iCols + (9 + _iRows * _iCols)%2;
-       iItemLen                                                += iTotalLen;
-
-       sciErr = getListItemAddress(_pvCtx, _piParent, _iItemPos, &piChildAddr);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_POLY_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), _iComplex ? "createComplexMatrixOfPolyInNamedList" : "createMatrixOfPolyInNamedList", _iItemPos + 1, _pstName);
-               return sciErr;
-       }
-
-       piEnd                                                           =       piChildAddr + iItemLen;
-       closeList(Top, piEnd);
-
-       if(_iItemPos == _piParent[1])
-       {
-               updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
-               createNamedVariable(iVarID);
-       }
-
-
-       Top = iSaveTop;
-  Rhs = iSaveRhs;
+    //int iVarID[nsiz];
+    //int iSaveRhs                     = Rhs;
+    //int iSaveTop                     = Top;
+    //int *piAddr                              = NULL;
+    //int* piEnd                               = NULL;
+    //int* piChildAddr = NULL;
+    //int iTotalLen                    = 0;
+    //int iItemLen                     = 0;
+
+    //C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
+    //Top = Top + Nbvars + 1;
+
+    //getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+
+    //sciErr = fillCommonMatrixOfPolyInList(_pvCtx, Top, _piParent, _iItemPos, _pstVarName, _iComplex, _iRows, _iCols, _piNbCoef, _pdblReal, _pdblImg, &iTotalLen);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_POLY_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), _iComplex ? "createComplexMatrixOfPolyInNamedList" : "createMatrixOfPolyInNamedList", _iItemPos + 1, _pstName);
+    //    return sciErr;
+    //}
+
+    //iItemLen                                         = 9 + _iRows * _iCols + (9 + _iRows * _iCols)%2;
+    //iItemLen                                         += iTotalLen;
+
+    //sciErr = getListItemAddress(_pvCtx, _piParent, _iItemPos, &piChildAddr);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_POLY_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), _iComplex ? "createComplexMatrixOfPolyInNamedList" : "createMatrixOfPolyInNamedList", _iItemPos + 1, _pstName);
+    //    return sciErr;
+    //}
+
+    //piEnd                                                            =       piChildAddr + iItemLen;
+    //closeList(Top, piEnd);
+
+    //if(_iItemPos == _piParent[1])
+    //{
+    //    updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
+    //    createNamedVariable(iVarID);
+    //}
+
+
+    //Top = iSaveTop;
+    //Rhs = iSaveRhs;
 
        return sciErr;
 }
@@ -1542,23 +1545,23 @@ static SciErr fillCommonMatrixOfIntegerInList(void* _pvCtx, int _iVar, int* _piP
 static SciErr allocCommonMatrixOfIntegerInList(void* _pvCtx, int _iVar, int* _piParent, int _iItemPos, int _iPrecision, int _iRows, int _iCols, void** _pvData)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iNewPos                             = Top - Rhs + _iVar;
-       int* piEnd                              = NULL;
-
-       sciErr = fillCommonMatrixOfIntegerInList(_pvCtx, _iVar, _piParent, _iItemPos, _iPrecision, _iRows, _iCols, _pvData);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_ALLOC_INT_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "allocMatrixOfIntegerInList", _iItemPos + 1);
-               return sciErr;
-       }
-
-       piEnd = (int*)*_pvData + _iRows * _iCols / (sizeof(int) / (_iPrecision % 10)) + (int)(!!(_iRows * _iCols)) % (sizeof(int) / (_iPrecision % 10));
-       closeList(iNewPos, piEnd);
-
-       if(_iItemPos == _piParent[1])
-       {
-               updateListOffset(_pvCtx, _iVar, _piParent, _iItemPos, piEnd);
-       }
+       //int iNewPos                           = Top - Rhs + _iVar;
+       //int* piEnd                            = NULL;
+
+       //sciErr = fillCommonMatrixOfIntegerInList(_pvCtx, _iVar, _piParent, _iItemPos, _iPrecision, _iRows, _iCols, _pvData);
+       //if(sciErr.iErr)
+       //{
+       //      addErrorMessage(&sciErr, API_ERROR_ALLOC_INT_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "allocMatrixOfIntegerInList", _iItemPos + 1);
+       //      return sciErr;
+       //}
+
+       //piEnd = (int*)*_pvData + _iRows * _iCols / (sizeof(int) / (_iPrecision % 10)) + (int)(!!(_iRows * _iCols)) % (sizeof(int) / (_iPrecision % 10));
+       //closeList(iNewPos, piEnd);
+
+       //if(_iItemPos == _piParent[1])
+       //{
+       //      updateListOffset(_pvCtx, _iVar, _piParent, _iItemPos, piEnd);
+       //}
        return sciErr;
 }
 
@@ -1738,47 +1741,47 @@ SciErr getMatrixOfInteger64InList(void* _pvCtx, int* _piParent, int _iItemPos, i
 static SciErr createCommonMatrixOfIntegerInNamedList(void* _pvCtx, const char* _pstName, int* _piParent, int _iItemPos, int _iPrecision, int _iRows, int _iCols, const void* _pvData)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iVarID[nsiz];
-  int iSaveRhs                 = Rhs;
-       int iSaveTop                    = Top;
-       int *piAddr                             = NULL;
-       int* piEnd                              = NULL;
-       int* piChildAddr        = NULL;
-
-  C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
-  Top = Top + Nbvars + 1;
-
-       getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
-
-       sciErr = createCommomMatrixOfIntegerInList(_pvCtx, Top, _piParent, _iItemPos, _iPrecision, _iRows, _iCols, _pvData);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_INT_IN_NAMED_LIST,_("%s: Unable to create list item #%d in variable \"%s\""), "createMatrixOfIntegerInNamedList", _iItemPos + 1, _pstName);
-               return sciErr;
-       }
-
-       sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_INT_IN_NAMED_LIST,_("%s: Unable to create list item #%d in variable \"%s\""), "createMatrixOfIntegerInNamedList", _iItemPos + 1, _pstName);
-               return sciErr;
-       }
-
-       //integer : size in int32
-       //1st case, 5 * 1 int8  -> 10 5 1 1 (1,2,3,4) (5,x,x,x)                                         -> 6 : 4 + 5/4 + !!(5%4) -> 4 + 1 + 1 -> 6
-       //2nd case, 5 * 1 int16 -> 10 5 1 2   (1,2)     (3,4)   (5,x)                   -> 7 : 4 + 5/2 + !!(5%2) -> 4 + 2 + 1 -> 7
-       //3th case, 5 * 1 int32 -> 10 5 1 4     1         2       3   4 5       -> 9 : 4 + 5/1 + !!(5%1) -> 4 + 5 + 0 -> 9
-       piEnd = piChildAddr + 4 + _iRows * _iCols / (sizeof(int) / (_iPrecision % 10)) + (int)(!!(_iRows * _iCols)) % ((sizeof(int) / (_iPrecision % 10)));
-       closeList(Top, piEnd);
-
-       if(_iItemPos == _piParent[1])
-       {
-               updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
-               createNamedVariable(iVarID);
-       }
-
-       Top = iSaveTop;
-  Rhs = iSaveRhs;
+    //int iVarID[nsiz];
+    //int iSaveRhs                     = Rhs;
+    //int iSaveTop                     = Top;
+    //int *piAddr                              = NULL;
+    //int* piEnd                               = NULL;
+    //int* piChildAddr = NULL;
+
+    //C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
+    //Top = Top + Nbvars + 1;
+
+    //getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+
+    //sciErr = createCommomMatrixOfIntegerInList(_pvCtx, Top, _piParent, _iItemPos, _iPrecision, _iRows, _iCols, _pvData);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_INT_IN_NAMED_LIST,_("%s: Unable to create list item #%d in variable \"%s\""), "createMatrixOfIntegerInNamedList", _iItemPos + 1, _pstName);
+    //    return sciErr;
+    //}
+
+    //sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_INT_IN_NAMED_LIST,_("%s: Unable to create list item #%d in variable \"%s\""), "createMatrixOfIntegerInNamedList", _iItemPos + 1, _pstName);
+    //    return sciErr;
+    //}
+
+    ////integer : size in int32
+    ////1st case, 5 * 1 int8  -> 10 5 1 1 (1,2,3,4) (5,x,x,x)                                          -> 6 : 4 + 5/4 + !!(5%4) -> 4 + 1 + 1 -> 6
+    ////2nd case, 5 * 1 int16 -> 10 5 1 2   (1,2)     (3,4)   (5,x)                    -> 7 : 4 + 5/2 + !!(5%2) -> 4 + 2 + 1 -> 7
+    ////3th case, 5 * 1 int32 -> 10 5 1 4     1         2       3   4 5        -> 9 : 4 + 5/1 + !!(5%1) -> 4 + 5 + 0 -> 9
+    //piEnd = piChildAddr + 4 + _iRows * _iCols / (sizeof(int) / (_iPrecision % 10)) + (int)(!!(_iRows * _iCols)) % ((sizeof(int) / (_iPrecision % 10)));
+    //closeList(Top, piEnd);
+
+    //if(_iItemPos == _piParent[1])
+    //{
+    //    updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
+    //    createNamedVariable(iVarID);
+    //}
+
+    //Top = iSaveTop;
+    //Rhs = iSaveRhs;
 
        return sciErr;
 }
@@ -2030,46 +2033,46 @@ SciErr createComplexSparseMatrixInList(void* _pvCtx, int _iVar, int* _piParent,
 SciErr createCommonSparseMatrixInNamedList(void* _pvCtx, const char* _pstName, int* _piParent, int _iItemPos, int _iComplex, int _iRows, int _iCols, int _iNbItem, const int* _piNbItemRow, const int* _piColPos, const double* _pdblReal, const double* _pdblImg)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iVarID[nsiz];
-  int iSaveRhs                 = Rhs;
-       int iSaveTop                    = Top;
-       int iItemLen                    = 0;
-       int *piAddr                             = NULL;
-       int* piEnd                              = NULL;
-       int* piChildAddr        = NULL;
-
-  C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
-  Top = Top + Nbvars + 1;
-
-       getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
-
-       sciErr = createCommonSparseMatrixInList(_pvCtx, Top, _piParent, _iItemPos, _iComplex, _iRows, _iCols, _iNbItem, _piNbItemRow, _piColPos, _pdblReal, _pdblImg);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_SPARSE_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), _iComplex ? "createComplexSparseMatrixInNamedList" : "createSparseMatrixInNamedList", _iItemPos + 1, _pstName);
-               return sciErr;
-       }
-
-       sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_SPARSE_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), _iComplex ? "createComplexSparseMatrixInNamedList" : "createSparseMatrixInNamedList", _iItemPos + 1, _pstName);
-               return sciErr;
-       }
-
-       iItemLen                                                = 5 + _iRows + _iNbItem + !((_iRows + _iNbItem) % 2);
-       iItemLen                                                += _iNbItem * (_iComplex + 1) * 2;
-       piEnd                                                           =       piChildAddr + iItemLen;
-       closeList(Top, piEnd);
-
-       if(_iItemPos == _piParent[1])
-       {
-               updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
-               createNamedVariable(iVarID);
-       }
-
-       Top = iSaveTop;
-  Rhs = iSaveRhs;
+    //int iVarID[nsiz];
+    //int iSaveRhs                     = Rhs;
+    //int iSaveTop                     = Top;
+    //int iItemLen                     = 0;
+    //int *piAddr                              = NULL;
+    //int* piEnd                               = NULL;
+    //int* piChildAddr = NULL;
+
+    //C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
+    //Top = Top + Nbvars + 1;
+
+    //getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+
+    //sciErr = createCommonSparseMatrixInList(_pvCtx, Top, _piParent, _iItemPos, _iComplex, _iRows, _iCols, _iNbItem, _piNbItemRow, _piColPos, _pdblReal, _pdblImg);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_SPARSE_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), _iComplex ? "createComplexSparseMatrixInNamedList" : "createSparseMatrixInNamedList", _iItemPos + 1, _pstName);
+    //    return sciErr;
+    //}
+
+    //sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_SPARSE_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), _iComplex ? "createComplexSparseMatrixInNamedList" : "createSparseMatrixInNamedList", _iItemPos + 1, _pstName);
+    //    return sciErr;
+    //}
+
+    //iItemLen                                         = 5 + _iRows + _iNbItem + !((_iRows + _iNbItem) % 2);
+    //iItemLen                                         += _iNbItem * (_iComplex + 1) * 2;
+    //piEnd                                                            =       piChildAddr + iItemLen;
+    //closeList(Top, piEnd);
+
+    //if(_iItemPos == _piParent[1])
+    //{
+    //    updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
+    //    createNamedVariable(iVarID);
+    //}
+
+    //Top = iSaveTop;
+    //Rhs = iSaveRhs;
 
        return sciErr;
 }
@@ -2281,45 +2284,45 @@ SciErr createBooleanSparseMatrixInList(void* _pvCtx, int _iVar, int* _piParent,
 SciErr createBooleanSparseMatrixInNamedList(void* _pvCtx, const char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, int _iNbItem, const int* _piNbItemRow, const int* _piColPos)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iVarID[nsiz];
-  int iSaveRhs                 = Rhs;
-       int iSaveTop                    = Top;
-       int iItemLen                    = 0;
-       int *piAddr                             = NULL;
-       int* piEnd                              = NULL;
-       int* piChildAddr        = NULL;
-
-  C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
-  Top = Top + Nbvars + 1;
-
-       getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
-
-       sciErr = createBooleanSparseMatrixInList(_pvCtx, Top, _piParent, _iItemPos, _iRows, _iCols, _iNbItem, _piNbItemRow, _piColPos);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_BOOLEAN_SPARSE_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createBooleanSparseMatrixInNamedList", _iItemPos + 1, _pstName);
-               return sciErr;
-       }
-
-       sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_BOOLEAN_SPARSE_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createBooleanSparseMatrixInNamedList", _iItemPos + 1, _pstName);
-               return sciErr;
-       }
-
-       iItemLen                                                = 5 + _iRows + _iNbItem + !((_iRows + _iNbItem) % 2);
-       piEnd                                                           =       piChildAddr + iItemLen;
-       closeList(Top, piEnd);
-
-       if(_iItemPos == _piParent[1])
-       {
-               updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
-               createNamedVariable(iVarID);
-       }
-
-       Top = iSaveTop;
-  Rhs = iSaveRhs;
+    //int iVarID[nsiz];
+    //int iSaveRhs                     = Rhs;
+    //int iSaveTop                     = Top;
+    //int iItemLen                     = 0;
+    //int *piAddr                              = NULL;
+    //int* piEnd                               = NULL;
+    //int* piChildAddr = NULL;
+
+    //C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
+    //Top = Top + Nbvars + 1;
+
+    //getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+
+    //sciErr = createBooleanSparseMatrixInList(_pvCtx, Top, _piParent, _iItemPos, _iRows, _iCols, _iNbItem, _piNbItemRow, _piColPos);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_BOOLEAN_SPARSE_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createBooleanSparseMatrixInNamedList", _iItemPos + 1, _pstName);
+    //    return sciErr;
+    //}
+
+    //sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_BOOLEAN_SPARSE_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createBooleanSparseMatrixInNamedList", _iItemPos + 1, _pstName);
+    //    return sciErr;
+    //}
+
+    //iItemLen                                         = 5 + _iRows + _iNbItem + !((_iRows + _iNbItem) % 2);
+    //piEnd                                                            =       piChildAddr + iItemLen;
+    //closeList(Top, piEnd);
+
+    //if(_iItemPos == _piParent[1])
+    //{
+    //    updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
+    //    createNamedVariable(iVarID);
+    //}
+
+    //Top = iSaveTop;
+    //Rhs = iSaveRhs;
 
        return sciErr;
 }
@@ -2427,54 +2430,54 @@ SciErr getPointerInList(void* _pvCtx, int* _piParent, int _iItemPos, void** _pvP
 SciErr createPointerInList(void* _pvCtx, int _iVar, int* _piParent, int _iItemPos, void* _pvPtr)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iNbItem                             = 0;
-       int* piOffset                   = NULL;
-       int* piChildAddr        = NULL;
-       void* pvPtr                             = NULL;
-       int* piEnd                                      = NULL;
-       int iNewPos                             = Top - Rhs + _iVar;
-
-       //Does item can be added in the list
-       sciErr = getListItemNumber(_pvCtx, _piParent, &iNbItem);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_POINTER_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createListInList", _iItemPos + 1);
-               return sciErr;
-       }
-
-       if(iNbItem < _iItemPos)
-       {
-               addErrorMessage(&sciErr, API_ERROR_ITEM_LIST_NUMBER, _("%s: Unable to create list item #%d in Scilab memory"), "createPointerInList", _iItemPos + 1);
-               return sciErr;
-       }
-
-
-       sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_POINTER_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createListInList", _iItemPos + 1);
-               return sciErr;
-       }
-
-       sciErr = fillPointer(_pvCtx, piChildAddr, &pvPtr);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_POINTER_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createListInList", _iItemPos + 1);
-               return sciErr;
-       }
-
-       ((double*)pvPtr)[0] = (double) ((unsigned long int) _pvPtr);
-
-       piOffset                                                = _piParent + 2;
-       piOffset[_iItemPos] = piOffset[_iItemPos - 1] + 3;//2 for header and 1 for data ( n * 64 bits )
-
-       piEnd = piChildAddr + 6;//4 for header and 2 for data ( n * 32 bits )
-       closeList(iNewPos, piEnd);
-
-       if(_iItemPos == _piParent[1])
-       {
-               updateListOffset(_pvCtx, _iVar, _piParent, _iItemPos, piEnd);
-       }
+       //int iNbItem                           = 0;
+       //int* piOffset                 = NULL;
+       //int* piChildAddr      = NULL;
+       //void* pvPtr                           = NULL;
+       //int* piEnd                                    = NULL;
+       //int iNewPos                           = Top - Rhs + _iVar;
+
+       ////Does item can be added in the list
+       //sciErr = getListItemNumber(_pvCtx, _piParent, &iNbItem);
+       //if(sciErr.iErr)
+       //{
+       //      addErrorMessage(&sciErr, API_ERROR_CREATE_POINTER_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createListInList", _iItemPos + 1);
+       //      return sciErr;
+       //}
+
+       //if(iNbItem < _iItemPos)
+       //{
+       //      addErrorMessage(&sciErr, API_ERROR_ITEM_LIST_NUMBER, _("%s: Unable to create list item #%d in Scilab memory"), "createPointerInList", _iItemPos + 1);
+       //      return sciErr;
+       //}
+
+
+       //sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
+       //if(sciErr.iErr)
+       //{
+       //      addErrorMessage(&sciErr, API_ERROR_CREATE_POINTER_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createListInList", _iItemPos + 1);
+       //      return sciErr;
+       //}
+
+       //sciErr = fillPointer(_pvCtx, piChildAddr, &pvPtr);
+       //if(sciErr.iErr)
+       //{
+       //      addErrorMessage(&sciErr, API_ERROR_CREATE_POINTER_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createListInList", _iItemPos + 1);
+       //      return sciErr;
+       //}
+
+       //((double*)pvPtr)[0] = (double) ((unsigned long int) _pvPtr);
+
+       //piOffset                                              = _piParent + 2;
+       //piOffset[_iItemPos] = piOffset[_iItemPos - 1] + 3;//2 for header and 1 for data ( n * 64 bits )
+
+       //piEnd = piChildAddr + 6;//4 for header and 2 for data ( n * 32 bits )
+       //closeList(iNewPos, piEnd);
+
+       //if(_iItemPos == _piParent[1])
+       //{
+       //      updateListOffset(_pvCtx, _iVar, _piParent, _iItemPos, piEnd);
+       //}
        return sciErr;
 }
 
@@ -2520,43 +2523,43 @@ SciErr readPointerInNamedList(void* _pvCtx, const char* _pstName, int* _piParent
 SciErr createPointerInNamedList(void* _pvCtx, const char* _pstName, int* _piParent, int _iItemPos, void* _pvPtr)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iVarID[nsiz];
-  int iSaveRhs                 = Rhs;
-       int iSaveTop                    = Top;
-       int *piAddr                             = NULL;
-       int* piEnd                              = NULL;
-       int* piChildAddr        = NULL;
-
-  C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
-  Top = Top + Nbvars + 1;
-
-       getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
-
-       sciErr = createPointerInList(_pvCtx, Top, _piParent, _iItemPos, _pvPtr);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_POINTER_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createPointerInNamedList", _iItemPos + 1, _pstName);
-               return sciErr;
-       }
-
-       sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_POINTER_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createPointerInNamedList", _iItemPos + 1, _pstName);
-               return sciErr;
-       }
-
-       piEnd = piChildAddr + 6;//4 for header + 2 for data
-       closeList(Top, piEnd);
-
-       if(_iItemPos == _piParent[1])
-       {
-               updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
-               createNamedVariable(iVarID);
-       }
-
-       Top = iSaveTop;
-  Rhs = iSaveRhs;
+    //int iVarID[nsiz];
+    //int iSaveRhs                     = Rhs;
+    //int iSaveTop                     = Top;
+    //int *piAddr                              = NULL;
+    //int* piEnd                               = NULL;
+    //int* piChildAddr = NULL;
+
+    //C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
+    //Top = Top + Nbvars + 1;
+
+    //getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+
+    //sciErr = createPointerInList(_pvCtx, Top, _piParent, _iItemPos, _pvPtr);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_POINTER_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createPointerInNamedList", _iItemPos + 1, _pstName);
+    //    return sciErr;
+    //}
+
+    //sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_POINTER_IN_NAMED_LIST, _("%s: Unable to create list item #%d in variable \"%s\""), "createPointerInNamedList", _iItemPos + 1, _pstName);
+    //    return sciErr;
+    //}
+
+    //piEnd = piChildAddr + 6;//4 for header + 2 for data
+    //closeList(Top, piEnd);
+
+    //if(_iItemPos == _piParent[1])
+    //{
+    //    updateNamedListOffset(_pvCtx, Top, _piParent, _iItemPos, piEnd);
+    //    createNamedVariable(iVarID);
+    //}
+
+    //Top = iSaveTop;
+    //Rhs = iSaveRhs;
 
        return sciErr;
 }
@@ -2574,8 +2577,8 @@ static void updateNamedListOffset(void* _pvCtx, int _iVar, int *_piCurrentNode,
 
 static void updateListOffset(void* _pvCtx, int _iVar, int *_piCurrentNode, int _iItemPos, int *_piEnd)
 {
-       int iNewPos                             = Top - Rhs + _iVar;
-       updateCommunListOffset(_pvCtx, iNewPos, _piCurrentNode, _iItemPos, _piEnd);
+       //int iNewPos                           = Top - Rhs + _iVar;
+       //updateCommunListOffset(_pvCtx, iNewPos, _piCurrentNode, _iItemPos, _piEnd);
 }
 
 //internal tool functions
index bd6e8bf..303a816 100644 (file)
  * still available and supported in Scilab 6.
  */
 
+#include "function.hxx"
+
+extern "C"
+{
 #include <stdlib.h>
 #include "api_oldstack.h"
-#include "function.hxx"
 #include "sciprint.h"
 #include "Scierror.h" 
 #include "localization.h" 
 #include "charEncoding.h" 
+}
 
 using namespace types;
 
index 0163084..3d319ad 100644 (file)
@@ -13,6 +13,8 @@
  * still available and supported in Scilab 6.
  */
 
+extern "C"
+{
 #include "api_common.h"
 #include "api_internal_common.h"
 #include "api_pointer.h"
@@ -21,6 +23,8 @@
 #include "MALLOC.h"
 #include "call_scilab.h"
 #include "stack-c.h"
+#include "api_oldstack.h"
+}
 
 SciErr getPointer(void* _pvCtx, int* _piAddress, void** _pvPtr)
 {
@@ -75,31 +79,31 @@ SciErr fillPointer(void* _pvCtx, int *_piAddress, void** _pvPtr)
 SciErr allocPointer(void* _pvCtx, int _iVar, void** _pvPtr)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iNewPos                     = Top - Rhs + _iVar;
-       int iAddr                               = *Lstk(iNewPos);
-       int* piAddr                     = NULL;
-       void* pvPtr                     = NULL;
-
-       int iMemSize = 2;
-       int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(iAddr));
-       if (iMemSize > iFreeSpace)
-       {
-               addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
-               return sciErr;
-       }
-
-       getNewVarAddressFromPosition(_pvCtx, iNewPos, &piAddr);
-
-       sciErr = fillPointer(_pvCtx, piAddr, &pvPtr);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_ALLOC_POINTER, _("%s: Unable to create variable in Scilab memory"), "allocPointer");;
-               return sciErr;
-       }
-
-       *_pvPtr = pvPtr;
-       updateInterSCI(_iVar, '$', iAddr, sadr(iadr(iAddr) + 4));
-       updateLstk(iNewPos, sadr(iadr(iAddr) + 4), 2);
+       //int iNewPos                   = Top - Rhs + _iVar;
+       //int iAddr                             = *Lstk(iNewPos);
+       //int* piAddr                   = NULL;
+       //void* pvPtr                   = NULL;
+
+       //int iMemSize = 2;
+       //int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(iAddr));
+       //if (iMemSize > iFreeSpace)
+       //{
+       //      addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
+       //      return sciErr;
+       //}
+
+       //getNewVarAddressFromPosition(_pvCtx, iNewPos, &piAddr);
+
+       //sciErr = fillPointer(_pvCtx, piAddr, &pvPtr);
+       //if(sciErr.iErr)
+       //{
+       //      addErrorMessage(&sciErr, API_ERROR_ALLOC_POINTER, _("%s: Unable to create variable in Scilab memory"), "allocPointer");;
+       //      return sciErr;
+       //}
+
+       //*_pvPtr = pvPtr;
+       //updateInterSCI(_iVar, '$', iAddr, sadr(iadr(iAddr) + 4));
+       //updateLstk(iNewPos, sadr(iadr(iAddr) + 4), 2);
 
        return sciErr;
 }
@@ -124,44 +128,44 @@ SciErr createPointer(void* _pvCtx, int _iVar, void* _pvPtr)
 SciErr createNamedPointer(void* _pvCtx, const char* _pstName, int* _pvPtr)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iVarID[nsiz];
-       int iSaveRhs    = Rhs;
-       int iSaveTop    = Top;
-       void* pvPtr     = NULL;
-       int *piAddr     = NULL;
-
-       C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
-       Top = Top + Nbvars + 1;
-
-       int iMemSize = 1;
-       int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(*Lstk(Top)));
-       if (iMemSize > iFreeSpace)
-       {
-               addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
-               return sciErr;
-       }
-
-       getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
-
-       //write matrix information
-       sciErr = fillPointer(_pvCtx, piAddr, &pvPtr);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_POINTER, _("%s: Unable to create %s named \"%s\""), "createNamedPointer", _("pointer"), _pstName);
-               return sciErr;
-       }
-
-       //copy data in stack
-       ((double*)pvPtr)[0] = (double) ((unsigned long int)_pvPtr);
-
-       updateLstk(Top, *Lstk(Top) + sadr(4), 2);
-
-       Rhs = 0;
-       //Add name in stack reference list
-       createNamedVariable(iVarID);
-
-       Top = iSaveTop;
-  Rhs = iSaveRhs;
+    //int iVarID[nsiz];
+    //int iSaveRhs     = Rhs;
+    //int iSaveTop     = Top;
+    //void* pvPtr      = NULL;
+    //int *piAddr      = NULL;
+
+    //C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
+    //Top = Top + Nbvars + 1;
+
+    //int iMemSize = 1;
+    //int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(*Lstk(Top)));
+    //if (iMemSize > iFreeSpace)
+    //{
+    //    addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
+    //    return sciErr;
+    //}
+
+    //getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+
+    ////write matrix information
+    //sciErr = fillPointer(_pvCtx, piAddr, &pvPtr);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_POINTER, _("%s: Unable to create %s named \"%s\""), "createNamedPointer", _("pointer"), _pstName);
+    //    return sciErr;
+    //}
+
+    ////copy data in stack
+    //((double*)pvPtr)[0] = (double) ((unsigned long int)_pvPtr);
+
+    //updateLstk(Top, *Lstk(Top) + sadr(4), 2);
+
+    //Rhs = 0;
+    ////Add name in stack reference list
+    //createNamedVariable(iVarID);
+
+    //Top = iSaveTop;
+    //Rhs = iSaveRhs;
        return sciErr;
 }
 
index e7754ae..a768f2b 100644 (file)
@@ -9,12 +9,18 @@
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  * Please note that piece of code will be rewrited for the Scilab 6 family
- * However, the API (profile of the functions in the header files) will be 
+ * However, the API (profile of the functions in the header files) will be
  * still available and supported in Scilab 6.
  */
 
 #include <string.h>
 #include <stdlib.h>
+
+#include "function.hxx"
+#include "matrixpoly.hxx"
+
+extern "C"
+{
 #include "machine.h"
 #include "call_scilab.h"
 #include "api_scilab.h"
 #include "localization.h"
 #include "MALLOC.h"
 #include "charEncoding.h"
-#include "context.hxx"
-
+#include "api_oldstack.h"
+}
 
-using namespace std;
 using namespace types;
 
 SciErr getPolyVariableName(void* _pvCtx, int* _piAddress, char* _pstVarName, int* _piVarNameLen)
@@ -266,32 +271,32 @@ SciErr createNamedComplexMatrixOfPoly(void* _pvCtx, const char* _pstName, char*
 SciErr createCommonNamedMatrixOfPoly(void* _pvCtx, const char* _pstName, char* _pstVarName, int _iComplex, int _iRows, int _iCols, const int* _piNbCoef, const double* const* _pdblReal, const double* const* _pdblImg)
 {
     SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-    int iVarID[nsiz];
-    int iSaveRhs                       = api_Rhs((int*)_pvCtx);
-    int iSaveTop                       = api_Top((int*)_pvCtx);
-    int *piAddr                                = NULL;
-    int iTotalLen                      = 0;
+    //int iVarID[nsiz];
+    //int iSaveRhs                     = api_Rhs((int*)_pvCtx);
+    //int iSaveTop                     = api_Top((int*)_pvCtx);
+    //int *piAddr                              = NULL;
+    //int iTotalLen                    = 0;
 
-    C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
-    Top = Top + Nbvars + 1;
+    //C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
+    //Top = Top + Nbvars + 1;
 
-    getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+    //getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
 
-    //write matrix information
-    sciErr = fillCommonMatrixOfPoly(_pvCtx, piAddr, _pstVarName, _iComplex, _iRows, _iCols, _piNbCoef, _pdblReal, _pdblImg, &iTotalLen);
-    if(sciErr.iErr)
-    {
-        addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_POLY, _("%s: Unable to create %s named \"%s\""), _iComplex ? "createNamedComplexMatrixOfPoly" : "createNamedMatrixOfPoly", _("matrix of double"), _pstName);
-        return sciErr;
-    }
+    ////write matrix information
+    //sciErr = fillCommonMatrixOfPoly(_pvCtx, piAddr, _pstVarName, _iComplex, _iRows, _iCols, _piNbCoef, _pdblReal, _pdblImg, &iTotalLen);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_POLY, _("%s: Unable to create %s named \"%s\""), _iComplex ? "createNamedComplexMatrixOfPoly" : "createNamedMatrixOfPoly", _("matrix of double"), _pstName);
+    //    return sciErr;
+    //}
 
 
-    //update "variable index"
-    updateLstk(Top, *Lstk(Top) + 4, iTotalLen);
+    ////update "variable index"
+    //updateLstk(Top, *Lstk(Top) + 4, iTotalLen);
 
-    //Rhs = 0;
-    //Add name in stack reference list
-    createNamedVariable(iVarID);
+    ////Rhs = 0;
+    ////Add name in stack reference list
+    //createNamedVariable(iVarID);
 
     //Top = iSaveTop;
     //Rhs = iSaveRhs;
index 5882593..f8ad67f 100644 (file)
  * still available and supported in Scilab 6.
  */
 
+extern "C"
+{
 #include "api_common.h"
 #include "api_internal_common.h"
 #include "api_internal_sparse.h"
 #include "api_sparse.h"
 #include "localization.h"
-
 #include "MALLOC.h"
 #include "call_scilab.h"
 #include "stack-c.h"
+#include "api_oldstack.h"
+}
 
 //internal sparse functions
 SciErr getSparseMatrix(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal)
@@ -114,37 +117,37 @@ SciErr allocComplexSparseMatrix(void* _pvCtx, int _iVar, int _iRows, int _iCols,
 SciErr allocCommonSparseMatrix(void* _pvCtx, int _iVar, int _iComplex, int _iRows, int _iCols, int _iNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal, double** _pdblImg)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iNewPos                     = Top - Rhs + _iVar;
-       int iAddr                               = *Lstk(iNewPos);
-       int     iTotalSize      = 0;
-       int iOffset                     = 0;
-       int* piAddr                     = NULL;
-
-               //header + offset
-       int iMemSize = (5 + _iRows + _iNbItem + !((_iRows + _iNbItem) % 2)) / 2;
-       //+ items size
-       iMemSize += _iNbItem * (_iComplex + 1); 
-       int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(iAddr));
-       if (iMemSize > iFreeSpace)
-       {
-               addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
-               return sciErr;
-       }
-
-       getNewVarAddressFromPosition(_pvCtx, iNewPos, &piAddr);
-
-       sciErr = fillCommonSparseMatrix(_pvCtx, piAddr, _iComplex, _iRows, _iCols, _iNbItem, _piNbItemRow, _piColPos, _pdblReal, _pdblImg, &iTotalSize);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_ALLOC_SPARSE, _("%s: Unable to create variable in Scilab memory"), _iComplex ? "allocComplexSparseMatrix" : "allocSparseMatrix");
-               return sciErr;
-       }
-
-       iOffset = 5;//4 for header + 1 for NbItem
-       iOffset         += _iRows + _iNbItem + !((_iRows + _iNbItem) % 2);
-
-       updateInterSCI(_iVar, '$', iAddr, sadr(iadr(iAddr) + iOffset));
-       updateLstk(iNewPos, sadr(iadr(iAddr) + iOffset), iTotalSize);
+       //int iNewPos                   = Top - Rhs + _iVar;
+       //int iAddr                             = *Lstk(iNewPos);
+       //int   iTotalSize      = 0;
+       //int iOffset                   = 0;
+       //int* piAddr                   = NULL;
+
+       //      //header + offset
+       //int iMemSize = (5 + _iRows + _iNbItem + !((_iRows + _iNbItem) % 2)) / 2;
+       ////+ items size
+       //iMemSize += _iNbItem * (_iComplex + 1); 
+       //int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(iAddr));
+       //if (iMemSize > iFreeSpace)
+       //{
+       //      addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
+       //      return sciErr;
+       //}
+
+       //getNewVarAddressFromPosition(_pvCtx, iNewPos, &piAddr);
+
+       //sciErr = fillCommonSparseMatrix(_pvCtx, piAddr, _iComplex, _iRows, _iCols, _iNbItem, _piNbItemRow, _piColPos, _pdblReal, _pdblImg, &iTotalSize);
+       //if(sciErr.iErr)
+       //{
+       //      addErrorMessage(&sciErr, API_ERROR_ALLOC_SPARSE, _("%s: Unable to create variable in Scilab memory"), _iComplex ? "allocComplexSparseMatrix" : "allocSparseMatrix");
+       //      return sciErr;
+       //}
+
+       //iOffset       = 5;//4 for header + 1 for NbItem
+       //iOffset               += _iRows + _iNbItem + !((_iRows + _iNbItem) % 2);
+
+       //updateInterSCI(_iVar, '$', iAddr, sadr(iadr(iAddr) + iOffset));
+       //updateLstk(iNewPos, sadr(iadr(iAddr) + iOffset), iTotalSize);
        return sciErr;
 }
 
@@ -226,66 +229,65 @@ SciErr createNamedComplexSparseMatrix(void* _pvCtx, const char* _pstName, int _i
 SciErr createCommonNamedSparseMatrix(void* _pvCtx, const char* _pstName, int _iComplex, int _iRows, int _iCols, int _iNbItem, const int* _piNbItemRow, const int* _piColPos, const double* _pdblReal, const double* _pdblImg)
 {
        SciErr sciErr; sciErr.iErr = 0; sciErr.iMsgCount = 0;
-       int iVarID[nsiz];
-       int iSaveRhs            = Rhs;
-       int iSaveTop            = Top;
-       int iTotalSize          = 0;
-       int iPos                = 0;
-
-       int* piAddr             = NULL;
-       int* piNbItemRow        = NULL;
-       int* piColPos           = NULL;
-       int iOne                = 1;
-       double* pdblReal        = NULL;
-       double* pdblImg         = NULL;
-
-
-       C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
-       Top = Top + Nbvars + 1;
-
-       //header + offset
-       int iMemSize = (5 + _iRows + _iNbItem + !((_iRows + _iNbItem) % 2)) / 2;
-       //+ items size
-       iMemSize += _iNbItem * (_iComplex + 1); 
-       int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(*Lstk(Top)));
-       if (iMemSize > iFreeSpace)
-       {
-               addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
-               return sciErr;
-       }
-
-       getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
-
-       sciErr = fillCommonSparseMatrix(_pvCtx, piAddr, _iComplex, _iRows, _iCols, _iNbItem, &piNbItemRow, &piColPos, &pdblReal, &pdblImg, &iTotalSize);
-       if(sciErr.iErr)
-       {
-               addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_SPARSE, _("%s: Unable to create %s named \"%s\""), _iComplex ? "createNamedComplexSparseMatrix" : "createNamedSparseMatrix", _("sparse matrix"), _pstName);
-               return sciErr;
-       }
-
-       memcpy(piNbItemRow, _piNbItemRow, _iRows * sizeof(int));
-       memcpy(piColPos, _piColPos, _iNbItem * sizeof(int));
-       C2F(dcopy)(&_iNbItem, const_cast<double*>(_pdblReal), &iOne, pdblReal, &iOne);
-       if(_iComplex)
-       {
-               C2F(dcopy)(&_iNbItem, const_cast<double*>(_pdblImg), &iOne, pdblImg, &iOne);
-       }
-
-       iPos    = 5;//4 for header + 1 for NbItem
-       iPos += _iRows + _iNbItem;
-
-       //update "variable index"
-       updateLstk(Top, *Lstk(Top) + iPos, iTotalSize);
-
-       Rhs = 0;
-       //Add name in stack reference list
-       createNamedVariable(iVarID);
-
-       Top = iSaveTop;
-  Rhs = iSaveRhs;
-
-       return sciErr;
-
+    //int iVarID[nsiz];
+    //int iSaveRhs             = Rhs;
+    //int iSaveTop             = Top;
+    //int iTotalSize           = 0;
+    //int iPos         = 0;
+
+    //int* piAddr              = NULL;
+    //int* piNbItemRow = NULL;
+    //int* piColPos            = NULL;
+    //int iOne         = 1;
+    //double* pdblReal = NULL;
+    //double* pdblImg          = NULL;
+
+
+    //C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
+    //Top = Top + Nbvars + 1;
+
+    ////header + offset
+    //int iMemSize = (5 + _iRows + _iNbItem + !((_iRows + _iNbItem) % 2)) / 2;
+    ////+ items size
+    //iMemSize += _iNbItem * (_iComplex + 1); 
+    //int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(*Lstk(Top)));
+    //if (iMemSize > iFreeSpace)
+    //{
+    //    addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
+    //    return sciErr;
+    //}
+
+    //getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+
+    //sciErr = fillCommonSparseMatrix(_pvCtx, piAddr, _iComplex, _iRows, _iCols, _iNbItem, &piNbItemRow, &piColPos, &pdblReal, &pdblImg, &iTotalSize);
+    //if(sciErr.iErr)
+    //{
+    //    addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_SPARSE, _("%s: Unable to create %s named \"%s\""), _iComplex ? "createNamedComplexSparseMatrix" : "createNamedSparseMatrix", _("sparse matrix"), _pstName);
+    //    return sciErr;
+    //}
+
+    //memcpy(piNbItemRow, _piNbItemRow, _iRows * sizeof(int));
+    //memcpy(piColPos, _piColPos, _iNbItem * sizeof(int));
+    //C2F(dcopy)(&_iNbItem, const_cast<double*>(_pdblReal), &iOne, pdblReal, &iOne);
+    //if(_iComplex)
+    //{
+    //    C2F(dcopy)(&_iNbItem, const_cast<double*>(_pdblImg), &iOne, pdblImg, &iOne);
+    //}
+
+    //iPos     = 5;//4 for header + 1 for NbItem
+    //iPos += _iRows + _iNbItem;
+
+    ////update "variable index"
+    //updateLstk(Top, *Lstk(Top) + iPos, iTotalSize);
+
+    //Rhs = 0;
+    ////Add name in stack reference list
+    //createNamedVariable(iVarID);
+
+    //Top = iSaveTop;
+    //Rhs = iSaveRhs;
+
+    return sciErr;
 }
 
 SciErr readNamedSparseMatrix(void* _pvCtx, const char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal)
index 8b584ac..fd11601 100644 (file)
  */
 
 /*--------------------------------------------------------------------------*/
+#include "function.hxx"
+#include "string.hxx"
+
+extern "C"
+{
 #include <string.h>
 #include <stdlib.h>
 #include "machine.h"
+
+
 #include "charEncoding.h"
 #include "call_scilab.h"
 #include "api_scilab.h"
 #include "api_oldstack.h"
 #include "localization.h"
 #include "MALLOC.h"
-#include "context.hxx"
-
-extern "C"
-{
 #include "freeArrayOfString.h"
 }
 
-using namespace std;
 using namespace types;
 /*--------------------------------------------------------------------------*/
 
index 3c254f7..34aa965 100644 (file)
@@ -14,6 +14,7 @@
 #include "context.hxx"
 #include "types.hxx"
 #include "double.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -21,6 +22,8 @@ extern "C"
 #include "Scierror.h"
 }
 
+using namespace types;
+
 types::Function::ReturnValue sci_argn(types::typed_list &in, int _iRetCount, types::typed_list &out)
 {
     int iRhs = static_cast<int>(in.size());
index 66d546e..09fe4b2 100644 (file)
@@ -1,18 +1,19 @@
 /*
  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  *  Copyright (C) 2010-2010 - DIGITEO - 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
  *  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 "function.hxx"
 #include "callable.hxx"
 #include "context.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -21,6 +22,8 @@ extern "C"
 #include "charEncoding.h"
 }
 
+using namespace types;
+
 Function::ReturnValue sci_clear(types::typed_list &in, int _iRetCount, types::typed_list &out)
 {
     types::typed_list::iterator inIterator;
index cc96009..4874630 100644 (file)
@@ -1,18 +1,19 @@
 /*
  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  *  Copyright (C) 2010-2010 - DIGITEO - Antoine ELIAS
- * 
+ *
  *  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 "function.hxx"
 #include "callable.hxx"
 #include "context.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -20,6 +21,9 @@ extern "C"
 #include "localization.h"
 #include "charEncoding.h"
 }
+
+using namespace types;
+
 Function::ReturnValue sci_clearglobal(types::typed_list &in, int _iRetCount, types::typed_list &out)
 {
     types::typed_list::iterator inIterator;
index e7369b8..741aa8a 100644 (file)
@@ -1,11 +1,11 @@
 /*
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2006 - INRIA - Antoine ELIAS
- * 
+ *
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -14,6 +14,9 @@
 #include "funcmanager.hxx"
 #include "context.hxx"
 #include "configvariable.hxx"
+#include "string.hxx"
+
+using namespace types;
 
 Function::ReturnValue sci_getmodules(types::typed_list &in, int _iRetCount, types::typed_list &out)
 {
index ac5b7e7..189d56b 100644 (file)
@@ -1,11 +1,11 @@
 /*
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2009 - DIGITEO - Antoine ELIAS
- * 
+ *
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -13,6 +13,7 @@
 #include "context.hxx"
 #include "types.hxx"
 #include "double.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -22,6 +23,9 @@ extern "C"
 #include "Scierror.h"
 }
 /*--------------------------------------------------------------------------*/
+
+using namespace types;
+
 types::Function::ReturnValue sci_getos(types::typed_list &in, int _iRetCount, types::typed_list &out)
 {
        char *OperatingSystem = getOSFullName();
@@ -56,7 +60,7 @@ types::Function::ReturnValue sci_getos(types::typed_list &in, int _iRetCount, ty
                        {
                 String* pS2 = new String(Release);
                 out.push_back(pS2);
-                               if (Release) 
+                               if (Release)
                 {
                     FREE(Release);
                     Release = NULL;
index a9f0a24..f5f8e00 100644 (file)
@@ -1,17 +1,18 @@
 /*
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2007 - INRIA - Allan CORNET
- * 
+ *
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 #include "funcmanager.hxx"
 #include "context.hxx"
 #include "core_gw.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -22,6 +23,9 @@ extern "C"
 #include "os_strdup.h"
 }
 /*--------------------------------------------------------------------------*/
+
+using namespace types;
+
 Function::ReturnValue sci_getscilabmode(types::typed_list &in, int _iRetCount, types::typed_list &out)
 {
        int n1 = 0, m1 = 0;
index 368faa5..a53abbc 100644 (file)
@@ -14,6 +14,7 @@
 /*--------------------------------------------------------------------------*/
 #include "funcmanager.hxx"
 #include "core_gw.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -29,6 +30,9 @@ static int getversion_no_rhs(char *fname, int* _piKey);
 static int getversion_one_rhs(char *fname, int* _piKey);
 static int getversion_two_rhs(char *fname, int* _piKey);
 /*--------------------------------------------------------------------------*/
+
+using namespace types;
+
 Function::ReturnValue sci_getversion(types::typed_list &in, int _iRetCount, types::typed_list &out)
 {
     if(in.size() > 2)
@@ -125,7 +129,7 @@ Function::ReturnValue sci_getversion(types::typed_list &in, int _iRetCount, type
        //Rhs = Max(0,Rhs);
 
 //     CheckRhs(0,2);
-//     
+//
 //     if (Rhs == 0)
 //     {
 //             CheckLhs(1,2);
@@ -187,7 +191,7 @@ Function::ReturnValue sci_getversion(types::typed_list &in, int _iRetCount, type
 //                     return 0;
 //             }
 //     }
-//     
+//
 //     C2F(putlhsvar)();
 //
 //     return 0;
@@ -354,7 +358,7 @@ Function::ReturnValue sci_getversion(types::typed_list &in, int _iRetCount, type
 //                                             if (versionInfo)
 //                                             {
 //                                                     createSingleString(_piKey, Rhs + 1, versionInfo);
-//                                                     
+//
 //                                                     FREE(versionInfo);
 //                                                     versionInfo = NULL;
 //
index 895b152..2cb258a 100644 (file)
@@ -14,6 +14,7 @@
 #include "context.hxx"
 #include "types.hxx"
 #include "double.hxx"
+#include "string.hxx"
 #include "core_gw.hxx"
 
 extern "C"
@@ -22,6 +23,8 @@ extern "C"
 #include "Scierror.h"
 }
 
+using namespace types;
+
 types::Function::ReturnValue sci_global(types::typed_list &in, int _iRetCount, types::typed_list &out)
 {
     //check input arguments
@@ -62,7 +65,7 @@ types::Function::ReturnValue sci_global(types::typed_list &in, int _iRetCount, t
                 InternalType* pIT = pCtx->get(pstVar);
                 if(pIT)
                 {//variable have already a value in current local scope
-                    
+
                     //set global at local value
                     pCtx->setGlobalValue(pstVar, *pIT);
                     pCtx->remove(pstVar);
index 355c8e7..c2e7956 100644 (file)
@@ -1,20 +1,27 @@
 /*
  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  *  Copyright (C) 2010-2010 - DIGITEO - Antoine ELIAS
- * 
+ *
  *  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 "function.hxx"
 #include "callable.hxx"
 #include "context.hxx"
+#include "string.hxx"
+
+extern "C"
+{
 #include "Scierror.h"
 #include "localization.h"
+}
+
+using namespace types;
 
 Function::ReturnValue sci_isglobal(types::typed_list &in, int _iRetCount, types::typed_list &out)
 {
index 678b61d..bb7a375 100644 (file)
@@ -5,7 +5,7 @@
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -13,6 +13,7 @@
 #include "context.hxx"
 #include "types.hxx"
 #include "double.hxx"
+#include "string.hxx"
 #include "configvariable.hxx"
 
 extern "C"
@@ -21,6 +22,9 @@ extern "C"
 #include "Scierror.h"
 }
 /*--------------------------------------------------------------------------*/
+
+using namespace types;
+
 types::Function::ReturnValue sci_lasterror(types::typed_list &in, int _iRetCount, types::typed_list &out)
 {
     bool bClearError = true;
index 2da5864..41c63ec 100644 (file)
@@ -1,18 +1,20 @@
 /*
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2006 - INRIA - Allan CORNET
- * 
+ *
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 
 #include "core_gw.hxx"
 #include "funcmanager.hxx"
-#include "alltypes.hxx"
+#include "function.hxx"
+#include "bool.hxx"
+#include "string.hxx"
 #include "configvariable.hxx"
 
 
index c09c2d7..cea0629 100644 (file)
@@ -85,6 +85,10 @@ extern "C"
 
 #include "banner.hxx"
 
+#include "double.hxx"
+#include "string.hxx"
+#include "matrixpoly.hxx"
+
 #define INTERACTIVE     -1
 
 const wchar_t* prog_name;
@@ -362,7 +366,7 @@ static Parser::ControlStatus processCommand(char* _pstCommand)
         ** -*- DUMPING TREE -*-
         */
         if(dumpAst == true)
-        { 
+        {
             dumpAstTask(parser->getTree(), timed);
         }
 
index 527e7f2..4201f7b 100644 (file)
@@ -1,6 +1,7 @@
 /*
 *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 *  Copyright (C) 2008-2008 - DIGITEO - Antoine ELIAS
+*  Copyright (C) 2010-2010 - DIGITEO - 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
 *
 */
 
-#ifndef __ELEM_FUNC_H__
-#define __ELEM_FUNC_H__
+#ifndef __ELEM_FUNC_GW_HXX__
+#define __ELEM_FUNC_GW_HXX__
 
 #include "funcmanager.hxx"
 #include "context.hxx"
+#include "function.hxx"
 
 #ifdef _MSC_VER
        #if ELEM_FUNC_GW_EXPORTS
@@ -23,7 +25,7 @@
                #define EXTERN_EF_GW __declspec (dllimport)
        #endif
 #else
-       #define EXTERN_EF_GW 
+       #define EXTERN_EF_GW
 #endif
 
 class ElemFuncModule
@@ -39,4 +41,4 @@ CPP_GATEWAY_PROTOTYPE(sci_isequal);
 CPP_GATEWAY_PROTOTYPE(sci_size);
 CPP_GATEWAY_PROTOTYPE(sci_eye);
 
-#endif /* __ELEM_FUNC_H__ */
+#endif /* __ELEM_FUNC_GW_HXX__ */
index 072e23c..c1901d6 100644 (file)
@@ -22,6 +22,8 @@ extern "C"
 #include "charEncoding.h"
 }
 
+using namespace types;
+
 /*--------------------------------------------------------------------------*/
 Function::ReturnValue sci_eye(types::typed_list &in, int _iRetCount, types::typed_list &out)
 {
index f487b63..4f23086 100644 (file)
@@ -15,6 +15,8 @@
 #include "funcmanager.hxx"
 #include "context.hxx"
 #include "types.hxx"
+#include "container.hxx"
+#include "string.hxx"
 
 extern "C"
 {
index 99425db..7a460d0 100644 (file)
@@ -13,6 +13,8 @@
 #include "funcmanager.hxx"
 #include "filemanager.hxx"
 #include "fileio_gw.hxx"
+#include "function.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -134,7 +136,7 @@ Function::ReturnValue sci_basename(typed_list &in, int _iRetCount, typed_list &o
        //              return 0;
        //      }
 
-       //      if ( (m3 != n3) && (n3 != 1) ) 
+       //      if ( (m3 != n3) && (n3 != 1) )
        //      {
        //              Scierror(999,_("%s: Wrong size for input argument #%d: A boolean expected.\n"), fname, 3);
        //              return 0;
@@ -172,7 +174,7 @@ Function::ReturnValue sci_basename(typed_list &in, int _iRetCount, typed_list &o
 
        //      sciErr = getVarDimension(_piKey, piAddressVarTwo, &m2, &n2);
 
-       //      if ( (m2 != n2) && (n2 != 1) ) 
+       //      if ( (m2 != n2) && (n2 != 1) )
        //      {
        //              Scierror(999,_("%s: Wrong size for input argument #%d: A boolean expected.\n"), fname, 2);
        //              return 0;
index 3d35488..ca99705 100644 (file)
@@ -13,6 +13,8 @@
 /*--------------------------------------------------------------------------*/
 #include "funcmanager.hxx"
 #include "fileio_gw.hxx"
+#include "function.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -28,6 +30,9 @@ extern "C"
 #include "PATH_MAX.h"
 }
 /*--------------------------------------------------------------------------*/
+
+using namespace types;
+
 Function::ReturnValue sci_createdir(typed_list &in, int _iRetCount, typed_list &out)
 {
     if(in.size() != 1)
index d701169..bc8667a 100644 (file)
@@ -2,11 +2,11 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2007 - INRIA - Allan CORNET
  * Copyright (C) 2010 - INRIA - Antoine ELIAS
- * 
+ *
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -14,6 +14,8 @@
 #include "funcmanager.hxx"
 #include "filemanager.hxx"
 #include "fileio_gw.hxx"
+#include "function.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -47,7 +49,7 @@ Function::ReturnValue sci_deletefile(typed_list &in, int _iRetCount, typed_list
         pOut = new Bool(0);
     }
 
-    out.push_back(pOut); 
+    out.push_back(pOut);
     return Function::OK;
        //CheckRhs(1,1);
        //CheckLhs(1,1);
index a9a7210..ab48c45 100644 (file)
@@ -2,11 +2,11 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2007 - INRIA - Allan CORNET
  * Copyright (C) 2010 - DIGITEO - Antoine ELIAS
- * 
+ *
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -14,6 +14,8 @@
 #include "funcmanager.hxx"
 #include "filemanager.hxx"
 #include "fileio_gw.hxx"
+#include "function.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -83,7 +85,7 @@ Function::ReturnValue sci_fileext(typed_list &in, int _iRetCount, typed_list &ou
        //      Output_extensions = (char**)MALLOC(sizeof(char*)*(m1*n1));
        //      if (Output_extensions)
        //      {
-       //              
+       //
        //              for (i = 0; i < m1*n1; i++)
        //              {
        //                      if (Input_filenames[i])
index a54575e..8c25eca 100644 (file)
@@ -3,16 +3,19 @@
  * Copyright (C) 2006 - INRIA - Allan CORNET
  * Copyright (C) 2009 - DIGITEO - Allan CORNET
  * Copyright (C) 2010 - DIGITEO - Antoine ELIAS
- * 
+ *
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 /*--------------------------------------------------------------------------*/
-#include "alltypes.hxx"
+
+#include "function.hxx"
+#include "double.hxx"
+#include "string.hxx"
 #include "funcmanager.hxx"
 #include "filemanager.hxx"
 #include "fileio_gw.hxx"
index bfdf347..398386f 100644 (file)
@@ -11,7 +11,8 @@
 *
 */
 /*--------------------------------------------------------------------------*/
-#include "alltypes.hxx"
+#include "function.hxx"
+#include "string.hxx"
 #include "funcmanager.hxx"
 #include "filemanager.hxx"
 #include "fileio_gw.hxx"
@@ -111,22 +112,22 @@ Function::ReturnValue sci_fileparts(typed_list &in, int _iRetCount, typed_list &
         String* pOut = NULL;
         switch(iPartialPart)
         {
-        case PathPart : 
+        case PathPart :
             {
                 pOut = new String(pwstDrive);
                 break;
             }
-        case NamePart : 
+        case NamePart :
             {
                 pOut = new String(pwstName);
                 break;
             }
-        case ExtensionPart : 
+        case ExtensionPart :
             {
                 pOut = new String(pwstExtension);
                 break;
             }
-        default : 
+        default :
             {
                 //Never occur
             }
@@ -172,8 +173,8 @@ Function::ReturnValue sci_fileparts(typed_list &in, int _iRetCount, typed_list &
        //wchar_t* ext = NULL;
        //wchar_t* path_out = NULL;
 
-       //CheckLhs(1,3); 
-       //CheckRhs(1,2); 
+       //CheckLhs(1,3);
+       //CheckRhs(1,2);
 
        //if ( (Rhs == 2) && (Lhs != 1) )
        //{
@@ -209,7 +210,7 @@ Function::ReturnValue sci_fileparts(typed_list &in, int _iRetCount, typed_list &
        //      return 0;
        //}
 
-       //if ( (m1 != n1) && (n1 != 1) ) 
+       //if ( (m1 != n1) && (n1 != 1) )
        //{
        //      Scierror(999,_("%s: Wrong size for input argument #%d: A string expected.\n"),fname,1);
        //      return 0;
@@ -264,7 +265,7 @@ Function::ReturnValue sci_fileparts(typed_list &in, int _iRetCount, typed_list &
        //              return 0;
        //      }
 
-       //      if ( (m2 != n2) && (n2 != 1) ) 
+       //      if ( (m2 != n2) && (n2 != 1) )
        //      {
        //              Scierror(999,_("%s: Wrong size for input argument #%d: A string expected.\n"),fname,2);
        //              if (pStVarOne) {FREE(pStVarOne); pStVarOne = NULL;}
@@ -278,7 +279,7 @@ Function::ReturnValue sci_fileparts(typed_list &in, int _iRetCount, typed_list &
        //              if (pStVarOne) {FREE(pStVarOne); pStVarOne = NULL;}
        //              return 0;
        //      }
-       //      
+       //
        //      sciErr = getMatrixOfWideString(_piKey, piAddressVarTwo, &m2, &n2, &lenStVarTwo, &pStVarTwo);
        //      if(sciErr.iErr)
        //      {
index e7f8491..3749083 100644 (file)
@@ -11,7 +11,8 @@
  *
  */
 /*--------------------------------------------------------------------------*/
-#include "alltypes.hxx"
+#include "function.hxx"
+#include "string.hxx"
 #include "funcmanager.hxx"
 #include "filemanager.hxx"
 #include "fileio_gw.hxx"
index f9d41a4..b9243b6 100644 (file)
@@ -2,11 +2,11 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2007 - INRIA - Allan CORNET
  * ...
- * 
+ *
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -15,6 +15,8 @@
 #include "funcmanager.hxx"
 #include "filemanager.hxx"
 #include "fileio_gw.hxx"
+#include "function.hxx"
+#include "string.hxx"
 
 extern "C"
 {
index 49d58ca..aa22467 100644 (file)
@@ -3,16 +3,18 @@
  * Copyright (C) 2007 - INRIA - Allan CORNET
  * Copyright (C) 2009 - DIGITEO - Allan CORNET
  * Copyright (C) 2010 - DIGITEO - Antoine ELIAS
- * 
+ *
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 /*--------------------------------------------------------------------------*/
 #include "fileio_gw.hxx"
+#include "function.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -23,6 +25,9 @@ extern "C"
 #include "localization.h"
 }
 /*--------------------------------------------------------------------------*/
+
+using namespace types;
+
 Function::ReturnValue sci_getshortpathname(typed_list &in, int _iRetCount, typed_list &out)
 {
     if(in.size() != 1)
@@ -44,7 +49,7 @@ Function::ReturnValue sci_getshortpathname(typed_list &in, int _iRetCount, typed
     }
 
     String* pS  = in[0]->getAsString();
-    
+
     String* pOut1 = new String(pS->rows_get() , pS->cols_get());
     Bool* pOut2 = new Bool(pS->rows_get() , pS->cols_get());
     int* pBool = pOut2->bool_get();
@@ -100,7 +105,7 @@ Function::ReturnValue sci_getshortpathname(typed_list &in, int _iRetCount, typed
        //      CreateVarFromPtr( Rhs+1,MATRIX_OF_STRING_DATATYPE,&m1,&n1,ShortNames);
        //      LhsVar(1) = Rhs+1;
 
-       //      if (Lhs == 2) 
+       //      if (Lhs == 2)
        //      {
        //              CreateVarFromPtr(Rhs+2,MATRIX_OF_BOOLEAN_DATATYPE, &m1, &n1, &bOK);
        //              LhsVar(2) = Rhs + 2;
index 7e68725..2c8f23b 100644 (file)
@@ -2,21 +2,23 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2007 - INRIA - Sylvestre LEDRU
  * Copyright (C) 2009 - DIGITEO - Allan CORNET
- * 
+ *
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
-/*--------------------------------------------------------------------------*/ 
+/*--------------------------------------------------------------------------*/
 /*
  * Provides is_dir to scilab
  *
  */
-/*--------------------------------------------------------------------------*/ 
-#include "alltypes.hxx"
+/*--------------------------------------------------------------------------*/
+#include "function.hxx"
+#include "string.hxx"
+#include "bool.hxx"
 #include "funcmanager.hxx"
 #include "filemanager.hxx"
 #include "fileio_gw.hxx"
index 79fa1de..f8a101e 100644 (file)
@@ -11,6 +11,8 @@
 */
 /*--------------------------------------------------------------------------*/
 #include "fileio_gw.hxx"
+#include "function.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -22,6 +24,9 @@ extern "C"
 }
 
 /*--------------------------------------------------------------------------*/
+
+using namespace types;
+
 Function::ReturnValue sci_isfile(typed_list &in, int _iRetCount, typed_list &out)
 {
     if(in.size() != 1)
index 27dcd6f..c4b046b 100644 (file)
@@ -1,17 +1,18 @@
 /*
  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  *  Copyright (C) 2010-2010 - DIGITEO - Antoine ELIAS
- * 
+ *
  *  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 "alltypes.hxx"
-#include "funcmanager.hxx"
+#include "function.hxx"
+#include "double.hxx"
+#include "string.hxx"
 #include "filemanager.hxx"
 #include "fileio_gw.hxx"
 
index d45eb0e..e537db9 100644 (file)
@@ -3,11 +3,11 @@
 * Copyright (C) 2006 - INRIA - Allan CORNET
 * Copyright (C) 2009 - DIGITEO - Allan CORNET
 * ...
-* 
+*
 * 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    
+* are also available at
 * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 *
 */
 #include "funcmanager.hxx"
 #include "filemanager.hxx"
 #include "fileio_gw.hxx"
+#include "double.hxx"
+#include "string.hxx"
+#include "file.hxx"
+#include "function.hxx"
 
 extern "C"
 {
index b12d6d7..60f1a49 100644 (file)
@@ -2,11 +2,11 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2006 - INRIA - Allan CORNET
  * Copyright (C) 2010 - DIGITEO - Allan CORNET
- * 
+ *
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -14,6 +14,9 @@
 #include "funcmanager.hxx"
 #include "filemanager.hxx"
 #include "fileio_gw.hxx"
+#include "function.hxx"
+#include "double.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -96,7 +99,7 @@ Function::ReturnValue sci_mgetl(typed_list &in, int _iRetCount, typed_list &out)
 
     switch(iErr)
     {
-    case MGETL_MEMORY_ALLOCATION_ERROR : 
+    case MGETL_MEMORY_ALLOCATION_ERROR :
         break;
 
     }
index 4d326c8..a9b26f1 100644 (file)
@@ -10,7 +10,9 @@
  *
  */
 
-#include "alltypes.hxx"
+#include "function.hxx"
+#include "string.hxx"
+#include "double.hxx"
 #include "funcmanager.hxx"
 #include "filemanager.hxx"
 #include "fileio_gw.hxx"
index 2fd737b..43c7c1c 100644 (file)
@@ -3,11 +3,11 @@
 * Copyright (C) 2006 - INRIA - Allan CORNET
 * Copyright (C) 2009 - DIGITEO - Allan CORNET
 * Copyright (C) 2010 - DIGITEO - Antoine ELIAS
-* 
+*
 * 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    
+* are also available at
 * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 *
 */
 #include "funcmanager.hxx"
 #include "filemanager.hxx"
 #include "fileio_gw.hxx"
+#include "function.hxx"
+#include "int.hxx"
+#include "double.hxx"
+#include "string.hxx"
 
 extern "C"
 {
index f3e3b12..0dbfae0 100644 (file)
@@ -1,18 +1,20 @@
 /*
 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) 2010 - DIGITEO - Allan CORNET
-* 
+*
 * 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    
+* are also available at
 * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 *
 */
-/*--------------------------------------------------------------------------*/ 
+/*--------------------------------------------------------------------------*/
 #include "funcmanager.hxx"
 #include "filemanager.hxx"
 #include "fileio_gw.hxx"
+#include "function.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -23,7 +25,7 @@ extern "C"
 #include "mclose.h"
 #include "expandPathVariable.h"
 }
-/*--------------------------------------------------------------------------*/ 
+/*--------------------------------------------------------------------------*/
 Function::ReturnValue sci_mputl(typed_list &in, int _iRetCount, typed_list &out)
 {
     int iFileID     = 0;
@@ -137,4 +139,4 @@ Function::ReturnValue sci_mputl(typed_list &in, int _iRetCount, typed_list &out)
 
     //return 0;
 }
-/*--------------------------------------------------------------------------*/ 
+/*--------------------------------------------------------------------------*/
index 62b7808..85f3115 100644 (file)
@@ -13,6 +13,8 @@
 #include "funcmanager.hxx"
 #include "filemanager.hxx"
 #include "fileio_gw.hxx"
+#include "function.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -169,7 +171,7 @@ Function::ReturnValue sci_pathconvert(typed_list &in, int _iRetCount, typed_list
        //              return 0;
        //      }
 
-       //      if ( (m4 != n4) && (n4 != 1) ) 
+       //      if ( (m4 != n4) && (n4 != 1) )
        //      {
        //              Scierror(999,_("%s: Wrong size for input argument #%d: A string expected.\n"), fname, 4);
        //              return 0;
@@ -252,7 +254,7 @@ Function::ReturnValue sci_pathconvert(typed_list &in, int _iRetCount, typed_list
        //      }
 
 
-       //      if ( (m3 != n3) && (n3 != 1) ) 
+       //      if ( (m3 != n3) && (n3 != 1) )
        //      {
        //              Scierror(999,_("%s: Wrong size for input argument #%d: A boolean expected.\n"), fname, 3);
        //              return 0;
@@ -302,7 +304,7 @@ Function::ReturnValue sci_pathconvert(typed_list &in, int _iRetCount, typed_list
        //              return 0;
        //      }
 
-       //      if ( (m2 != n2) && (n2 != 1) ) 
+       //      if ( (m2 != n2) && (n2 != 1) )
        //      {
        //              Scierror(999,_("%s: Wrong size for input argument #%d: A boolean expected.\n"), fname, 2);
        //              return 0;
index 31ad14c..65de5f3 100644 (file)
 
 #include <wchar.h>
 
-#include "stack-c.h"
 
+#include "context.hxx"
+#include "internal.hxx"
+#include "string.hxx"
 #include "expandPathVariable.h"
 
 extern "C"
 {
+#include "stack-c.h"
 #include "charEncoding.h"
 #include "MALLOC.h"
 #include "PATH_MAX.h"
@@ -29,7 +32,7 @@ extern "C"
 #include "os_wcsdup.h"
 }
 
-#include "context.hxx"
+
 
 /*--------------------------------------------------------------------------*/
 struct VARIABLEALIAS
@@ -146,13 +149,13 @@ wchar_t *getVariableValueDefinedInScilab(wchar_t *wcVarName)
 {
        if (wcVarName)
        {
-        InternalType *pIT = symbol::Context::getInstance()->get(wcVarName);
+        types::InternalType *pIT = symbol::Context::getInstance()->get(wcVarName);
         if(pIT->isString() == false)
         {
             return NULL;
         }
 
-        String* pS = pIT->getAsString();
+        types::String* pS = pIT->getAsString();
         return os_wcsdup(pS->string_get(0));
        }
        return NULL;
index 3c1e368..7eb5910 100644 (file)
@@ -1,11 +1,11 @@
 /*
 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) 2006 - INRIA - Antoine ELIAS
-* 
+*
 * 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    
+* are also available at
 * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 *
 */
@@ -14,6 +14,7 @@
 #include "funcmanager.hxx"
 #include "context.hxx"
 #include "functions_gw.hxx"
+#include "string.hxx"
 
 using namespace types;
 /*--------------------------------------------------------------------------*/
index 5716830..93f436b 100644 (file)
@@ -13,6 +13,8 @@
 #include "functions_gw.hxx"
 #include "configvariable.hxx"
 #include "funcmanager.hxx"
+#include "cell.hxx"
+#include "threadId.hxx"
 
 extern "C"
 {
@@ -20,6 +22,8 @@ extern "C"
 #include "localization.h"
 }
 
+using namespace types;
+
 Function::ReturnValue sci_getThreads(types::typed_list &in, int _iRetCount, types::typed_list &out)
 {
     if(in.size() != 0)
index 2bfafce..cf49489 100644 (file)
@@ -1,11 +1,11 @@
 /*
 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) 2010 - DIGITEO - Antoine ELIAS
-* 
+*
 * 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    
+* are also available at
 * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 *
 */
@@ -21,6 +21,9 @@ extern "C"
 }
 
 /*--------------------------------------------------------------------------*/
+
+using namespace types;
+
 Function::ReturnValue sci_mode(types::typed_list &in, int _iRetCount, types::typed_list &out)
 {
        InternalType *pIT = NULL;
index ad57510..ae02cb8 100644 (file)
@@ -12,6 +12,7 @@
 /*--------------------------------------------------------------------------*/
 #include "funcmanager.hxx"
 #include "context.hxx"
+#include "string.hxx"
 
 extern "C" {
 #include "Scierror.h"
@@ -19,6 +20,9 @@ extern "C" {
 }
 
 /*--------------------------------------------------------------------------*/
+
+using namespace types;
+
 Function::ReturnValue sci_whereis(types::typed_list &in, int _iRetCount, types::typed_list &out)
 {
        InternalType *pIT = NULL;
index a691b1a..c69ea54 100644 (file)
@@ -15,6 +15,7 @@
 
 #include "funcmanager.hxx"
 #include "context.hxx"
+#include "function.hxx"
 
 #include "dynlib_integer_gw.h"
 
@@ -27,6 +28,6 @@ public :
        INTEGER_GW_IMPEXP static bool Load();
 };
 
-Function::ReturnValue sci_inttype(types::typed_list &in, int _iRetCount, types::typed_list &out);
+types::Function::ReturnValue sci_inttype(types::typed_list &in, int _iRetCount, types::typed_list &out);
 
 #endif /* __INTEGER_GW_HXX__ */
index 12e8bd9..61d7af1 100644 (file)
@@ -1,16 +1,18 @@
 /*
  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  *  Copyright (C) 2010-2010 - DIGITEO - 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
  *  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 "alltypes.hxx"
+#include "function.hxx"
+#include "double.hxx"
+#include "int.hxx"
 #include "api_scilab.h"
 
 using namespace types;
@@ -60,6 +62,6 @@ Function::ReturnValue sci_inttype(typed_list &in, int _piRetCount, typed_list &o
     }
 
     out.push_back(pRetVal);
-    
+
     return Function::OK;
 }
index 5514d33..2af6051 100644 (file)
@@ -2,11 +2,11 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2006 - INRIA - Allan CORNET
  * Copyright (C) 2009-2010 - DIGITEO - Allan CORNET
- * 
+ *
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -18,6 +18,7 @@
 #include "io_gw.hxx"
 #include "setenvvar.hxx"
 #include "filemanager.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -43,6 +44,9 @@ extern "C"
 #define FILE_OPEN_STR "open"
 #define FILE_OLD_STR "old"
 /*--------------------------------------------------------------------------*/
+
+using namespace types;
+
 Function::ReturnValue sci_file_no_rhs(types::typed_list &in, int _iRetCount, types::typed_list &out);
 Function::ReturnValue sci_file_one_rhs(types::typed_list &in, int _iRetCount, types::typed_list &out);
 /*--------------------------------------------------------------------------*/
@@ -148,7 +152,7 @@ Function::ReturnValue sci_file(types::typed_list &in, int _iRetCount, types::typ
 //                             return 0;
 //                     }
 //
-//                     if ( (m1 != n1) && (n1 != 1) ) 
+//                     if ( (m1 != n1) && (n1 != 1) )
 //                     {
 //                             Scierror(999,_("%s: Wrong size for input argument #%d: A string expected.\n"), fname, 1);
 //                             return 0;
@@ -161,7 +165,7 @@ Function::ReturnValue sci_file(types::typed_list &in, int _iRetCount, types::typ
 //                             return 0;
 //                     }
 //
-//                     if ( (m2 != n2) && (n2 != 1) ) 
+//                     if ( (m2 != n2) && (n2 != 1) )
 //                     {
 //                             Scierror(999,_("%s: Wrong size for input argument #%d: A string expected.\n"), fname, 2);
 //                             return 0;
@@ -174,7 +178,7 @@ Function::ReturnValue sci_file(types::typed_list &in, int _iRetCount, types::typ
 //                             return 0;
 //                     }
 //
-//                     if ( (m3 != n3) && (n3 != 1) ) 
+//                     if ( (m3 != n3) && (n3 != 1) )
 //                     {
 //                             Scierror(999,_("%s: Wrong size for input argument #%d: A string expected.\n"), fname, 3);
 //                             return 0;
@@ -227,14 +231,14 @@ Function::ReturnValue sci_file(types::typed_list &in, int _iRetCount, types::typ
 //                             sciErr = getMatrixOfString(_piKey, piAddressVarThree, &m3, &n3, &lenStVarThree, &pStVarThree);
 //                             if(sciErr.iErr)
 //                             {
-//                                     FREE(pStVarThree); pStVarThree = NULL; 
+//                                     FREE(pStVarThree); pStVarThree = NULL;
 //                                     printError(&sciErr, 0);
 //                                     return 0;
 //                             }
 //
 //                             if (strcmp(pStVarThree, FILE_OLD_STR) == 0)
 //                             {
-//                                     FREE(pStVarThree); pStVarThree = NULL; 
+//                                     FREE(pStVarThree); pStVarThree = NULL;
 //
 //                                     // get lenStVarTwo value
 //                                     sciErr = getMatrixOfWideString(_piKey, piAddressVarTwo, &m2, &n2, &lenStVarTwo, &pStVarTwo);
@@ -305,7 +309,7 @@ Function::ReturnValue sci_file(types::typed_list &in, int _iRetCount, types::typ
 //                                     FREE(pStVarTwo); pStVarTwo = NULL;
 //                             }
 //
-//                             FREE(pStVarThree); pStVarThree = NULL; 
+//                             FREE(pStVarThree); pStVarThree = NULL;
 //                     }
 //
 //                     FREE(pStVarOne); pStVarOne = NULL;
@@ -327,7 +331,7 @@ Function::ReturnValue sci_file_no_rhs(types::typed_list &in, int _iRetCount, typ
         }
         return Function::OK;
     }
-    
+
     int* piIds = FileManager::getIDs();
     if(piIds)
     {
@@ -470,7 +474,7 @@ Function::ReturnValue sci_file_one_rhs(types::typed_list &in, int _iRetCount, ty
 //
 //     int m_out = 0;
 //     int n_out = 0;
-//     
+//
 //     /* get Address of inputs */
 //     sciErr = getVarAddressFromPosition(_piKey, 1, &piAddressVarOne);
 //     if(sciErr.iErr)
@@ -535,7 +539,7 @@ Function::ReturnValue sci_file_one_rhs(types::typed_list &in, int _iRetCount, ty
 //             return 0;
 //     }
 //
-//     LhsVar(1) = Rhs + 1; 
+//     LhsVar(1) = Rhs + 1;
 //
 //     if (Lhs > 1) /* Type */
 //     {
@@ -562,7 +566,7 @@ Function::ReturnValue sci_file_one_rhs(types::typed_list &in, int _iRetCount, ty
 //                     return 0;
 //             }
 //
-//             LhsVar(2) = Rhs + 2; 
+//             LhsVar(2) = Rhs + 2;
 //     }
 //
 //     if (Lhs > 2) /* name */
@@ -599,7 +603,7 @@ Function::ReturnValue sci_file_one_rhs(types::typed_list &in, int _iRetCount, ty
 //                     return 0;
 //             }
 //
-//             LhsVar(3) = Rhs + 3; 
+//             LhsVar(3) = Rhs + 3;
 //     }
 //
 //     if (Lhs > 3)  /* mod */
@@ -625,7 +629,7 @@ Function::ReturnValue sci_file_one_rhs(types::typed_list &in, int _iRetCount, ty
 //                     return 0;
 //             }
 //
-//             LhsVar(4) = Rhs + 4; 
+//             LhsVar(4) = Rhs + 4;
 //     }
 //
 //     if (Lhs > 4) /* swap */
@@ -650,7 +654,7 @@ Function::ReturnValue sci_file_one_rhs(types::typed_list &in, int _iRetCount, ty
 //                     printError(&sciErr, 0);
 //                     return 0;
 //             }
-//             LhsVar(5) = Rhs + 5; 
+//             LhsVar(5) = Rhs + 5;
 //     }
 //
 //     C2F(putlhsvar)();
index 8880131..072746a 100644 (file)
@@ -31,6 +31,7 @@
 #include "yaspio.hxx"
 #include "expandPathVariable.h"
 #include "configvariable.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -55,7 +56,7 @@ Function::ReturnValue sci_genlib(types::typed_list &in, int _iRetCount, types::t
 {
        wchar_t pstParseFile[PATH_MAX + FILENAME_MAX];
        wchar_t pstVerbose[65535];
-       
+
     int iNbFile                    = 0;
        wchar_t *pstParsePath      = NULL;
        int iParsePathLen               = 0;
index 93baf2d..ced8b53 100644 (file)
@@ -14,6 +14,7 @@
 #include <string.h>
 #include "funcmanager.hxx"
 #include "io_gw.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -22,6 +23,8 @@ extern "C"
     #include "Scierror.h"
 }
 
+using namespace types;
+
 types::Function::ReturnValue sci_host(types::typed_list &in, int _iRetCount, types::typed_list &out)
 {
     if(in.size() != 1)
@@ -30,7 +33,7 @@ types::Function::ReturnValue sci_host(types::typed_list &in, int _iRetCount, typ
         return Function::Error;
     }
 
-    InternalType* pIT = in[0];
+    types::InternalType* pIT = in[0];
 
     if(pIT->getType() != InternalType::RealString || pIT->getAsString()->size_get() != 1)
     {
index aa8331e..10af033 100644 (file)
@@ -1,11 +1,11 @@
 /*
 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) 2006 - INRIA - Allan CORNET
-* 
+*
 * 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    
+* are also available at
 * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 *
 */
@@ -23,6 +23,7 @@
 #include "context.hxx"
 #include "io_gw.hxx"
 #include "setenvvar.hxx"
+#include "string.hxx"
 
 extern "C"
 {
index c512e05..92515a3 100644 (file)
@@ -1,13 +1,13 @@
 /*
  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  *  Copyright (C) 2010 - DIGITEO - Antoine ELIAS
- * 
+ *
  *  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 "jvm_gw.hxx"
@@ -23,6 +23,6 @@ extern "C"
 
 bool JvmModule::Load()
 {
-    symbol::Context::getInstance()->AddFunction(Function::createFunction(L"system_getproperty", &sci_system_getproperty, MODULE_NAME));
+    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"system_getproperty", &sci_system_getproperty, MODULE_NAME));
     return true;
 }
index fbbaf39..8d11a68 100644 (file)
@@ -2,17 +2,19 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) INRIA - Allan CORNET
  * Copyright (C) 2010 - DIGITEO - Antoine ELIAS
- * 
+ *
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 /*--------------------------------------------------------------------------*/
 #include "funcmanager.hxx"
 #include "jvm_gw.hxx"
+#include "function.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -23,6 +25,9 @@ extern "C"
 #include "sci_mode.h"
 }
 /*--------------------------------------------------------------------------*/
+
+using namespace types;
+
 Function::ReturnValue sci_system_getproperty(typed_list &in, int _piRetCount, typed_list &out)
 {
     if(in.size() != 1)
index 9ed0a5d..aded3fc 100644 (file)
@@ -1,13 +1,13 @@
 /*
  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  *  Copyright (C) 2010 - DIGITEO - Antoine ELIAS
- * 
+ *
  *  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 "localization_gw.hxx"
@@ -23,6 +23,6 @@ extern "C"
 
 bool LocalizationModule::Load()
 {
-    symbol::Context::getInstance()->AddFunction(Function::createFunction(L"gettext", &sci_gettext, MODULE_NAME));
+    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"gettext", &sci_gettext, MODULE_NAME));
     return true;
 }
index 12f0103..05c4589 100644 (file)
@@ -3,17 +3,19 @@
 * Copyright (C) 2008 - INRIA - Sylvestre LEDRU
 * Copyright (C) 2009 - DIGITEO - Allan CORNET
 * Copyright (C) 2010 - DIGITEO - Antoine ELIAS
-* 
+*
 * 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    
+* are also available at
 * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 *
 */
 
 #include "funcmanager.hxx"
 #include "localization_gw.hxx"
+#include "function.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -29,6 +31,9 @@ wchar_t* ScilabStringToCString(wchar_t *_pwstIn, bool* _pbIsConverted);
 wchar_t* CStringToScilabString(wchar_t *_pwstIn);
 void SwitchString(wchar_t** _pwst1, wchar_t** _pwst2);
 /*--------------------------------------------------------------------------*/
+
+using namespace types;
+
 Function::ReturnValue sci_gettext(typed_list &in, int _piRetCount, typed_list &out)
 {
     if(in.size() != 1)
@@ -83,7 +88,7 @@ Function::ReturnValue sci_gettext(typed_list &in, int _piRetCount, typed_list &o
        //      /* This stupid stuff is necessary because scilab is add slashes
        //      * and we need to remove them
        //      * An other solution might be to replace the string "\x" by it
-       //      * real code 
+       //      * real code
        //      */
        //      if (strchr(msgid, '\\') != NULL)
        //      {
@@ -256,4 +261,4 @@ void SwitchString(wchar_t** _pwst1, wchar_t** _pwst2)
         *_pwst1 = *_pwst2;
         *_pwst2 = NULL;
     }
-}
\ No newline at end of file
+}
index 96b0716..f521a0c 100644 (file)
@@ -13,6 +13,7 @@
 #ifndef __MATIO_GW_HXX__
 #define __MATIO_GW_HXX__
 
+#include "function.hxx"
 #include "funcmanager.hxx"
 #include "context.hxx"
 
@@ -23,7 +24,7 @@
 #define EXTERN_MATIO_GW __declspec (dllimport)
 #endif
 #else
-#define EXTERN_MATIO_GW 
+#define EXTERN_MATIO_GW
 #endif
 
 class MatioModule
@@ -35,10 +36,10 @@ public :
   EXTERN_MATIO_GW static bool Load();
 };
 
-Function::ReturnValue sci_matfile_open(types::typed_list &in, int* _piRetCount, types::typed_list &out);
-Function::ReturnValue sci_matfile_close(types::typed_list &in, int* _piRetCount, types::typed_list &out);
-Function::ReturnValue sci_matfile_listvar(types::typed_list &in, int* _piRetCount, types::typed_list &out);
-Function::ReturnValue sci_matfile_varreadnext(types::typed_list &in, int* _piRetCount, types::typed_list &out);
-Function::ReturnValue sci_matfile_varwrite(types::typed_list &in, int* _piRetCount, types::typed_list &out);
+types::Function::ReturnValue sci_matfile_open(types::typed_list &in, int* _piRetCount, types::typed_list &out);
+types::Function::ReturnValue sci_matfile_close(types::typed_list &in, int* _piRetCount, types::typed_list &out);
+types::Function::ReturnValue sci_matfile_listvar(types::typed_list &in, int* _piRetCount, types::typed_list &out);
+types::Function::ReturnValue sci_matfile_varreadnext(types::typed_list &in, int* _piRetCount, types::typed_list &out);
+types::Function::ReturnValue sci_matfile_varwrite(types::typed_list &in, int* _piRetCount, types::typed_list &out);
 
 #endif /* __MATIO_GW_HXX__ */
index e800851..7977d71 100644 (file)
 #ifndef __TYPES_ADD_H__
 #define __TYPES_ADD_H__
 
-#include "alltypes.hxx"
 #include "operation.hxx"
+#include "internal.hxx"
+#include "double.hxx"
+#include "matrixpoly.hxx"
+#include "string.hxx"
 
 using namespace types;
 
index 112de11..bd57f2d 100644 (file)
@@ -14,7 +14,8 @@
 #define __TYPES_DIV_H__
 
 #include "operation.hxx"
-#include "alltypes.hxx"
+#include "double.hxx"
+#include "matrixpoly.hxx"
 
 using namespace types;
 
index cffa1d5..d6beb4b 100644 (file)
@@ -14,7 +14,7 @@
 #define __TYPES_FINITE__
 
 #include "operation.hxx"
-#include "alltypes.hxx"
+#include "double.hxx"
 
 extern "C"
 {
index 4ffe333..4a11f53 100644 (file)
@@ -13,7 +13,8 @@
 #define __TYPES_MULTI_H__
 
 #include "operation.hxx"
-#include "alltypes.hxx"
+#include "double.hxx"
+#include "matrixpoly.hxx"
 
 
 using namespace types;
index 3e68daf..8c929ef 100644 (file)
@@ -13,8 +13,9 @@
 #ifndef __TYPES_POWER_HXX__
 #define __TYPES_POWER_HXX__
 
-#include "alltypes.hxx" 
 #include "operation.hxx"
+#include "double.hxx"
+#include "matrixpoly.hxx"
 
 using namespace types;
 
index 72a84c4..25de86e 100644 (file)
@@ -15,7 +15,8 @@
 #define __TYPES_SUB_H__
 
 #include "operation.hxx"
-#include "alltypes.hxx"
+#include "double.hxx"
+#include "matrixpoly.hxx"
 
 using namespace types;
 /*
index 4682051..aeaf8f2 100644 (file)
@@ -41,7 +41,7 @@ InternalType *GenericPlus(InternalType *_pLeftOperand, InternalType *_pRightOper
             std::wostringstream os;
             os << L"inconsistent row/column dimensions\n";
             //os << ((Location)e.right_get().location_get()).location_string_get() << std::endl;
-            throw ScilabError(os.str());
+            throw ast::ScilabError(os.str());
         }
         return pResult;
     }
@@ -67,7 +67,7 @@ InternalType *GenericPlus(InternalType *_pLeftOperand, InternalType *_pRightOper
             std::wostringstream os;
             os << L"inconsistent row/column dimensions\n";
             //os << ((Location)e.right_get().location_get()).location_string_get() << std::endl;
-            throw ScilabError(os.str());
+            throw ast::ScilabError(os.str());
         }
         return pResult;
     }
@@ -91,7 +91,7 @@ InternalType *GenericPlus(InternalType *_pLeftOperand, InternalType *_pRightOper
             std::wostringstream os;
             os << L"inconsistent row/column dimensions\n";
             //os << ((Location)e.right_get().location_get()).location_string_get() << std::endl;
-            throw ScilabError(os.str());
+            throw ast::ScilabError(os.str());
         }
         return pResult;
     }
@@ -110,7 +110,7 @@ InternalType *GenericPlus(InternalType *_pLeftOperand, InternalType *_pRightOper
             std::wostringstream os;
             os << L"inconsistent row/column dimensions\n";
             //os << ((Location)e.right_get().location_get()).location_string_get() << std::endl;
-            throw ScilabError(os.str());
+            throw ast::ScilabError(os.str());
         }
         return pResult;
     }
@@ -131,14 +131,14 @@ InternalType *GenericPlus(InternalType *_pLeftOperand, InternalType *_pRightOper
                 std::wostringstream os;
                 os << L"inconsistent row/column dimensions\n";
                 //os << ((Location)e.right_get().location_get()).location_string_get() << std::endl;
-                throw ScilabError(os.str());
+                throw ast::ScilabError(os.str());
             }
             else if(iResult == 2)
             {
                 std::wostringstream os;
                 os << L"variables don't have the same formal variable";
                 //os << ((Location)e.right_get().location_get()).location_string_get() << std::endl;
-                throw ScilabError(os.str());
+                throw ast::ScilabError(os.str());
             }
         }
         return pResult;
index 0f0f84b..1e9105f 100644 (file)
@@ -39,7 +39,7 @@ InternalType* GenericMinus(InternalType* _pLeftOperand, InternalType* _pRightOpe
         int iResult = SubstractDoubleToDouble(pL, pR, (Double**)&pResult);
         if(iResult != 0)
         {
-            throw ScilabError(_W("Inconsistent row/column dimensions.\n"));
+            throw ast::ScilabError(_W("Inconsistent row/column dimensions.\n"));
         }
         return pResult;
     }
@@ -55,7 +55,7 @@ InternalType* GenericMinus(InternalType* _pLeftOperand, InternalType* _pRightOpe
         int iResult = SubstractPolyToDouble(pL, pR, (MatrixPoly**)&pResult);
         if(iResult != 0)
         {
-            throw ScilabError(_W("Inconsistent row/column dimensions.\n"));
+            throw ast::ScilabError(_W("Inconsistent row/column dimensions.\n"));
         }
         return pResult;
     }
@@ -71,7 +71,7 @@ InternalType* GenericMinus(InternalType* _pLeftOperand, InternalType* _pRightOpe
         int iResult = SubstractDoubleToPoly(pL, pR, (MatrixPoly**)&pResult);
         if(iResult != 0)
         {
-            throw ScilabError(_W("Inconsistent row/column dimensions.\n"));
+            throw ast::ScilabError(_W("Inconsistent row/column dimensions.\n"));
         }
         return pResult;
     }
@@ -87,7 +87,7 @@ InternalType* GenericMinus(InternalType* _pLeftOperand, InternalType* _pRightOpe
         int iResult = SubstractPolyToPoly(pL, pR, (MatrixPoly**)&pResult);
         if(iResult != 0)
         {
-            throw ScilabError(_W("Inconsistent row/column dimensions.\n"));
+            throw ast::ScilabError(_W("Inconsistent row/column dimensions.\n"));
         }
         return pResult;
     }
index 1953b7e..0a59f59 100644 (file)
@@ -1,13 +1,13 @@
 /*
  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  *  Copyright (C) 2010-2010 - DIGITEO - 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
  *  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
- * 
+ *
  */
 
 #ifndef __OUTPUTSTREAM_GW_HXX__
@@ -17,6 +17,7 @@
 
 #include "funcmanager.hxx"
 #include "context.hxx"
+#include "function.hxx" /* define CPP_GATEWAY_PROTOTYPE */
 
 extern "C"
 {
index 5768027..91bfba3 100644 (file)
@@ -1,22 +1,22 @@
 /*
  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  *  Copyright (C) 2010 - DIGITEO - Antoine ELIAS
- * 
+ *
  *  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
- * 
+ *
  */
 
 #ifndef __SCILAB_SPRINTF_HXX__
 #define __SCILAB_SPRINTF_HXX__
 
 #include "dynlib_output_stream.h"
-#include "alltypes.hxx"
+#include "internal.hxx"
 
-typedef struct 
+typedef struct
 {
     wchar_t* pwstToken;
     types::InternalType::RealType outputType;
@@ -34,4 +34,4 @@ typedef struct
 wchar_t** scilab_sprintf(wchar_t* _pwstName, wchar_t* _pwstInput, types::typed_list &in, ArgumentPosition* _pArgs, int _iArgsCount, int* _piOutputRows);
 
 
-#endif /* !__SCILAB_SPRINTF_HXX__ */
\ No newline at end of file
+#endif /* !__SCILAB_SPRINTF_HXX__ */
index 7c667be..d5e4aaa 100644 (file)
@@ -1,16 +1,17 @@
 /*
  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  *  Copyright (C) 2010-2010 - DIGITEO - 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
  *  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 "output_stream_gw.hxx"
+#include "function.hxx"
 
 extern "C"
 {
@@ -21,9 +22,9 @@ extern "C"
 
 bool OutputStreamModule::Load()
 {
-    symbol::Context::getInstance()->AddFunction(Function::createFunction(L"disp", &sci_disp, MODULE_NAME));
-    symbol::Context::getInstance()->AddFunction(Function::createFunction(L"msprintf", &sci_msprintf, MODULE_NAME));
-    symbol::Context::getInstance()->AddFunction(Function::createFunction(L"mprintf", &sci_mprintf, MODULE_NAME));
-    symbol::Context::getInstance()->AddFunction(Function::createFunction(L"diary", &sci_diary, MODULE_NAME));
+    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"disp", &sci_disp, MODULE_NAME));
+    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"msprintf", &sci_msprintf, MODULE_NAME));
+    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"mprintf", &sci_mprintf, MODULE_NAME));
+    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"diary", &sci_diary, MODULE_NAME));
     return true;
 }
index b070793..c9b2df3 100644 (file)
@@ -1,16 +1,16 @@
 /*
  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  *  Copyright (C) 2010-2010 - DIGITEO - ELIAS Antoine
- * 
+ *
  *  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 "alltypes.hxx"
+#include "function.hxx"
 #include "funcmanager.hxx"
 #include "yaspio.hxx"
 #include "configvariable.hxx"
index 604da45..7843551 100644 (file)
@@ -2,11 +2,11 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) INRIA
  * Copyright (C) 2010 - DIGITEO - ELIAS Antoine
- * 
+ *
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -15,6 +15,8 @@
 #include "output_stream_gw.hxx"
 #include "scilab_sprintf.hxx"
 #include "yaspio.hxx"
+#include "function.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -24,7 +26,7 @@ extern "C"
 }
 
 /*--------------------------------------------------------------------------*/
-Function::ReturnValue sci_mprintf(typed_list &in, int _iRetCount, typed_list &out)
+types::Callable::ReturnValue sci_mprintf(types::typed_list &in, int _iRetCount, types::typed_list &out)
 {
     //Structure to store, link between % and input value
     ArgumentPosition* pArgs = NULL;
@@ -32,13 +34,13 @@ Function::ReturnValue sci_mprintf(typed_list &in, int _iRetCount, typed_list &ou
     if(in.size() < 1)
     {
         ScierrorW(999, _W("%ls: Wrong number of input arguments: at least %d expected.\n"), L"mprintf", 1);
-        return Function::Error;
+        return types::Function::Error;
     }
 
     if(in[0]->isString() == false || in[0]->getAsString()->size_get() != 1)
     {
         ScierrorW(999, _W("%ls: Wrong type for input argument #%d: A string expected.\n"), L"mprintf" ,1);
-        return Function::Error;
+        return types::Function::Error;
     }
 
     for(int i = 1 ; i < in.size() ; i++)
@@ -47,7 +49,7 @@ Function::ReturnValue sci_mprintf(typed_list &in, int _iRetCount, typed_list &ou
         {
             //TODO: Overload
             ScierrorW(999, _W("%ls: Wrong type for input argument #%d: Real matrix or matrix of strings expected.\n"), L"mprintf", i + 1);
-            return Function::Error;
+            return types::Function::Error;
         }
     }
 
@@ -60,7 +62,7 @@ Function::ReturnValue sci_mprintf(typed_list &in, int _iRetCount, typed_list &ou
                        iNumberPercent++;
                        if (pwstInput[i + 1] == L'%')
                        {
-                //it is a %%, not a %_ 
+                //it is a %%, not a %_
                                iNumberPercent--;
                 //force incremantation to bypass the second % of %%
                 i++;
@@ -72,7 +74,7 @@ Function::ReturnValue sci_mprintf(typed_list &in, int _iRetCount, typed_list &ou
     if((in.size() - 1) > iNumberPercent)
     {
         ScierrorW(999, _W("%ls: Wrong number of input arguments: at most %d expected.\n"), L"mprintf", iNumberPercent);
-        return Function::Error;
+        return types::Function::Error;
     }
 
     //determine if imput values are ... multiple values
@@ -86,7 +88,7 @@ Function::ReturnValue sci_mprintf(typed_list &in, int _iRetCount, typed_list &ou
             if(iRefRows != in[i]->getAsGenericType()->rows_get())
             {
                 ScierrorW(999, _W("%ls: Wrong number of input arguments: data doesn't fit with format.\n"), L"mprintf");
-                return Function::Error;
+                return types::Function::Error;
             }
 
             iNumberCols += in[i]->getAsGenericType()->cols_get();
@@ -96,7 +98,7 @@ Function::ReturnValue sci_mprintf(typed_list &in, int _iRetCount, typed_list &ou
     if(iNumberCols != iNumberPercent)
     {
         ScierrorW(999, _W("%ls: Wrong number of input arguments: data doesn't fit with format.\n"), L"mprintf");
-        return Function::Error;
+        return types::Function::Error;
     }
 
 
@@ -124,6 +126,6 @@ Function::ReturnValue sci_mprintf(typed_list &in, int _iRetCount, typed_list &ou
         FREE(pwstOutput[i]);
     }
     FREE(pwstOutput);
-    return Function::OK;
+    return types::Function::OK;
 }
-/*--------------------------------------------------------------------------*/ 
+/*--------------------------------------------------------------------------*/
index c5dec63..605781b 100644 (file)
@@ -2,11 +2,11 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) INRIA
  * Copyright (C) 2010 - DIGITEO - ELIAS Antoine
- * 
+ *
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -14,6 +14,8 @@
 #include "funcmanager.hxx"
 #include "output_stream_gw.hxx"
 #include "scilab_sprintf.hxx"
+#include "function.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -22,7 +24,7 @@ extern "C"
 }
 
 /*--------------------------------------------------------------------------*/
-Function::ReturnValue sci_msprintf(typed_list &in, int _piRetCount, typed_list &out)
+types::Callable::ReturnValue sci_msprintf(types::typed_list &in, int _piRetCount, types::typed_list &out)
 {
     //Structure to store, link between % and input value
     ArgumentPosition* pArgs = NULL;
@@ -30,13 +32,13 @@ Function::ReturnValue sci_msprintf(typed_list &in, int _piRetCount, typed_list &
     if(in.size() < 1)
     {
         ScierrorW(999, _W("%ls: Wrong number of input arguments: at least %d expected.\n"), L"msprintf", 1);
-        return Function::Error;
+        return types::Function::Error;
     }
 
     if(in[0]->isString() == false || in[0]->getAsString()->size_get() != 1)
     {
         ScierrorW(999, _W("%ls: Wrong type for input argument #%d: A string expected.\n"), L"msprintf" ,1);
-        return Function::Error;
+        return types::Function::Error;
     }
 
     for(int i = 1 ; i < in.size() ; i++)
@@ -45,7 +47,7 @@ Function::ReturnValue sci_msprintf(typed_list &in, int _piRetCount, typed_list &
         {
             //TODO: Overload
             ScierrorW(999, _W("%ls: Wrong type for input argument #%d: Real matrix or matrix of strings expected.\n"), L"msprintf", i + 1);
-            return Function::Error;
+            return types::Function::Error;
         }
     }
 
@@ -58,7 +60,7 @@ Function::ReturnValue sci_msprintf(typed_list &in, int _piRetCount, typed_list &
                        iNumberPercent++;
                        if (pwstInput[i + 1] == L'%')
                        {
-                //it is a %%, not a %_ 
+                //it is a %%, not a %_
                                iNumberPercent--;
                 //force incremantation to bypass the second % of %%
                 i++;
@@ -70,7 +72,7 @@ Function::ReturnValue sci_msprintf(typed_list &in, int _piRetCount, typed_list &
     if((in.size() - 1) > iNumberPercent)
     {
         ScierrorW(999, _W("%ls: Wrong number of input arguments: at most %d expected.\n"), L"msprintf", iNumberPercent);
-        return Function::Error;
+        return types::Function::Error;
     }
 
     //determine if imput values are ... multiple values
@@ -84,7 +86,7 @@ Function::ReturnValue sci_msprintf(typed_list &in, int _piRetCount, typed_list &
             if(iRefRows != in[i]->getAsGenericType()->rows_get())
             {
                 ScierrorW(999, _W("%ls: Wrong number of input arguments: data doesn't fit with format.\n"), L"msprintf");
-                return Function::Error;
+                return types::Function::Error;
             }
 
             iNumberCols += in[i]->getAsGenericType()->cols_get();
@@ -94,7 +96,7 @@ Function::ReturnValue sci_msprintf(typed_list &in, int _piRetCount, typed_list &
     if(iNumberCols != iNumberPercent)
     {
         ScierrorW(999, _W("%ls: Wrong number of input arguments: data doesn't fit with format.\n"), L"msprintf");
-        return Function::Error;
+        return types::Function::Error;
     }
 
 
@@ -115,7 +117,7 @@ Function::ReturnValue sci_msprintf(typed_list &in, int _piRetCount, typed_list &
     int iOutputRows = 0;
     wchar_t** pwstOutput = scilab_sprintf(L"msprintf", pwstInput, in, pArgs, iNumberPercent, &iOutputRows);
 
-    String* pOut = new String(iOutputRows, 1);
+    types::String* pOut = new types::String(iOutputRows, 1);
     pOut->string_set(pwstOutput);
     out.push_back(pOut);
 
@@ -124,6 +126,6 @@ Function::ReturnValue sci_msprintf(typed_list &in, int _piRetCount, typed_list &
         FREE(pwstOutput[i]);
     }
     FREE(pwstOutput);
-    return Function::OK;
+    return types::Function::OK;
 }
-/*--------------------------------------------------------------------------*/ 
+/*--------------------------------------------------------------------------*/
index 688af90..572c20c 100644 (file)
@@ -1,15 +1,18 @@
 /*
  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  *  Copyright (C) 2010 - DIGITEO - Antoine ELIAS
- * 
+ *
  *  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 "types.hxx"
+#include "double.hxx"
+#include "string.hxx"
 #include "scilab_sprintf.hxx"
 
 using namespace types;
@@ -27,7 +30,7 @@ wchar_t** scilab_sprintf(wchar_t* _pwstName, wchar_t* _pwstInput, typed_list &in
 {
     wchar_t** pwstOutput        = NULL;
     wchar_t* pwstFirstOutput    = NULL;
-    
+
     if(_iArgsCount == 0)
     {//no arg, just return _pwstInput value
         pwstFirstOutput = os_wcsdup(_pwstInput);
@@ -91,10 +94,10 @@ wchar_t** scilab_sprintf(wchar_t* _pwstName, wchar_t* _pwstInput, typed_list &in
             if(pwstPercent != NULL)
             {
                 //looking for flags
-                if(*(pwstPercent + 1) == L'-' || 
-                    *(pwstPercent + 1) == L'+' || 
-                    *(pwstPercent + 1) == L' ' || 
-                    *(pwstPercent + 1) == L'#' || 
+                if(*(pwstPercent + 1) == L'-' ||
+                    *(pwstPercent + 1) == L'+' ||
+                    *(pwstPercent + 1) == L' ' ||
+                    *(pwstPercent + 1) == L'#' ||
                     *(pwstPercent + 1) == L'0')
                 {
                     pwstPercent++;
@@ -124,8 +127,8 @@ wchar_t** scilab_sprintf(wchar_t* _pwstName, wchar_t* _pwstInput, typed_list &in
                 }
 
                 //looking for length
-                if(*(pwstPercent + 1) == L'h' || 
-                    *(pwstPercent + 1) == L'l' || 
+                if(*(pwstPercent + 1) == L'h' ||
+                    *(pwstPercent + 1) == L'l' ||
                     *(pwstPercent + 1) == L'L')
                 {
                     pToken[iToken].bLengthFlag = true;
@@ -173,7 +176,7 @@ wchar_t** scilab_sprintf(wchar_t* _pwstName, wchar_t* _pwstInput, typed_list &in
                     }
                     pToken[iToken].outputType = InternalType::RealString;
                     break;
-                default : 
+                default :
                     //houston ...
                     break;
                 }
@@ -348,7 +351,7 @@ wchar_t** scilab_sprintf(wchar_t* _pwstName, wchar_t* _pwstInput, typed_list &in
             //idx = pwstTemp - pwstSlash;
             pwstTemp = NULL;
         }
-        
+
         if(bNewLine)
         {//to insert '\0'
             idx++;
@@ -417,4 +420,4 @@ wchar_t** scilab_sprintf(wchar_t* _pwstName, wchar_t* _pwstInput, typed_list &in
 
     return pwstOutput;
 }
-/*--------------------------------------------------------------------------*/ 
+/*--------------------------------------------------------------------------*/
index 860b947..373defb 100644 (file)
@@ -17,6 +17,7 @@
 
 #include "funcmanager.hxx"
 #include "context.hxx"
+#include "function.hxx"
 
 class StringModule
 {
index 3900b7d..2a33364 100644 (file)
@@ -2,22 +2,25 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) INRIA - Cong WU
 *  Copyright (C) 2010 - DIGITEO - Antoine ELIAS
- * 
+ *
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 
 /* desc : This function convert Scilab string to a vector of ascii code  */
 /*        or vector of ascii code to Scilab strings.                     */
-/*        If  txt  is a matrix of string,  ascii(txt)  is equivalent to  */  
+/*        If  txt  is a matrix of string,  ascii(txt)  is equivalent to  */
 /*          ascii(strcat(txt))                                           */
 /*-----------------------------------------------------------------------*/
 
 #include "string_gw.hxx"
+#include "function.hxx"
+#include "string.hxx"
+
 extern "C"
 {
 #include <ctype.h>
@@ -29,6 +32,8 @@ extern "C"
 
 //#include "sci_warning.h"
 
+using namespace types;
+
 /*----------------------------------------------------------------------------*/
 String* DoubleToString(Double* _pdbl);
 String* IntToString(Int* _pi);
@@ -45,17 +50,17 @@ Function::ReturnValue sci_ascii(typed_list &in, int _iRetCount, typed_list &out)
     InternalType* pOut;
     switch(in[0]->getType())
     {
-    case InternalType::RealDouble : 
+    case InternalType::RealDouble :
         {
             pOut = DoubleToString(in[0]->getAsDouble());
             break;
         }
-    case InternalType::RealString : 
+    case InternalType::RealString :
         {
             pOut = StringToDouble(in[0]->getAsString());
             break;
         }
-    case InternalType::RealInt : 
+    case InternalType::RealInt :
         {
             pOut = IntToString(in[0]->getAsInt());
             break;
@@ -67,11 +72,11 @@ Function::ReturnValue sci_ascii(typed_list &in, int _iRetCount, typed_list &out)
 
     out.push_back(pOut);
     return Function::OK;
-    
+
 //     CheckRhs(1,1);
 //     CheckLhs(0,1);
 //
-//     switch ( GetType(1)) 
+//     switch ( GetType(1))
 //     {
 //             case sci_strings:
 //                     asciiStrings(fname);
@@ -80,11 +85,11 @@ Function::ReturnValue sci_ascii(typed_list &in, int _iRetCount, typed_list &out)
 //             case sci_matrix :
 //                     asciiMatrix(fname);
 //             break;
-//             
+//
 //             case sci_ints :
 //                     asciiIntMatrix(fname);
 //             break;
-//             
+//
 //             default:
 //                     asciiOthers(fname);
 //             break;
@@ -96,7 +101,7 @@ Function::ReturnValue sci_ascii(typed_list &in, int _iRetCount, typed_list &out)
 //{
 //     /* interface written with stack3 */
 //     /* 3 phases :
-//              1] get data from stack 
+//              1] get data from stack
 //                     conversion scilab code to ascii and strings (char **)
 //              2] algo. conversion ascii to values
 //              3] put results on stack
@@ -104,10 +109,10 @@ Function::ReturnValue sci_ascii(typed_list &in, int _iRetCount, typed_list &out)
 //
 //     /* interface written with stack1*/
 //     /* it works immediately on stack (read and write)
-//     conversion scilab code to ascii values 
+//     conversion scilab code to ascii values
 //     */
 //
-//     /* Benchmark 
+//     /* Benchmark
 //     str_test_mat =  ["abscefghijklmnopqrstuvxyz","abscefghijklmnopqrstuvxyz", ..
 //     "abscefghijklmnopqrstuvxyz","abscefghijklmnopqrstuvxyz"; ..
 //     "abscefghijklmnopqrstuvxyz","abscefghijklmnopqrstuvxyz", ..
@@ -141,7 +146,7 @@ Function::ReturnValue sci_ascii(typed_list &in, int _iRetCount, typed_list &out)
 //     Length_Output_Matrix = 0;
 //     for (x = 0;x < Row_Num*Col_Num;x++) Length_Output_Matrix = Length_Output_Matrix + (int)strlen(Input_StringMatrix[x]);
 //
-//     if (Length_Output_Matrix !=0) 
+//     if (Length_Output_Matrix !=0)
 //     {
 //             Output_IntMatrix = (double*)MALLOC(sizeof(double)*(Length_Output_Matrix));
 //     }
@@ -154,7 +159,7 @@ Function::ReturnValue sci_ascii(typed_list &in, int _iRetCount, typed_list &out)
 //             return 0;
 //     }
 //
-//     for (x = 0; x < Row_Num*Col_Num; x++) 
+//     for (x = 0; x < Row_Num*Col_Num; x++)
 //     {
 //             for (y = 0;y < (int)strlen(Input_StringMatrix[x]); y++)
 //             {
@@ -165,7 +170,7 @@ Function::ReturnValue sci_ascii(typed_list &in, int _iRetCount, typed_list &out)
 //
 //     freeArrayOfString(Input_StringMatrix,Row_Num*Col_Num);
 //
-//     
+//
 //     CreateVarFromPtr(Rhs + 1,MATRIX_OF_DOUBLE_DATATYPE,&numRow,&nbOutput_IntMatrix,&Output_IntMatrix);
 //
 //     LhsVar(1) = Rhs + 1 ;
@@ -183,7 +188,7 @@ Function::ReturnValue sci_ascii(typed_list &in, int _iRetCount, typed_list &out)
 //     il = iadr( C2F(vstk).lstk[Top - 1] );
 //
 //     ilr = il;
-//     if (*istk(il) < 0) 
+//     if (*istk(il) < 0)
 //     {
 //             il = iadr(*istk(il+1));
 //     }
@@ -195,19 +200,19 @@ Function::ReturnValue sci_ascii(typed_list &in, int _iRetCount, typed_list &out)
 //
 //     l = il + 5 + *istk(il+1) * *istk(il+2);
 //
-//     if (is_a_reference_on_stack) 
+//     if (is_a_reference_on_stack)
 //     {
 //             /* it is a reference on stack : txt = 'Scilab' ; ascii(txt) */
 //             j = ilr + 4;
 //             Err = j / 2 + 1 + nbr_characters - C2F(vstk).lstk[Bot - 1];
-//             if (Err > 0) 
+//             if (Err > 0)
 //             {
 //                     /* stacksize exceeded */
 //                     SciError(17);
 //                     return 0;
 //             }
-//     } 
-//     else 
+//     }
+//     else
 //     {
 //             /* it is not a reference on stack  ascii('Scilab') */
 //             int one = 1;
@@ -215,7 +220,7 @@ Function::ReturnValue sci_ascii(typed_list &in, int _iRetCount, typed_list &out)
 //
 //             j = lw + nbr_characters;
 //             Err = j / 2 + 1 - C2F(vstk).lstk[Bot - 1];
-//             if (Err > 0) 
+//             if (Err > 0)
 //             {
 //                     /* stacksize exceeded */
 //                     SciError(17);
@@ -235,7 +240,7 @@ Function::ReturnValue sci_ascii(typed_list &in, int _iRetCount, typed_list &out)
 //     lr = j / 2 + 1;
 //
 //     /* put each value on stack */
-//     for (i = 0; i < nbr_characters; i++) 
+//     for (i = 0; i < nbr_characters; i++)
 //     {
 //             int scilab_code = *istk(l + i);
 //             *stk(lr + i) = convertScilabCodeToAsciiCode(scilab_code);
@@ -244,7 +249,7 @@ Function::ReturnValue sci_ascii(typed_list &in, int _iRetCount, typed_list &out)
 //     C2F(vstk).lstk[Top] = lr + nbr_characters;
 //
 //     return 0;
-//     
+//
 //}
 ///*--------------------------------------------------------------------------*/
 //static int asciiMatrix(char *fname)
@@ -269,9 +274,9 @@ Function::ReturnValue sci_ascii(typed_list &in, int _iRetCount, typed_list &out)
 //             outIndex = 0 ;
 //             CreateVar(Rhs+1,STRING_DATATYPE,&len,&one,&outIndex);
 //             Output_StringMatrix = cstk(outIndex);
-//             for (x = 0; x < len; x++) 
+//             for (x = 0; x < len; x++)
 //             {
-//                     if ( FirstWarning ) 
+//                     if ( FirstWarning )
 //                     {
 //                             if ( (Input_IntMatrix[x] < ASCII_MIN) || (Input_IntMatrix[x] > ASCII_MAX) )
 //                             {
@@ -301,11 +306,11 @@ Function::ReturnValue sci_ascii(typed_list &in, int _iRetCount, typed_list &out)
 //             int one    = 1 ;
 //             int lenStr   = (int)strlen(EMPTY_STR);
 //             outIndex = 0 ;
-//             
+//
 //             CreateVar(Rhs+1,STRING_DATATYPE,&lenStr,&one,&outIndex);
 //             strcpy(cstk(outIndex),EMPTY_STR);
 //     }
-//     
+//
 //     LhsVar(1) = Rhs+1 ;
 //     C2F(putlhsvar)();
 //     return 0;
@@ -317,23 +322,23 @@ Function::ReturnValue sci_ascii(typed_list &in, int _iRetCount, typed_list &out)
 //     int Row_Num = 0,Col_Num = 0;
 //     int outIndex = 0 ;
 //     int len = 0;
-//     
+//
 //     SciIntMat M;
-//     
+//
 //     GetRhsVar(1,MATRIX_OF_VARIABLE_SIZE_INTEGER_DATATYPE,&Row_Num,&Col_Num,&M);
 //     len = Row_Num * Col_Num ;
-//     
+//
 //     if (len != 0)
 //     {
 //             int one        = 1;
 //             int ichar      = I_UCHAR;
 //             static int inc = 1;
-//             
+//
 //             char *Output_StringMatrix = NULL;
-//             
+//
 //             CreateVar(Rhs+1,STRING_DATATYPE,&len,&one,&outIndex);
 //             Output_StringMatrix = cstk(outIndex);
-//             
+//
 //             /* from intxx to char */
 //             C2F(tpconv)(&M.it,&ichar,&len, M.D, &inc, Output_StringMatrix, &inc);
 //             Output_StringMatrix[len] = '\0';
@@ -343,11 +348,11 @@ Function::ReturnValue sci_ascii(typed_list &in, int _iRetCount, typed_list &out)
 //             #define EMPTY_STR ""
 //             int one    = 1 ;
 //             int lenStr = (int)strlen(EMPTY_STR);
-//             
+//
 //             CreateVar(Rhs+1,STRING_DATATYPE,&lenStr,&one,&outIndex);
 //             strcpy(cstk(outIndex),EMPTY_STR);
 //     }
-//     
+//
 //     LhsVar(1) = Rhs+1 ;
 //     C2F(putlhsvar)();
 //     return 0;
index c13c1ec..6ce2259 100644 (file)
@@ -1,7 +1,7 @@
 /*
 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 *  Copyright (C) 2010 - DIGITEO - Antoine ELIAS
-* 
+*
 * 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
@@ -14,7 +14,9 @@
 using regular express .                                         */
 /*------------------------------------------------------------------------*/
 
-#include "alltypes.hxx"
+#include "function.hxx"
+#include "double.hxx"
+#include "string.hxx"
 #include "funcmanager.hxx"
 extern "C"
 {
@@ -27,7 +29,7 @@ extern "C"
 #include "charEncoding.h"
 #include "pcre_private.h"
 #include "pcre_error.h"
-} 
+}
 
 using namespace types;
 
@@ -150,7 +152,7 @@ Function::ReturnValue sci_grep(typed_list &in, int _iRetCount, typed_list &out)
             {
                 pDbl1[i] = static_cast<double>(grepresults.values[i]);
             }
-            
+
             out.push_back(pD1);
 
             if (_iRetCount == 2)
@@ -255,7 +257,7 @@ static int GREP_NEW(GREPRESULTS *results,char **Inputs_param_one,int mn_one,char
        int x = 0,y = 0;
        char *save=NULL;
        pcre_error_code answer = PCRE_FINISHED_OK;
-       for (x = 0; x <  mn_one ;x++) 
+       for (x = 0; x <  mn_one ;x++)
        {
                results->sizeArraysMax = results->sizeArraysMax + (int)strlen(Inputs_param_one[x]);
        }
@@ -282,7 +284,7 @@ static int GREP_NEW(GREPRESULTS *results,char **Inputs_param_one,int mn_one,char
 
                        if ( answer == PCRE_FINISHED_OK )
                        {
-                               if (results->currentLength < results->sizeArraysMax) 
+                               if (results->currentLength < results->sizeArraysMax)
                                {
                                        results->values[results->currentLength] = y+1;
                                        results->positions[results->currentLength] = x+1;
@@ -349,9 +351,9 @@ static int GREP_OLD(GREPRESULTS *results,char **Inputs_param_one,int mn_one,char
 //     int code_error_grep = GREP_OK;
 //
 //     GetRhsVar(1,MATRIX_OF_STRING_DATATYPE,&m1,&n1,&Strings_Input_One);
-//     m1n1 = m1*n1;  
+//     m1n1 = m1*n1;
 //     GetRhsVar(2,MATRIX_OF_STRING_DATATYPE,&m2,&n2,&Strings_Input_Two);
-//     m2n2 = m2*n2; 
+//     m2n2 = m2*n2;
 //
 //     for (i = 0;i < m2n2;i++)
 //     {
index 62dc40d..cee54dc 100644 (file)
    length('123')  is  3 .  length([1,2;3,4])  is  4 .                     */
 /*------------------------------------------------------------------------*/
 
-#include "alltypes.hxx"
+#include "function.hxx"
+#include "string.hxx"
+#include "list.hxx"
+#include "double.hxx"
 #include "funcmanager.hxx"
 #include "string_gw.hxx"
 
@@ -36,6 +39,9 @@ extern "C"
 #include "localization.h"
 #include "Scierror.h"
 }
+
+using namespace types;
+
 /*----------------------------------------------------------------------------*/
 /* get length */
 static Double* lengthStrings(String* _pS);
@@ -92,7 +98,7 @@ static Double* lengthStrings(String* _pS)
     for(int i = 0 ; i < _pS->size_get() ; i++)
     {
         pdblData[i] = static_cast<double>(wcslen(_pS->string_get()[i]));
-   } 
+   }
     return pD;
 }
 /*--------------------------------------------------------------------------*/
index eeefb62..b3e1cc4 100644 (file)
@@ -1,23 +1,25 @@
 /*
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) INRIA - Allan CORNET , Cong WU
- * 
+ *
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 
 /* desc : Let  s[k]  stands for the  k  character of Input_StringMatrixings
   ( or the  white space character if  k >length(s) ).
-  part  returns  c , a matrix of character Input_StringMatrixings, such that  
+  part  returns  c , a matrix of character Input_StringMatrixings, such that
   c(i,j)  is the Input_StringMatrixing  "s[v(1)]...s[v(n)]"  (  s=mp(i,j)  ).
                                                                           */
 /*------------------------------------------------------------------------*/
 #include "string_gw.hxx"
 #include "funcmanager.hxx"
+#include "function.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -29,6 +31,9 @@ extern "C"
 #include "partfunction.h"
 }
 /*--------------------------------------------------------------------------*/
+
+using namespace types;
+
 Function::ReturnValue sci_part(typed_list &in, int _iRetCount, typed_list &out)
 {
     if(in.size() != 2)
@@ -72,7 +77,7 @@ Function::ReturnValue sci_part(typed_list &in, int _iRetCount, typed_list &out)
         return Function::OK;
     }
 
-     
+
     if(!((pD->rows_get() == 1 && pD->cols_get() >= 1) || (pD->rows_get() >= 1 && pD->cols_get() == 1)))
     {//non vector
         ScierrorW(999, _W("%ls: Wrong size for input argument #%d: A vector expected.\n"), L"part", 2);
@@ -107,11 +112,11 @@ Function::ReturnValue sci_part(typed_list &in, int _iRetCount, typed_list &out)
        //CheckRhs(2,2);
        //CheckLhs(1,1);
 
-       //if (VarType(1) == sci_matrix) 
-       //{ 
+       //if (VarType(1) == sci_matrix)
+       //{
        //      /*Check for an empty matrix */
        //      GetRhsVar(1,MATRIX_OF_DOUBLE_DATATYPE,&m1,&n1,&StackPosTwo);
-       //      if (m1 * n1 == 0) 
+       //      if (m1 * n1 == 0)
        //      {
        //              LhsVar(1) = 1 ;
        //              C2F(putlhsvar)();
index c3eef25..968ec2c 100644 (file)
@@ -17,6 +17,7 @@ using regular expression .                                      */
 #include "function.hxx"
 #include "context.hxx"
 #include "types.hxx"
+#include "string.hxx"
 #include "string_gw.hxx"
 
 extern "C"
@@ -34,6 +35,9 @@ extern "C"
 #define WCHAR_R L'r'
 #define WSTR_ONCE L'o'
 /*------------------------------------------------------------------------*/
+
+using namespace types;
+
 Function::ReturnValue sci_regexp(typed_list &in, int _iRetCount, typed_list &out)
 {
        wchar_t wcType          = WCHAR_S;
@@ -130,7 +134,7 @@ Function::ReturnValue sci_regexp(typed_list &in, int _iRetCount, typed_list &out
             return Function::Error;
         }
     }while(iPcreStatus == PCRE_FINISHED_OK && iStart != iEnd && wcType != WSTR_ONCE);
+
 
     Double* pStart = new Double(1, iOccurs);
     double* pdblStart = pStart->real_get();
index d9528c0..beaa6fd 100644 (file)
@@ -7,18 +7,19 @@
 * 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    
+* are also available at
 * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 *
 */
 
 /* desc : concatenate character strings                                   */
-/* Examples: strcat(string(1:10),',')                                     */ 
+/* Examples: strcat(string(1:10),',')                                     */
 /*                                                                        */
 /*------------------------------------------------------------------------*/
 
-#include "funcmanager.hxx"
 #include "string_gw.hxx"
+#include "function.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -28,13 +29,13 @@ extern "C"
 #include "Scierror.h"
 #include "localization.h"
 }
-/*-------------------------------------------------------------------------------------*/ 
+/*-------------------------------------------------------------------------------------*/
 #define STAR '*'
 #define COL 'c'
 #define ROW 'r'
 #define ONE_CHAR 1
 #define EMPTY_CHAR ""
-/*-------------------------------------------------------------------------------------*/ 
+/*-------------------------------------------------------------------------------------*/
 static int sci_strcat_three_rhs(char *fname);
 static int sci_strcat_two_rhs(char *fname);
 static int sci_strcat_one_rhs(char *fname);
@@ -42,6 +43,9 @@ static int sci_strcat_rhs_one_is_a_matrix(char *fname);
 static int sumlengthstring(int rhspos);
 static int *lengthEachString(int rhspos, int *sizeArrayReturned);
 /*-------------------------------------------------------------------------------------*/
+
+using namespace types;
+
 Function::ReturnValue sci_strcat(typed_list &in, int _iRetCount, typed_list &out)
 {
     int iMode               = 0;
@@ -238,8 +242,8 @@ Function::ReturnValue sci_strcat(typed_list &in, int _iRetCount, typed_list &out
 //    return 0;
 //}
 ///*-------------------------------------------------------------------------------------*/
-//static int sci_strcat_three_rhs(char *fname) 
-//{ 
+//static int sci_strcat_three_rhs(char *fname)
+//{
 //    int Row_One = 0,Col_One = 0;
 //    char **Input_String_One = NULL;
 //    int mn = 0;
@@ -250,7 +254,7 @@ Function::ReturnValue sci_strcat(typed_list &in, int _iRetCount, typed_list &out
 //
 //    if (VarType(1) != sci_strings)
 //    {
-//        Scierror(999,_("%s: Wrong type for input argument #%d: a string vector expected.\n"),fname,1); 
+//        Scierror(999,_("%s: Wrong type for input argument #%d: a string vector expected.\n"),fname,1);
 //        return 0;
 //    }
 //
@@ -267,10 +271,10 @@ Function::ReturnValue sci_strcat(typed_list &in, int _iRetCount, typed_list &out
 //    }
 //
 //    GetRhsVar(1,MATRIX_OF_STRING_DATATYPE,&Row_One,&Col_One,&Input_String_One);
-//    mn = Row_One * Col_One;  
+//    mn = Row_One * Col_One;
 //
-//    if (Rhs >= 2) 
-//    { 
+//    if (Rhs >= 2)
+//    {
 //        /* second argument always a string and not a matrix of string */
 //        int l2 = 0;
 //        int Row_Two = 0,Col_Two = 0;
@@ -278,13 +282,13 @@ Function::ReturnValue sci_strcat(typed_list &in, int _iRetCount, typed_list &out
 //        Input_String_Two = cstk(l2);
 //    }
 //
-//    if (Rhs >= 3) 
+//    if (Rhs >= 3)
 //    {
 //        int Row_Three = 0, Col_Three = 0;
 //        int l3 = 0;
 //        GetRhsVar(3, STRING_DATATYPE, &Row_Three, &Col_Three, &l3);
 //        if (Row_Three * Col_Three != 0) typ = cstk(l3)[0];
-//        if (typ != COL && typ != ROW ) 
+//        if (typ != COL && typ != ROW )
 //        {
 //            freeArrayOfString(Input_String_One,mn);
 //            Scierror(999,_("%s: Wrong type for input argument #%d: ''%s'' or ''%s'' expected.\n"),fname,3,"c","r");
@@ -292,66 +296,66 @@ Function::ReturnValue sci_strcat(typed_list &in, int _iRetCount, typed_list &out
 //        }
 //    }
 //
-//    switch ( typ ) 
+//    switch ( typ )
 //    {
-//    case STAR : 
+//    case STAR :
 //        {
-//            int nchars = 0; 
+//            int nchars = 0;
 //            int one = 1;
 //            int l3 = 0;
 //            int k = 0;
 //
-//            /* just return one string */ 
-//            for ( i = 0 ; i < mn ; i++ ) nchars += (int)strlen(Input_String_One[i]); 
+//            /* just return one string */
+//            for ( i = 0 ; i < mn ; i++ ) nchars += (int)strlen(Input_String_One[i]);
 //            nchars += (mn-1)*(int)strlen(Input_String_Two);
 //
 //            CreateVar(Rhs+1,STRING_DATATYPE,&one,&nchars,&l3);
 //
-//            for ( i = 0 ; i < mn ; i++ ) 
+//            for ( i = 0 ; i < mn ; i++ )
 //            {
 //                int j = 0;
-//                for ( j =0 ; j < (int)strlen(Input_String_One[i]) ; j++ ) *cstk(l3+ k++) = Input_String_One[i][j]; 
+//                for ( j =0 ; j < (int)strlen(Input_String_One[i]) ; j++ ) *cstk(l3+ k++) = Input_String_One[i][j];
 //                if ( i != mn-1) for ( j =0 ; j < (int)strlen(Input_String_Two) ; j++ ) *cstk(l3+ k++) = Input_String_Two[j];
 //            }
 //            freeArrayOfString(Input_String_One,mn);
 //            LhsVar(1) = Rhs+1  ;
 //        }
 //        break;
-//    case COL: 
+//    case COL:
 //        {
 //            char **Output_String = NULL;
 //            int nchars = 0;
 //            int one = 1;
-//            /* return a column matrix */ 
-//            if ( (Output_String = (char**)MALLOC((Row_One+1)*sizeof(char *)))==NULL) 
+//            /* return a column matrix */
+//            if ( (Output_String = (char**)MALLOC((Row_One+1)*sizeof(char *)))==NULL)
 //            {
 //                freeArrayOfString(Input_String_One,mn);
 //                Scierror(999,_("%s: No more memory.\n"),fname);
 //                return 0;
 //            }
 //            Output_String[Row_One]=NULL;
-//            for (i= 0 ; i < Row_One ; i++) 
+//            for (i= 0 ; i < Row_One ; i++)
 //            {
 //                int j = 0;
-//                /* length of row i */ 
+//                /* length of row i */
 //                nchars = 0;
 //                for ( j = 0 ; j < Col_One ; j++ ) nchars += (int)strlen(Input_String_One[i+ Row_One*j]);
-//                nchars += (Col_One-1)*(int)strlen(Input_String_Two); 
+//                nchars += (Col_One-1)*(int)strlen(Input_String_Two);
 //
 //                Output_String[i]=(char*)MALLOC((nchars+1)*sizeof(char));
-//                if ( Output_String[i] == NULL) 
+//                if ( Output_String[i] == NULL)
 //                {
 //                    freeArrayOfString(Output_String,i);
 //                    freeArrayOfString(Input_String_One,mn);
 //                    Scierror(999,_("%s: No more memory.\n"),fname);
 //                    return 0;
-//                } 
+//                }
 //                /* fill the string */
 //                strcpy(Output_String[i],Input_String_One[i]);
 //
-//                for ( j = 1 ; j < Col_One ; j++ ) 
+//                for ( j = 1 ; j < Col_One ; j++ )
 //                {
-//                    strcat(Output_String[i],Input_String_Two); 
+//                    strcat(Output_String[i],Input_String_Two);
 //                    strcat(Output_String[i],Input_String_One[i+ Row_One*j]);
 //                }
 //            }
@@ -370,27 +374,27 @@ Function::ReturnValue sci_strcat(typed_list &in, int _iRetCount, typed_list &out
 //            int one = 1;
 //            char **Output_String = (char **)CALLOC(Col_One, sizeof(char*));
 //
-//            /* return a row matrix */ 
-//            if (Output_String == NULL) 
+//            /* return a row matrix */
+//            if (Output_String == NULL)
 //            {
 //                freeArrayOfString(Input_String_One, mn);
 //                Scierror(999,_("%s: No more memory.\n"), fname);
 //                return 0;
 //            }
 //
-//            for (j = 0 ; j < Col_One ; j++) 
+//            for (j = 0 ; j < Col_One ; j++)
 //            {
 //                Output_String[j] = os_strdup(Input_String_One[j*Row_One]);
 //
-//                if ( Output_String[j] == NULL) 
+//                if ( Output_String[j] == NULL)
 //                {
 //                    freeArrayOfString(Output_String,j);
 //                    freeArrayOfString(Input_String_One, mn);
 //                    Scierror(999,_("%s: No more memory.\n"), fname);
 //                    return 0;
-//                } 
+//                }
 //
-//                for ( i = 1 ; i < Row_One ; i++ ) 
+//                for ( i = 1 ; i < Row_One ; i++ )
 //                {
 //                    int lenOutput = 0;
 //                    int lenInput = 0;
@@ -410,7 +414,7 @@ Function::ReturnValue sci_strcat(typed_list &in, int _iRetCount, typed_list &out
 //                            Scierror(999,_("%s: No more memory.\n"), fname);
 //                            return 0;
 //                        }
-//                        strcat(Output_String[j], Input_String_Two); 
+//                        strcat(Output_String[j], Input_String_Two);
 //                    }
 //
 //                    if (Input_String_One[i+ Row_One*j])
@@ -470,7 +474,7 @@ Function::ReturnValue sci_strcat(typed_list &in, int _iRetCount, typed_list &out
 //
 //    if (Type_Two != sci_strings)
 //    {
-//        Scierror(246,_("%s: Wrong type for input argument #%d: Single string expected.\n"),fname,2); 
+//        Scierror(246,_("%s: Wrong type for input argument #%d: Single string expected.\n"),fname,2);
 //        return 0;
 //    }
 //    else /* sci_strings */
@@ -684,7 +688,7 @@ Function::ReturnValue sci_strcat(typed_list &in, int _iRetCount, typed_list &out
 //    GetRhsVar(1,MATRIX_OF_DOUBLE_DATATYPE,&Row_One,&Col_One,&Input_String_One);
 //
 //    /* check that we have [] */
-//    if ((Row_One == 0) && (Col_One == 0)) 
+//    if ((Row_One == 0) && (Col_One == 0))
 //    {
 //        int one    = 1 ;
 //        int len   = (int)strlen(EMPTY_CHAR);
index eab115d..d3679e7 100644 (file)
@@ -15,6 +15,8 @@
 /*------------------------------------------------------------------------*/
 #include "funcmanager.hxx"
 #include "string_gw.hxx"
+#include "function.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -41,6 +43,9 @@ int ComparaisonCallback( const void *in1 ,const void *in2)
     return ((In*)in1)->data > ((In*)in2)->data ? 1 : -1;
 }
 /*------------------------------------------------------------------------*/
+
+using namespace types;
+
 types::Function::ReturnValue sci_strindex(types::typed_list &in, int _iRetCount, types::typed_list &out)
 {
     bool bRegExp = false;
@@ -49,7 +54,7 @@ types::Function::ReturnValue sci_strindex(types::typed_list &in, int _iRetCount,
         ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected.\n"),L"strindex", 2, 3);
         return Function::Error;
     }
-    
+
     if(in.size() > 2)
     {
         if(in[2]->isString() == false && in[2]->getAsString()->size_get() != 1)
index 2c98718..f784d15 100644 (file)
 *
 */
 
+#include <math.h>
+#include <sstream>
+#include "string.hxx"
 #include "string_gw.hxx"
+#include "tostring_common.hxx"
+
 extern "C"
 {
 #include "os_wcsdup.h"
@@ -103,7 +108,7 @@ Function::ReturnValue sci_string(typed_list &in, int _iRetCount, typed_list &out
                 out.push_back(new String(1,1));
                 return Function::OK;
             }
-            
+
 
             String *pstOutput = new String(iRows, iCols);
             for (int i = 0; i < iRows * iCols; ++i)
index cdba29c..3685d76 100644 (file)
@@ -13,6 +13,8 @@
 /*------------------------------------------------------------------------*/
 #include "funcmanager.hxx"
 #include "string_gw.hxx"
+#include "function.hxx"
+#include "string.hxx"
 
 extern "C"
 {
@@ -27,7 +29,10 @@ extern "C"
 #define WCHAR_R L'r'
 #define WCHAR_S L's'
 /*-------------------------------------------------------------------------------------*/
-types::Function::ReturnValue sci_strsubst(types::typed_list &in, int _iRetCount, types::typed_list &out)
+
+using namespace types;
+
+Function::ReturnValue sci_strsubst(typed_list &in, int _iRetCount, typed_list &out)
 {
     bool bRegExp = false;
     if(in.size() < 3 || in.size() > 4)
@@ -35,7 +40,7 @@ types::Function::ReturnValue sci_strsubst(types::typed_list &in, int _iRetCount,
         ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected.\n"), L"strsubst", 3, 4);
         return Function::Error;
     }
-    
+
     if(in.size() > 3)
     {
         if(in[3]->isString() == false && in[3]->getAsString()->size_get() != 1)
index 3c0371b..4737cbc 100644 (file)
@@ -20,16 +20,16 @@ extern "C"
 
 bool StringModule::Load()
 {
-    symbol::Context::getInstance()->AddFunction(Function::createFunction(L"grep", &sci_grep, MODULE_NAME));
-    symbol::Context::getInstance()->AddFunction(Function::createFunction(L"stripblanks", &sci_stripblanks, MODULE_NAME));
-    symbol::Context::getInstance()->AddFunction(Function::createFunction(L"regexp", &sci_regexp, MODULE_NAME));
-    symbol::Context::getInstance()->AddFunction(Function::createFunction(L"part", &sci_part, MODULE_NAME));
-    symbol::Context::getInstance()->AddFunction(Function::createFunction(L"length", &sci_length, MODULE_NAME));
-    symbol::Context::getInstance()->AddFunction(Function::createFunction(L"strindex", &sci_strindex, MODULE_NAME));
-    symbol::Context::getInstance()->AddFunction(Function::createFunction(L"strsubst", &sci_strsubst, MODULE_NAME));
-    symbol::Context::getInstance()->AddFunction(Function::createFunction(L"strsplit", &sci_strsplit, MODULE_NAME));
-    symbol::Context::getInstance()->AddFunction(Function::createFunction(L"ascii", &sci_ascii, MODULE_NAME));
-    symbol::Context::getInstance()->AddFunction(Function::createFunction(L"strcat", &sci_strcat, MODULE_NAME));
-    symbol::Context::getInstance()->AddFunction(Function::createFunction(L"string", &sci_string, MODULE_NAME));
+    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"grep", &sci_grep, MODULE_NAME));
+    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"stripblanks", &sci_stripblanks, MODULE_NAME));
+    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"regexp", &sci_regexp, MODULE_NAME));
+    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"part", &sci_part, MODULE_NAME));
+    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"length", &sci_length, MODULE_NAME));
+    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"strindex", &sci_strindex, MODULE_NAME));
+    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"strsubst", &sci_strsubst, MODULE_NAME));
+    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"strsplit", &sci_strsplit, MODULE_NAME));
+    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"ascii", &sci_ascii, MODULE_NAME));
+    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"strcat", &sci_strcat, MODULE_NAME));
+    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"string", &sci_string, MODULE_NAME));
     return true;
 }
index 533ee45..2d9711f 100644 (file)
  ** \brief Define class Context.
  */
 
-#ifndef CONTEXT_HH
-#define CONTEXT_HH
-#include "symbol.hxx"
+#ifndef __CONTEXT_HXX__
+#define __CONTEXT_HXX__
 #include "stack.hxx"
 #include "heap.hxx"
+#include "internal.hxx"
+#include "function.hxx"
+#include "macro.hxx"
+#include "macrofile.hxx"
 
 namespace symbol
 {
@@ -44,60 +47,60 @@ namespace symbol
 
         /** If key was associated to some Entry_T in the open scopes, return the
         ** most recent insertion. Otherwise return the empty pointer. */
-        InternalType*  get(const wstring& key) const;
+        types::InternalType*   get(const std::wstring& key) const;
 
         /** If key was associated to some Entry_T in the last opened scope, return it.
         ** Otherwise return the empty pointer. */
-        InternalType*  getCurrentLevel(const wstring& key) const;
+        types::InternalType*   getCurrentLevel(const std::wstring& key) const;
 
         /** If key was associated to some Entry_T in the open scopes, return the
          ** most recent insertion DESPITE the current/last one. Otherwise return the empty pointer. */
-        InternalType*  getAllButCurrentLevel(const wstring& key) const;
+        types::InternalType*   getAllButCurrentLevel(const std::wstring& key) const;
 
         /** If key was associated to some Entry_T in the open scopes, return the
         ** most recent insertion. Otherwise return the empty pointer. */
-        InternalType*  get_fun(const wstring& key) const;
+        types::InternalType*   get_fun(const std::wstring& key) const;
 
         /*return function list in the module _stModuleName*/
-        std::list<wstring>& get_funlist(const wstring& _stModuleName);
+        std::list<std::wstring>& get_funlist(const std::wstring& _stModuleName);
 
 
         /* global functions */
 
         /*return global variable visibility status*/
-        bool isGlobalVisible(const wstring& key) const;
+        bool isGlobalVisible(const std::wstring& key) const;
 
         /*return global variable, search in global scope ( highest )*/
-        InternalType* getGlobalValue(const wstring& key) const;
+        types::InternalType* getGlobalValue(const std::wstring& key) const;
 
         /*return global variable existance status*/
-        bool isGlobalExists(const wstring& key) const;
+        bool isGlobalExists(const std::wstring& key) const;
 
         /*create or update a global variable*/
-        void setGlobalValue(const wstring& key, InternalType &value);
+        void setGlobalValue(const std::wstring& key, types::InternalType &value);
 
         /*remove global variable and all visibility references */
-        void removeGlobal(const wstring &key);
+        void removeGlobal(const std::wstring &key);
 
         /*remove all global variables and references */
         void removeGlobalAll();
 
         /*create an empty variable*/
-        void createEmptyGlobalValue(const wstring& key);
+        void createEmptyGlobalValue(const std::wstring& key);
 
         /*set variable visible/hidden in current global scope*/
-        void setGlobalVisible(const wstring& key, bool bVisible = true);
+        void setGlobalVisible(const std::wstring& key, bool bVisible = true);
 
         /*print all tables*/
         void print();
 
         /*add symbol and value in the stack*/
-        bool put(const wstring& key, InternalType &type);
+        bool put(const std::wstring& key, types::InternalType &type);
         /*add symbol and value in the previous scope*/
-        bool put_in_previous_scope(const wstring& key, InternalType &type);
+        bool put_in_previous_scope(const std::wstring& key, types::InternalType &type);
 
         /* remove symbol/value association */
-        bool remove(const wstring& key);
+        bool remove(const std::wstring& key);
 
         bool AddFunction(types::Function *_info);
         bool AddMacro(types::Macro *_info);
@@ -114,4 +117,4 @@ namespace symbol
         static Context* me;
     };
 }
-#endif // !CONTEXT_HH
+#endif /* !__CONTEXT_HXX__ */
index e247ac8..0a0e617 100644 (file)
 
 #include <iostream>
 #include <list>
+#include "bool.hxx"
+#include "double.hxx"
 #include "symbol.hxx"
 #include "table.hxx"
 
+
 #define UNNAMED L"unnamed"
 
 namespace symbol
@@ -34,19 +37,19 @@ namespace symbol
     {
     public:
 
-        Bool *m_True;
+        types::Bool *m_True;
         /**
 
         */
         Heap()
         {
             scope_begin(UNNAMED);
-            m_True = new Bool(1);
+            m_True = new types::Bool(1);
             m_True->IncreaseRef();
         }
 
         /** Open a new scope */
-        void scope_begin(const wstring& name)
+        void scope_begin(const std::wstring& name)
         {
             this->l_scope.push_front(new Scope(name));
         }
@@ -72,7 +75,7 @@ namespace symbol
         */
 
         /** Associate value to key in the global scope. */
-        void put(const wstring& key, InternalType &value)
+        void put(const std::wstring& key, types::InternalType &value)
         {
             (*this->l_scope.back()).put(key, value);
         }
@@ -82,9 +85,9 @@ namespace symbol
         ** most recent insertion. Otherwise return the empty pointer.
         ** \param key : the key to look for
         */
-        InternalType* get(const wstring& key) const
+        types::InternalType* get(const std::wstring& key) const
         {
-            InternalType* result = 0;
+            types::InternalType* result = 0;
 
             result = (*this->l_scope.back()).get(key);
             return result;
@@ -102,9 +105,9 @@ namespace symbol
         ** \param key : the key.
         ** \param value : the value associated to the key.
         */
-        void put(const wstring& name, wstring key, InternalType &value)
+        void put(const std::wstring& name, std::wstring key, types::InternalType &value)
         {
-            list<Scope*>::iterator it_list_scope;
+            std::list<Scope*>::iterator it_list_scope;
 
             for (it_list_scope = this->l_scope.begin() ; it_list_scope != this->l_scope.end(); ++it_list_scope)
             {
@@ -121,15 +124,15 @@ namespace symbol
         /** \brief Check if key is visible in the current global scope
         ** \param key : the key to look for
         */
-        bool isGlobalVisible(const wstring& key) const
+        bool isGlobalVisible(const std::wstring& key) const
         {
-            list<Scope*>::const_iterator it_list_scope;
+            std::list<Scope*>::const_iterator it_list_scope;
 
             for (it_list_scope = this->l_scope.begin() ; it_list_scope != this->l_scope.end() ; ++it_list_scope)
             {
                 if ((*it_list_scope)->get_name() == UNNAMED)
                 {
-                    InternalType* pIT = (*it_list_scope)->get(key);
+                    types::InternalType* pIT = (*it_list_scope)->get(key);
                     if(pIT != NULL)
                     {
                         return true;
@@ -146,9 +149,9 @@ namespace symbol
         /** \brief Check if key exists in globals
         ** \param key : the key to look for
         */
-        bool isGlobalExists(const wstring& key) const
+        bool isGlobalExists(const std::wstring& key) const
         {
-            InternalType* pIT = getGlobalValue(key);
+            types::InternalType* pIT = getGlobalValue(key);
             if(pIT)
             {
                 return true;
@@ -159,11 +162,11 @@ namespace symbol
         /** \brief Return value associated to key in current global scope
         ** \param key : the key to look for
         */
-        InternalType* getGlobalValue(const wstring& key) const
+        types::InternalType* getGlobalValue(const std::wstring& key) const
         {
             bool isVisible = isGlobalVisible(key);
 
-            list<Scope*>::const_reverse_iterator it_list_scope;
+            std::list<Scope*>::const_reverse_iterator it_list_scope;
 
             for (it_list_scope = this->l_scope.rbegin() ; it_list_scope != this->l_scope.rend() ; ++it_list_scope)
             {
@@ -179,9 +182,9 @@ namespace symbol
         ** \param key : the key to look for
         ** \param value : the value to associete
         */
-        void setGlobalValue(const wstring& key, InternalType &value)
+        void setGlobalValue(const std::wstring& key, types::InternalType &value)
         {
-            list<Scope*>::const_reverse_iterator it_list_scope;
+            std::list<Scope*>::const_reverse_iterator it_list_scope;
 
             for (it_list_scope = this->l_scope.rbegin() ; it_list_scope != this->l_scope.rend() ; ++it_list_scope)
             {
@@ -196,9 +199,9 @@ namespace symbol
         /** \brief Create a "empty" global value
         ** \param key : the key to create
         */
-        void createEmptyGlobalValue(const wstring& key)
+        void createEmptyGlobalValue(const std::wstring& key)
         {
-            setGlobalValue(key, *Double::Empty());
+            setGlobalValue(key, *types::Double::Empty());
         }
 
 
@@ -206,9 +209,9 @@ namespace symbol
         ** \param key : the key to manage
         ** \param bVisible : status ( true to visible, false to hide )
         */
-        void setGlobalVisible(const wstring& key, bool bVisible)
+        void setGlobalVisible(const std::wstring& key, bool bVisible)
         {
-            list<Scope*>::const_iterator it_list_scope;
+            std::list<Scope*>::const_iterator it_list_scope;
 
             for (it_list_scope = this->l_scope.begin() ; it_list_scope != this->l_scope.end() ; ++it_list_scope)
             {
@@ -230,10 +233,10 @@ namespace symbol
         /** \brief Remove a variable from global scope
         ** \param key : the key to remove
         */
-        void removeGlobal(const wstring &key)
+        void removeGlobal(const std::wstring &key)
         {
             //remove variable and all variable references
-            list<Scope*>::const_iterator it_list_scope;
+            std::list<Scope*>::const_iterator it_list_scope;
             for (it_list_scope = this->l_scope.begin() ; it_list_scope != this->l_scope.end() ; ++it_list_scope)
             {
                 if ((*it_list_scope)->get_name() == UNNAMED)
@@ -247,13 +250,13 @@ namespace symbol
         */
         void removeGlobalAll()
         {
-            list<Scope*>::const_iterator it_list_scope;
+            std::list<Scope*>::const_iterator it_list_scope;
             for (it_list_scope = this->l_scope.begin() ; it_list_scope != this->l_scope.end() ; ++it_list_scope)
             {
                 if ((*it_list_scope)->get_name() == UNNAMED)
                 {
-                    map<wstring, InternalType*>::const_iterator it_scope;
-                    map<wstring, InternalType*>* pScope = (*it_list_scope)->getInternalMap();
+                    std::map<std::wstring, types::InternalType*>::const_iterator it_scope;
+                    std::map<std::wstring, types::InternalType*>* pScope = (*it_list_scope)->getInternalMap();
 
                     it_scope = pScope->begin();
                     while(it_scope != pScope->end())
@@ -270,9 +273,9 @@ namespace symbol
         ** most recent insertion. Otherwise return the empty pointer.
         ** \param key : the key to look for
         */
-        InternalType* get(const wstring& name, const wstring& key) const
+        types::InternalType* get(const std::wstring& name, const std::wstring& key) const
         {
-            list<Scope*>::const_iterator it_list_scope;
+            std::list<Scope*>::const_iterator it_list_scope;
 
             for (it_list_scope = this->l_scope.begin() ; it_list_scope != this->l_scope.end() ; ++it_list_scope)
             {
@@ -285,7 +288,7 @@ namespace symbol
         }
     };
 
-    inline wostream& operator<< (wostream& ostr, const Heap &tbl)
+    inline std::wostream& operator<< (std::wostream& ostr, const Heap &tbl)
     {
         tbl.print (ostr);
         return ostr;
index b4a1c20..b45ccbd 100644 (file)
 *
 */
 
-#ifndef SYMBOL_SCOPE_HH
-#define SYMBOL_SCOPE_HH
+#ifndef __SCOPE_HXX__
+#define __SCOPE_HXX__
 
 #include <iostream>
 #include <map>
-#include "symbol.hxx"
-#include "alltypes.hxx"
+#include <list>
+//#include "internal.hxx"
+#include "callable.hxx"
 #include "export_symbol.h"
 
 extern "C"
@@ -26,8 +27,6 @@ extern "C"
 #include "MALLOC.h"
 }
 
-using namespace types;
-
 namespace symbol
 {
 
@@ -39,19 +38,19 @@ namespace symbol
         /** \brief Construct a Scope */
         explicit Scope()
         {
-            _scope = new map<wstring, InternalType*>();
+            _scope = new std::map<std::wstring, types::InternalType*>();
             _name = L"";
         }
         /** \brief Construct a named Scope i.e Namespace */
-        explicit Scope(wstring name)
+        explicit Scope(std::wstring name)
         {
-            _scope = new map<wstring, InternalType*>();
+            _scope = new std::map<std::wstring, types::InternalType*>();
             _name = name;
         }
 
         ~Scope()
         {
-            map<wstring, InternalType*>::const_iterator i;
+            std::map<std::wstring, types::InternalType*>::const_iterator i;
             for(i = _scope->begin() ; i != _scope->end() ; ++i)
             {
                 //std::cout << i->first << std::endl;
@@ -69,9 +68,9 @@ namespace symbol
             delete _scope;
         }
 
-        bool isUsed(InternalType* pIT) const
+        bool isUsed(types::InternalType* pIT) const
         {
-            map<wstring, InternalType*>::const_iterator it_scope;
+            std::map<std::wstring, types::InternalType*>::const_iterator it_scope;
             for(it_scope = _scope->begin() ; it_scope != _scope->end() ; ++it_scope)
             {
                 if((*it_scope).second == pIT)
@@ -81,9 +80,9 @@ namespace symbol
         }
 
         /** Associate value to key in the current scope. */
-        InternalType*  put (const wstring& key, InternalType &value)
+        types::InternalType*   put (const std::wstring& key, types::InternalType &value)
         {
-            InternalType *pOld = (*_scope)[key];
+            types::InternalType *pOld = (*_scope)[key];
 
             if(pOld == &value)
             {
@@ -114,12 +113,12 @@ namespace symbol
             return NULL;
         }
 
-        void remove(const wstring& key)
+        void remove(const std::wstring& key)
         {
             if((*_scope).find(key) != (*_scope).end())
             {
-                InternalType *pOld = (*_scope)[key];
-                
+                types::InternalType *pOld = (*_scope)[key];
+
                 if(pOld)
                 {
                     _scope->erase(key);
@@ -135,9 +134,9 @@ namespace symbol
 
         /** If key was associated to some Entry_T in the open scopes, return the
         ** most recent insertion. Otherwise return the empty pointer. */
-        InternalType*  get (const wstring& key) const
+        types::InternalType*   get (const std::wstring& key) const
         {
-            map<wstring, InternalType*>::const_iterator it_scope;
+            std::map<std::wstring, types::InternalType*>::const_iterator it_scope;
 
             it_scope = (*_scope).find(key);
             if (it_scope == (*_scope).end())
@@ -146,16 +145,16 @@ namespace symbol
         }
 
         /** Return name of current scope, use for namespace. */
-        wstring get_name() const
+        std::wstring get_name() const
         {
             return _name;
         }
 
         /** Return name of current scope, use for namespace. */
-        list<wstring>& get_names(const wstring& _stModuleName) const
+        std::list<std::wstring>& get_names(const std::wstring& _stModuleName) const
         {
-            list<wstring>* pNames = new list<wstring>;
-            map<wstring, InternalType*>::const_iterator it_scope;
+            std::list<std::wstring>* pNames = new std::list<std::wstring>;
+            std::map<std::wstring, types::InternalType*>::const_iterator it_scope;
             for(it_scope = _scope->begin() ; it_scope != _scope->end() ; ++it_scope)
             {
                 if(it_scope->second->isFunction() || it_scope->second->isMacro() || it_scope->second->isMacroFile())
@@ -173,26 +172,26 @@ namespace symbol
 
         /** Send the content of this table on ostr in a readable manner, the top
         ** of the stack being displayed last. */
-        void   print (wostream& ostr) const
+        void   print (std::wostream& ostr) const
         {
-            map<wstring, InternalType*>::const_iterator it_scope;
+            std::map<std::wstring, types::InternalType*>::const_iterator it_scope;
             for(it_scope = _scope->begin() ; it_scope != _scope->end() ; ++it_scope)
             {
                 ostr << it_scope->first << " = " << it_scope->second->toString(10,75) << std::endl;
             }
         }
 
-        map<wstring, InternalType*>* getInternalMap()
+        std::map<std::wstring, types::InternalType*>* getInternalMap()
         {
             return _scope;
         }
 
     private:
-        map<wstring, InternalType*>*   _scope;
-        wstring                                            _name;
+        std::map<std::wstring, types::InternalType*>*  _scope;
+        std::wstring                                       _name;
     };
 
-    inline wostream& operator<< (wostream& ostr,
+    inline std::wostream& operator<< (std::wostream& ostr,
         const Scope &scope)
     {
         scope.print(ostr);
@@ -201,5 +200,5 @@ namespace symbol
 }
 
 
-#endif /* ! SYMBOL_SCOPE_HH */
+#endif /* ! __SCOPE_HX__ */
 
index 53c4db3..ee124ee 100644 (file)
@@ -15,9 +15,9 @@
 
 #include <iostream>
 #include <list>
-#include <map>
 #include <cassert>
 #include "table.hxx"
+#include "internal.hxx"
 #include "export_symbol.h"
 
 namespace symbol
@@ -48,7 +48,7 @@ namespace symbol
             this->l_scope.pop_front();
         }
 
-        void   put_in_previous_scope(const wstring& key, InternalType &value)
+        void   put_in_previous_scope(const std::wstring& key, types::InternalType &value)
         {
             size_t iSize = l_scope.size();
             if(iSize > 1)
@@ -61,22 +61,22 @@ namespace symbol
         }
 
         /** Associate value to key in the current scope. */
-        void   put (const wstring& key, InternalType &value)
+        void   put (const std::wstring& key, types::InternalType &value)
         {
             (this->l_scope.front())->put(key, value);
         }
 
         /** Remove Association between value and key in the current scope. */
-        void   remove(const wstring& key)
+        void   remove(const std::wstring& key)
         {
             (this->l_scope.front())->remove(key);
         }
 
         /** If key was associated to some Entry_T in the open scopes, return the
         ** most recent insertion. Otherwise return the empty pointer. */
-        InternalType*  get (const wstring& key) const
+        types::InternalType*   get (const std::wstring& key) const
         {
-            InternalType* result = 0;
+            types::InternalType* result = 0;
 
             std::list<Scope*>::const_iterator it_list_scope;
 
@@ -94,9 +94,9 @@ namespace symbol
 
         /** If key was associated to some Entry_T in the open scopes, return the
         ** most recent insertion DESPITE the current/last one. Otherwise return the empty pointer. */
-        InternalType*  getAllButCurrentLevel(const wstring& key) const
+        types::InternalType*   getAllButCurrentLevel(const std::wstring& key) const
         {
-            InternalType* result = 0;
+            types::InternalType* result = 0;
 
             /*
             ** If we are in the top level scope, also look within it
@@ -125,13 +125,13 @@ namespace symbol
 
         /** If key was associated to some Entry_T in the last opened scope, return it.
         ** Otherwise return the empty pointer. */
-        InternalType*  getCurrentLevel(const wstring& key) const
+        types::InternalType*   getCurrentLevel(const std::wstring& key) const
         {
             return l_scope.front()->get(key);
         }
 
 
-        std::list<std::wstring>& get_funlist(const wstring& _stModuleName)
+        std::list<std::wstring>& get_funlist(const std::wstring& _stModuleName)
 &nb