Merge remote-tracking branch 'origin/master' into YaSp 48/12848/4
Cedric Delamarre [Tue, 8 Oct 2013 08:22:26 +0000 (10:22 +0200)]
Conflicts:
scilab/Version.incl
scilab/modules/action_binding/sci_gateway/cpp/sci_notify.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_handle.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_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/src/c/callinterf.c
scilab/modules/core/src/c/run.c
scilab/modules/core/src/c/stack2.c
scilab/modules/differential_equations/sci_gateway/fortran/bbvode.f
scilab/modules/differential_equations/sci_gateway/fortran/bfeval.f
scilab/modules/differential_equations/sci_gateway/fortran/bjac.f
scilab/modules/differential_equations/sci_gateway/fortran/bjacd.f
scilab/modules/differential_equations/sci_gateway/fortran/bresd.f
scilab/modules/differential_equations/sci_gateway/fortran/bsurf.f
scilab/modules/differential_equations/sci_gateway/fortran/bsurfd.f
scilab/modules/differential_equations/sci_gateway/fortran/bydot.f
scilab/modules/differential_equations/sci_gateway/fortran/bydot2.f
scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_eye.f
scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_ones.f
scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_rand.f
scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_zeros.f
scilab/modules/external_objects_java/sci_gateway/c/gw_external_objects_java.c
scilab/modules/fileio/tests/unit_tests/mgeti.dia.ref
scilab/modules/fileio/tests/unit_tests/mgeti.tst
scilab/modules/fileio/tests/unit_tests/mputi.dia.ref
scilab/modules/fileio/tests/unit_tests/mputi.tst
scilab/modules/graphic_objects/Makefile.am
scilab/modules/graphic_objects/Makefile.in
scilab/modules/graphics/Makefile.in
scilab/modules/graphics/graphics.vcxproj
scilab/modules/graphics/graphics.vcxproj.filters
scilab/modules/graphics/includes/gw_graphics.h
scilab/modules/graphics/sci_gateway/c/gw_graphics.c
scilab/modules/graphics/src/c/getHandleProperty/GetHashTable.c
scilab/modules/graphics/src/c/getHandleProperty/getHandleProperty.h
scilab/modules/graphics/src/c/getHandleProperty/get_segs_color_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_type_property.c
scilab/modules/gui/Makefile.am
scilab/modules/gui/Makefile.in
scilab/modules/gui/includes/gw_gui.h
scilab/modules/gui/sci_gateway/c/gw_gui.c
scilab/modules/gui/src/c/gui.vcxproj
scilab/modules/gui/src/c/gui.vcxproj.filters
scilab/modules/helptools/data/pages/homepage-en_US.html
scilab/modules/helptools/data/pages/homepage-fr_FR.html
scilab/modules/integer/src/fortran/i_mput.f
scilab/modules/localization/sci_gateway/c/sci_addlocalizationdomain.c
scilab/modules/scicos_blocks/src/c/bouncexy.c
scilab/modules/scicos_blocks/src/c/canimxy.c
scilab/modules/scicos_blocks/src/c/canimxy3d.c
scilab/modules/scicos_blocks/src/c/cevscpe.c
scilab/modules/scicos_blocks/src/c/cfscope.c
scilab/modules/scicos_blocks/src/c/cmat3d.c
scilab/modules/scicos_blocks/src/c/cmatview.c
scilab/modules/scicos_blocks/src/c/cmscope.c
scilab/modules/scicos_blocks/src/c/cscope.c
scilab/modules/scicos_blocks/src/c/cscopxy.c
scilab/modules/scicos_blocks/src/c/cscopxy3d.c
scilab/modules/scicos_blocks/src/fortran/sciblk.f
scilab/modules/signal_processing/sci_gateway/fortran/bgetx.f
scilab/modules/signal_processing/sci_gateway/fortran/bgety.f
scilab/modules/spreadsheet/sci_gateway/c/sci_csvDefault.c
scilab/modules/spreadsheet/sci_gateway/c/sci_csvRead.c
scilab/modules/spreadsheet/src/c/checkCsvWriteFormat.c
scilab/modules/spreadsheet/src/c/csvRead.c
scilab/modules/statistics/tests/nonreg_tests/bug_3640.dia.ref
scilab/modules/statistics/tests/nonreg_tests/bug_3640.tst
scilab/modules/string/sci_gateway/c/sci_length.c
scilab/modules/xcos/includes/gw_xcos.h
scilab/modules/xcos/sci_gateway/c/gw_xcos.c
scilab/modules/xml/sci_gateway/cpp/sci_xmlXPath.cpp
scilab/modules/xml/src/cpp/XMLList.cpp
scilab/modules/xml/src/cpp/XMLObject.cpp
scilab/modules/xml/src/cpp/XMLObject.hxx
scilab/modules/xml/src/cpp/XMLRhsValue.hxx

Change-Id: I78676cc929f4116b6cda9f1f6af7afb7d54c9f17

172 files changed:
1  2 
scilab/Makefile.am
scilab/Makefile.in
scilab/bin/bin.iss
scilab/bin/scilab
scilab/modules/Makefile.am
scilab/modules/Makefile.in
scilab/modules/api_scilab/api_scilab.vcxproj
scilab/modules/api_scilab/api_scilab.vcxproj.filters
scilab/modules/api_scilab/includes/api_internal_handle.h
scilab/modules/api_scilab/includes/returnProperty.h
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_handle.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_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/includes/callinter.h.f
scilab/modules/core/includes/callinterf.h
scilab/modules/core/sci_gateway/c/sci_what.c
scilab/modules/core/src/c/callinterf.c
scilab/modules/core/src/c/core.vcxproj
scilab/modules/core/src/c/core.vcxproj.filters
scilab/modules/core/src/fortran/core_f.vfproj
scilab/modules/core/src/fortran/core_f2c.vcxproj
scilab/modules/core/src/fortran/core_f2c.vcxproj.filters
scilab/modules/development_tools/macros/test_run.sci
scilab/modules/differential_equations/Makefile.in
scilab/modules/differential_equations/tests/unit_tests/intg.dia.ref
scilab/modules/differential_equations/tests/unit_tests/ode.tst
scilab/modules/elementary_functions/sci_gateway/c/sci_base2dec.c
scilab/modules/elementary_functions/sci_gateway/c/sci_dec2base.c
scilab/modules/external_objects_java/sci_gateway/cpp/sci_jconvMatrixMethod.cpp
scilab/modules/external_objects_java/src/cpp/ScilabJavaEnvironment.cpp
scilab/modules/fftw/sci_gateway/c/sci_dct.c
scilab/modules/fftw/sci_gateway/c/sci_fftw_flags.c
scilab/modules/fileio/macros/%_listvarinfile.sci
scilab/modules/fileio/src/c/copyfile_others.c
scilab/modules/fileio/src/c/dlManager.c
scilab/modules/fileio/tests/unit_tests/mgeti.tst
scilab/modules/fileio/tests/unit_tests/mputi.dia.ref
scilab/modules/fileio/tests/unit_tests/mputi.tst
scilab/modules/graphic_objects/Makefile.am
scilab/modules/graphic_objects/Makefile.in
scilab/modules/graphic_objects/src/c/core_Import.def
scilab/modules/graphic_objects/src/c/graphic_objects.vcxproj
scilab/modules/graphic_objects/src/c/graphic_objects.vcxproj.filters
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/DataLoader.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/DataLoaderJNI.java
scilab/modules/graphics/Makefile.am
scilab/modules/graphics/Makefile.in
scilab/modules/graphics/graphics.vcxproj
scilab/modules/graphics/graphics.vcxproj.filters
scilab/modules/graphics/includes/gw_graphics.h
scilab/modules/graphics/macros/%h_p.sci
scilab/modules/graphics/sci_gateway/c/gw_graphics.c
scilab/modules/graphics/sci_gateway/c/sci_light.c
scilab/modules/graphics/sci_gateway/c/sci_matplot.c
scilab/modules/graphics/sci_gateway/c/sci_matplot1.c
scilab/modules/graphics/sci_gateway/c/sci_xarrows.c
scilab/modules/graphics/src/c/GetProperty.c
scilab/modules/graphics/src/c/getHandleProperty/GetHashTable.c
scilab/modules/graphics/src/c/getHandleProperty/SetHashTable.c
scilab/modules/graphics/src/c/getHandleProperty/getHandleProperty.h
scilab/modules/graphics/src/c/getHandleProperty/get_ambient_color_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_box_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_children_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_data_bounds_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_data_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_datatip_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_diffuse_color_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_direction_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_figure_closerequestfcn_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_figure_resizefcn_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_grid_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_image_type_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_light_type_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_log_flags_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_material_shininess_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_position_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_segs_color_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_specular_color_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_sub_tics_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_title_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_triangles_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_type_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_use_color_material_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_user_data_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_xtics_coord_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_ytics_coord_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_z_ticks_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_data_property.c
scilab/modules/gui/Makefile.am
scilab/modules/gui/Makefile.in
scilab/modules/gui/includes/gw_gui.h
scilab/modules/gui/sci_gateway/c/gw_gui.c
scilab/modules/gui/sci_gateway/cpp/sci_datatip_manager_mode.cpp
scilab/modules/gui/sci_gateway/cpp/sci_datatip_set_display.cpp
scilab/modules/gui/sci_gateway/cpp/sci_datatip_set_interp.cpp
scilab/modules/gui/sci_gateway/cpp/sci_datatip_set_orient.cpp
scilab/modules/gui/sci_gateway/cpp/sci_datatip_set_style.cpp
scilab/modules/gui/sci_gateway/cpp/sci_datatip_toggle.cpp
scilab/modules/gui/sci_gateway/cpp/sci_datatipcreate.cpp
scilab/modules/gui/sci_gateway/cpp/sci_datatipmove.cpp
scilab/modules/gui/sci_gateway/cpp/sci_datatipremove.cpp
scilab/modules/gui/sci_gateway/cpp/sci_openged.cpp
scilab/modules/gui/sci_gateway/cpp/sci_plotbrowser.cpp
scilab/modules/gui/sci_gateway/cpp/sci_useeditor.cpp
scilab/modules/gui/src/c/gui.vcxproj
scilab/modules/gui/src/c/gui.vcxproj.filters
scilab/modules/hdf5/src/cpp/H5CompoundData.cpp
scilab/modules/hdf5/src/cpp/import_from_hdf5_v1.cpp
scilab/modules/hdf5/src/cpp/listvar_in_hdf5_v1.cpp
scilab/modules/helptools/Makefile.am
scilab/modules/helptools/Makefile.in
scilab/modules/helptools/data/configuration/scilab_macros.txt
scilab/modules/helptools/src/java/org/scilab/modules/helptools/scilab/ScilabLexer.java
scilab/modules/localization/sci_gateway/c/sci_addlocalizationdomain.c
scilab/modules/scicos_blocks/src/c/bouncexy.c
scilab/modules/scicos_blocks/src/c/canimxy.c
scilab/modules/scicos_blocks/src/c/canimxy3d.c
scilab/modules/scicos_blocks/src/c/cevscpe.c
scilab/modules/scicos_blocks/src/c/cfscope.c
scilab/modules/scicos_blocks/src/c/cmat3d.c
scilab/modules/scicos_blocks/src/c/cmatview.c
scilab/modules/scicos_blocks/src/c/cmscope.c
scilab/modules/scicos_blocks/src/c/cscope.c
scilab/modules/scicos_blocks/src/c/cscopxy.c
scilab/modules/scicos_blocks/src/c/cscopxy3d.c
scilab/modules/scicos_blocks/src/c/fromws_c.c
scilab/modules/scicos_blocks/src/c/readau.c
scilab/modules/scicos_blocks/src/c/readc.c
scilab/modules/scicos_blocks/src/cpp/affich2.cpp
scilab/modules/scicos_blocks/src/fortran/sciblk.f
scilab/modules/signal_processing/sci_gateway/fortran/bgetx.f
scilab/modules/signal_processing/sci_gateway/fortran/bgety.f
scilab/modules/signal_processing/src/fortran/core_Import.def
scilab/modules/signal_processing/src/fortran/core_f_Import.def
scilab/modules/signal_processing/src/fortran/signal_processing_f.vfproj
scilab/modules/spreadsheet/sci_gateway/c/gw_csv_helpers.c
scilab/modules/spreadsheet/sci_gateway/c/sci_csvDefault.c
scilab/modules/spreadsheet/sci_gateway/c/sci_csvRead.c
scilab/modules/spreadsheet/sci_gateway/c/sci_csvStringToDouble.c
scilab/modules/spreadsheet/sci_gateway/c/sci_csvTextScan.c
scilab/modules/spreadsheet/sci_gateway/c/sci_csvWrite.c
scilab/modules/spreadsheet/sci_gateway/c/sci_xls_open.c
scilab/modules/spreadsheet/src/c/checkCsvWriteFormat.c
scilab/modules/spreadsheet/src/c/csvRead.c
scilab/modules/spreadsheet/src/c/csvWrite.c
scilab/modules/statistics/tests/nonreg_tests/bug_3640.dia.ref
scilab/modules/statistics/tests/nonreg_tests/bug_3640.tst
scilab/modules/types/src/java/org/scilab/modules/types/ScilabIntegerTypeEnum.java
scilab/modules/types/src/java/org/scilab/modules/types/ScilabTypeEnum.java
scilab/modules/xcos/Makefile.am
scilab/modules/xcos/Makefile.in
scilab/modules/xcos/includes/gw_xcos.h
scilab/modules/xcos/sci_gateway/cpp/sci_xcosPalGet.cpp
scilab/modules/xcos/src/c/xcos.vcxproj
scilab/modules/xcos/src/c/xcos.vcxproj.filters
scilab/modules/xcos/src/jni/Palette.giws.xml
scilab/modules/xml/sci_gateway/cpp/sci_percent_XMLAttr_e.cpp
scilab/modules/xml/sci_gateway/cpp/sci_percent_c_i_XMLAttr.cpp
scilab/modules/xml/sci_gateway/cpp/sci_xmlIsValidObject.cpp
scilab/modules/xml/sci_gateway/cpp/sci_xmlName.cpp
scilab/modules/xml/sci_gateway/cpp/sci_xmlReadStr.cpp
scilab/modules/xml/sci_gateway/cpp/sci_xmlValidate.cpp
scilab/modules/xml/sci_gateway/cpp/sci_xmlXPath.cpp
scilab/modules/xml/src/c/XMLMlistsManagement.c

Simple merge
Simple merge
@@@ -40,19 -40,8 +40,20 @@@ Source: bin\svml_dispmd.dll; DestDir: {
  Source: bin\libintl.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
  Source: bin\libintl.lib; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
  Source: bin\GNU_gettext.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
+ Source: bin\MALLOC.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
  ;
 +
 +;YaSp files
 +Source: bin\ast.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
 +Source: bin\ast-tools.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
 +Source: bin\operations.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
 +Source: bin\functions_manager.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
 +Source: bin\symbol.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
 +Source: bin\types.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
 +Source: bin\system_env.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
 +Source: bin\parse.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
 +;
 +
  Source: bin\zlib1.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
  Source: bin\GetWindowsVersion.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
  Source: bin\lapack.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
Simple merge
Simple merge
Simple merge
@@@ -334,10 -281,9 +334,9 @@@ cd .. >nu
      <ClInclude Include="includes\api_handle.h" />
      <ClInclude Include="includes\api_hypermat.h" />
      <ClInclude Include="includes\api_int.h" />
--    <ClInclude Include="includes\api_internal_handle.h" />
      <ClInclude Include="includes\api_optional.h" />
 -    <ClInclude Include="src\cpp\api_internal_boolean.h" />
 +    <ClInclude Include="includes\returnProperty.h" />
 +    <ClInclude Include="includes\returnPropertyList.h" />
      <ClInclude Include="src\cpp\api_internal_boolean_sparse.h" />
      <ClInclude Include="src\cpp\api_internal_common.h" />
      <ClInclude Include="src\cpp\api_internal_double.h" />
      <ClInclude Include="includes\dynlib_api_scilab.h">
        <Filter>Header Files</Filter>
      </ClInclude>
 -    <ClInclude Include="includes\api_handle.h">
 +    <ClInclude Include="includes\overload.hxx">
        <Filter>Header Files</Filter>
      </ClInclude>
 -    <ClInclude Include="includes\api_internal_handle.h">
 +    <ClInclude Include="includes\api_handle.h">
        <Filter>Header Files</Filter>
      </ClInclude>
-     <ClInclude Include="includes\api_internal_handle.h">
-       <Filter>Header Files</Filter>
-     </ClInclude>
      <ClInclude Include="includes\api_optional.h">
        <Filter>Header Files</Filter>
      </ClInclude>
diff --cc scilab/modules/api_scilab/includes/api_internal_handle.h
index 00e6ebd,00e6ebd..0000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,22 -1,22 +1,0 @@@
--/*
-- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-- * Copyright (C) 2012 - Scilab Enterprises - 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.1-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
-- * still available and supported in Scilab 6.
-- */
--
--#ifndef __INTERNAL_HANDLE_API__
--#define __INTERNAL_HANDLE_API__
--
--//internal functions
--SciErr fillMatrixOfHandle(void* _pvCtx, int* _piAddress, int _iRows, int _iCols, long long** _pllHandle);
--
--#endif /* __INTERNAL_HANDLE_API__ */
index 0629dc1,0000000..4ae053b
mode 100644,000000..100644
--- /dev/null
@@@ -1,187 -1,0 +1,187 @@@
 +/*
 + * Scilab (http://www.scilab.org/ ) - This file is part of Scilab
 + * Copyright (C) 2006 - INRIA - Jean-Baptiste SILVY
 + *
 + * 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
 + *
 + */
 +/*------------------------------------------------------------------------*/
 +/* file: returnProperty.h                                                 */
 +/* desc : a set of functions used to return values in Scilab              */
 +/*------------------------------------------------------------------------*/
 +
 +#ifndef _RETURN_PROPERTY_H_
 +#define _RETURN_PROPERTY_H_
 +
 +#ifdef __cplusplus
 +extern "C" {
 +#endif
 +
 +#include "dynlib_api_scilab.h"
 +
 +
 +    /**
 +     * create an empty matrix in the scilab stack in order to see it in the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
-     void* sciReturnEmptyMatrix();
++    void* sciReturnEmptyMatrix(void);
 +
 +    /**
 +     * copy the string value in the scilab stack in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnString(const char * value ) ;
 +
 +    /**
 +     * copy a char value into a scilab string in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnChar(char value ) ;
 +
 +    /**
 +     * copy a single double in the scilab stack in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnDouble(double value ) ;
 +
 +    /**
 +     * copy a single int in the scilab stack in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnInt(int value ) ;
 +
 +    /**
 +     * copy a double array into a row vector in the scilab stack in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnRowVector(const double values[], int nbValues ) ;
 +
 +    /**
 +    * copy a int array into a row vector (of double) in the scilab stack
 +    * in order to see it the console.
 +    * @return 0 if the function was executed correctly, -1 if an error occurred.
 +    */
 +    void* sciReturnRowVectorFromInt(const int values[], int nbValues ) ;
 +
 +    /**
 +     * copy an int array into an int row vector in the scilab stack
 +     * in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnRowIntVector(const int values[], int nbValues ) ;
 +
 +    /**
 +     * copy a char * array into an string row vector in the scilab stack
 +     * in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnRowStringVector(char * values[], int nbValues ) ;
 +
 +    /**
 +     * copy a handle in the scilab stack in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnHandle(long handle ) ;
 +
 +    /**
 +     * copy an handle array into a row vector in the scilab stack in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnRowHandleVector(const long handles[], int nbValues ) ;
 +
 +    /**
 +    * copy an handle array into a col vector in the scilab stack in order to see it the console.
 +    * @return 0 if the function was executed correctly, -1 if an error occurred.
 +    */
 +    void* sciReturnColHandleVector(const long handles[], int nbValues ) ;
 +
 +    /**
 +     * copy a matrix stored has a double array
 +     * into a Scilab matrix in the stack in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnMatrix(double values[], int nbRow, int nbCol ) ;
 +
 +    /**
 +     * copy a matrix stored has a char * array
 +     * into a Scilab string matrix in the stack in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnStringMatrix(char * values[], int nbRow, int nbCol ) ;
 +
 +    /**
 +     * return user data in the scilab console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnUserData(const int * userData, int userDataSize ) ;
 +
 +    /**
 +     * copy a matrix stored has a double hypermatrix
 +     * into a Scilab matrix in the stack in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnHypermatOfDouble(int dims[], int ndims, double values[]);
 +
 +    /**
 +     * copy a matrix stored has a int8 hypermatrix
 +     * into a Scilab matrix in the stack in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnHypermatOfInteger8(int dims[], int ndims, char values[]);
 +
 +    /**
 +     * copy a matrix stored has a uint8 hypermatrix
 +     * into a Scilab matrix in the stack in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnHypermatOfUnsignedInteger8(int dims[], int ndims, unsigned char values[]);
 +
 +    /**
 +     * copy a matrix stored has a int8 array
 +     * into a Scilab matrix in the stack in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnMatrixOfInteger8(char values[], int nbRow, int nbCol);
 +
 +    /**
 +     * copy a matrix stored has a uint8 array
 +     * into a Scilab matrix in the stack in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnMatrixOfUnsignedInteger8(unsigned char values[], int nbRow, int nbCol);
 +
 +    /**
 +     * copy a matrix stored has a int16 array
 +     * into a Scilab matrix in the stack in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnMatrixOfInteger16(short values[], int nbRow, int nbCol);
 +
 +    /**
 +     * copy a matrix stored has a uint16 array
 +     * into a Scilab matrix in the stack in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnMatrixOfUnsignedInteger16(unsigned short values[], int nbRow, int nbCol);
 +
 +    /**
 +     * copy a matrix stored has a int32 array
 +     * into a Scilab matrix in the stack in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnMatrixOfInteger32(int values[], int nbRow, int nbCol);
 +
 +    /**
 +     * copy a matrix stored has a uint32 array
 +     * into a Scilab matrix in the stack in order to see it the console.
 +     * @return 0 if the function was executed correctly, -1 if an error occurred.
 +     */
 +    void* sciReturnMatrixOfUnsignedInteger32(unsigned int values[], int nbRow, int nbCol);
 +#ifdef __cplusplus
 +}
 +#endif
 +#endif /* _RETURN_PROPERTY_H_ */
@@@ -71,13 -59,20 +69,11 @@@ SciErr getMatrixOfBoolean(void* _pvCtx
  
  SciErr allocMatrixOfBoolean(void* _pvCtx, int _iVar, int _iRows, int _iCols, int** _piBool)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
+     SciErr sciErr = sciErrInit();
 -    int *piAddr       = NULL;
 -    int iNewPos = Top - Rhs + _iVar;
 -    int iAddr   = *Lstk(iNewPos);
  
 -    //return empty matrix
 -    if (_iRows == 0 && _iCols == 0)
 +    if (_pvCtx == NULL)
      {
 -        double dblReal = 0;
 -        sciErr = createMatrixOfDouble(_pvCtx, _iVar, 0, 0, &dblReal);
 -        if (sciErr.iErr)
 -        {
 -            addErrorMessage(&sciErr, API_ERROR_CREATE_EMPTY_MATRIX, _("%s: Unable to create variable in Scilab memory"), "createEmptyMatrix");
 -        }
 +        addErrorMessage(&sciErr, API_ERROR_INVALID_POINTER, _("%s: Invalid argument address"), "allocMatrixOfBoolean");
          return sciErr;
      }
  
@@@ -135,10 -133,7 +129,9 @@@ SciErr createMatrixOfBoolean(void* _pvC
  
  SciErr createNamedMatrixOfBoolean(void* _pvCtx, const char* _pstName, int _iRows, int _iCols, const int* _piBool)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
+     SciErr sciErr = sciErrInit();
 +#if 0
++
      int iVarID[nsiz];
      int iSaveRhs                      = Rhs;
      int iSaveTop                      = Top;
@@@ -84,10 -67,7 +82,8 @@@ SciErr getBooleanSparseMatrix(void* _pv
  
  SciErr allocBooleanSparseMatrix(void* _pvCtx, int _iVar, int _iRows, int _iCols, int _iNbItem, int** _piNbItemRow, int** _piColPos)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
+     SciErr sciErr = sciErrInit();
 +#if 0
      int iNewPos = Top - Rhs + _iVar;
      int iAddr   = *Lstk(iNewPos);
      int iPos    = 5 + _iRows + _iNbItem;
@@@ -185,10 -159,7 +176,8 @@@ SciErr createBooleanSparseMatrix(void* 
  
  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;
+     SciErr sciErr = sciErrInit();
 +#if 0
      int iVarID[nsiz];
      int iSaveRhs        = Rhs;
      int iSaveTop        = Top;
  
  SciErr readNamedBooleanSparseMatrix(void* _pvCtx, const char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     int* piAddr                               = NULL;
-     int* piNbItemRow  = 0;
-     int* piColPos                     = 0;
 -    SciErr sciErr = sciErrInit();
 -    int* piAddr                               = NULL;
 -    int* piNbItemRow  = 0;
 -    int* piColPos                     = 0;
++    SciErr sciErr       = sciErrInit();
++    int* piAddr         = NULL;
++    int* piNbItemRow    = 0;
++    int* piColPos       = 0;
  
      sciErr = getVarAddressFromName(_pvCtx, _pstName, &piAddr);
      if (sciErr.iErr)
@@@ -130,12 -81,14 +130,10 @@@ int returnArguments(void* _pvCtx
  
  int checkInputArgument(void* _pvCtx, int _iMin, int _iMax)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
+     SciErr sciErr = sciErrInit();
  
 -    /*
 -    * store the name in recu array, fname can be a non null terminated char array
 -    * Get_Iname() can be used in other function to get the interface name
 -    */
 -    int cx0 = 0;
 -    C2F(cvname) (&C2F(recu).ids[(C2F(recu).pt + 1) * nsiz - nsiz],  ((StrCtx *) _pvCtx)->pstName, &cx0, (unsigned long int)strlen(((StrCtx *)_pvCtx)->pstName));
 +    GatewayStruct *pStr = (GatewayStruct*)_pvCtx;
 +    int iRhs            = *getNbInputArgument(_pvCtx);
  
      if (_iMin <= nbInputArgument(_pvCtx) && _iMax >= nbInputArgument(_pvCtx))
      {
@@@ -346,15 -249,10 +330,10 @@@ SciErr getNamedVarDimension(void *_pvCt
  /*--------------------------------------------------------------------------*/
  SciErr getVarAddressFromPosition(void *_pvCtx, int _iVar, int **_piAddress)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     sciErr = getinternalVarAddress(_pvCtx, _iVar, _piAddress);
+     SciErr sciErr = getinternalVarAddress(_pvCtx, _iVar, _piAddress);
      //sciprint("type : %d(%c)\n", (*_piAddress)[0], intersci_.ntypes[_iVar - 1]);
      //update variable state to "read
 -    intersci_.ntypes[_iVar - 1] = '$';
 +    //intersci_.ntypes[_iVar - 1] = '$';
      return sciErr;
  }
  
@@@ -392,12 -284,21 +369,22 @@@ static SciErr getinternalVarAddress(voi
  /*--------------------------------------------------------------------------*/
  SciErr getVarNameFromPosition(void *_pvCtx, int _iVar, char *_pstName)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     // FIXME
+     SciErr sciErr = sciErrInit();
++#if 0
+     int iNameLen = 0;
+     int iJob1 = 1;
+     CvNameL(&vstk_.idstk[(_iVar - 1) * 6], _pstName, &iJob1, &iNameLen);
+     if (iNameLen == 0)
+     {
+         addErrorMessage(&sciErr, API_ERROR_INVALID_NAME, _("%s: Unable to get name of argument #%d"), "getVarNameFromPosition", _iVar);
+         return sciErr;
+     }
+     _pstName[iNameLen] = '\0';
++#endif
      return sciErr;
  }
 -
  /*--------------------------------------------------------------------------*/
  int getNewVarAddressFromPosition(void *_pvCtx, int _iVar, int **_piAddress)
  {
  /*--------------------------------------------------------------------------*/
  SciErr getVarAddressFromName(void *_pvCtx, const char *_pstName, int **_piAddress)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     // FIXME
+     SciErr sciErr = sciErrInit();
 -    int iVarID[nsiz];
 -    int *piAddr = NULL;
 -
 -    //get variable id from name
 -    C2F(str2name) (_pstName, iVarID, (int)strlen(_pstName));
 -
 -    //define scope of search
 -    Fin = -6;
 -    Err = 0;
 -    //search variable
 -    C2F(stackg) (iVarID);
  
 -    //No idea :(
 -    if (*Infstk(Fin) == 2)
 -    {
 -        Fin = *istk(iadr(*Lstk(Fin)) + 1 + 1);
 -    }
 +    wchar_t* pwstName = to_wide_string(_pstName);
 +    symbol::Context* pCtx = symbol::Context::getInstance();
 +    InternalType* pVar = pCtx->get(symbol::Symbol(pwstName));
 +    FREE(pwstName);
  
 -    if (Err > 0 || Fin == 0)
 +    if (pVar == NULL)
      {
          addErrorMessage(&sciErr, API_ERROR_INVALID_NAME, _("%s: Unable to get address of variable \"%s\""), "getVarAddressFromName", _pstName);
 -        return sciErr;
      }
 -
 -    //get variable address
 -    getNewVarAddressFromPosition(_pvCtx, Fin, &piAddr);
 -    if (piAddr[0] < 0)
 +    else
      {
 -        //get address from reference
 -        int iStackRef = *Lstk(Fin);
 -        int iStackAddr = iadr(iStackRef);
 -        int iNewStackRef = iStackAddr + 1;
 -        int iNewStackPtr = *istk(iNewStackRef);
 -        int iNewStackAddr = iadr(iNewStackPtr);
 -
 -        piAddr = istk(iNewStackAddr);
 +        *_piAddress = (int*)pVar;
      }
  
 -    *_piAddress = piAddr;
      return sciErr;
  }
  
@@@ -518,16 -369,11 +500,13 @@@ SciErr getVarType(void *_pvCtx, int *_p
  }
  
  /*--------------------------------------------------------------------------*/
 +// _pvCtx will not be used by getVarAddressFromName neither getVarType
 +// it can then be NULL.
  SciErr getNamedVarType(void *_pvCtx, const char *_pstName, int *_piType)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
      int *piAddr = NULL;
  
-     sciErr = getVarAddressFromName(_pvCtx, _pstName, &piAddr);
+     SciErr sciErr = getVarAddressFromName(_pvCtx, _pstName, &piAddr);
      if (sciErr.iErr)
      {
          addErrorMessage(&sciErr, API_ERROR_NAMED_UNDEFINED_VAR, _("%s: Unable to get variable \"%s\""), "getNamedVarType", _pstName);
@@@ -570,15 -417,11 +549,12 @@@ int isVarComplex(void *_pvCtx, int *_pi
  /*--------------------------------------------------------------------------*/
  int isNamedVarComplex(void *_pvCtx, const char *_pstName)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
      int *piAddr = NULL;
  
-     sciErr = getVarAddressFromName(_pvCtx, _pstName, &piAddr);
+     SciErr sciErr = getVarAddressFromName(_pvCtx, _pstName, &piAddr);
      if (sciErr.iErr)
      {
 +        addErrorMessage(&sciErr, API_ERROR_INVALID_POINTER, _("%s: Invalid argument address"), "isNamedVarComplex");
          return 0;
      }
      return isVarComplex(_pvCtx, piAddr);
@@@ -1402,8 -1174,8 +1330,7 @@@ int getInputArgumentType(void* _pvCtx, 
      int* piAddr = NULL;
      int iType = 0;
  
-     sciErr = getinternalVarAddress(_pvCtx, _iVar, &piAddr);
 -    //sciprint("getInputArgumentType ->");
+     SciErr sciErr = getinternalVarAddress(_pvCtx, _iVar, &piAddr);
      if (sciErr.iErr)
      {
          return 0;
@@@ -1485,14 -1251,23 +1406,12 @@@ int createNamedEmptyMatrix(void *_pvCtx
  /*--------------------------------------------------------------------------*/
  int isNamedVarExist(void *_pvCtx, const char *_pstName)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
 -    int iVarID[nsiz];
++    SciErr sciErr = sciErrInit();
      int *piAddr = NULL;
 -    int funs = C2F(com).fun;
  
 -    SciErr sciErr = getVarAddressFromName(_pvCtx, _pstName, &piAddr);
 +    sciErr = getVarAddressFromName(_pvCtx, _pstName, &piAddr);
      if (sciErr.iErr || piAddr == NULL)
      {
 -        Fin = -1;
 -        C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
 -        C2F(funs)(iVarID);
 -        if (Fin > 0)
 -        {
 -            Fin = 1;
 -            C2F(com).fun = funs;
 -            return 1;
 -        }
 -
          return 0;
      }
  
@@@ -1508,13 -1282,13 +1426,13 @@@ int checkNamedVarFormat(void* _pvCtx, c
      // check pointer
      if (_pstName == NULL)
      {
-         iRet = 0;
+         return 0;
      }
  
 -    // check length _pstName =< nlgh
 -    if ((strlen(_pstName) == 0 || strlen(_pstName) > nlgh))
 +    // check length _pstName <> 0
 +    if (strlen(_pstName) == 0)
      {
-         iRet = 0;
+         return 0;
      }
  
      // forbidden characters
  /*--------------------------------------------------------------------------*/
  int deleteNamedVariable(void* _pvCtx, const char* _pstName)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     int iZero = 0;
-     //int il;
-     //int sRhs = Rhs;
-     //int sLhs = Lhs;
-     //int sTop = Top;
+     SciErr sciErr = sciErrInit();
 -    int iVarID[nsiz];
 -    int iZero = 0;
 -    int il;
 -    int sRhs = Rhs;
 -    int sLhs = Lhs;
 -    int sTop = Top;
  
      if (isNamedVarExist(_pvCtx, _pstName) == 0)
      {
          return 0;
      }
  
--    //get varId from varName
-     //C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
-     //create a null matrix a the Top of the stack
-     //Top = Top + 1;
-     //il = iadr(*Lstk(Top));
-     //*istk(il) = 0;
-     //*Lstk(Top + 1) = *Lstk(Top) + 1;
-     //Rhs = 0;
-     //Replace existing value by null matrix to delete it
-     //C2F(stackp) (iVarID, &iZero);
-     //Rhs = sRhs;
-     //Lhs = sLhs;
-     //Top = sTop ;
-     //if (C2F(iop).err > 0/* || C2F(errgst).err1 > 0*/)
-     //{
-     //    return 0;
-     //}
-     //No Idea :x
-     //Fin = 1;
 -    C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
 -
 -    //create a null matrix at the Top of the stack
 -    Top = Top + 1;
 -    il = iadr(*Lstk(Top));
 -    *istk(il) = 0;
 -    *Lstk(Top + 1) = *Lstk(Top) + 1;
 -    Rhs = 0;
 -
 -    //Replace existing value by null matrix to delete it
 -    C2F(stackp) (iVarID, &iZero);
 -    Rhs = sRhs;
 -    Lhs = sLhs;
 -    Top = sTop ;
 -    if (C2F(iop).err > 0/* || C2F(errgst).err1 > 0*/)
 +    return 1;
 +}
 +/*--------------------------------------------------------------------------*/
 +int increaseValRef(void* _pvCtx, int* _piAddress)
 +{
 +    if (_piAddress)
      {
 -        return 0;
 +        types::InternalType* pIT = (types::InternalType*)_piAddress;
 +        types::InternalType* pIT2 = dynamic_cast<types::InternalType*>(pIT);
 +        if (pIT2)
 +        {
 +            pIT->IncreaseRef();
 +            return 1;
 +        }
 +        else
 +        {
 +            Scierror(999, _("Invalid type pointer in '%s'\n"), "increaseValRef");
 +            return -1;
 +        }
      }
 -
 -    //No Idea :x
 -    Fin = 1;
 -    return 1;
 +    return 0;
 +}
 +/*--------------------------------------------------------------------------*/
 +int decreaseValRef(void* _pvCtx, int* _piAddress)
 +{
 +    if (_piAddress)
 +    {
 +        types::InternalType* pIT = (types::InternalType*)_piAddress;
 +        types::InternalType* pIT2 = dynamic_cast<types::InternalType*>(pIT);
 +        if (pIT2)
 +        {
 +            pIT->DecreaseRef();
 +            if (pIT->isDeletable())
 +            {
 +                delete pIT;
 +            }
 +            return 1;
 +        }
 +        else
 +        {
 +            Scierror(999, _("Invalid type pointer in '%s'\n"), "decreaseValRef");
 +            return -1;
 +        }
 +    }
 +    return 0;
  }
  /*--------------------------------------------------------------------------*/
+ SciErr sciErrInit()
+ {
+     int i = 0 ;
+     SciErr sciErr;
+     sciErr.iErr = 0;
+     sciErr.iMsgCount = 0;
+     for (; i < MESSAGE_STACK_SIZE ; i++)
+     {
+         sciErr.pstMsg[i] = "";
+     }
+     return sciErr;
+ }
++
@@@ -57,13 -46,11 +57,10 @@@ SciErr getComplexMatrixOfDouble(void* _
  
  SciErr getComplexZMatrixOfDouble(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, doublecomplex** _pdblZ)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
      int iSize = 0;
      double *pdblReal = NULL;
 -    double *pdblImg    = NULL;
  
-     sciErr = getCommonMatrixOfDouble(_pvCtx, _piAddress, 'z', 0, _piRows, _piCols, &pdblReal, NULL);
 -    SciErr sciErr = getCommonMatrixOfDouble(_pvCtx, _piAddress, 'z', isVarComplex(_pvCtx, _piAddress), _piRows, _piCols, &pdblReal, &pdblImg);
++    SciErr sciErr = getCommonMatrixOfDouble(_pvCtx, _piAddress, 'z', 0, _piRows, _piCols, &pdblReal, NULL);
      if (sciErr.iErr)
      {
          addErrorMessage(&sciErr, API_ERROR_GET_ZDOUBLE, _("%s: Unable to get argument #%d"), "getComplexZMatrixOfDouble", getRhsFromAddress(_pvCtx, _piAddress));
@@@ -101,32 -83,30 +97,29 @@@ SciErr getMatrixOfDoubleAsInteger(void
  
  SciErr getComplexMatrixOfDoubleAsInteger(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int** _piReal, int** _piImg)
  {
-     SciErr sciErr;
      double* pdblReal = NULL;
      double* pdblImg  = NULL;
-     sciErr = getCommonMatrixOfDouble(_pvCtx, _piAddress, 'i', 1, _piRows, _piCols, &pdblReal, &pdblImg);
 -    int iSize = 0;
++
+     SciErr sciErr = getCommonMatrixOfDouble(_pvCtx, _piAddress, 'i', 1, _piRows, _piCols, &pdblReal, &pdblImg);
      if (sciErr.iErr)
      {
          return sciErr;
      }
  
 -    iSize = *_piRows **_piCols;
 -    *_piReal = (int*)pdblReal;
 -    *_piImg = (int*)pdblImg;
 +    Double* pD = (Double*)_piAddress;
 +    //convert values and view of data to int and int*
 +    pD->convertToInteger();
 +
 +    *_piReal = (int*)pD->get();
 +    *_piImg = (int*)pD->getImg();
  
 -    //Warning we overwrite double by int !!!!
 -    C2F(entier)(&iSize, pdblReal, *_piReal);
 -    C2F(entier)(&iSize, pdblImg, *_piImg);
      return sciErr;
  }
  
  SciErr getCommonMatrixOfDouble(void* _pvCtx, int* _piAddress, char _cType, int _iComplex, int* _piRows, int* _piCols, double** _pdblReal, double** _pdblImg)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
+     SciErr sciErr = sciErrInit();
      int iType = 0;
 -
      if (_piAddress == NULL)
      {
          addErrorMessage(&sciErr, API_ERROR_INVALID_POINTER, _("%s: Invalid argument address"), _iComplex ? "getComplexMatrixOfDouble" : "getMatrixOfDouble");
  
      if (_pdblReal != NULL)
      {
-         *_pdblReal    = ((InternalType*)_piAddress)->getAs<Double>()->getReal();
 -        *_pdblReal    = (double*)(_piAddress + 4);
 -    }
 -    if (isVarComplex(_pvCtx, _piAddress) && _pdblImg != NULL)
 -    {
 -        *_pdblImg     = (double*)(_piAddress + 4) + *_piRows **_piCols;
++        *_pdblReal = ((InternalType*)_piAddress)->getAs<Double>()->getReal();
      }
  
 -    if (_cType == 'i')
 -    {
 -        /*update to set view as integer*/
 -        int iRhs = getRhsFromAddress(_pvCtx, _piAddress);
 -        int iNewPos = Top - Rhs + iRhs;
 -        int iAddr = *Lstk(iNewPos);
 -        int iSCIAddress = sadr(iadr(iAddr) + 4);
 -        iSCIAddress = iadr(iSCIAddress);
 -        updateInterSCI(iRhs, _cType, iAddr, iSCIAddress);
 -    }
 -    else if (_cType == 'z')
 +    if (_iComplex && _pdblImg != NULL)
      {
-         *_pdblImg             = ((InternalType*)_piAddress)->getAs<Double>()->getImg();
 -        int iRhs = getRhsFromAddress(_pvCtx, _piAddress);
 -        int iNewPos = Top - Rhs + iRhs;
 -        int iAddr = *Lstk(iNewPos);
 -        int iSCIAddress = sadr(iadr(iAddr) + 4);
 -
 -        //printf("iRhs : %d\n", iRhs);
 -        //printf("intersci_.ntypes : %c\n", intersci_.ntypes[iRhs - 1]);
 -        //printf("intersci_.iwhere : %d\n", intersci_.iwhere[iRhs - 1]);
 -        //printf("intersci_.lad : %d\n-----------------------\n", intersci_.lad[iRhs - 1]);
 -
 -        updateInterSCI(iRhs, _cType, iAddr, iSCIAddress);
 -
 -        //printf("intersci_.ntypes : %c\n", intersci_.ntypes[iRhs - 1]);
 -        //printf("intersci_.iwhere : %d\n", intersci_.iwhere[iRhs - 1]);
 -        //printf("intersci_.lad : %d\n\n", intersci_.lad[iRhs - 1]);
++        *_pdblImg = ((InternalType*)_piAddress)->getAs<Double>()->getImg();
      }
  
      return sciErr;
@@@ -239,13 -235,16 +220,11 @@@ SciErr allocComplexMatrixOfDoubleAsInte
  
  SciErr allocCommonMatrixOfDouble(void* _pvCtx, int _iVar, char _cType, int _iComplex, int _iRows, int _iCols, double** _pdblReal, double** _pdblImg)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
+     SciErr sciErr = sciErrInit();
 -    int iNewPos = Top - Rhs + _iVar;
 -    int iAddr = *Lstk(iNewPos);
 -    int* piAddr = NULL;
  
 -    int iMemSize = _iRows * _iCols * (_iComplex + 1) + 2;
 -    int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(iAddr));
 -    if (iMemSize > iFreeSpace)
 +    if (_pvCtx == NULL)
      {
 -        addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
 +        addErrorMessage(&sciErr, API_ERROR_INVALID_POINTER, _("%s: Invalid argument address"), _iComplex ? "allocComplexMatrixOfDouble" : "allocMatrixOfDouble");
          return sciErr;
      }
  
      return sciErr;
  }
  
 -SciErr fillCommonMatrixOfDouble(void* _pvCtx, int* _piAddress, int _iComplex, int _iRows, int _iCols, double** _pdblReal, double** _pdblImg)
 +SciErr allocComplexZMatrixOfDouble(void* _pvCtx, int _iVar, int _iRows, int _iCols, const doublecomplex** _pdblData)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
+     SciErr sciErr = sciErrInit();
 -    _piAddress[0]             = sci_matrix;
 -    _piAddress[1]             = Min(_iRows, _iRows * _iCols);
 -    _piAddress[2]             = Min(_iCols, _iRows * _iCols);
 -    _piAddress[3]             = _iComplex;
 -
 +    double *pdblReal  = NULL;
 +    double *pdblImg           = NULL;
  
 -    if (_pdblReal != NULL)
 +    sciErr = allocCommonMatrixOfDouble(_pvCtx, _iVar, 'z', 1, _iRows, _iCols, &pdblReal, NULL);
 +    if (sciErr.iErr)
      {
 -        *_pdblReal            = (double*)(_piAddress + 4);
 -
 -        if (_iComplex != 0 && _pdblImg != NULL)
 -        {
 -            *_pdblImg = *_pdblReal + _iRows * _iCols;
 -        }
 +        addErrorMessage(&sciErr, API_ERROR_ALLOC_COMPLEX_DOUBLE, _("%s: Unable to create variable in Scilab memory"), "allocComplexMatrixOfDouble");
 +        return sciErr;
      }
  
 +    *_pdblData = (doublecomplex*)pdblReal;
      return sciErr;
  }
  
@@@ -412,12 -381,11 +377,10 @@@ SciErr createComplexMatrixOfDoubleAsInt
  
  SciErr createComplexZMatrixOfDouble(void* _pvCtx, int _iVar, int _iRows, int _iCols, const doublecomplex* _pdblData)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
 -    double *pdblReal          = NULL;
 -    double *pdblImg                   = NULL;
 -
++    SciErr sciErr = sciErrInit();
 +    const doublecomplex *pdblZ = NULL;
  
 -    SciErr sciErr = allocComplexMatrixOfDouble(_pvCtx, _iVar, _iRows, _iCols, &pdblReal, &pdblImg);
 +    sciErr = allocComplexZMatrixOfDouble(_pvCtx, _iVar, _iRows, _iCols, &pdblZ);
      if (sciErr.iErr)
      {
          addErrorMessage(&sciErr, API_ERROR_CREATE_ZDOUBLE, _("%s: Unable to create variable in Scilab memory"), "allocComplexMatrixOfDouble");
@@@ -440,40 -408,78 +403,46 @@@ SciErr createNamedComplexMatrixOfDouble
  
  SciErr createNamedComplexZMatrixOfDouble(void* _pvCtx, const char* _pstName, int _iRows, int _iCols, const doublecomplex* _pdblData)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
+     SciErr sciErr = sciErrInit();
 -    int iVarID[nsiz];
 -    int iSaveRhs = Rhs;
 -    int iSaveTop = Top;
 -    int iSize = _iRows * _iCols;
 -    int *piAddr = NULL;
 -    double *pdblReal = NULL;
 -    double *pdblImg = NULL;
 +    wchar_t* pwstName           = to_wide_string(_pstName);
 +    int iOne                                  = 1;
 +    int iTwo                                  = 2;
 +    int iSize                                 = _iRows * _iCols;
  
+     if (!checkNamedVarFormat(_pvCtx, _pstName))
+     {
+         addErrorMessage(&sciErr, API_ERROR_INVALID_NAME, _("%s: Invalid variable name."), "createNamedComplexZMatrixOfDouble");
+         return sciErr;
+     }
 -    C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
 -    Top = Top + Nbvars + 1;
 -
 -    getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
 -
 -    //write matrix information
 -    fillCommonMatrixOfDouble(_pvCtx, piAddr, 1, _iRows, _iCols, &pdblReal, &pdblImg);
 -
 -    vGetPointerFromDoubleComplex(_pdblData, _iRows * _iCols, pdblReal, pdblImg);
 +    Double* pDbl = new Double(_iRows, _iCols, true);
  
 -    //update "variable index"
 -    updateLstk(Top, *Lstk(Top) + sadr(4), iSize * (2) * 2);
 -
 -    Rhs = 0;
 -    //Add name in stack reference list
 -    createNamedVariable(iVarID);
 -
 -    Top = iSaveTop;
 -    Rhs = iSaveRhs;
 +    double* pdblReal = pDbl->get();
 +    double* pdblImg = pDbl->getImg();
 +    C2F(dcopy)(&iSize, const_cast<double*>(&_pdblData->r), &iTwo, pdblReal, &iOne);
 +    C2F(dcopy)(&iSize, const_cast<double*>(&_pdblData->i), &iOne, pdblImg, &iOne);
  
 +    symbol::Context::getInstance()->put(symbol::Symbol(pwstName), *pDbl);
 +    FREE(pwstName);
      return sciErr;
  }
  
  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;
+     SciErr sciErr = sciErrInit();
 -    int iVarID[nsiz];
 -    int iSaveRhs = Rhs;
 -    int iSaveTop = Top;
 -    int iSize = _iRows * _iCols;
 -    int *piAddr = NULL;
 -    double *pdblReal = NULL;
 -    double *pdblImg = NULL;
 -    int iOne = 1;
 -
+     if (!checkNamedVarFormat(_pvCtx, _pstName))
+     {
+         addErrorMessage(&sciErr, API_ERROR_INVALID_NAME, _("%s: Invalid variable name."), "createCommonNamedMatrixOfDouble");
+         return sciErr;
+     }
  
 -    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;
 -    }
 +    wchar_t* pwstName           = to_wide_string(_pstName);
 +    int iOne                                  = 1;
 +    int iSize                                 = _iRows * _iCols;
  
 -    getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
 +    Double* pDbl = new Double(_iRows, _iCols, _iComplex == 1);
  
 -    //write matrix information
 -    fillCommonMatrixOfDouble(_pvCtx, piAddr, _iComplex, _iRows, _iCols, &pdblReal, &pdblImg);
 -    //copy data in stack
 +    double* pdblReal = pDbl->get();
      C2F(dcopy)(&iSize, const_cast<double*>(_pdblReal), &iOne, pdblReal, &iOne);
  
      if (_iComplex)
   * still available and supported in Scilab 6.
   */
  
 +#include "graphichandle.hxx"
 +#include "function.hxx"
 +#include "gatewaystruct.hxx"
 +
 +extern "C"
 +{
  #include "api_scilab.h"
  #include "api_internal_common.h"
--#include "api_internal_handle.h"
  #include "localization.h"
  
  #include "Scierror.h"
@@@ -68,13 -57,16 +65,11 @@@ SciErr getMatrixOfHandle(void* _pvCtx, 
  /*--------------------------------------------------------------------------*/
  SciErr allocMatrixOfHandle(void* _pvCtx, int _iVar, int _iRows, int _iCols, long long** _pllHandle)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
+     SciErr sciErr = sciErrInit();
 -    int iNewPos = Top - Rhs + _iVar;
 -    int iAddr = *Lstk(iNewPos);
 -    int* piAddr = NULL;
  
 -    int iMemSize = _iRows * _iCols + 2;
 -    int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(iAddr));
 -    if (iMemSize > iFreeSpace)
 +    if (_pvCtx == NULL)
      {
 -        addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, iMemSize);
 +        addErrorMessage(&sciErr, API_ERROR_INVALID_POINTER, _("%s: Invalid argument address"), "allocMatrixOfHandle");
          return sciErr;
      }
  
@@@ -119,10 -94,10 +111,10 @@@ SciErr createMatrixOfHandle(void* _pvCt
          return sciErr;
      }
  
-     sciErr = allocMatrixOfHandle(_pvCtx, _iVar, _iRows, _iCols, &pllHandle);
+     SciErr sciErr = allocMatrixOfHandle(_pvCtx, _iVar, _iRows, _iCols, &pllHandle);
      if (sciErr.iErr)
      {
 -        addErrorMessage(&sciErr, API_ERROR_CREATE_HANDLE, _("%s: Unable to create variable in Scilab memory"), "createMatrixOfHandle");
 +        addErrorMessage(&sciErr, API_ERROR_CREATE_BOOLEAN, _("%s: Unable to create variable in Scilab memory"), "createMatrixOfBoolean");
          return sciErr;
      }
  
      return sciErr;
  }
  /*--------------------------------------------------------------------------*/
--SciErr fillMatrixOfHandle(void* _pvCtx, int* _piAddress, int _iRows, int _iCols, long long** _pllHandle)
--{
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     return sciErr;
- }
- /*--------------------------------------------------------------------------*/
 -    SciErr sciErr = sciErrInit();
 -    _piAddress[0]     = sci_handles;
 -    _piAddress[1] = Min(_iRows, _iRows * _iCols);
 -    _piAddress[2] = Min(_iCols, _iRows * _iCols);
 -
 -    *_pllHandle = (long long*)(_piAddress + 4);
 -    return sciErr;
 -}
 -/*--------------------------------------------------------------------------*/
  int isHandleType(void* _pvCtx, int* _piAddress)
  {
      return checkVarType(_pvCtx, _piAddress, sci_handles);
@@@ -43,9 -34,9 +41,9 @@@ SciErr getMatrixOfIntegerPrecision(void
          return sciErr;
      }
  
 -    if (_piAddress[0] != sci_ints)
 +    if (!((InternalType*)_piAddress)->isInt())
      {
-         addErrorMessage(&sciErr, API_ERROR_INVALID_TYPE, _("%s: Invalid argument type, %s excepted"), "getMatrixOfIntegerPrecision", _("int matrix"));
+         addErrorMessage(&sciErr, API_ERROR_INVALID_TYPE, _("%s: Invalid argument type, %s expected"), "getMatrixOfIntegerPrecision", _("int matrix"));
          return sciErr;
      }
  
@@@ -116,19 -74,10 +114,17 @@@ SciErr getMatrixOfInteger32(void* _pvCt
      return getCommonMatrixOfInteger(_pvCtx, _piAddress, SCI_INT32, _piRows, _piCols, (void**)_piData32);
  }
  
 +#ifdef __SCILAB_INT64__
 +SciErr getMatrixOfInteger64(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, long long** _pllData64)
 +{
 +    return getCommonMatrixOfInteger(_pvCtx, _piAddress, SCI_INT64, _piRows, _piCols, (void**)_pllData64);
 +}
 +#endif
 +
  SciErr getCommonMatrixOfInteger(void* _pvCtx, int* _piAddress, int _iPrecision, int* _piRows, int* _piCols, void** _piData)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     int iPrec         = 0;
+     SciErr sciErr = sciErrInit();
+     int iPrec = 0;
  
      if (_piAddress == NULL)
      {
          return sciErr;
      }
  
 -    *_piRows = _piAddress[1];
 -    *_piCols = _piAddress[2];
 -    *_piData = (void*)(_piAddress + 4);
 +    sciErr = getVarDimension(_pvCtx, _piAddress, _piRows, _piCols);
 +    if (sciErr.iErr)
 +    {
 +        addErrorMessage(&sciErr, API_ERROR_GET_INT, _("%s: Unable to get argument #%d"), "getMatrixOfInteger", getRhsFromAddress(_pvCtx, _piAddress));
 +        return sciErr;
 +    }
 +
 +    switch (((InternalType*)_piAddress)->getType())
 +    {
 +        case GenericType::RealInt8 :
 +            *_piData  = (void*)((InternalType*)_piAddress)->getAs<types::Int8>()->get();
 +            break;
 +        case GenericType::RealUInt8 :
 +            *_piData  = (void*)((InternalType*)_piAddress)->getAs<types::UInt8>()->get();
 +            break;
 +        case GenericType::RealInt16 :
 +            *_piData  = (void*)((InternalType*)_piAddress)->getAs<types::Int16>()->get();
 +            break;
 +        case GenericType::RealUInt16 :
 +            *_piData  = (void*)((InternalType*)_piAddress)->getAs<types::UInt16>()->get();
 +            break;
 +        case GenericType::RealInt32 :
 +            *_piData  = (void*)((InternalType*)_piAddress)->getAs<types::Int32>()->get();
 +            break;
 +        case GenericType::RealUInt32 :
 +            *_piData  = (void*)((InternalType*)_piAddress)->getAs<types::UInt32>()->get();
 +            break;
 +        case GenericType::RealInt64 :
 +            *_piData  = (void*)((InternalType*)_piAddress)->getAs<types::Int64>()->get();
 +            break;
 +        case GenericType::RealUInt64 :
 +            *_piData  = (void*)((InternalType*)_piAddress)->getAs<types::UInt64>()->get();
 +            break;
 +    }
++
      return sciErr;
  }
  
@@@ -276,34 -185,10 +264,29 @@@ SciErr createMatrixOfUnsignedInteger32(
      return sciErr;
  }
  
 +#ifdef __SCILAB_INT64__
 +SciErr createMatrixOfUnsignedInteger64(void* _pvCtx, int _iVar, int _iRows, int _iCols, const unsigned long long* _pullData64)
 +{
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
++    SciErr sciErr = sciErrInit();
 +    unsigned long long *pullData64    = NULL;
 +    int iSize                 = _iRows * _iCols;
 +
 +    sciErr = allocMatrixOfUnsignedInteger64(_pvCtx, _iVar, _iRows, _iCols, &pullData64);
 +    if (sciErr.iErr)
 +    {
 +        addErrorMessage(&sciErr, API_ERROR_CREATE_INT, _("%s: Unable to create variable in Scilab memory"), "createMatrixOfUnsignedInteger64");
 +        return sciErr;
 +    }
 +
 +    memcpy(pullData64, _pullData64, sizeof(unsigned long long) * iSize);
 +    return sciErr;
 +}
 +#endif
 +
  SciErr createMatrixOfInteger8(void* _pvCtx, int _iVar, int _iRows, int _iCols, const char* _pcData8)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     char *pcData8   = NULL;
-     int iSize       = _iRows * _iCols;
+     char *pcData8 = NULL;
+     int iSize = _iRows * _iCols;
  
      if (_iRows == 0 && _iCols == 0)
      {
@@@ -388,13 -267,10 +365,11 @@@ SciErr createMatrixOfInteger32(void* _p
  }
  
  #ifdef __SCILAB_INT64__
 -SciErr createMatrixOfInteger64(void* _pvCtx, int _iVar, int _iRows, int _iCols, const ong long* _pllData64)
 +SciErr createMatrixOfInteger64(void* _pvCtx, int _iVar, int _iRows, int _iCols, const long long* _pllData64)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     long long  *pllData64   = NULL;
-     int iSize               = _iRows * _iCols;
++    SciErr sciErr = sciErrInit();
+     long long  *pllData64 = NULL;
+     int iSize = _iRows * _iCols;
  
      if (_iRows == 0 && _iCols == 0)
      {
  
  SciErr allocMatrixOfInteger8(void* _pvCtx, int _iVar, int _iRows, int _iCols, char** _pcData8)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     int *piAddr               = NULL;
-     char *pcData8     = NULL;
-     //int iNewPos             = api_Top((int*)_pvCtx) - *getInputArgument(_pvCtx) + _iVar;
 -    int *piAddr = NULL;
 -    char *pcData8 = NULL;
 -    int iNewPos = Top - Rhs + _iVar;
++    SciErr sciErr   = sciErrInit();
++    int *piAddr     = NULL;
++    char *pcData8   = NULL;
  
      if (_iRows == 0 && _iCols == 0)
      {
  
  SciErr allocMatrixOfInteger16(void* _pvCtx, int _iVar, int _iRows, int _iCols, short** _psData16)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
 -    int *piAddr     = NULL;
 -    short *psData16 = NULL;
 -    int iNewPos           = Top - Rhs + _iVar;
++    SciErr sciErr = sciErrInit();
 +    int *piAddr                       = NULL;
 +    short *psData16   = NULL;
-     //    int iNewPos                 = api_Top((int*)_pvCtx) - *getInputArgument(_pvCtx) + _iVar;
  
      if (_iRows == 0 && _iCols == 0)
      {
  
  SciErr allocMatrixOfInteger32(void* _pvCtx, int _iVar, int _iRows, int _iCols, int** _piData32)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
++    SciErr sciErr = sciErrInit();
      int *piAddr               = NULL;
      int *piData32     = NULL;
 -    int iNewPos               = Top - Rhs + _iVar;
 +    //        int iNewPos             = api_Top((int*)_pvCtx) - *getInputArgument(_pvCtx) + _iVar;
  
      if (_iRows == 0 && _iCols == 0)
      {
  }
  
  #ifdef __SCILAB_INT64__
 -SciErr allocMatrixOfInteger64(void* _pvCtx, int _iVar, int _iRows, int _iCols, long long** _piData64)
 +SciErr allocMatrixOfInteger64(void* _pvCtx, int _iVar, int _iRows, int _iCols, long long** _pllData64)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
++    SciErr sciErr = sciErrInit();
      int *piAddr             = NULL;
      long long *pllData64    = NULL;
 -    int iNewPos             = Top - Rhs + _iVar;
 +    //        int iNewPos             = api_Top((int*)_pvCtx) - *getInputArgument(_pvCtx) + _iVar;
  
      if (_iRows == 0 && _iCols == 0)
      {
  
  SciErr allocMatrixOfUnsignedInteger8(void* _pvCtx, int _iVar, int _iRows, int _iCols, unsigned char** _pucData8)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
 -    int *piAddr             = NULL;
 -    unsigned char *pucData8 = NULL;
 -    int iNewPos             = Top - Rhs + _iVar;
++    SciErr sciErr = sciErrInit();
 +    int *piAddr                                                       = NULL;
 +    unsigned char *pucData8   = NULL;
-     //        int iNewPos                                             = api_Top((int*)_pvCtx) - *getInputArgument(_pvCtx) + _iVar;
  
      if (_iRows == 0 && _iCols == 0)
      {
  
  SciErr allocMatrixOfUnsignedInteger16(void* _pvCtx, int _iVar, int _iRows, int _iCols, unsigned short** _pusData16)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     int *piAddr                                                               = NULL;
 -    int *piAddr                 = NULL;
 -    unsigned short *pusData16   = NULL;
 -    int iNewPos                 = Top - Rhs + _iVar;
++    SciErr sciErr = sciErrInit();
++    int *piAddr = NULL;
 +    unsigned short *pusData16 = NULL;
-     //        int iNewPos                                                             = api_Top((int*)_pvCtx) - *getInputArgument(_pvCtx) + _iVar;
  
      if (_iRows == 0 && _iCols == 0)
      {
  
  SciErr allocMatrixOfUnsignedInteger32(void* _pvCtx, int _iVar, int _iRows, int _iCols, unsigned int** _puiData32)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     int *piAddr                                                       = NULL;
 -    int *piAddr             = NULL;
 -    unsigned int *puiData32 = NULL;
 -    int iNewPos             = Top - Rhs + _iVar;
++    SciErr sciErr = sciErrInit();
++    int *piAddr = NULL;
 +    unsigned int *puiData32   = NULL;
-     //        int iNewPos                                             = api_Top((int*)_pvCtx) - *getInputArgument(_pvCtx) + _iVar;
  
      if (_iRows == 0 && _iCols == 0)
      {
  #ifdef __SCILAB_INT64__
  SciErr allocMatrixOfUnsignedInteger64(void* _pvCtx, int _iVar, int _iRows, int _iCols, unsigned long long** _pullData64)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     int *piAddr                                                                                       = NULL;
 -    int *piAddr                     = NULL;
 -    unsigned long long *pullData64  = NULL;
 -    int iNewPos                     = Top - Rhs + _iVar;
++    SciErr sciErr = sciErrInit();
++    int *piAddr = NULL;
 +    unsigned long long *pullData64    = NULL;
-     //        int iNewPos                                                                                     = api_Top((int*)_pvCtx) - *getInputArgument(_pvCtx) + _iVar;
  
      if (_iRows == 0 && _iCols == 0)
      {
  }
  #endif
  
 -SciErr allocCommonMatrixOfInteger(void* _pvCtx, int _iVar, int *_piAddress, int _iPrecision, int _iRows, int _iCols, void** pvData)
 +SciErr allocCommonMatrixOfInteger(void* _pvCtx, int _iVar, int *_piAddress, int _iPrecision, int _iRows, int _iCols, void** _pvData)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
+     SciErr sciErr = sciErrInit();
 -    int iNewPos     = Top - Rhs + _iVar;
 -    int iAddr       = *Lstk(iNewPos);
 -    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;
  
      //return empty matrix
      if (_iRows == 0 && _iCols == 0)
@@@ -800,15 -628,25 +751,13 @@@ SciErr createNamedMatrixOfInteger64(voi
  
  SciErr createCommonNamedMatrixOfInteger(void* _pvCtx, const char* _pstName, int _iPrecision, int _iRows, int _iCols, const void* _pvData)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
+     SciErr sciErr = sciErrInit();
 -    int iVarID[nsiz];
 -    int iSaveRhs    = Rhs;
 -    int iSaveTop    = Top;
 -    int *piAddr     = NULL;
 -    void *pvData    = NULL;
 +    wchar_t* pwstName   = to_wide_string(_pstName);
  
 -    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;
 -
 -    //return named empty matrix
 +    //return empty matrix
      if (_iRows == 0 && _iCols == 0)
      {
 -        double dblReal = 0;
 -        sciErr = createNamedMatrixOfDouble(_pvCtx, _pstName, 0, 0, &dblReal);
 -        if (sciErr.iErr)
 +        if (createNamedEmptyMatrix(_pvCtx, _pstName))
          {
              addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_EMPTY_MATRIX, _("%s: Unable to create variable in Scilab memory"), "createNamedEmptyMatrix");
          }
@@@ -875,12 -701,10 +821,12 @@@ SciErr getNamedMatrixOfIntegerPrecision
          return sciErr;
      }
  
 +    InternalType* pIT = (InternalType*)piAddr;
 +
      //check variable type
 -    if (piAddr[0] != sci_ints)
 +    if (pIT->isInt() == false)
      {
-         addErrorMessage(&sciErr, API_ERROR_INVALID_TYPE, _("%s: Invalid argument type, %s excepted"), "getNamedMatrixOfIntegerPrecision", _("int matrix"));
+         addErrorMessage(&sciErr, API_ERROR_INVALID_TYPE, _("%s: Invalid argument type, %s expected"), "getNamedMatrixOfIntegerPrecision", _("int matrix"));
          return sciErr;
      }
  
@@@ -985,8 -768,7 +928,7 @@@ SciErr readCommonNamedMatrixOfInteger(v
          addErrorMessage(&sciErr, API_ERROR_READ_NAMED_INT, _("%s: Unable to get variable \"%s\""), "readNamedMatrixOfInteger", _pstName);
          return sciErr;
      }
 -    iSize = *_piRows **_piCols;
 +    iSize = *_piRows * *_piCols;
  
      if (pvData == NULL || _pvData == NULL)
      {
@@@ -1267,11 -1047,9 +1207,9 @@@ int getNamedScalarUnsignedInteger64(voi
  }
  #endif
  /*--------------------------------------------------------------------------*/
 -static int getCommandNamedScalarInteger(void* _pvCtx, const char* _pstName, int _iPrec, void** _pvData)
 +static int getCommonNamedScalarInteger(void* _pvCtx, const char* _pstName, int _iPrec, void** _pvData)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
+     SciErr sciErr = sciErrInit();
      int iRows = 0;
      int iCols = 0;
  
@@@ -1347,11 -1113,7 +1273,8 @@@ int createScalarInteger32(void* _pvCtx
  #ifdef __SCILAB_INT64__
  int createScalarInteger64(void* _pvCtx, int _iVar, long long _llData)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
 -    SciErr sciErr = createMatrixOfInteger64(_pvCtx, _iVar, 1, 1, _llData);
++    SciErr sciErr = sciErrInit();
 +    sciErr = createMatrixOfInteger64(_pvCtx, _iVar, 1, 1, &_llData);
      if (sciErr.iErr)
      {
          addErrorMessage(&sciErr, API_ERROR_CREATE_SCALAR_INT, _("%s: Unable to create variable in Scilab memory"), "createScalarInteger64");
@@@ -266,10 -275,10 +263,10 @@@ SciErr getListItemNumber(void* _pvCtx, 
          case sci_list :
          case sci_mlist :
          case sci_tlist :
 -            *_piNbItem = _piAddress[1];
 +            *_piNbItem = pL->getSize();
              break;
          default :
-             addErrorMessage(&sciErr, API_ERROR_INVALID_LIST_TYPE, _("%s: Invalid argument type, %s excepted"), "getListItemNumber", _("list"));
+             addErrorMessage(&sciErr, API_ERROR_INVALID_LIST_TYPE, _("%s: Invalid argument type, %s expected"), "getListItemNumber", _("list"));
              return sciErr;
      }
      return sciErr;
@@@ -360,20 -366,76 +354,80 @@@ SciErr createNamedMList(void* _pvCtx, c
  
  static SciErr createCommonNamedList(void* _pvCtx, const char* _pstName, int _iListType, int _iNbItem, int** _piAddress)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     // FIXME
+     SciErr sciErr = sciErrInit();
++#if 0
+     int iVarID[nsiz];
+     int iSaveRhs   = Rhs;
+     int iSaveTop   = Top;
+     int *piAddr    = NULL;
+     int* piEnd    = NULL;
+     if (!checkNamedVarFormat(_pvCtx, _pstName))
+     {
+         addErrorMessage(&sciErr, API_ERROR_INVALID_NAME, _("%s: Invalid variable name."), "createCommonNamedList");
+         return sciErr;
+     }
+     C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
+     Top = Top + Nbvars + 1;
+     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;
+     }
+     piEnd = piAddr + 3 + _iNbItem + !(_iNbItem % 2);
+     closeList(Top, piEnd);
+     Rhs = 0;
+     if (_iNbItem != 0)
+     {
+         pushNamedListAddress(_pstName, piAddr);
+     }
+     else
+     {
+         //Add name in stack reference list
+         createNamedVariable(iVarID);
+     }
+     Top      = iSaveTop;
+     Rhs      = iSaveRhs;
++#endif
  
 -    *_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;
-     // FIXME
++    SciErr sciErr = sciErrInit();
++#if 0
+     int *piAddr   = NULL;
+     int iNewPos   = Top - Rhs + _iVar;
+     int iAddr    = *Lstk(iNewPos);
+     getNewVarAddressFromPosition(_pvCtx, iNewPos, &piAddr);
+     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));
+     if (_iNbItem != 0)
+     {
+         pushListAddress(_iVar, piAddr);
+     }
++#endif
  
      return sciErr;
  }
@@@ -540,11 -590,82 +582,85 @@@ SciErr createMListInList(void* _pvCtx, 
  
  static SciErr createCommonListInList(void* _pvCtx, int _iVar, const char* _pstName, int* /*_piParent*/, int _iItemPos, int _iListType, int _iNbItem, int** _piAddress, int iNamed)
  {
++    SciErr sciErr = sciErrInit();
++#if 0
+     int iNewPos    = Top - Rhs + _iVar;
+     int iNbItem    = 0;
+     int* piChildAddr = NULL;
+     int* piParent   = NULL;
  
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     // FIXME
+     if (iNamed)
+     {
+         piParent = getLastNamedListAddress(_pstName, _iItemPos);
+     }
+     else
+     {
+         piParent = getLastListAddress(_iVar, _iItemPos);
+     }
+     //Does item can be added in the list
+     SciErr 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, _pstName, piParent, _iItemPos, piEnd);
+         }
+         else
+         {
+             updateListOffset(_pvCtx, _iVar, piParent, _iItemPos, piEnd);
+             if (_iItemPos == piParent[1])
+             {
+                 popListAddress(_iVar);
+             }
+         }
+     }
+     else
+     {
+         //not empty list
+         if (iNamed == 0)
+         {
+             //add new child address in stacklist
+             pushListAddress(_iVar, *_piAddress);
+         }
+     }
++#endif
  
      return sciErr;
  }
@@@ -564,13 -685,41 +680,42 @@@ SciErr createMListInNamedList(void* _pv
      return createCommonListInNamedList(_pvCtx, _pstName, _piParent, _iItemPos, sci_mlist, _iNbItem, _piAddress);
  }
  
 -SciErr createCommonListInNamedList(void* _pvCtx, const char* _pstName, int* /*_piParent*/, int _iItemPos, int _iListType, int _iNbItem, int** _piAddress)
 +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;
-     // FIXME
+     SciErr sciErr = sciErrInit();
++#if 0
+     int iVarID[nsiz];
+     int iSaveTop = Top;
+     int* piParent = getLastNamedListAddress(_pstName, _iItemPos);
+     if (!checkNamedVarFormat(_pvCtx, _pstName))
+     {
+         addErrorMessage(&sciErr, API_ERROR_INVALID_NAME, _("%s: Invalid variable name."), "createCommonListInNamedList");
+         return sciErr;
+     }
+     C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
+     Top = Top + Nbvars + 1;
+     sciErr = createCommonListInList(_pvCtx, Top, _pstName, 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])
+     {
+         popNamedListAddress(_pstName);
+     }
+     if (_iNbItem != 0)
+     {
+         //add new child address in stacklist
+         pushNamedListAddress(_pstName, *_piAddress);
+     }
++#endif
  
 -    Top = iSaveTop;
      return sciErr;
  }
  
@@@ -605,21 -752,128 +748,131 @@@ SciErr allocCommonItemInList(void* _pvC
  ******************************/
  SciErr createVoidInNamedList(void* _pvCtx, const char* _pstName, int* /*_piParent*/, int _iItemPos)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     // FIXME
+     SciErr sciErr = sciErrInit();
++#if 0
+     int iVarID[nsiz];
+     int iNbItem         = 0;
+     int iSaveRhs        = Rhs;
+     int iSaveTop        = Top;
+     int* piEnd          = NULL;
+     int* piChildAddr    = NULL;
+     int* piOffset       = NULL;
+     int* piParent       = getLastNamedListAddress(_pstName, _iItemPos);
+     if (!checkNamedVarFormat(_pvCtx, _pstName))
+     {
+         addErrorMessage(&sciErr, API_ERROR_INVALID_NAME, _("%s: Invalid variable name."), "createVoidInNamedList");
+         return sciErr;
+     }
+     C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
+     Top = Top + Nbvars + 1;
+     //Does item can be added in the list
+     sciErr = getListItemNumber(_pvCtx, piParent, &iNbItem);
+     if (sciErr.iErr)
+     {
+         addErrorMessage(&sciErr, API_ERROR_CREATE_VOID_IN_LIST, _("%s: Unable to get address of item #%d in argument #%d"), "createVoidInNamedList", _iItemPos + 1, getRhsFromAddress(_pvCtx, piParent));
+         return sciErr;
+     }
+     if (iNbItem < _iItemPos)
+     {
+         addErrorMessage(&sciErr, API_ERROR_ITEM_LIST_NUMBER, _("%s: Unable to create list item #%d in Scilab memory"), "createVoidInNamedList", _iItemPos + 1);
+         return sciErr;
+     }
+     sciErr = allocCommonItemInList(_pvCtx, piParent, _iItemPos, &piChildAddr);
+     if (sciErr.iErr)
+     {
+         addErrorMessage(&sciErr, API_ERROR_ALLOC_DOUBLE_IN_LIST, _("%s: Unable to get address of item #%d in argument #%d"), "createVoidInNamedList", _iItemPos + 1, getRhsFromAddress(_pvCtx, piParent));
+         return sciErr;
+     }
+     //set type, rows, cols complex at 0
+     piChildAddr[0]  = 0;
+     piChildAddr[1]  = 0;
+     piChildAddr[2]  = 0;
+     piChildAddr[3]  = 0;
+     piOffset            = piParent + 2;
+     piOffset[_iItemPos] = piOffset[_iItemPos - 1] + 2;
+     piEnd = piChildAddr + 4;
+     closeList(Top, piEnd);
+     if (_iItemPos == piParent[1])
+     {
+         updateNamedListOffset(_pvCtx, Top, _pstName, piParent, _iItemPos, piEnd);
+         popNamedListAddress(_pstName);
+     }
+     Top = iSaveTop;
+     Rhs = iSaveRhs;
++#endif
  
      return sciErr;
  }
  
  SciErr createUndefinedInNamedList(void* _pvCtx, const char* _pstName, int* /*_piParent*/, int _iItemPos)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     // FIXME
+     SciErr sciErr = sciErrInit();
++#if 0
+     int iVarID[nsiz];
+     int iNbItem         = 0;
+     int iSaveRhs        = Rhs;
+     int iSaveTop        = Top;
+     int* piEnd          = NULL;
+     int* piChildAddr    = NULL;
+     int* piOffset       = NULL;
+     int* piParent       = getLastNamedListAddress(_pstName, _iItemPos);
+     if (!checkNamedVarFormat(_pvCtx, _pstName))
+     {
+         addErrorMessage(&sciErr, API_ERROR_INVALID_NAME, _("%s: Invalid variable name."), "createUndefinedInNamedList");
+         return sciErr;
+     }
  
+     C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
+     Top = Top + Nbvars + 1;
+     //Does item can be added in the list
+     sciErr = getListItemNumber(_pvCtx, piParent, &iNbItem);
+     if (sciErr.iErr)
+     {
+         addErrorMessage(&sciErr, API_ERROR_CREATE_VOID_IN_LIST, _("%s: Unable to get address of item #%d in argument #%d"), "createVoidInNamedList", _iItemPos + 1, getRhsFromAddress(_pvCtx, piParent));
+         return sciErr;
+     }
+     if (iNbItem < _iItemPos)
+     {
+         addErrorMessage(&sciErr, API_ERROR_ITEM_LIST_NUMBER, _("%s: Unable to create list item #%d in Scilab memory"), "createVoidInNamedList", _iItemPos + 1);
+         return sciErr;
+     }
+     sciErr = allocCommonItemInList(_pvCtx, piParent, _iItemPos, &piChildAddr);
+     if (sciErr.iErr)
+     {
+         addErrorMessage(&sciErr, API_ERROR_ALLOC_DOUBLE_IN_LIST, _("%s: Unable to get address of item #%d in argument #%d"), "createVoidInNamedList", _iItemPos + 1, getRhsFromAddress(_pvCtx, piParent));
+         return sciErr;
+     }
+     //undefined size == 0, so put previous offset
+     piOffset            = piParent + 2;
+     piOffset[_iItemPos] = piOffset[_iItemPos - 1];
+     piEnd = piChildAddr;
+     closeList(Top, piEnd);
+     if (_iItemPos == piParent[1])
+     {
+         updateNamedListOffset(_pvCtx, Top, _pstName, piParent, _iItemPos, piEnd);
+         popNamedListAddress(_pstName);
+     }
+     Top = iSaveTop;
+     Rhs = iSaveRhs;
 -
++#endif
      return sciErr;
  }
  
@@@ -672,10 -923,26 +922,29 @@@ SciErr allocComplexMatrixOfDoubleInList
  
  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;
-     // FIXME
++    SciErr sciErr = sciErrInit();
++#if 0
+     int iNewPos     = Top - Rhs + _iVar;
+     int* piEnd      = NULL;
+     int* piParent   = getLastListAddress(_iVar, _iItemPos);
+     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);
+     if (_iItemPos == piParent[1])
+     {
+         updateListOffset(_pvCtx, _iVar, piParent, _iItemPos, piEnd);
+         popListAddress(_iVar);
+     }
++#endif
      return sciErr;
  }
  
@@@ -792,20 -1050,114 +1052,118 @@@ SciErr createComplexMatrixOfDoubleInNam
  
  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;
-     // FIXME
+     SciErr sciErr = sciErrInit();
++#if 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;
+     int* piParent       = getLastNamedListAddress(_pstName, _iItemPos);
+     if (!checkNamedVarFormat(_pvCtx, _pstName))
+     {
+         addErrorMessage(&sciErr, API_ERROR_INVALID_NAME, _("%s: Invalid variable name."), "createComplexZMatrixOfDoubleInNamedList");
+         return sciErr;
+     }
+     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, _pstName, piParent, _iItemPos, piEnd);
+         popNamedListAddress(_pstName);
+     }
+     Top = iSaveTop;
+     Rhs = iSaveRhs;
++#endif
  
      return sciErr;
  }
  
  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;
-     // FIXME
+     SciErr sciErr = sciErrInit();
++#if 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;
+     int* piParent       = getLastNamedListAddress(_pstName, _iItemPos);
+     if (!checkNamedVarFormat(_pvCtx, _pstName))
+     {
+         addErrorMessage(&sciErr, API_ERROR_INVALID_NAME, _("%s: Invalid variable name."), "createCommomMatrixOfDoubleInNamedList");
+         return sciErr;
+     }
+     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, _pstName, piParent, _iItemPos, piEnd);
+         popNamedListAddress(_pstName);
+     }
+     Top = iSaveTop;
+     Rhs = iSaveRhs;
++#endif
  
      return sciErr;
  }
@@@ -905,20 -1252,57 +1258,16 @@@ SciErr getMatrixOfStringInList(void* _p
  
  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;
 -    int* piParent   = getLastListAddress(_iVar, _iItemPos);
 -
 -    SciErr 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);
 -        popListAddress(_iVar);
 -    }
 -
++    SciErr sciErr = sciErrInit();
 +    // FIXME
      return sciErr;
  }
  
  SciErr fillCommonMatrixOfStringInList(void* _pvCtx, int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, const char* const* _pstStrings, int* _piTotalLen)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
+     SciErr sciErr = sciErrInit();
++#if 0
      int iNbItem   = 0;
      int* piAddr   = NULL;
      int* piOffset  = NULL;
  
  
      piOffset      = _piParent + 2;
      piOffset[_iItemPos] = piOffset[_iItemPos - 1] + (*_piTotalLen + 5 + _iRows * _iCols + !((*_piTotalLen + _iRows * _iCols) % 2)) / 2;
--
++#endif
      return sciErr;
  }
  
  SciErr createMatrixOfStringInNamedList(void* _pvCtx, const char* _pstName, int* /*_piParent*/, int _iItemPos, int _iRows, int _iCols, const char* const* _pstStrings)
  {
+     SciErr sciErr = sciErrInit();
++#if 0
+     int iVarID[nsiz];
+     int iTotalLen       = 0;
+     int iSaveRhs        = Rhs;
+     int iSaveTop        = Top;
+     int* piItemAddr     = NULL;
+     int* piEnd          = NULL;
+     int* piParent       = getLastNamedListAddress(_pstName, _iItemPos);
+     if (!checkNamedVarFormat(_pvCtx, _pstName))
+     {
+         addErrorMessage(&sciErr, API_ERROR_INVALID_NAME, _("%s: Invalid variable name."), "createMatrixOfStringInNamedList");
+         return sciErr;
+     }
+     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 = 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 + !((iTotalLen + _iRows * _iCols) % 2);
+     closeList(Top, piEnd);
+     if (_iItemPos == piParent[1])
+     {
+         updateNamedListOffset(_pvCtx, Top, _pstName, piParent, _iItemPos, piEnd);
+         popNamedListAddress(_pstName);
+     }
+     Top = iSaveTop;
+     Rhs = iSaveRhs;
 -
++#endif
  
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
      return sciErr;
  }
  
@@@ -1051,65 -1468,119 +1434,127 @@@ SciErr createMatrixOfBooleanInList(void
  
  SciErr allocMatrixOfBooleanInList(void* _pvCtx, int _iVar, int* /*_piParent*/, int _iItemPos, int _iRows, int _iCols, int** _piBool)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     // FIXME
++    SciErr sciErr = sciErrInit();
++#if 0
+     int iNewPos     = Top - Rhs + _iVar;
+     int* piEnd      = NULL;
+     int* piParent   = getLastListAddress(_iVar, _iItemPos);
+     SciErr 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);
+         popListAddress(_iVar);
+     }
++#endif
      return sciErr;
  }
  
  static SciErr fillMatrixOfBoolInList(void* _pvCtx, int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, int** _piBool)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     /*
-         int iNbItem    = 0;
-         int* piOffset   = NULL;
-         int* piChildAddr = NULL;
++    SciErr sciErr = sciErrInit();
++#if 0
+     int iNbItem    = 0;
+     int* piOffset   = NULL;
+     int* piChildAddr = NULL;
  
-         //Does item can be added in the list
-         sciErr = getListItemNumber(_pvCtx, _piParent, &iNbItem);
-         if (sciErr.iErr)
-         {
-             addErrorMessage(&sciErr, API_ERROR_FILL_BOOLEAN_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createMatrixOfBoolInList", _iItemPos + 1);
-             return sciErr;
-         }
+     //Does item can be added in the list
+     SciErr sciErr = getListItemNumber(_pvCtx, _piParent, &iNbItem);
+     if (sciErr.iErr)
+     {
+         addErrorMessage(&sciErr, API_ERROR_FILL_BOOLEAN_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createMatrixOfBoolInList", _iItemPos + 1);
+         return sciErr;
+     }
  
-         if (iNbItem < _iItemPos)
-         {
-             addErrorMessage(&sciErr, API_ERROR_ITEM_LIST_NUMBER, _("%s: Unable to create list item #%d in Scilab memory"), "createMatrixOfBooleanInList", _iItemPos + 1);
-             return sciErr;
-         }
+     if (iNbItem < _iItemPos)
+     {
+         addErrorMessage(&sciErr, API_ERROR_ITEM_LIST_NUMBER, _("%s: Unable to create list item #%d in Scilab memory"), "createMatrixOfBooleanInList", _iItemPos + 1);
+         return sciErr;
+     }
  
  
-         sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
-         if (sciErr.iErr)
-         {
-             addErrorMessage(&sciErr, API_ERROR_FILL_BOOLEAN_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createMatrixOfBoolInList", _iItemPos + 1);
-             return sciErr;
-         }
+     sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
+     if (sciErr.iErr)
+     {
+         addErrorMessage(&sciErr, API_ERROR_FILL_BOOLEAN_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createMatrixOfBoolInList", _iItemPos + 1);
+         return sciErr;
+     }
  
-         sciErr = fillMatrixOfBoolean(_pvCtx, piChildAddr, _iRows, _iCols, _piBool);
-         if (sciErr.iErr)
-         {
-             addErrorMessage(&sciErr, API_ERROR_FILL_BOOLEAN_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createMatrixOfBoolInList", _iItemPos + 1);
-             return sciErr;
-         }
+     sciErr = fillMatrixOfBoolean(_pvCtx, piChildAddr, _iRows, _iCols, _piBool);
+     if (sciErr.iErr)
+     {
+         addErrorMessage(&sciErr, API_ERROR_FILL_BOOLEAN_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createMatrixOfBoolInList", _iItemPos + 1);
+         return sciErr;
+     }
  
-         piOffset      = _piParent + 2;
-         piOffset[_iItemPos] = piOffset[_iItemPos - 1] + ((3 + _iRows * _iCols + !((_iRows * _iCols) % 2)) / 2);
+     piOffset      = _piParent + 2;
+     piOffset[_iItemPos] = piOffset[_iItemPos - 1] + ((3 + _iRows * _iCols + !((_iRows * _iCols) % 2)) / 2);
  
-     */
++#endif
      return sciErr;
  }
  
  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;
-     // FIXME
+     SciErr sciErr = sciErrInit();
++#if 0
+     int iVarID[nsiz];
+     int iSaveRhs        = Rhs;
+     int iSaveTop        = Top;
+     int *piAddr         = NULL;
+     int* piBool         = NULL;
+     int* piEnd          = NULL;
+     int* piChildAddr    = NULL;
+     int* piParent       = getLastNamedListAddress(_pstName, _iItemPos);
+     if (!checkNamedVarFormat(_pvCtx, _pstName))
+     {
+         addErrorMessage(&sciErr, API_ERROR_INVALID_NAME, _("%s: Invalid variable name."), "createMatrixOfBooleanInNamedList");
+         return sciErr;
+     }
+     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, _pstName, piParent, _iItemPos, piEnd);
+         popNamedListAddress(_pstName);
+     }
+     Top = iSaveTop;
+     Rhs = iSaveRhs;
++#endif
  
      return sciErr;
  }
@@@ -1307,17 -1766,65 +1740,67 @@@ SciErr createMatrixOfPolyInNamedList(vo
      return createCommonMatrixOfPolyInNamedList(_pvCtx, _pstName, _piParent, _iItemPos, _pstVarName, 0, _iRows, _iCols, _piNbCoef, _pdblReal, NULL);
  }
  
- SciErr createComplexMatrixOfPolyInNamedList(void* _pvCtx, const char* _pstName, int* _piParent, int _iItemPos, char* _pstVarName, int _iRows, int _iCols, const int* _piNbCoef, const double* const* _pdblReal, const double* const* _pdblImg)
- {
-     return createCommonMatrixOfPolyInNamedList(_pvCtx, _pstName, _piParent, _iItemPos, _pstVarName, 1, _iRows, _iCols, _piNbCoef, _pdblReal, _pdblImg);
- }
+ SciErr createComplexMatrixOfPolyInNamedList(void* _pvCtx, const char* _pstName, int* _piParent, int _iItemPos, char* _pstVarName, int _iRows, int _iCols, const int* _piNbCoef, const double* const* _pdblReal, const double* const* _pdblImg)
+ {
+     return createCommonMatrixOfPolyInNamedList(_pvCtx, _pstName, _piParent, _iItemPos, _pstVarName, 1, _iRows, _iCols, _piNbCoef, _pdblReal, _pdblImg);
+ }
+ 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 = sciErrInit();
++#if 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;
+     int* piParent       = getLastNamedListAddress(_pstName, _iItemPos);
+     if (!checkNamedVarFormat(_pvCtx, _pstName))
+     {
+         addErrorMessage(&sciErr, API_ERROR_INVALID_NAME, _("%s: Invalid variable name."), "createCommonMatrixOfPolyInNamedList");
+         return sciErr;
+     }
+     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, _pstName, piParent, _iItemPos, piEnd);
+         popNamedListAddress(_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;
-     // FIXME
+     Top = iSaveTop;
+     Rhs = iSaveRhs;
++#endif
  
      return sciErr;
  }
@@@ -1433,11 -1935,34 +1911,37 @@@ static SciErr fillCommonMatrixOfInteger
  
  static SciErr allocCommonMatrixOfIntegerInList(void* _pvCtx, int _iVar, const char* _pstName, int* /*_piParent*/, int _iItemPos, int _iPrecision, int _iRows, int _iCols, void** _pvData)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     // FIXME
++    SciErr sciErr = sciErrInit();
++#if 0
+     int iNewPos = Top - Rhs + _iVar;
+     int* piEnd = NULL;
+     int* piParent = NULL;
  
+     if (_pstName)
+     {
+         piParent = getLastNamedListAddress(_pstName, _iItemPos);
+     }
+     else
+     {
+         piParent = getLastListAddress(_iVar, _iItemPos);
+     }
+     SciErr 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);
+         popListAddress(_iVar);
+     }
++#endif
      return sciErr;
  }
  
@@@ -1478,21 -1996,11 +1982,18 @@@ SciErr allocMatrixOfInteger32InList(voi
      return allocCommonMatrixOfIntegerInList(_pvCtx, _iVar, NULL, _piParent, _iItemPos, SCI_INT32, _iRows, _iCols, (void**)_piData);
  }
  
 +#ifdef __SCILAB_INT64__
 +SciErr allocMatrixOfInteger64InList(void* _pvCtx, int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, long long** _pllData)
 +{
 +    return allocCommonMatrixOfIntegerInList(_pvCtx, _iVar, NULL, _piParent, _iItemPos, SCI_INT64, _iRows, _iCols, (void**)_pllData);
 +}
 +#endif
 +
  static SciErr createCommomMatrixOfIntegerInList(void* _pvCtx, int _iVar, const char* _pstName, int* _piParent, int _iItemPos, int _iPrecision, int _iRows, int _iCols, const void* _pvData)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
      void *pvData = NULL;
  
-     sciErr = allocCommonMatrixOfIntegerInList(_pvCtx, _iVar, _pstName, _piParent, _iItemPos, _iPrecision, _iRows, _iCols, &pvData);
+     SciErr sciErr = allocCommonMatrixOfIntegerInList(_pvCtx, _iVar, _pstName, _piParent, _iItemPos, _iPrecision, _iRows, _iCols, &pvData);
      if (sciErr.iErr)
      {
          addErrorMessage(&sciErr, API_ERROR_CREATE_INT_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), "createMatrixOfIntegerInList", _iItemPos + 1);
@@@ -1543,21 -2044,11 +2044,18 @@@ SciErr createMatrixOfInteger32InList(vo
      return createCommomMatrixOfIntegerInList(_pvCtx, _iVar, NULL, _piParent, _iItemPos, SCI_INT32, _iRows, _iCols, _piData);
  }
  
 +#ifdef __SCILAB_INT64__
 +SciErr createMatrixOfInteger64InList(void* _pvCtx, int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, const long long* _pllData)
 +{
 +    return createCommomMatrixOfIntegerInList(_pvCtx, _iVar, NULL, _piParent, _iItemPos, SCI_INT64, _iRows, _iCols, _pllData);
 +}
 +#endif
 +
  static SciErr getCommonMatrixOfIntegerInList(void* _pvCtx, int* _piParent, int _iItemPos, int _iPrecision, int* _piRows, int* _piCols, void** _pvData)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
      int* piAddr  = NULL;
  
-     sciErr = getListItemAddress(_pvCtx, _piParent, _iItemPos, &piAddr);
+     SciErr sciErr = getListItemAddress(_pvCtx, _piParent, _iItemPos, &piAddr);
      if (sciErr.iErr)
      {
          addErrorMessage(&sciErr, API_ERROR_GET_INT_IN_LIST, _("%s: Unable to get address of item #%d in argument #%d"), "getMatrixOfIntegerInList", _iItemPos + 1, getRhsFromAddress(_pvCtx, _piParent));
@@@ -1611,19 -2095,58 +2109,67 @@@ SciErr getMatrixOfInteger32InList(void
      return getCommonMatrixOfIntegerInList(_pvCtx, _piParent, _iItemPos, SCI_INT32, _piRows, _piCols, (void**)_piData);
  }
  
 +#ifdef __SCILAB_INT64__
 +SciErr getMatrixOfInteger64InList(void* _pvCtx, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, long long** _pllData)
 +{
 +    return getCommonMatrixOfIntegerInList(_pvCtx, _piParent, _iItemPos, SCI_INT64, _piRows, _piCols, (void**)_pllData);
 +}
 +#endif
 +
  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;
-     // FIXME
+     SciErr sciErr = sciErrInit();
++#if 0
+     int iVarID[nsiz];
+     int iSaveRhs        = Rhs;
+     int iSaveTop        = Top;
+     int *piAddr         = NULL;
+     int* piEnd          = NULL;
+     int* piChildAddr    = NULL;
+     int* piParent       = getLastNamedListAddress(_pstName, _iItemPos);
+     if (!checkNamedVarFormat(_pvCtx, _pstName))
+     {
+         addErrorMessage(&sciErr, API_ERROR_INVALID_NAME, _("%s: Invalid variable name."), "createCommonMatrixOfIntegerInNamedList");
+         return sciErr;
+     }
+     C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
+     Top = Top + Nbvars + 1;
+     getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+     sciErr = createCommomMatrixOfIntegerInList(_pvCtx, Top, _pstName, 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, _pstName, piParent, _iItemPos, piEnd);
+         popNamedListAddress(_pstName);
+     }
+     Top = iSaveTop;
+     Rhs = iSaveRhs;
++#endif
  
      return sciErr;
  }
@@@ -1665,18 -2181,9 +2211,16 @@@ SciErr createMatrixOfInteger32InNamedLi
      return createCommonMatrixOfIntegerInNamedList(_pvCtx, _pstName, _piParent, _iItemPos, SCI_INT32, _iRows, _iCols, _piData);
  }
  
 +#ifdef __SCILAB_INT64__
 +SciErr createMatrixOfInteger64InNamedList(void* _pvCtx, const char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, const long long* _pllData)
 +{
 +    return createCommonMatrixOfIntegerInNamedList(_pvCtx, _pstName, _piParent, _iItemPos, SCI_INT64, _iRows, _iCols, _pllData);
 +}
 +#endif
 +
  static SciErr readCommonMatrixOfIntgerInNamedList(void* _pvCtx, const char* _pstName, int* _piParent, int _iItemPos, int _iPrecision, int* _piRows, int* _piCols, void* _pvData)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
+     SciErr sciErr = sciErrInit();
      int iNbItem    = 0;
      int* piAddr    = NULL;
      int* piRoot    = NULL;
@@@ -1770,17 -2263,105 +2314,111 @@@ SciErr readMatrixOfIntger64InNamedList(
  
  static SciErr fillCommonSparseMatrixInList(void* _pvCtx, int _iVar, int* _piParent, int _iItemPos, int _iComplex, int _iRows, int _iCols, int _iNbItem, const int* _piNbItemRow, const int* _piColPos, const double* _pdblReal, const double* _pdblImg, int* _piTotalSize)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
++    SciErr sciErr = sciErrInit();
++#if 0
+     int iNbItem    = 0;
+     int iTotalLen   = 0;
+     int* piOffset   = NULL;
+     int* piNbItemRow = NULL;
+     int* piColPos   = NULL;
+     int* piChildAddr = NULL;
+     double* pdblReal = NULL;
+     double* pdblImg  = NULL;
+     int iItemLen   = 0;
+     //Does item can be added in the list
+     SciErr sciErr = getListItemNumber(_pvCtx, _piParent, &iNbItem);
+     if (sciErr.iErr)
+     {
+         addErrorMessage(&sciErr, API_ERROR_FILL_SPARSE_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), _iComplex ? "createComplexSparseMatrixInList" : "createComplexSparseMatrixInList", _iItemPos + 1);
+         return sciErr;
+     }
+     if (iNbItem < _iItemPos)
+     {
+         addErrorMessage(&sciErr, API_ERROR_ITEM_LIST_NUMBER, _("%s: Unable to create list item #%d in Scilab memory"), _iComplex ? "createComplexSparseMatrixInList" : "createSparseMatrixInNamedList", _iItemPos + 1);
+         return sciErr;
+     }
+     sciErr = allocCommonItemInList(_pvCtx, _piParent, _iItemPos, &piChildAddr);
+     if (sciErr.iErr)
+     {
+         addErrorMessage(&sciErr, API_ERROR_FILL_SPARSE_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), _iComplex ? "createComplexSparseMatrixInList" : "createComplexSparseMatrixInList", _iItemPos + 1);
+         return sciErr;
+     }
+     sciErr = fillCommonSparseMatrix(_pvCtx, piChildAddr, _iComplex, _iRows, _iCols, _iNbItem, &piNbItemRow, &piColPos, &pdblReal, &pdblImg, &iTotalLen);
+     if (sciErr.iErr)
+     {
+         addErrorMessage(&sciErr, API_ERROR_FILL_SPARSE_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), _iComplex ? "createComplexSparseMatrixInList" : "createComplexSparseMatrixInList", _iItemPos + 1);
+         return sciErr;
+     }
+     piOffset      = _piParent + 2;
+     iItemLen      = 5 + _iRows + _iNbItem + !((_iRows + _iNbItem) % 2);
+     iItemLen      += iTotalLen * 2;
+     piOffset[_iItemPos] = piOffset[_iItemPos - 1] + ((iItemLen + 1) / 2);
+     memcpy(piNbItemRow, _piNbItemRow, _iRows * sizeof(int));
+     memcpy(piColPos, _piColPos, _iNbItem * sizeof(int));
+     memcpy(pdblReal, _pdblReal, _iNbItem * sizeof(double));
+     if (_iComplex)
+     {
+         memcpy(pdblImg, _pdblImg, _iNbItem * sizeof(double));
+     }
+     *_piTotalSize = iTotalLen;
++#endif
      return sciErr;
  }
  
  static SciErr createCommonSparseMatrixInList(void* _pvCtx, int _iVar, 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;
++    SciErr sciErr = sciErrInit();
++#if 0
+     int* piAddr     = NULL;
+     int *piEnd      = NULL;
+     int iItemLen    = 0;
+     int iTotalLen   = 0;
+     int* piParent   = NULL;
+     if (_pstName)
+     {
+         piParent = getLastNamedListAddress(_pstName, _iItemPos);
+     }
+     else
+     {
+         piParent = getLastListAddress(_iVar, _iItemPos);
+     }
+     SciErr sciErr = getListItemAddress(_pvCtx, piParent, _iItemPos, &piAddr);
+     if (sciErr.iErr)
+     {
+         addErrorMessage(&sciErr, API_ERROR_CREATE_SPARSE_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), _iComplex ? "createComplexSparseMatrixInList" : "createComplexSparseMatrixInList", _iItemPos + 1);
+         return sciErr;
+     }
+     sciErr = fillCommonSparseMatrixInList(_pvCtx, _iVar, piParent, _iItemPos, _iComplex, _iRows, _iCols, _iNbItem, _piNbItemRow, _piColPos, _pdblReal, _pdblImg, &iTotalLen);
+     if (sciErr.iErr)
+     {
+         addErrorMessage(&sciErr, API_ERROR_CREATE_SPARSE_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), _iComplex ? "createComplexSparseMatrixInList" : "createComplexSparseMatrixInList", _iItemPos + 1);
+         return sciErr;
+     }
+     iItemLen      = 5 + _iRows + _iNbItem + !((_iRows + _iNbItem) % 2);
+     iItemLen      += iTotalLen * 2;
+     piEnd        = piAddr + iItemLen;
+     if (_iItemPos == piParent[1])
+     {
+         updateListOffset(_pvCtx, _iVar, piParent, _iItemPos, piEnd);
+         popListAddress(_iVar);
+     }
+     closeList(_iVar, piEnd);
++#endif
      return sciErr;
  }
  
@@@ -1796,10 -2377,54 +2434,56 @@@ SciErr createComplexSparseMatrixInList(
  
  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;
-     // FIXME
+     SciErr sciErr = sciErrInit();
++#if 0
+     int iVarID[nsiz];
+     int iSaveRhs        = Rhs;
+     int iSaveTop        = Top;
+     int iItemLen        = 0;
+     int *piAddr         = NULL;
+     int* piEnd          = NULL;
+     int* piChildAddr    = NULL;
+     int* piParent       = getLastNamedListAddress(_pstName, _iItemPos);
+     if (!checkNamedVarFormat(_pvCtx, _pstName))
+     {
+         addErrorMessage(&sciErr, API_ERROR_INVALID_NAME, _("%s: Invalid variable name."), "createCommonSparseMatrixInNamedList");
+         return sciErr;
+     }
+     C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
+     Top = Top + Nbvars + 1;
+     getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+     sciErr = createCommonSparseMatrixInList(_pvCtx, Top, _pstName, 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, _pstName, piParent, _iItemPos, piEnd);
+         popNamedListAddress(_pstName);
+     }
+     Top = iSaveTop;
+     Rhs = iSaveRhs;
++#endif
  
      return sciErr;
  }
@@@ -2031,10 -2645,53 +2704,55 @@@ SciErr createBooleanSparseMatrixInList(
  
  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;
-     // FIXME
+     SciErr sciErr = sciErrInit();
++#if 0
+     int iVarID[nsiz];
+     int iSaveRhs        = Rhs;
+     int iSaveTop        = Top;
+     int iItemLen        = 0;
+     int *piAddr         = NULL;
+     int* piEnd          = NULL;
+     int* piChildAddr    = NULL;
+     int* piParent       = getLastNamedListAddress(_pstName, _iItemPos);
+     if (!checkNamedVarFormat(_pvCtx, _pstName))
+     {
+         addErrorMessage(&sciErr, API_ERROR_INVALID_NAME, _("%s: Invalid variable name."), "createBooleanSparseMatrixInNamedList");
+         return sciErr;
+     }
+     C2F(str2name)(_pstName, iVarID, (unsigned long)strlen(_pstName));
+     Top = Top + Nbvars + 1;
+     getNewVarAddressFromPosition(_pvCtx, Top, &piAddr);
+     sciErr = fillBooleanSparseMatrixInList(_pvCtx, Top, _pstName, 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, _pstName, piParent, _iItemPos, piEnd);
+         popNamedListAddress(_pstName);
+     }
+     Top = iSaveTop;
+     Rhs = iSaveRhs;
++#endif
  
      return sciErr;
  }
@@@ -2147,10 -2796,56 +2857,59 @@@ SciErr getPointerInList(void* _pvCtx, i
  
  SciErr createPointerInList(void* _pvCtx, int _iVar, int* /*_piParent*/, int _iItemPos, void* _pvPtr)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     // FIXME
++    SciErr sciErr = sciErrInit();
++#if 0
+     int iNbItem         = 0;
+     int* piOffset       = NULL;
+     int* piChildAddr    = NULL;
+     void* pvPtr         = NULL;
+     int* piEnd          = NULL;
+     int iNewPos         = Top - Rhs + _iVar;
+     int* piParent       = getLastListAddress(_iVar, _iItemPos);
+     //Does item can be added in the list
+     SciErr 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);
+         popListAddress(_iVar);
+     }
++#endif
      return sciErr;
  }
  
@@@ -2197,10 -2890,51 +2954,53 @@@ SciErr readPointerInNamedList(void* _pv
  
  SciErr createPointerInNamedList(void* _pvCtx, const char* _pstName, int* /*_piParent*/, int _iItemPos, void* _pvPtr)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     // FIXME
+     SciErr sciErr = sciErrInit();
++#if 0
+     int iVarID[nsiz];
+     int iSaveRhs        = Rhs;
+     int iSaveTop        = Top;
+     int *piAddr         = NULL;
+     int* piEnd          = NULL;
+     int* piChildAddr    = NULL;
+     int* piParent       = getLastNamedListAddress(_pstName, _iItemPos);
+     if (!checkNamedVarFormat(_pvCtx, _pstName))
+     {
+         addErrorMessage(&sciErr, API_ERROR_INVALID_NAME, _("%s: Invalid variable name."), "createPointerInNamedList");
+         return sciErr;
+     }
+     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, _pstName, piParent, _iItemPos, piEnd);
+         popNamedListAddress(_pstName);
+     }
+     Top = iSaveTop;
+     Rhs = iSaveRhs;
++#endif
  
      return sciErr;
  }
@@@ -28,12 -22,11 +28,10 @@@ using namespace types
  
  SciErr getPointer(void* _pvCtx, int* _piAddress, void** _pvPtr)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
+     SciErr sciErr = sciErrInit();
      int iType = 0;
 -    double *pdblTmp = NULL;
  
-     if (      _piAddress == NULL)
+     if (_piAddress == NULL)
      {
          addErrorMessage(&sciErr, API_ERROR_INVALID_POINTER, _("%s: Invalid argument address"), "getPointer");
          return sciErr;
      return sciErr;
  }
  
 -SciErr fillPointer(void* _pvCtx, int *_piAddress, void** _pvPtr)
 +SciErr createPointer(void* _pvCtx, int _iVar, void* _pvPtr)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
+     SciErr sciErr = sciErrInit();
 -    if (_piAddress == NULL)
 +
 +    if (_pvCtx == NULL)
      {
 -        addErrorMessage(&sciErr, API_ERROR_INVALID_POINTER, _("%s: Invalid argument address"), "fillPointer");
 +        addErrorMessage(&sciErr, API_ERROR_INVALID_POINTER, _("%s: Invalid argument address"), "creatPointer");
          return sciErr;
      }
  
      return sciErr;
  }
  
 -SciErr createPointer(void* _pvCtx, int _iVar, void* _pvPtr)
 -{
 -    void* pvPtr = NULL;
 -
 -    SciErr sciErr = allocPointer(_pvCtx, _iVar, &pvPtr);
 -    if (sciErr.iErr)
 -    {
 -        addErrorMessage(&sciErr, API_ERROR_CREATE_POINTER, _("%s: Unable to create variable in Scilab memory"), "createPointer");
 -        return sciErr;
 -    }
 -
 -    ((double*)pvPtr)[0] = (double) ((unsigned long int)_pvPtr);
 -
 -    return sciErr;
 -}
 -
 -SciErr createNamedPointer(void* _pvCtx, const char* _pstName, int* _pvPtr)
 +SciErr createNamedPointer(void* _pvCtx, const char* _pstName, void* _pvPtr)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
+     SciErr sciErr = sciErrInit();
 -    int iVarID[nsiz];
 -    int iSaveRhs = Rhs;
 -    int iSaveTop = Top;
 -    void* pvPtr = NULL;
 -    int *piAddr = NULL;
 -
 -    if (!checkNamedVarFormat(_pvCtx, _pstName))
 -    {
 -        addErrorMessage(&sciErr, API_ERROR_INVALID_NAME, _("%s: Invalid variable name."), "createNamedPointer");
 -        return sciErr;
 -    }
 -
 -    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);
 +    wchar_t* pwstName = to_wide_string(_pstName);
  
 -    Rhs = 0;
 -    //Add name in stack reference list
 -    createNamedVariable(iVarID);
 +    Pointer* pP = new Pointer(_pvPtr);
 +    symbol::Context::getInstance()->put(symbol::Symbol(pwstName), *pP);
 +    FREE(pwstName);
  
 -    Top = iSaveTop;
 -    Rhs = iSaveRhs;
      return sciErr;
  }
  
@@@ -40,10 -33,8 +40,7 @@@ static int getCommonAllocatedNamedMatri
  
  SciErr getPolyVariableName(void* _pvCtx, int* _piAddress, char* _pstVarName, int* _piVarNameLen)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
-     char *pstVarName  = NULL;
+     SciErr sciErr = sciErrInit();
 -    char *pstVarName  = NULL;
  
      if (_piAddress == NULL)
      {
          return sciErr;
      }
  
 -    if (_piAddress[0] != sci_poly)
 +    if (!((InternalType*)_piAddress)->isPoly())
      {
-         addErrorMessage(&sciErr, API_ERROR_INVALID_TYPE, _("%s: Invalid argument type, %s excepted"), "getPolyVariableName", _("polynomial matrix"));
+         addErrorMessage(&sciErr, API_ERROR_INVALID_TYPE, _("%s: Invalid argument type, %s expected"), "getPolyVariableName", _("polynomial matrix"));
+         return sciErr;
+     }
+     if (_pstVarName == NULL)
+     {
          return sciErr;
      }
  
@@@ -164,21 -171,11 +164,16 @@@ SciErr createComplexMatrixOfPoly(void* 
  
  SciErr createCommonMatrixOfPoly(void* _pvCtx, int _iVar, int _iComplex, char* _pstVarName, int _iRows, int _iCols, const int* _piNbCoef, const double* const* _pdblReal, const double* const* _pdblImg)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
 -    int *piAddr     = NULL;
 -    int iSize       = _iRows * _iCols;
 -    int iNewPos     = Top - Rhs + _iVar;
 -    int iAddr       = *Lstk(iNewPos);
 -    int iTotalLen   = 0;
++    SciErr sciErr = sciErrInit();
 +    if (_pvCtx == NULL)
 +    {
 +        addErrorMessage(&sciErr, API_ERROR_INVALID_POINTER, _("%s: Invalid argument address"), _iComplex ? "createComplexMatrixOfPoly" : "createMatrixOfPoly");
 +        return sciErr;
 +    }
 +
 +    GatewayStruct* pStr = (GatewayStruct*)_pvCtx;
 +    InternalType** out = pStr->m_pOut;
-     int *piAddr     = NULL;
 +    int rhs = _iVar - *getNbInputArgument(_pvCtx);
-     int iSize       = _iRows * _iCols;
-     int iTotalLen   = 0;
  
      //return empty matrix
      if (_iRows == 0 && _iCols == 0)
@@@ -236,20 -274,22 +231,18 @@@ SciErr createNamedComplexMatrixOfPoly(v
  
  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;
+     SciErr sciErr = sciErrInit();
 -    int iVarID[nsiz];
 -    int iSaveRhs    = Rhs;
 -    int iSaveTop    = Top;
 -    int *piAddr     = NULL;
 -    int iTotalLen   = 0;
 +    wchar_t* pwstName   = to_wide_string(_pstName);
  
 -    //return named empty matrix
 +    //return empty matrix
      if (_iRows == 0 && _iCols == 0)
      {
 -        double dblReal = 0;
 -        sciErr = createNamedMatrixOfDouble(_pvCtx, _pstName, 0, 0, &dblReal);
 -        if (sciErr.iErr)
 +        if (createNamedEmptyMatrix(_pvCtx, _pstName))
          {
 -            addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_EMPTY_MATRIX, _("%s: Unable to create variable in Scilab memory"), "createNamedEmptyMatrix");
 +            addErrorMessage(&sciErr, API_ERROR_CREATE_EMPTY_MATRIX, _("%s: Unable to create variable in Scilab memory"), "createNamedEmptyMatrix");
 +            return sciErr;
          }
 +
          return sciErr;
      }
  
@@@ -451,13 -484,7 +437,11 @@@ int getAllocatedMatrixOfComplexPoly(voi
  /*--------------------------------------------------------------------------*/
  static int getCommonAllocatedMatrixOfPoly(void* _pvCtx, int* _piAddress, int _iComplex, int* _piRows, int* _piCols, int** _piNbCoef, double*** _pdblReal, double*** _pdblImg)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
 -    SciErr sciErr = getCommonMatrixOfPoly(_pvCtx, _piAddress, _iComplex, _piRows, _piCols, NULL, NULL, NULL);
++    SciErr sciErr = sciErrInit();
 +    double* pdblReal  = NULL;
 +    double* pdblImg           = NULL;
 +
 +    sciErr = getCommonMatrixOfPoly(_pvCtx, _piAddress, _iComplex, _piRows, _piCols, NULL, NULL, NULL);
      if (sciErr.iErr)
      {
          addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_MATRIX_POLY, _("%s: Unable to get argument #%d"), _iComplex ? "getAllocatedMatrixOfComplexPoly" : "getAllocatedMatrixOfPoly", getRhsFromAddress(_pvCtx, _piAddress));
@@@ -137,10 -116,7 +135,9 @@@ SciErr allocComplexSparseMatrix(void* _
  
  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;
+     SciErr sciErr = sciErrInit();
++
 +#if 0
      int iNewPos     = Top - Rhs + _iVar;
      int iAddr       = *Lstk(iNewPos);
      int       iTotalSize  = 0;
@@@ -280,10 -250,7 +272,9 @@@ SciErr createNamedComplexSparseMatrix(v
  
  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;
+     SciErr sciErr = sciErrInit();
++
 +#if 0
      int iVarID[nsiz];
      int iSaveRhs        = Rhs;
      int iSaveTop        = Top;
@@@ -45,11 -38,9 +45,9 @@@ using namespace types
  
  SciErr getMatrixOfString(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int* _piLength, char** _pstStrings)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
+     SciErr sciErr = sciErrInit();
      int *piOffset = NULL;
 -    int *piData = NULL;
 +    int *piData       = NULL;
      int iType = 0;
  
      if (_piAddress == NULL)
          return sciErr;
      }
  
 -    piOffset = _piAddress + 4;
 +    String *pS = ((InternalType*)_piAddress)->getAs<types::String>();
  
      //non cummulative length
-     for (int i = 0 ; i < *_piRows * *_piCols ; i++)
+     for (int i = 0 ; i < *_piRows **_piCols ; i++)
      {
 -        _piLength[i] = piOffset[i + 1] - piOffset[i];
 +        char* pstTemp = wide_string_to_UTF8(pS->get(i));
 +        _piLength[i] = (int)strlen(pstTemp);
 +        FREE(pstTemp);
      }
  
      if (_pstStrings == NULL || *_pstStrings == NULL)
  /*--------------------------------------------------------------------------*/
  SciErr createMatrixOfString(void* _pvCtx, int _iVar, int _iRows, int _iCols, const char* const * _pstStrings)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
 -    int iNewPos = Top - Rhs + _iVar;
 -    int iAddr = *Lstk(iNewPos);
 -    int iTotalLen = 0;
 -    int *piAddr = NULL;
++    SciErr sciErr = sciErrInit();
 +
 +    int rhs = _iVar - *getNbInputArgument(_pvCtx);
 +    GatewayStruct* pStr = (GatewayStruct*)_pvCtx;
 +    InternalType** out = pStr->m_pOut;
  
      //return empty matrix
      if (_iRows == 0 && _iCols == 0)
      {
 -        double dblReal = 0;
 -        SciErr sciErr = createMatrixOfDouble(_pvCtx, _iVar, 0, 0, &dblReal);
 -        if (sciErr.iErr)
 +        Double *pDbl = new Double(_iRows, _iCols);
 +        if (pDbl == NULL)
          {
              addErrorMessage(&sciErr, API_ERROR_CREATE_EMPTY_MATRIX, _("%s: Unable to create variable in Scilab memory"), "createEmptyMatrix");
 +            return sciErr;
          }
 -        return sciErr;
 -    }
 -
 -    getNewVarAddressFromPosition(_pvCtx, iNewPos, &piAddr);
  
 -    SciErr sciErr = fillMatrixOfString(_pvCtx, piAddr, _iRows, _iCols, _pstStrings, &iTotalLen);
 -    if (sciErr.iErr)
 -    {
 -        addErrorMessage(&sciErr, API_ERROR_CREATE_STRING, _("%s: Unable to create variable in Scilab memory"), "createMatrixOfString");
 +        out[rhs - 1] = pDbl;
          return sciErr;
      }
  
  /*--------------------------------------------------------------------------*/
  SciErr createNamedMatrixOfString(void* _pvCtx, const char* _pstName, int _iRows, int _iCols, const char* const* _pstStrings)
  {
 -    SciErr sciErr = sciErrInit();
 -    int iVarID[nsiz];
 -    int iSaveRhs = Rhs;
 -    int iSaveTop = Top;
 -    int *piAddr = NULL;
 -    int iTotalLen = 0;
 +    SciErr sciErr;
 +    sciErr.iErr = 0;
 +    sciErr.iMsgCount = 0;
 +    //return empty matrix
 -    //return named empty matrix
      if (_iRows == 0 && _iCols == 0)
      {
 -        double dblReal = 0;
 -        sciErr = createNamedMatrixOfDouble(_pvCtx, _pstName, 0, 0, &dblReal);
 -        if (sciErr.iErr)
 +
 +        if (createNamedEmptyMatrix(_pvCtx, _pstName))
          {
 -            addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_EMPTY_MATRIX, _("%s: Unable to create variable in Scilab memory"), "createNamedEmptyMatrix");
 +            addErrorMessage(&sciErr, API_ERROR_CREATE_EMPTY_MATRIX, _("%s: Unable to create variable in Scilab memory"), "createEmptyMatrix");
 +            return sciErr;
          }
 +
          return sciErr;
      }
  
@@@ -779,12 -883,40 +727,35 @@@ int createSingleString(void* _pvCtx, in
  
  int allocSingleString(void* _pvCtx, int _iVar, int _iLen, const char** _pstStrings)
  {
-     SciErr sciErr;
-     sciErr.iErr = 0;
-     sciErr.iMsgCount = 0;
+     SciErr sciErr = sciErrInit();
++#if 0
+     int iNewPos     = Top - Rhs + _iVar;
+     int iAddr       = *Lstk(iNewPos);
+     int iTotalLen   = 0;
+     int* piAddr     = NULL;
+     int* piOffset   = NULL;
+     char* pstString = NULL;
  
-     // FIX ME
+     int iFreeSpace = iadr(*Lstk(Bot)) - (iadr(*Lstk(Top)));
  
+     if (_iLen + 2 > iFreeSpace)
+     {
+         addStackSizeError(&sciErr, ((StrCtx*)_pvCtx)->pstName, _iLen + 2);
+         return sciErr.iErr;
+     }
+     getNewVarAddressFromPosition(_pvCtx, iNewPos, &piAddr);
+     piAddr[0]   = sci_strings;
+     piAddr[1]   = 1;
+     piAddr[2]   = 1;
+     piAddr[3]   = 0;
+     piOffset    = piAddr + 4;
+     piOffset[0] = 1; //Always 1
+     piOffset[1] = _iLen + 1;
+     pstString   = (char*)(piOffset + 2); //2 offsets
 -
 -    // Fill the string with spaces
 -    memset(pstString, ' ', _iLen);
 -
 -    updateInterSCI(_iVar, 'c', iAddr, cadr(iadr(iAddr) + 5 + 1));
 -    updateLstk(iNewPos, sadr(iadr(iAddr) + 5 + 1), (_iLen + 1) / (sizeof(double) / sizeof(int)));
 -    *_pstStrings = pstString;
++#endif
      return 0;
  }
  
  /* 09 */                                              #include "../../cacsd/includes/gw_cacsd1.h"
  /* 10 */                                              #include "../../cacsd/includes/gw_cacsd2.h"
  /* 11 */                                              #include "dynamic_gateways.h" /* optimization */
 -/* 12 */                                              #include "../../differential_equations/includes/gw_differential_equations1.h"
 +/* 12 *///                                            #include "../../differential_equations/includes/gw_differential_equations1.h"
  /* 13 */                                              #include "gw_core.h"
- /* 14  gw_user(); RESERVED to gw_user (see callinter.h) */
+ /* 14  gw_user(); RESERVED to gw_user (see callinter.h.f) */
  /* 15  gw_user(); FREE */
 -/* 16 */                                              #include "../../polynomials/includes/gw_polynomials.h"
 +/* 16                                                 #include "../../polynomials/includes/gw_polynomials.h"*/
  /* 17 */                                              #include "../../data_structures/includes/gw_data_structures1.h"
  /* 18 */                                              #include "dynamic_gateways.h" /* signal_processing */
  /* 19 */                                              #include "dynamic_gateways.h" /* interpolation */
  /* 20 */                                              #include "../../cacsd/includes/gw_cacsd3.h"
 -/* 21 */                                              #include "../../string/includes/gw_string.h"
 +/* 21 *///                                            #include "../../string/includes/gw_string.h"
  /* 22 */                                              #include "dynamic_gateways.h" /* symbolic */
  /* 23 */                                              #include "../../boolean/includes/gw_boolean.h"
- /* 24  gw_user2(); RESERVED to gw_user (see callinter.h) */
+ /* 24  gw_user2(); RESERVED to gw_user (see callinter.h.f) */
  #include "gw_user2.h"
  /* 25 */                                              #include "../../gui/includes/gw_gui.h"
 -/* 26 */                                              #include "../../differential_equations/includes/gw_differential_equations2.h"
 -/* 27 */                                              #include "../../sparse/includes/gw_sparse.h"
 -/* 28 */                                              #include "../../cacsd/includes/gw_slicot.h"
 -/* 29 */                                              #include "../../differential_equations/includes/gw_differential_equations3.h"
 -/* 30 */                                              #include "../../differential_equations/includes/gw_differential_equations4.h"
 +/* 26 *///                                            #include "../../differential_equations/includes/gw_differential_equations2.h"
 +/* 27 *///                                            #include "../../sparse/includes/gw_sparse.h"
 +/* 28 *///                                            #include "../../cacsd/includes/gw_slicot.h"
 +/* 29 *///                                            #include "../../differential_equations/includes/gw_differential_equations3.h"
 +/* 30 *///                                            #include "../../differential_equations/includes/gw_differential_equations4.h"
  /* 31 */                                      #include "dynamic_gateways.h"   /* functions */
 -/* 32 */                                              #include "../../differential_equations/includes/gw_differential_equations6.h"
 +/* 32 *///                                            #include "../../differential_equations/includes/gw_differential_equations6.h"
  /* 33 */                        #include "../../output_stream/includes/gw_output_stream.h"
  /* 34 */                                              #include "../../fileio/includes/gw_fileio.h"
  /* 35 */                                              #include "dynamic_gateways.h" /* arnoldi */
@@@ -48,27 -48,27 +48,27 @@@ static OpTab Interfaces[INTERFACES_MAX
      /* 09  */ {gw_cacsd1},
      /* 10  */ {gw_cacsd2},
      /* 11  */ {gw_dynamic_optimization},
 -    /* 12  */ {gw_differential_equations1},
 +    /* 12  */ {NULL}, //gw_differential_equations1
      /* 13  */ {gw_core},
-     /* 14  */ {gw_user}, /* RESERVED (see callinter.h) */
+     /* 14  */ {gw_user}, /* RESERVED (see callinter.h.f) */
      /* 15  */ {gw_user}, /* free position may be used */
 -    /* 16  */ {gw_polynomials},
 +    /* 16  */ {NULL}, //gw_polynomials
      /* 17  */ {gw_data_structures1},
 -    /* 18  */ {gw_dynamic_signal_processing},
 +    /* 18  */ {NULL}, //gw_dynamic_signal_processing
      /* 19  */ {gw_dynamic_interpolation},
      /* 20  */ {gw_cacsd3},
 -    /* 21  */ {gw_string},
 +    /* 21  */ {NULL}, // string
      /* 22  */ {gw_dynamic_symbolic},
 -    /* 23  */ {gw_boolean},
 -    /* 24  */ {gw_user2}, /* RESERVED (see callinter.h.f) */
 +    /* 23  */ {NULL}, //gw_boolean
 +    /* 24  */ {gw_user2}, /* RESERVED (see callinter.h) */
      /* 25  */ {gw_gui},
 -    /* 26  */ {gw_differential_equations2},
 -    /* 27  */ {gw_sparse},
 -    /* 28  */ {gw_slicot},
 -    /* 29  */ {gw_differential_equations3},
 -    /* 30  */ {gw_differential_equations4},
 -    /* 31  */ {gw_dynamic_functions},
 -    /* 32  */ {gw_differential_equations6},
 +    /* 26  */ {NULL}, //gw_differential_equations2
 +    /* 27  */ {NULL}, //gw_sparse
 +    /* 28  */ {NULL}, //gw_slicot
 +    /* 29  */ {NULL}, //gw_differential_equations3
 +    /* 30  */ {NULL}, //gw_differential_equations4
 +    /* 31  */ {NULL}, //gw_dynamic_functions
 +    /* 32  */ {NULL}, //gw_differential_equations6
      /* 33  */ {gw_output_stream},
      /* 34  */ {gw_fileio},
      /* 35  */ {gw_dynamic_arnoldi},
@@@ -316,44 -383,51 +316,43 @@@ cd .
      <ClCompile Include="xscion.c" />
    </ItemGroup>
    <ItemGroup>
 +    <None Include="..\..\locales\core.pot" />
 +    <None Include="..\..\core.iss" />
 +    <None Include="..\..\sci_gateway\core_gateway.xml" />
 +    <CustomBuildStep Include="..\..\includes\machine.h.vc">
 +      <FileType>Document</FileType>
 +      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
 +      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
 +      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
 +      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
 +    </CustomBuildStep>
 +    <None Include="..\..\Makefile.am" />
 +    <None Include="core.def" />
 +    <None Include="core_export.def" />
 +    <None Include="functions_manager_Import.def" />
 +  </ItemGroup>
 +  <ItemGroup>
      <ClInclude Include="..\..\includes\backtrace_print.h" />
 -    <ClInclude Include="..\..\includes\getmaxMALLOC.h" />
 -    <ClInclude Include="..\..\includes\hashtable.h" />
 -    <ClInclude Include="..\..\includes\hashtable_itr.h" />
 -    <ClInclude Include="..\..\includes\hashtable_private.h" />
 -    <ClInclude Include="..\..\includes\hashtable_utility.h" />
 -    <ClInclude Include="..\..\includes\InitializePreferences.h" />
 -    <ClInclude Include="..\..\includes\MALLOC.h" />
 -    <ClInclude Include="..\..\includes\sci_types.h" />
 -    <ClInclude Include="..\..\includes\setformat.h" />
 -    <ClInclude Include="..\..\includes\setieee.h" />
 -    <ClInclude Include="..\..\includes\setlines.h" />
 -    <ClInclude Include="..\..\includes\stackTypeVariable.h" />
 -    <ClInclude Include="..\..\includes\win_mem_alloc.h" />
 -    <ClInclude Include="backtrace.h" />
 -    <ClInclude Include="banier.h" />
 +    <ClInclude Include="..\..\includes\banner.hxx" />
      <ClInclude Include="..\..\includes\BOOL.h" />
 -    <ClInclude Include="callDynamicGateway.h" />
      <ClInclude Include="..\..\includes\callFunctionFromGateway.h" />
-     <ClInclude Include="..\..\includes\callinter.h" />
 -    <ClInclude Include="..\..\includes\callinter.h.f" />
      <ClInclude Include="..\..\includes\callinterf.h" />
      <ClInclude Include="..\..\includes\commandwords.h" />
 +    <ClInclude Include="..\..\includes\core_gw.hxx" />
      <ClInclude Include="..\..\includes\core_math.h" />
 -    <ClInclude Include="cs2st.h" />
 -    <ClInclude Include="csignal.h" />
 -    <ClInclude Include="..\..\includes\doublecomplex.h" />
 -    <ClInclude Include="dynamic_gateways.h" />
 -    <ClInclude Include="dynamic_parallel.h" />
 -    <ClInclude Include="dynamic_tclsci.h" />
 -    <ClInclude Include="eqid.h" />
 +    <ClInclude Include="..\..\includes\dynlib_core.h" />
      <ClInclude Include="..\..\includes\ExceptionMessage.h" />
      <ClInclude Include="..\..\includes\existfunction.h" />
 -    <ClInclude Include="exitCodeValue.h" />
 -    <ClInclude Include="expr.h" />
 +    <ClInclude Include="..\..\includes\exit_status.hxx" />
      <ClInclude Include="..\..\includes\freeArrayOfString.h" />
 -    <ClInclude Include="funcprot.h" />
 -    <ClInclude Include="getdebuginfo.h" />
 -    <ClInclude Include="getdynamicdebuginfo.h" />
 -    <ClInclude Include="getdynamicDebugInfo_Windows.h" />
 +    <ClInclude Include="..\..\includes\getcommandlineargs.h" />
      <ClInclude Include="..\..\includes\GetExceptionCode.h" />
 -    <ClInclude Include="..\..\includes\getfunctionslist.h" />
 +    <ClInclude Include="..\..\includes\getfunctionsname.h" />
 +    <ClInclude Include="..\..\includes\getmacrosname.h" />
 +    <ClInclude Include="..\..\includes\getmaxMALLOC.h" />
 +    <ClInclude Include="..\..\includes\getmemory.h" />
      <ClInclude Include="..\..\includes\getmodules.h" />
      <ClInclude Include="..\..\includes\getos.h" />
 -    <ClInclude Include="getstaticDebugInfo_Windows.h" />
 -    <ClInclude Include="getval.h" />
      <ClInclude Include="..\..\includes\getvariablesname.h" />
      <ClInclude Include="..\..\includes\getversion.h" />
      <ClInclude Include="..\..\includes\GetXmlFileEncoding.h" />
      <ClCompile Include="scimem.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="sciquit.c">
 -      <Filter>Source Files</Filter>
 -    </ClCompile>
 -    <ClCompile Include="scirun.c">
 +    <ClCompile Include="str2sci.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="..\cpp\search_functions.cpp">
 +    <ClCompile Include="texmacs.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="setgetSCIpath.c">
 +    <ClCompile Include="transposeMatrix.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="SetScilabEnvironment.c">
 +    <ClCompile Include="version.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="stack1.c">
 +    <ClCompile Include="xscion.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="stack2.c">
 +    <ClCompile Include="scirun.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="stack3.c">
 +    <ClCompile Include="DllmainCore.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="stackinfo.c">
 +    <ClCompile Include="InitializePreferences.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="storeCommand.c">
 +    <ClCompile Include="setformat.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="str2sci.c">
 +    <ClCompile Include="setieee.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="syncexec.c">
 +    <ClCompile Include="..\..\..\mexlib\src\cpp\mexlib.cpp">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="terme.c">
 +    <ClCompile Include="..\cpp\with_module.cpp">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="TerminateCore.c">
 +    <ClCompile Include="..\cpp\storeCommand.cpp">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="texmacs.c">
 +    <ClCompile Include="..\cpp\backtrace_print.cpp">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="tmpdir.c">
 +    <ClCompile Include="backtrace.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="transposeMatrix.c">
 +    <ClCompile Include="setlines.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="typename.c">
 +    <ClCompile Include="getmaxMALLOC.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="version.c">
 +    <ClCompile Include="win_mem_alloc.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="warningmode.c">
 +    <ClCompile Include="getdynamicdebuginfo.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="with_module.c">
 +    <ClCompile Include="initMacOSXEnv.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="xscion.c">
 +    <ClCompile Include="setPrecisionFPU.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="DllmainCore.c">
 +    <ClCompile Include="withf2c.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="InitializePreferences.c">
 +    <ClCompile Include="hashtable\hashtable.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="setformat.c">
 +    <ClCompile Include="hashtable\hashtable_utility.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="setieee.c">
 +    <ClCompile Include="..\cpp\InitScilab.cpp">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="..\cpp\backtrace_print.cpp">
 +    <ClCompile Include="..\cpp\tasks.cpp">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="backtrace.c">
 +    <ClCompile Include="..\cpp\runner.cpp">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="setlines.c">
 +    <ClCompile Include="..\cpp\banner.cpp">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="sci_tools.c">
 +    <ClCompile Include="..\cpp\getfunctionsname.cpp">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="getmaxMALLOC.c">
 +    <ClCompile Include="..\cpp\getmacrosname.cpp">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="win_mem_alloc.c">
 +    <ClCompile Include="..\cpp\getvariablesname.cpp">
        <Filter>Source Files</Filter>
      </ClCompile>
 -    <ClCompile Include="hashtable\hashtable.c">
 -      <Filter>Source Files\hashtable</Filter>
 -    </ClCompile>
 -    <ClCompile Include="hashtable\hashtable_itr.c">
 -      <Filter>Source Files\hashtable</Filter>
 -    </ClCompile>
 -    <ClCompile Include="hashtable\hashtable_utility.c">
 -      <Filter>Source Files\hashtable</Filter>
 -    </ClCompile>
    </ItemGroup>
    <ItemGroup>
 -    <ClInclude Include="banier.h">
 +    <None Include="..\..\core.iss" />
 +    <None Include="..\..\sci_gateway\core_gateway.xml" />
 +    <None Include="..\..\Makefile.am" />
 +    <None Include="..\..\locales\core.pot">
 +      <Filter>localization</Filter>
 +    </None>
 +    <None Include="core_export.def">
 +      <Filter>Libraries Dependencies</Filter>
 +    </None>
 +    <None Include="functions_manager_Import.def">
 +      <Filter>Libraries Dependencies</Filter>
 +    </None>
 +    <None Include="core.def">
 +      <Filter>Libraries Dependencies</Filter>
 +    </None>
 +  </ItemGroup>
 +  <ItemGroup>
 +    <CustomBuildStep Include="..\..\includes\machine.h.vc" />
 +  </ItemGroup>
 +  <ItemGroup>
 +    <ClInclude Include="..\..\includes\sci_types.h">
        <Filter>Header Files</Filter>
      </ClInclude>
 -    <ClInclude Include="..\..\includes\BOOL.h">
 +    <ClInclude Include="..\..\includes\backtrace_print.h">
        <Filter>Header Files</Filter>
      </ClInclude>
 -    <ClInclude Include="callDynamicGateway.h">
 +    <ClInclude Include="..\..\includes\banner.hxx">
        <Filter>Header Files</Filter>
      </ClInclude>
 -    <ClInclude Include="..\..\includes\callFunctionFromGateway.h">
 +    <ClInclude Include="..\..\includes\BOOL.h">
        <Filter>Header Files</Filter>
      </ClInclude>
 -    <ClInclude Include="..\..\includes\callinter.h.f">
 +    <ClInclude Include="..\..\includes\callFunctionFromGateway.h">
        <Filter>Header Files</Filter>
      </ClInclude>
-     <ClInclude Include="..\..\includes\callinter.h">
-       <Filter>Header Files</Filter>
-     </ClInclude>
      <ClInclude Include="..\..\includes\callinterf.h">
        <Filter>Header Files</Filter>
      </ClInclude>
@@@ -966,138 -1040,96 +966,138 @@@ libscidifferential_equations_algo_la-rk
  @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libscidifferential_equations_algo_la-rk4.lo `test -f 'src/c/rk4.c' || echo '$(srcdir)/'`src/c/rk4.c
  
 -libscidifferential_equations_la-sci_int2d.lo: sci_gateway/c/sci_int2d.c
 -@am__fastdepCC_TRUE@  $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libscidifferential_equations_la-sci_int2d.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-sci_int2d.Tpo -c -o libscidifferential_equations_la-sci_int2d.lo `test -f 'sci_gateway/c/sci_int2d.c' || echo '$(srcdir)/'`sci_gateway/c/sci_int2d.c
 -@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-sci_int2d.Tpo $(DEPDIR)/libscidifferential_equations_la-sci_int2d.Plo
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='sci_gateway/c/sci_int2d.c' object='libscidifferential_equations_la-sci_int2d.lo' libtool=yes @AMDEPBACKSLASH@
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libscidifferential_equations_la-sci_int2d.lo `test -f 'sci_gateway/c/sci_int2d.c' || echo '$(srcdir)/'`sci_gateway/c/sci_int2d.c
 -
 -libscidifferential_equations_la-sci_int3d.lo: sci_gateway/c/sci_int3d.c
 -@am__fastdepCC_TRUE@  $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libscidifferential_equations_la-sci_int3d.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-sci_int3d.Tpo -c -o libscidifferential_equations_la-sci_int3d.lo `test -f 'sci_gateway/c/sci_int3d.c' || echo '$(srcdir)/'`sci_gateway/c/sci_int3d.c
 -@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-sci_int3d.Tpo $(DEPDIR)/libscidifferential_equations_la-sci_int3d.Plo
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='sci_gateway/c/sci_int3d.c' object='libscidifferential_equations_la-sci_int3d.lo' libtool=yes @AMDEPBACKSLASH@
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libscidifferential_equations_la-sci_int3d.lo `test -f 'sci_gateway/c/sci_int3d.c' || echo '$(srcdir)/'`sci_gateway/c/sci_int3d.c
 -
 -libscidifferential_equations_la-sci_intg.lo: sci_gateway/c/sci_intg.c
 -@am__fastdepCC_TRUE@  $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libscidifferential_equations_la-sci_intg.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-sci_intg.Tpo -c -o libscidifferential_equations_la-sci_intg.lo `test -f 'sci_gateway/c/sci_intg.c' || echo '$(srcdir)/'`sci_gateway/c/sci_intg.c
 -@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-sci_intg.Tpo $(DEPDIR)/libscidifferential_equations_la-sci_intg.Plo
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='sci_gateway/c/sci_intg.c' object='libscidifferential_equations_la-sci_intg.lo' libtool=yes @AMDEPBACKSLASH@
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libscidifferential_equations_la-sci_intg.lo `test -f 'sci_gateway/c/sci_intg.c' || echo '$(srcdir)/'`sci_gateway/c/sci_intg.c
 -
 -libscidifferential_equations_la-sci_ode.lo: sci_gateway/c/sci_ode.c
 -@am__fastdepCC_TRUE@  $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libscidifferential_equations_la-sci_ode.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-sci_ode.Tpo -c -o libscidifferential_equations_la-sci_ode.lo `test -f 'sci_gateway/c/sci_ode.c' || echo '$(srcdir)/'`sci_gateway/c/sci_ode.c
 -@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-sci_ode.Tpo $(DEPDIR)/libscidifferential_equations_la-sci_ode.Plo
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='sci_gateway/c/sci_ode.c' object='libscidifferential_equations_la-sci_ode.lo' libtool=yes @AMDEPBACKSLASH@
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libscidifferential_equations_la-sci_ode.lo `test -f 'sci_gateway/c/sci_ode.c' || echo '$(srcdir)/'`sci_gateway/c/sci_ode.c
 -
 -libscidifferential_equations_la-sci_odc.lo: sci_gateway/c/sci_odc.c
 -@am__fastdepCC_TRUE@  $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libscidifferential_equations_la-sci_odc.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-sci_odc.Tpo -c -o libscidifferential_equations_la-sci_odc.lo `test -f 'sci_gateway/c/sci_odc.c' || echo '$(srcdir)/'`sci_gateway/c/sci_odc.c
 -@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-sci_odc.Tpo $(DEPDIR)/libscidifferential_equations_la-sci_odc.Plo
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='sci_gateway/c/sci_odc.c' object='libscidifferential_equations_la-sci_odc.lo' libtool=yes @AMDEPBACKSLASH@
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libscidifferential_equations_la-sci_odc.lo `test -f 'sci_gateway/c/sci_odc.c' || echo '$(srcdir)/'`sci_gateway/c/sci_odc.c
 -
 -libscidifferential_equations_la-sci_feval.lo: sci_gateway/c/sci_feval.c
 -@am__fastdepCC_TRUE@  $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libscidifferential_equations_la-sci_feval.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-sci_feval.Tpo -c -o libscidifferential_equations_la-sci_feval.lo `test -f 'sci_gateway/c/sci_feval.c' || echo '$(srcdir)/'`sci_gateway/c/sci_feval.c
 -@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-sci_feval.Tpo $(DEPDIR)/libscidifferential_equations_la-sci_feval.Plo
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='sci_gateway/c/sci_feval.c' object='libscidifferential_equations_la-sci_feval.lo' libtool=yes @AMDEPBACKSLASH@
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libscidifferential_equations_la-sci_feval.lo `test -f 'sci_gateway/c/sci_feval.c' || echo '$(srcdir)/'`sci_gateway/c/sci_feval.c
 -
 -libscidifferential_equations_la-gw_differential_equations1.lo: sci_gateway/c/gw_differential_equations1.c
 -@am__fastdepCC_TRUE@  $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libscidifferential_equations_la-gw_differential_equations1.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-gw_differential_equations1.Tpo -c -o libscidifferential_equations_la-gw_differential_equations1.lo `test -f 'sci_gateway/c/gw_differential_equations1.c' || echo '$(srcdir)/'`sci_gateway/c/gw_differential_equations1.c
 -@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-gw_differential_equations1.Tpo $(DEPDIR)/libscidifferential_equations_la-gw_differential_equations1.Plo
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='sci_gateway/c/gw_differential_equations1.c' object='libscidifferential_equations_la-gw_differential_equations1.lo' libtool=yes @AMDEPBACKSLASH@
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libscidifferential_equations_la-gw_differential_equations1.lo `test -f 'sci_gateway/c/gw_differential_equations1.c' || echo '$(srcdir)/'`sci_gateway/c/gw_differential_equations1.c
 -
 -libscidifferential_equations_la-gw_differential_equations2.lo: sci_gateway/c/gw_differential_equations2.c
 -@am__fastdepCC_TRUE@  $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libscidifferential_equations_la-gw_differential_equations2.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-gw_differential_equations2.Tpo -c -o libscidifferential_equations_la-gw_differential_equations2.lo `test -f 'sci_gateway/c/gw_differential_equations2.c' || echo '$(srcdir)/'`sci_gateway/c/gw_differential_equations2.c
 -@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-gw_differential_equations2.Tpo $(DEPDIR)/libscidifferential_equations_la-gw_differential_equations2.Plo
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='sci_gateway/c/gw_differential_equations2.c' object='libscidifferential_equations_la-gw_differential_equations2.lo' libtool=yes @AMDEPBACKSLASH@
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libscidifferential_equations_la-gw_differential_equations2.lo `test -f 'sci_gateway/c/gw_differential_equations2.c' || echo '$(srcdir)/'`sci_gateway/c/gw_differential_equations2.c
 -
 -libscidifferential_equations_la-gw_differential_equations3.lo: sci_gateway/c/gw_differential_equations3.c
 -@am__fastdepCC_TRUE@  $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libscidifferential_equations_la-gw_differential_equations3.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-gw_differential_equations3.Tpo -c -o libscidifferential_equations_la-gw_differential_equations3.lo `test -f 'sci_gateway/c/gw_differential_equations3.c' || echo '$(srcdir)/'`sci_gateway/c/gw_differential_equations3.c
 -@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-gw_differential_equations3.Tpo $(DEPDIR)/libscidifferential_equations_la-gw_differential_equations3.Plo
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='sci_gateway/c/gw_differential_equations3.c' object='libscidifferential_equations_la-gw_differential_equations3.lo' libtool=yes @AMDEPBACKSLASH@
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libscidifferential_equations_la-gw_differential_equations3.lo `test -f 'sci_gateway/c/gw_differential_equations3.c' || echo '$(srcdir)/'`sci_gateway/c/gw_differential_equations3.c
 -
 -libscidifferential_equations_la-gw_differential_equations4.lo: sci_gateway/c/gw_differential_equations4.c
 -@am__fastdepCC_TRUE@  $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libscidifferential_equations_la-gw_differential_equations4.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-gw_differential_equations4.Tpo -c -o libscidifferential_equations_la-gw_differential_equations4.lo `test -f 'sci_gateway/c/gw_differential_equations4.c' || echo '$(srcdir)/'`sci_gateway/c/gw_differential_equations4.c
 -@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-gw_differential_equations4.Tpo $(DEPDIR)/libscidifferential_equations_la-gw_differential_equations4.Plo
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='sci_gateway/c/gw_differential_equations4.c' object='libscidifferential_equations_la-gw_differential_equations4.lo' libtool=yes @AMDEPBACKSLASH@
 +libscidifferential_equations_algo_la-Ex-odedc.lo: src/c/Ex-odedc.c
 +@am__fastdepCC_TRUE@  $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libscidifferential_equations_algo_la-Ex-odedc.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_algo_la-Ex-odedc.Tpo -c -o libscidifferential_equations_algo_la-Ex-odedc.lo `test -f 'src/c/Ex-odedc.c' || echo '$(srcdir)/'`src/c/Ex-odedc.c
 +@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_algo_la-Ex-odedc.Tpo $(DEPDIR)/libscidifferential_equations_algo_la-Ex-odedc.Plo
 +@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='src/c/Ex-odedc.c' object='libscidifferential_equations_algo_la-Ex-odedc.lo' libtool=yes @AMDEPBACKSLASH@
  @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libscidifferential_equations_la-gw_differential_equations4.lo `test -f 'sci_gateway/c/gw_differential_equations4.c' || echo '$(srcdir)/'`sci_gateway/c/gw_differential_equations4.c
 +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libscidifferential_equations_algo_la-Ex-odedc.lo `test -f 'src/c/Ex-odedc.c' || echo '$(srcdir)/'`src/c/Ex-odedc.c
  
 -libscidifferential_equations_la-sci_bvode.lo: sci_gateway/c/sci_bvode.c
 -@am__fastdepCC_TRUE@  $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libscidifferential_equations_la-sci_bvode.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-sci_bvode.Tpo -c -o libscidifferential_equations_la-sci_bvode.lo `test -f 'sci_gateway/c/sci_bvode.c' || echo '$(srcdir)/'`sci_gateway/c/sci_bvode.c
 -@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-sci_bvode.Tpo $(DEPDIR)/libscidifferential_equations_la-sci_bvode.Plo
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='sci_gateway/c/sci_bvode.c' object='libscidifferential_equations_la-sci_bvode.lo' libtool=yes @AMDEPBACKSLASH@
 +libscidifferential_equations_algo_la-Ex-daskr.lo: src/c/Ex-daskr.c
- @am__fastdepCC_TRUE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libscidifferential_equations_algo_la-Ex-daskr.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_algo_la-Ex-daskr.Tpo -c -o libscidifferential_equations_algo_la-Ex-daskr.lo `test -f 'src/c/Ex-daskr.c' || echo '$(srcdir)/'`src/c/Ex-daskr.c
- @am__fastdepCC_TRUE@  $(am__mv) $(DEPDIR)/libscidifferential_equations_algo_la-Ex-daskr.Tpo $(DEPDIR)/libscidifferential_equations_algo_la-Ex-daskr.Plo
- @AMDEP_TRUE@@am__fastdepCC_FALSE@     source='src/c/Ex-daskr.c' object='libscidifferential_equations_algo_la-Ex-daskr.lo' libtool=yes @AMDEPBACKSLASH@
++@am__fastdepCC_TRUE@  $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libscidifferential_equations_algo_la-Ex-daskr.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_algo_la-Ex-daskr.Tpo -c -o libscidifferential_equations_algo_la-Ex-daskr.lo `test -f 'src/c/Ex-daskr.c' || echo '$(srcdir)/'`src/c/Ex-daskr.c
++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_algo_la-Ex-daskr.Tpo $(DEPDIR)/libscidifferential_equations_algo_la-Ex-daskr.Plo
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='src/c/Ex-daskr.c' object='libscidifferential_equations_algo_la-Ex-daskr.lo' libtool=yes @AMDEPBACKSLASH@
  @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libscidifferential_equations_algo_la-Ex-daskr.lo `test -f 'src/c/Ex-daskr.c' || echo '$(srcdir)/'`src/c/Ex-daskr.c
 -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libscidifferential_equations_la-sci_bvode.lo `test -f 'sci_gateway/c/sci_bvode.c' || echo '$(srcdir)/'`sci_gateway/c/sci_bvode.c
 -
 -libscidifferential_equations_la-Ex-daskr.lo: sci_gateway/c/Ex-daskr.c
 -@am__fastdepCC_TRUE@  $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libscidifferential_equations_la-Ex-daskr.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-Ex-daskr.Tpo -c -o libscidifferential_equations_la-Ex-daskr.lo `test -f 'sci_gateway/c/Ex-daskr.c' || echo '$(srcdir)/'`sci_gateway/c/Ex-daskr.c
 -@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-Ex-daskr.Tpo $(DEPDIR)/libscidifferential_equations_la-Ex-daskr.Plo
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='sci_gateway/c/Ex-daskr.c' object='libscidifferential_equations_la-Ex-daskr.lo' libtool=yes @AMDEPBACKSLASH@
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libscidifferential_equations_la-Ex-daskr.lo `test -f 'sci_gateway/c/Ex-daskr.c' || echo '$(srcdir)/'`sci_gateway/c/Ex-daskr.c
 -
 -libscidifferential_equations_la-gw_differential_equations6.lo: sci_gateway/c/gw_differential_equations6.c
 -@am__fastdepCC_TRUE@  $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libscidifferential_equations_la-gw_differential_equations6.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-gw_differential_equations6.Tpo -c -o libscidifferential_equations_la-gw_differential_equations6.lo `test -f 'sci_gateway/c/gw_differential_equations6.c' || echo '$(srcdir)/'`sci_gateway/c/gw_differential_equations6.c
 -@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-gw_differential_equations6.Tpo $(DEPDIR)/libscidifferential_equations_la-gw_differential_equations6.Plo
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='sci_gateway/c/gw_differential_equations6.c' object='libscidifferential_equations_la-gw_differential_equations6.lo' libtool=yes @AMDEPBACKSLASH@
 -@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libscidifferential_equations_la-gw_differential_equations6.lo `test -f 'sci_gateway/c/gw_differential_equations6.c' || echo '$(srcdir)/'`sci_gateway/c/gw_differential_equations6.c
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libscidifferential_equations_algo_la-Ex-daskr.lo `test -f 'src/c/Ex-daskr.c' || echo '$(srcdir)/'`src/c/Ex-daskr.c
 +
 +.cpp.o:
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 +
 +.cpp.obj:
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 +
 +.cpp.lo:
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 +
 +libscidifferential_equations_algo_la-scifunctions.lo: src/cpp/scifunctions.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscidifferential_equations_algo_la-scifunctions.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_algo_la-scifunctions.Tpo -c -o libscidifferential_equations_algo_la-scifunctions.lo `test -f 'src/cpp/scifunctions.cpp' || echo '$(srcdir)/'`src/cpp/scifunctions.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_algo_la-scifunctions.Tpo $(DEPDIR)/libscidifferential_equations_algo_la-scifunctions.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='src/cpp/scifunctions.cpp' object='libscidifferential_equations_algo_la-scifunctions.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscidifferential_equations_algo_la-scifunctions.lo `test -f 'src/cpp/scifunctions.cpp' || echo '$(srcdir)/'`src/cpp/scifunctions.cpp
 +
 +libscidifferential_equations_algo_la-checkodeerror.lo: src/cpp/checkodeerror.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscidifferential_equations_algo_la-checkodeerror.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_algo_la-checkodeerror.Tpo -c -o libscidifferential_equations_algo_la-checkodeerror.lo `test -f 'src/cpp/checkodeerror.cpp' || echo '$(srcdir)/'`src/cpp/checkodeerror.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_algo_la-checkodeerror.Tpo $(DEPDIR)/libscidifferential_equations_algo_la-checkodeerror.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='src/cpp/checkodeerror.cpp' object='libscidifferential_equations_algo_la-checkodeerror.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscidifferential_equations_algo_la-checkodeerror.lo `test -f 'src/cpp/checkodeerror.cpp' || echo '$(srcdir)/'`src/cpp/checkodeerror.cpp
 +
 +libscidifferential_equations_algo_la-differentialequationfunctions.lo: src/cpp/differentialequationfunctions.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscidifferential_equations_algo_la-differentialequationfunctions.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_algo_la-differentialequationfunctions.Tpo -c -o libscidifferential_equations_algo_la-differentialequationfunctions.lo `test -f 'src/cpp/differentialequationfunctions.cpp' || echo '$(srcdir)/'`src/cpp/differentialequationfunctions.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_algo_la-differentialequationfunctions.Tpo $(DEPDIR)/libscidifferential_equations_algo_la-differentialequationfunctions.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='src/cpp/differentialequationfunctions.cpp' object='libscidifferential_equations_algo_la-differentialequationfunctions.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscidifferential_equations_algo_la-differentialequationfunctions.lo `test -f 'src/cpp/differentialequationfunctions.cpp' || echo '$(srcdir)/'`src/cpp/differentialequationfunctions.cpp
 +
 +libscidifferential_equations_la-sci_int2d.lo: sci_gateway/cpp/sci_int2d.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscidifferential_equations_la-sci_int2d.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-sci_int2d.Tpo -c -o libscidifferential_equations_la-sci_int2d.lo `test -f 'sci_gateway/cpp/sci_int2d.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_int2d.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-sci_int2d.Tpo $(DEPDIR)/libscidifferential_equations_la-sci_int2d.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='sci_gateway/cpp/sci_int2d.cpp' object='libscidifferential_equations_la-sci_int2d.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscidifferential_equations_la-sci_int2d.lo `test -f 'sci_gateway/cpp/sci_int2d.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_int2d.cpp
 +
 +libscidifferential_equations_la-sci_int3d.lo: sci_gateway/cpp/sci_int3d.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscidifferential_equations_la-sci_int3d.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-sci_int3d.Tpo -c -o libscidifferential_equations_la-sci_int3d.lo `test -f 'sci_gateway/cpp/sci_int3d.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_int3d.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-sci_int3d.Tpo $(DEPDIR)/libscidifferential_equations_la-sci_int3d.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='sci_gateway/cpp/sci_int3d.cpp' object='libscidifferential_equations_la-sci_int3d.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscidifferential_equations_la-sci_int3d.lo `test -f 'sci_gateway/cpp/sci_int3d.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_int3d.cpp
 +
 +libscidifferential_equations_la-sci_intg.lo: sci_gateway/cpp/sci_intg.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscidifferential_equations_la-sci_intg.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-sci_intg.Tpo -c -o libscidifferential_equations_la-sci_intg.lo `test -f 'sci_gateway/cpp/sci_intg.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_intg.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-sci_intg.Tpo $(DEPDIR)/libscidifferential_equations_la-sci_intg.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='sci_gateway/cpp/sci_intg.cpp' object='libscidifferential_equations_la-sci_intg.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscidifferential_equations_la-sci_intg.lo `test -f 'sci_gateway/cpp/sci_intg.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_intg.cpp
 +
 +libscidifferential_equations_la-sci_ode.lo: sci_gateway/cpp/sci_ode.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscidifferential_equations_la-sci_ode.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-sci_ode.Tpo -c -o libscidifferential_equations_la-sci_ode.lo `test -f 'sci_gateway/cpp/sci_ode.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_ode.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-sci_ode.Tpo $(DEPDIR)/libscidifferential_equations_la-sci_ode.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='sci_gateway/cpp/sci_ode.cpp' object='libscidifferential_equations_la-sci_ode.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscidifferential_equations_la-sci_ode.lo `test -f 'sci_gateway/cpp/sci_ode.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_ode.cpp
 +
 +libscidifferential_equations_la-sci_odedc.lo: sci_gateway/cpp/sci_odedc.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscidifferential_equations_la-sci_odedc.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-sci_odedc.Tpo -c -o libscidifferential_equations_la-sci_odedc.lo `test -f 'sci_gateway/cpp/sci_odedc.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_odedc.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-sci_odedc.Tpo $(DEPDIR)/libscidifferential_equations_la-sci_odedc.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='sci_gateway/cpp/sci_odedc.cpp' object='libscidifferential_equations_la-sci_odedc.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscidifferential_equations_la-sci_odedc.lo `test -f 'sci_gateway/cpp/sci_odedc.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_odedc.cpp
 +
 +libscidifferential_equations_la-sci_feval.lo: sci_gateway/cpp/sci_feval.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscidifferential_equations_la-sci_feval.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-sci_feval.Tpo -c -o libscidifferential_equations_la-sci_feval.lo `test -f 'sci_gateway/cpp/sci_feval.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_feval.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-sci_feval.Tpo $(DEPDIR)/libscidifferential_equations_la-sci_feval.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='sci_gateway/cpp/sci_feval.cpp' object='libscidifferential_equations_la-sci_feval.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscidifferential_equations_la-sci_feval.lo `test -f 'sci_gateway/cpp/sci_feval.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_feval.cpp
 +
 +libscidifferential_equations_la-sci_bvode.lo: sci_gateway/cpp/sci_bvode.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscidifferential_equations_la-sci_bvode.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-sci_bvode.Tpo -c -o libscidifferential_equations_la-sci_bvode.lo `test -f 'sci_gateway/cpp/sci_bvode.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_bvode.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-sci_bvode.Tpo $(DEPDIR)/libscidifferential_equations_la-sci_bvode.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='sci_gateway/cpp/sci_bvode.cpp' object='libscidifferential_equations_la-sci_bvode.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscidifferential_equations_la-sci_bvode.lo `test -f 'sci_gateway/cpp/sci_bvode.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_bvode.cpp
 +
 +libscidifferential_equations_la-sci_impl.lo: sci_gateway/cpp/sci_impl.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscidifferential_equations_la-sci_impl.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-sci_impl.Tpo -c -o libscidifferential_equations_la-sci_impl.lo `test -f 'sci_gateway/cpp/sci_impl.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_impl.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-sci_impl.Tpo $(DEPDIR)/libscidifferential_equations_la-sci_impl.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='sci_gateway/cpp/sci_impl.cpp' object='libscidifferential_equations_la-sci_impl.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscidifferential_equations_la-sci_impl.lo `test -f 'sci_gateway/cpp/sci_impl.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_impl.cpp
 +
 +libscidifferential_equations_la-sci_dassl.lo: sci_gateway/cpp/sci_dassl.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscidifferential_equations_la-sci_dassl.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-sci_dassl.Tpo -c -o libscidifferential_equations_la-sci_dassl.lo `test -f 'sci_gateway/cpp/sci_dassl.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_dassl.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-sci_dassl.Tpo $(DEPDIR)/libscidifferential_equations_la-sci_dassl.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='sci_gateway/cpp/sci_dassl.cpp' object='libscidifferential_equations_la-sci_dassl.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscidifferential_equations_la-sci_dassl.lo `test -f 'sci_gateway/cpp/sci_dassl.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_dassl.cpp
 +
 +libscidifferential_equations_la-sci_dasrt.lo: sci_gateway/cpp/sci_dasrt.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscidifferential_equations_la-sci_dasrt.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-sci_dasrt.Tpo -c -o libscidifferential_equations_la-sci_dasrt.lo `test -f 'sci_gateway/cpp/sci_dasrt.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_dasrt.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-sci_dasrt.Tpo $(DEPDIR)/libscidifferential_equations_la-sci_dasrt.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='sci_gateway/cpp/sci_dasrt.cpp' object='libscidifferential_equations_la-sci_dasrt.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscidifferential_equations_la-sci_dasrt.lo `test -f 'sci_gateway/cpp/sci_dasrt.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_dasrt.cpp
 +
 +libscidifferential_equations_la-sci_daskr.lo: sci_gateway/cpp/sci_daskr.cpp
- @am__fastdepCXX_TRUE@ $(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscidifferential_equations_la-sci_daskr.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-sci_daskr.Tpo -c -o libscidifferential_equations_la-sci_daskr.lo `test -f 'sci_gateway/cpp/sci_daskr.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_daskr.cpp
- @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libscidifferential_equations_la-sci_daskr.Tpo $(DEPDIR)/libscidifferential_equations_la-sci_daskr.Plo
- @AMDEP_TRUE@@am__fastdepCXX_FALSE@    source='sci_gateway/cpp/sci_daskr.cpp' object='libscidifferential_equations_la-sci_daskr.lo' libtool=yes @AMDEPBACKSLASH@
++@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscidifferential_equations_la-sci_daskr.lo -MD -MP -MF $(DEPDIR)/libscidifferential_equations_la-sci_daskr.Tpo -c -o libscidifferential_equations_la-sci_daskr.lo `test -f 'sci_gateway/cpp/sci_daskr.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_daskr.cpp
++@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscidifferential_equations_la-sci_daskr.Tpo $(DEPDIR)/libscidifferential_equations_la-sci_daskr.Plo
++@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='sci_gateway/cpp/sci_daskr.cpp' object='libscidifferential_equations_la-sci_daskr.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCXX_FALSE@        $(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscidifferential_equations_la-sci_daskr.lo `test -f 'sci_gateway/cpp/sci_daskr.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_daskr.cpp
++@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidifferential_equations_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscidifferential_equations_la-sci_daskr.lo `test -f 'sci_gateway/cpp/sci_daskr.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_daskr.cpp
  
  .f.o:
        $(AM_V_F77)$(F77COMPILE) -c -o $@ $<
@@@ -1240,15 -1272,15 +1240,15 @@@ lsdisc.lo: src/fortran/lsdisc.
  fnorm.lo: src/fortran/fnorm.f
        $(AM_V_F77)$(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o fnorm.lo `test -f 'src/fortran/fnorm.f' || echo '$(srcdir)/'`src/fortran/fnorm.f
  
 +ddasrt.lo: src/fortran/ddasrt.f
 +      $(AM_V_F77)$(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o ddasrt.lo `test -f 'src/fortran/ddasrt.f' || echo '$(srcdir)/'`src/fortran/ddasrt.f
 +
  ddaskr.lo: src/fortran/ddaskr.f
-       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o ddaskr.lo `test -f 'src/fortran/ddaskr.f' || echo '$(srcdir)/'`src/fortran/ddaskr.f
+       $(AM_V_F77)$(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o ddaskr.lo `test -f 'src/fortran/ddaskr.f' || echo '$(srcdir)/'`src/fortran/ddaskr.f
  
  daux.lo: src/fortran/daux.f
-       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o daux.lo `test -f 'src/fortran/daux.f' || echo '$(srcdir)/'`src/fortran/daux.f
+       $(AM_V_F77)$(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o daux.lo `test -f 'src/fortran/daux.f' || echo '$(srcdir)/'`src/fortran/daux.f
  
 -ddasrt.lo: src/fortran/ddasrt.f
 -      $(AM_V_F77)$(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o ddasrt.lo `test -f 'src/fortran/ddasrt.f' || echo '$(srcdir)/'`src/fortran/ddasrt.f
 -
  stodi.lo: src/fortran/stodi.f
        $(AM_V_F77)$(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o stodi.lo `test -f 'src/fortran/stodi.f' || echo '$(srcdir)/'`src/fortran/stodi.f
  
@@@ -79,13 -78,13 +79,13 @@@ int sci_base2dec(char *fname, void* pvA
      if (dValue != (double)iValue)
      {
          Scierror(999, _("%s: Wrong value for input argument #%d: An integer value expected.\n"), fname, 2);
 -        return 0;
 +        return 1;
      }
  
-     if ((iValue < 2) && (iValue > 36))
+     if (iValue < 2 || iValue > 36)
      {
          Scierror(999, _("%s: Wrong value for input argument #%d: Must be between %d and %d."), fname, 2, 2, 36);
 -        return 0;
 +        return 1;
      }
  
      if (getAllocatedMatrixOfString(pvApiCtx, piAddressVarOne, &m, &n, &pStrs) != 0)
@@@ -108,13 -108,13 +108,13 @@@ int sci_dec2base(char *fname, void* pvA
      if (dBaseUsed != (double)iBaseUsed)
      {
          Scierror(999, _("%s: Wrong value for input argument #%d: An integer value expected.\n"), fname, 2);
 -        return 0;
 +        return 1;
      }
  
-     if ((iBaseUsed < 2) && (iBaseUsed > 36))
+     if (iBaseUsed < 2 || iBaseUsed > 36)
      {
          Scierror(999, _("%s: Wrong value for input argument #%d: Must be between %d and %d."), fname, 2, 2, 36);
 -        return 0;
 +        return 1;
      }
  
      sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddressVarOne);
@@@ -50,10 -43,6 +50,12 @@@ s3t     = int16(7616);//0x1DC
  writedata("ulb", ["00" "00" "00" "00" "00" "00" "00" "7B" "00" "00" "00" "00" "00" "00" "B2" "6E" "00" "00" "00" "00" "00" "01" "E2" "40"]);
  //unsigned long little endian
  writedata("ull", ["7B" "00" "00" "00" "00" "00" "00" "00" "6E" "B2" "00" "00" "00" "00" "00" "00" "40" "E2" "01" "00" "00" "00" "00" "00"]);
++
 +//unsigned int big endian
 +writedata("uib", ["00" "00" "00" "7B" "00" "00" "B2" "6E" "00" "01" "E2" "40"]);
 +//unsigned int little endian
 +writedata("uil", ["7B" "00" "00" "00" "6E" "B2" "00" "00" "40" "E2" "01" "00"]);
++
  //unsigned short big endian
  writedata("usb", ["00" "7B" "B2" "6E" "E2" "40"]);
  //unsigned short little endian
@@@ -63,10 -52,6 +65,12 @@@ writedata("usl", ["7B" "00" "6E" "B2" "
  writedata("lb", ["FF" "FF" "FF" "FF" "FF" "FF" "FF" "85" "FF" "FF" "FF" "FF" "FF" "FF" "A4" "60" "FF" "FF" "FF" "FF" "FF" "FE" "1D" "C0"]);
  //long little endian
  writedata("ll", ["85" "FF" "FF" "FF" "FF" "FF" "FF" "FF" "60" "A4" "FF" "FF" "FF" "FF" "FF" "FF" "C0" "1D" "FE" "FF" "FF" "FF" "FF" "FF"]);
++
 +//int big endian
 +writedata("ib", ["FF" "FF" "FF" "85" "FF" "FF" "A4" "60" "FF" "FE" "1D" "C0"]);
 +//int little endian
 +writedata("il", ["85" "FF" "FF" "FF" "60" "A4" "FF" "FF" "C0" "1D" "FE" "FF"]);
++
  //short big endian
  writedata("sb", ["FF" "85" "A4" "60" "1D" "C0"]);
  //short little endian
@@@ -20,80 -20,78 +20,80 @@@ endfunctio
  u8 = uint8(123); //0x7B
  u16 = uint16(45678);//0xB26E
  u32 = uint32(123456);//0x0001E240
- u64 = uint64(123456);//0x0001E240
++u64 = uint64(123456);//0x000000000001E240
  s8 = int8(-123); //0x85
  s16 = int16(-23456);//0xA460
  s32 = int32(-123456);//0xFFFE1DC0
- s64 = int64(-123456);//0xFFFE1DC0
--ref_l   = hex2dec(["85" "FF" "FF" "FF" "FF" "FF" "FF" "FF" "60" "A4" "FF" "FF" "FF" "FF" "FF" "FF" "C0" "1D" "FE" "FF" "FF" "FF" "FF" "FF"]);
--ref_ll  = hex2dec(["85" "FF" "FF" "FF" "FF" "FF" "FF" "FF" "60" "A4" "FF" "FF" "FF" "FF" "FF" "FF" "C0" "1D" "FE" "FF" "FF" "FF" "FF" "FF"]);
--ref_i   = hex2dec(["85" "FF" "FF" "FF" "60" "A4" "FF" "FF" "C0" "1D" "FE" "FF"]);
--ref_il  = hex2dec(["85" "FF" "FF" "FF" "60" "A4" "FF" "FF" "C0" "1D" "FE" "FF"]);
--ref_s   = hex2dec(["85" "FF" "60" "A4" "C0" "1D"]);
--ref_sl  = hex2dec(["85" "FF" "60" "A4" "C0" "1D"]);
--ref_ul  = hex2dec(["7B" "00" "00" "00" "00" "00" "00" "00" "6E" "B2" "00" "00" "00" "00" "00" "00" "40" "E2" "01" "00" "00" "00" "00" "00"]);
--ref_ui  = hex2dec(["7B" "00" "00" "00" "6E" "B2" "00" "00" "40" "E2" "01" "00"]);
--ref_us  = hex2dec(["7B" "00" "6E" "B2" "40" "E2"]);
--ref_lb  = hex2dec(["FF" "FF" "FF" "FF" "FF" "FF" "FF" "85" "FF" "FF" "FF" "FF" "FF" "FF" "A4" "60" "FF" "FF" "FF" "FF" "FF" "FE" "1D" "C0"]);
--ref_ib  = hex2dec(["FF" "FF" "FF" "85" "FF" "FF" "A4" "60" "FF" "FE" "1D" "C0"]);
--ref_sb  = hex2dec(["FF" "85" "A4" "60" "1D" "C0"]);
--ref_ulb = hex2dec(["00" "00" "00" "00" "00" "00" "00" "7B" "00" "00" "00" "00" "00" "00" "B2" "6E" "00" "00" "00" "00" "00" "01" "E2" "40"]);
--ref_uib = hex2dec(["00" "00" "00" "7B" "00" "00" "B2" "6E" "00" "01" "E2" "40"]);
--ref_usb = hex2dec(["00" "7B" "B2" "6E" "E2" "40"]);
--ref_ull = hex2dec(["7B" "00" "00" "00" "00" "00" "00" "00" "6E" "B2" "00" "00" "00" "00" "00" "00" "40" "E2" "01" "00" "00" "00" "00" "00"]);
--ref_uil = hex2dec(["7B" "00" "00" "00" "6E" "B2" "00" "00" "40" "E2" "01" "00"]);
--ref_usl = hex2dec(["7B" "00" "6E" "B2" "40" "E2"]);
 -//integer in long long ( little endian )
 -writedata("l", list(s8, s16, s32));
 -assert_checkequal(readdata("l", 24), ref_l);
++s64 = int64(-123456);//0xFFFFFFFFFFFE1DC0
++ref_l   = hex2dec(["85" "FF" "FF" "FF" "FF" "FF" "FF" "FF" "60" "A4" "FF" "FF" "FF" "FF" "FF" "FF" "C0" "1D" "FE" "FF" "FF" "FF" "FF" "FF" "C0" "1D" "FE" "FF" "FF" "FF" "FF" "FF"]);
++ref_ll  = hex2dec(["85" "FF" "FF" "FF" "FF" "FF" "FF" "FF" "60" "A4" "FF" "FF" "FF" "FF" "FF" "FF" "C0" "1D" "FE" "FF" "FF" "FF" "FF" "FF" "C0" "1D" "FE" "FF" "FF" "FF" "FF" "FF"]);
++ref_i   = hex2dec(["85" "FF" "FF" "FF" "60" "A4" "FF" "FF" "C0" "1D" "FE" "FF" "C0" "1D" "FE" "FF"]);
++ref_il  = hex2dec(["85" "FF" "FF" "FF" "60" "A4" "FF" "FF" "C0" "1D" "FE" "FF" "C0" "1D" "FE" "FF"]);
++ref_s   = hex2dec(["85" "FF" "60" "A4" "C0" "1D" "C0" "1D"]);
++ref_sl  = hex2dec(["85" "FF" "60" "A4" "C0" "1D" "C0" "1D"]);
++ref_ul  = hex2dec(["7B" "00" "00" "00" "00" "00" "00" "00" "6E" "B2" "00" "00" "00" "00" "00" "00" "40" "E2" "01" "00" "00" "00" "00" "00" "40" "E2" "01" "00" "00" "00" "00" "00"]);
++ref_ui  = hex2dec(["7B" "00" "00" "00" "6E" "B2" "00" "00" "40" "E2" "01" "00" "40" "E2" "01" "00"]);
++ref_us  = hex2dec(["7B" "00" "6E" "B2" "40" "E2" "40" "E2"]);
++ref_lb  = hex2dec(["FF" "FF" "FF" "FF" "FF" "FF" "FF" "85" "FF" "FF" "FF" "FF" "FF" "FF" "A4" "60" "FF" "FF" "FF" "FF" "FF" "FE" "1D" "C0" "FF" "FF" "FF" "FF" "FF" "FE" "1D" "C0"]);
++ref_ib  = hex2dec(["FF" "FF" "FF" "85" "FF" "FF" "A4" "60" "FF" "FE" "1D" "C0" "FF" "FE" "1D" "C0"]);
++ref_sb  = hex2dec(["FF" "85" "A4" "60" "1D" "C0" "1D" "C0"]);
++ref_ulb = hex2dec(["00" "00" "00" "00" "00" "00" "00" "7B" "00" "00" "00" "00" "00" "00" "B2" "6E" "00" "00" "00" "00" "00" "01" "E2" "40" "00" "00" "00" "00" "00" "01" "E2" "40"]);
++ref_uib = hex2dec(["00" "00" "00" "7B" "00" "00" "B2" "6E" "00" "01" "E2" "40" "00" "01" "E2" "40"]);
++ref_usb = hex2dec(["00" "7B" "B2" "6E" "E2" "40" "E2" "40"]);
++ref_ull = hex2dec(["7B" "00" "00" "00" "00" "00" "00" "00" "6E" "B2" "00" "00" "00" "00" "00" "00" "40" "E2" "01" "00" "00" "00" "00" "00" "40" "E2" "01" "00" "00" "00" "00" "00"]);
++ref_uil = hex2dec(["7B" "00" "00" "00" "6E" "B2" "00" "00" "40" "E2" "01" "00" "40" "E2" "01" "00"]);
++ref_usl = hex2dec(["7B" "00" "6E" "B2" "40" "E2" "40" "E2"]);
 +//integer in long ( little endian )
 +writedata("l", list(s8, s16, s32, s64));
- assert_checkequal(readdata("l", 24), ref_l);
++assert_checkequal(readdata("l", 32), ref_l);
  //integer in int ( little endian )
 -writedata("i", list(s8, s16, s32));
 -assert_checkequal(readdata("i", 24), ref_i);
 -//integer in little endian long long
 -writedata("ll", list(s8, s16, s32));
 -assert_checkequal(readdata("ll", 24), ref_ll);
 +writedata("i", list(s8, s16, s32, s64));
- assert_checkequal(readdata("i", 12), ref_i);
++assert_checkequal(readdata("i", 16), ref_i);
 +//integer in little endian long
 +writedata("ll", list(s8, s16, s32, s64));
- assert_checkequal(readdata("ll", 24), ref_ll);
++assert_checkequal(readdata("ll", 32), ref_ll);
  //integer in little endian int
 -writedata("il", list(s8, s16, s32));
 -assert_checkequal(readdata("il", 24), ref_il);
 +writedata("il", list(s8, s16, s32, s64));
- assert_checkequal(readdata("il", 12), ref_il);
++assert_checkequal(readdata("il", 16), ref_il);
  //integer in short
 -writedata("s", list(s8, s16, s32));
 -assert_checkequal(readdata("s", 6), ref_s);
 +writedata("s", list(s8, s16, s32, s64));
- assert_checkequal(readdata("s", 6), ref_s);
++assert_checkequal(readdata("s", 8), ref_s);
  //integer in little endian short
 -writedata("sl", list(s8, s16, s32));
 -assert_checkequal(readdata("sl", 6), ref_sl);
 -//integer in unsigned long long
 -writedata("ul", list(u8, u16, u32));
 -assert_checkequal(readdata("ul", 24), ref_ul);
 +writedata("sl", list(s8, s16, s32, s64));
- assert_checkequal(readdata("sl", 6), ref_sl);
++assert_checkequal(readdata("sl", 8), ref_sl);
 +//integer in unsigned long
 +writedata("ul", list(u8, u16, u32, u64));
- assert_checkequal(readdata("ul", 24), ref_ul);
++assert_checkequal(readdata("ul", 32), ref_ul);
  //integer in unsigned int
 -writedata("ui", list(u8, u16, u32));
 -assert_checkequal(readdata("ui", 12), ref_ui);
 +writedata("ui", list(u8, u16, u32, u64));
- assert_checkequal(readdata("ui", 12), ref_ui);
++assert_checkequal(readdata("ui", 16), ref_ui);
  //integer in unsigned short
 -writedata("us", list(u8, u16, u32));
 -assert_checkequal(readdata("us", 6), ref_us);
 -//integer in big endian long long
 -writedata("lb", list(s8, s16, s32));
 -assert_checkequal(readdata("lb", 24), ref_lb);
 +writedata("us", list(u8, u16, u32, u64));
- assert_checkequal(readdata("us", 6), ref_us);
++assert_checkequal(readdata("us", 8), ref_us);
 +//integer in big endian long
 +writedata("lb", list(s8, s16, s32, s64));
- assert_checkequal(readdata("lb", 24), ref_lb);
++assert_checkequal(readdata("lb", 32), ref_lb);
  //integer in big endian int
 -writedata("ib", list(s8, s16, s32));
 -assert_checkequal(readdata("ib", 12), ref_ib);
 +writedata("ib", list(s8, s16, s32, s64));
- assert_checkequal(readdata("ib", 12), ref_ib);
++assert_checkequal(readdata("ib", 16), ref_ib);
  //integer in big endian short
 -writedata("sb", list(s8, s16, s32));
 -assert_checkequal(readdata("sb", 6), ref_sb);
 -//unsigned integer in unsigned big endian long long
 -writedata("ulb", list(u8, u16, u32));
 -assert_checkequal(readdata("ulb", 24), ref_ulb);
 +writedata("sb", list(s8, s16, s32, s64));
- assert_checkequal(readdata("sb", 6), ref_sb);
++assert_checkequal(readdata("sb", 8), ref_sb);
 +//unsigned integer in unsigned big endian long
 +writedata("ulb", list(u8, u16, u32, u64));
- assert_checkequal(readdata("ulb", 24), ref_ulb);
++assert_checkequal(readdata("ulb", 32), ref_ulb);
  //unsigned integer in unsigned big endian int
 -writedata("uib", list(u8, u16, u32));
 -assert_checkequal(readdata("uib", 12), ref_uib);
 +writedata("uib", list(u8, u16, u32, u64));
- assert_checkequal(readdata("uib", 12), ref_uib);
++assert_checkequal(readdata("uib", 16), ref_uib);
  //unsigned integer in unsigned big endian short
 -writedata("usb", list(u8, u16, u32));
 -assert_checkequal(readdata("usb", 6), ref_usb);
 -//unsigned integer in unsigned little endian long long
 -writedata("ull", list(u8, u16, u32));
 -assert_checkequal(readdata("ull", 24), ref_ull);
 -//unsigned integer in unsigned little endian long long
 -writedata("uil", list(u8, u16, u32));
 -assert_checkequal(readdata("uil", 12), ref_uil);
 +writedata("usb", list(u8, u16, u32, u64));
- assert_checkequal(readdata("usb", 6), ref_usb);
++assert_checkequal(readdata("usb", 8), ref_usb);
 +//unsigned integer in unsigned little endian long
 +writedata("ull", list(u8, u16, u32, u64));
- assert_checkequal(readdata("ull", 24), ref_ull);
++assert_checkequal(readdata("ull", 32), ref_ull);
 +//unsigned integer in unsigned little endian int
 +writedata("uil", list(u8, u16, u32, u64));
- assert_checkequal(readdata("uil", 12), ref_uil);
++assert_checkequal(readdata("uil", 16), ref_uil);
  //unsigned integer in unsigned little endian short
 -writedata("usl", list(u8, u16, u32));
 -assert_checkequal(readdata("usl", 6), ref_usl);
 +writedata("usl", list(u8, u16, u32, u64));
- assert_checkequal(readdata("usl", 6), ref_usl);
++assert_checkequal(readdata("usl", 8), ref_usl);
@@@ -24,99 -24,97 +24,99 @@@ endfunctio
  u8 = uint8(123); //0x7B
  u16 = uint16(45678);//0xB26E
  u32 = uint32(123456);//0x0001E240
- u64 = uint64(123456);//0x0001E240
++u64 = uint64(123456);//0x000000000001E240
  s8 = int8(-123); //0x85
  s16 = int16(-23456);//0xA460
  s32 = int32(-123456);//0xFFFE1DC0
- s64 = int64(-123456);//0xFFFE1DC0
--
--ref_l   = hex2dec(["85" "FF" "FF" "FF" "FF" "FF" "FF" "FF" "60" "A4" "FF" "FF" "FF" "FF" "FF" "FF" "C0" "1D" "FE" "FF" "FF" "FF" "FF" "FF"]);
--ref_ll  = hex2dec(["85" "FF" "FF" "FF" "FF" "FF" "FF" "FF" "60" "A4" "FF" "FF" "FF" "FF" "FF" "FF" "C0" "1D" "FE" "FF" "FF" "FF" "FF" "FF"]);
--ref_i   = hex2dec(["85" "FF" "FF" "FF" "60" "A4" "FF" "FF" "C0" "1D" "FE" "FF"]);
--ref_il  = hex2dec(["85" "FF" "FF" "FF" "60" "A4" "FF" "FF" "C0" "1D" "FE" "FF"]);
--ref_s   = hex2dec(["85" "FF" "60" "A4" "C0" "1D"]);
--ref_sl  = hex2dec(["85" "FF" "60" "A4" "C0" "1D"]);
--ref_ul  = hex2dec(["7B" "00" "00" "00" "00" "00" "00" "00" "6E" "B2" "00" "00" "00" "00" "00" "00" "40" "E2" "01" "00" "00" "00" "00" "00"]);
--ref_ui  = hex2dec(["7B" "00" "00" "00" "6E" "B2" "00" "00" "40" "E2" "01" "00"]);
--ref_us  = hex2dec(["7B" "00" "6E" "B2" "40" "E2"]);
--ref_lb  = hex2dec(["FF" "FF" "FF" "FF" "FF" "FF" "FF" "85" "FF" "FF" "FF" "FF" "FF" "FF" "A4" "60" "FF" "FF" "FF" "FF" "FF" "FE" "1D" "C0"]);
--ref_ib  = hex2dec(["FF" "FF" "FF" "85" "FF" "FF" "A4" "60" "FF" "FE" "1D" "C0"]);
--ref_sb  = hex2dec(["FF" "85" "A4" "60" "1D" "C0"]);
--ref_ulb = hex2dec(["00" "00" "00" "00" "00" "00" "00" "7B" "00" "00" "00" "00" "00" "00" "B2" "6E" "00" "00" "00" "00" "00" "01" "E2" "40"]);
--ref_uib = hex2dec(["00" "00" "00" "7B" "00" "00" "B2" "6E" "00" "01" "E2" "40"]);
--ref_usb = hex2dec(["00" "7B" "B2" "6E" "E2" "40"]);
--ref_ull = hex2dec(["7B" "00" "00" "00" "00" "00" "00" "00" "6E" "B2" "00" "00" "00" "00" "00" "00" "40" "E2" "01" "00" "00" "00" "00" "00"]);
--ref_uil = hex2dec(["7B" "00" "00" "00" "6E" "B2" "00" "00" "40" "E2" "01" "00"]);
--ref_usl = hex2dec(["7B" "00" "6E" "B2" "40" "E2"]);
 -
 -//integer in long long ( little endian )
 -writedata("l", list(s8, s16, s32));
 -assert_checkequal(readdata("l", 24), ref_l);
++s64 = int64(-123456);//0xFFFFFFFFFFFE1DC0
++
++ref_l   = hex2dec(["85" "FF" "FF" "FF" "FF" "FF" "FF" "FF" "60" "A4" "FF" "FF" "FF" "FF" "FF" "FF" "C0" "1D" "FE" "FF" "FF" "FF" "FF" "FF" "C0" "1D" "FE" "FF" "FF" "FF" "FF" "FF"]);
++ref_ll  = hex2dec(["85" "FF" "FF" "FF" "FF" "FF" "FF" "FF" "60" "A4" "FF" "FF" "FF" "FF" "FF" "FF" "C0" "1D" "FE" "FF" "FF" "FF" "FF" "FF" "C0" "1D" "FE" "FF" "FF" "FF" "FF" "FF"]);
++ref_i   = hex2dec(["85" "FF" "FF" "FF" "60" "A4" "FF" "FF" "C0" "1D" "FE" "FF" "C0" "1D" "FE" "FF"]);
++ref_il  = hex2dec(["85" "FF" "FF" "FF" "60" "A4" "FF" "FF" "C0" "1D" "FE" "FF" "C0" "1D" "FE" "FF"]);
++ref_s   = hex2dec(["85" "FF" "60" "A4" "C0" "1D" "C0" "1D"]);
++ref_sl  = hex2dec(["85" "FF" "60" "A4" "C0" "1D" "C0" "1D"]);
++ref_ul  = hex2dec(["7B" "00" "00" "00" "00" "00" "00" "00" "6E" "B2" "00" "00" "00" "00" "00" "00" "40" "E2" "01" "00" "00" "00" "00" "00" "40" "E2" "01" "00" "00" "00" "00" "00"]);
++ref_ui  = hex2dec(["7B" "00" "00" "00" "6E" "B2" "00" "00" "40" "E2" "01" "00" "40" "E2" "01" "00"]);
++ref_us  = hex2dec(["7B" "00" "6E" "B2" "40" "E2" "40" "E2"]);
++ref_lb  = hex2dec(["FF" "FF" "FF" "FF" "FF" "FF" "FF" "85" "FF" "FF" "FF" "FF" "FF" "FF" "A4" "60" "FF" "FF" "FF" "FF" "FF" "FE" "1D" "C0" "FF" "FF" "FF" "FF" "FF" "FE" "1D" "C0"]);
++ref_ib  = hex2dec(["FF" "FF" "FF" "85" "FF" "FF" "A4" "60" "FF" "FE" "1D" "C0" "FF" "FE" "1D" "C0"]);
++ref_sb  = hex2dec(["FF" "85" "A4" "60" "1D" "C0" "1D" "C0"]);
++ref_ulb = hex2dec(["00" "00" "00" "00" "00" "00" "00" "7B" "00" "00" "00" "00" "00" "00" "B2" "6E" "00" "00" "00" "00" "00" "01" "E2" "40" "00" "00" "00" "00" "00" "01" "E2" "40"]);
++ref_uib = hex2dec(["00" "00" "00" "7B" "00" "00" "B2" "6E" "00" "01" "E2" "40" "00" "01" "E2" "40"]);
++ref_usb = hex2dec(["00" "7B" "B2" "6E" "E2" "40" "E2" "40"]);
++ref_ull = hex2dec(["7B" "00" "00" "00" "00" "00" "00" "00" "6E" "B2" "00" "00" "00" "00" "00" "00" "40" "E2" "01" "00" "00" "00" "00" "00" "40" "E2" "01" "00" "00" "00" "00" "00"]);
++ref_uil = hex2dec(["7B" "00" "00" "00" "6E" "B2" "00" "00" "40" "E2" "01" "00" "40" "E2" "01" "00"]);
++ref_usl = hex2dec(["7B" "00" "6E" "B2" "40" "E2" "40" "E2"]);
 +
 +//integer in long ( little endian )
 +writedata("l", list(s8, s16, s32, s64));
- assert_checkequal(readdata("l", 24), ref_l);
++assert_checkequal(readdata("l", 32), ref_l);
  
  //integer in int ( little endian )
 -writedata("i", list(s8, s16, s32));
 -assert_checkequal(readdata("i", 24), ref_i);
 +writedata("i", list(s8, s16, s32, s64));
- assert_checkequal(readdata("i", 12), ref_i);
++assert_checkequal(readdata("i", 16), ref_i);
  
 -//integer in little endian long long
 -writedata("ll", list(s8, s16, s32));
 -assert_checkequal(readdata("ll", 24), ref_ll);
 +//integer in little endian long
 +writedata("ll", list(s8, s16, s32, s64));
- assert_checkequal(readdata("ll", 24), ref_ll);
++assert_checkequal(readdata("ll", 32), ref_ll);
  
  //integer in little endian int
 -writedata("il", list(s8, s16, s32));
 -assert_checkequal(readdata("il", 24), ref_il);
 +writedata("il", list(s8, s16, s32, s64));
- assert_checkequal(readdata("il", 12), ref_il);
++assert_checkequal(readdata("il", 16), ref_il);
  
  //integer in short
 -writedata("s", list(s8, s16, s32));
 -assert_checkequal(readdata("s", 6), ref_s);
 +writedata("s", list(s8, s16, s32, s64));
- assert_checkequal(readdata("s", 6), ref_s);
++assert_checkequal(readdata("s", 8), ref_s);
  
  //integer in little endian short
 -writedata("sl", list(s8, s16, s32));
 -assert_checkequal(readdata("sl", 6), ref_sl);
 +writedata("sl", list(s8, s16, s32, s64));
- assert_checkequal(readdata("sl", 6), ref_sl);
++assert_checkequal(readdata("sl", 8), ref_sl);
  
 -//integer in unsigned long long
 -writedata("ul", list(u8, u16, u32));
 -assert_checkequal(readdata("ul", 24), ref_ul);
 +//integer in unsigned long
 +writedata("ul", list(u8, u16, u32, u64));
- assert_checkequal(readdata("ul", 24), ref_ul);
++assert_checkequal(readdata("ul", 32), ref_ul);
  
  //integer in unsigned int
 -writedata("ui", list(u8, u16, u32));
 -assert_checkequal(readdata("ui", 12), ref_ui);
 +writedata("ui", list(u8, u16, u32, u64));
- assert_checkequal(readdata("ui", 12), ref_ui);
++assert_checkequal(readdata("ui", 16), ref_ui);
  
  //integer in unsigned short
 -writedata("us", list(u8, u16, u32));
 -assert_checkequal(readdata("us", 6), ref_us);
 +writedata("us", list(u8, u16, u32, u64));
- assert_checkequal(readdata("us", 6), ref_us);
++assert_checkequal(readdata("us", 8), ref_us);
  
 -//integer in big endian long long
 -writedata("lb", list(s8, s16, s32));
 -assert_checkequal(readdata("lb", 24), ref_lb);
 +//integer in big endian long
 +writedata("lb", list(s8, s16, s32, s64));
- assert_checkequal(readdata("lb", 24), ref_lb);
++assert_checkequal(readdata("lb", 32), ref_lb);
  
  //integer in big endian int
 -writedata("ib", list(s8, s16, s32));
 -assert_checkequal(readdata("ib", 12), ref_ib);
 +writedata("ib", list(s8, s16, s32, s64));
- assert_checkequal(readdata("ib", 12), ref_ib);
++assert_checkequal(readdata("ib", 16), ref_ib);
  
  //integer in big endian short
 -writedata("sb", list(s8, s16, s32));
 -assert_checkequal(readdata("sb", 6), ref_sb);
 +writedata("sb", list(s8, s16, s32, s64));
- assert_checkequal(readdata("sb", 6), ref_sb);
++assert_checkequal(readdata("sb", 8), ref_sb);
  
 -//unsigned integer in unsigned big endian long long
 -writedata("ulb", list(u8, u16, u32));
 -assert_checkequal(readdata("ulb", 24), ref_ulb);
 +//unsigned integer in unsigned big endian long
 +writedata("ulb", list(u8, u16, u32, u64));
- assert_checkequal(readdata("ulb", 24), ref_ulb);
++assert_checkequal(readdata("ulb", 32), ref_ulb);
  
  //unsigned integer in unsigned big endian int
 -writedata("uib", list(u8, u16, u32));
 -assert_checkequal(readdata("uib", 12), ref_uib);
 +writedata("uib", list(u8, u16, u32, u64));
- assert_checkequal(readdata("uib", 12), ref_uib);
++assert_checkequal(readdata("uib", 16), ref_uib);
  
  //unsigned integer in unsigned big endian short
 -writedata("usb", list(u8, u16, u32));
 -assert_checkequal(readdata("usb", 6), ref_usb);
 +writedata("usb", list(u8, u16, u32, u64));
- assert_checkequal(readdata("usb", 6), ref_usb);
++assert_checkequal(readdata("usb", 8), ref_usb);
  
 -//unsigned integer in unsigned little endian long long
 -writedata("ull", list(u8, u16, u32));
 -assert_checkequal(readdata("ull", 24), ref_ull);
 +//unsigned integer in unsigned little endian long
 +writedata("ull", list(u8, u16, u32, u64));
- assert_checkequal(readdata("ull", 24), ref_ull);
++assert_checkequal(readdata("ull", 32), ref_ull);
  
 -//unsigned integer in unsigned little endian long long
 -writedata("uil", list(u8, u16, u32));
 -assert_checkequal(readdata("uil", 12), ref_uil);
 +//unsigned integer in unsigned little endian int
 +writedata("uil", list(u8, u16, u32, u64));
- assert_checkequal(readdata("uil", 12), ref_uil);
++assert_checkequal(readdata("uil", 16), ref_uil);
  
  //unsigned integer in unsigned little endian short
 -writedata("usl", list(u8, u16, u32));
 -assert_checkequal(readdata("usl", 6), ref_usl);
 +writedata("usl", list(u8, u16, u32, u64));
- assert_checkequal(readdata("usl", 6), ref_usl);
++assert_checkequal(readdata("usl", 8), ref_usl);
@@@ -89,14 -95,13 +95,14 @@@ libscigraphic_objects_la_CPPFLAGS = $(J
                        -I$(top_srcdir)/modules/core/includes/ \
                        -I$(top_srcdir)/modules/jvm/includes/ \
                        -I$(top_srcdir)/modules/localization/includes/ \
 -                      -I$(top_srcdir)/modules/output_stream/includes/ 
 +                      -I$(top_srcdir)/modules/operations/includes/ \
-                       -I$(top_srcdir)/modules/output_stream/includes/ \
++                      -I$(top_srcdir)/modules/output_stream/includes/
                        $(AM_CPPFLAGS)
  
  # Without the graphic_objects module
  libscigraphic_objects_disable_la_CPPFLAGS = -I$(srcdir)/includes/ \
                        -I$(top_srcdir)/modules/localization/includes/ \
-                       -I$(top_srcdir)/modules/output_stream/includes/ \
 -                      -I$(top_srcdir)/modules/output_stream/includes/ 
++                      -I$(top_srcdir)/modules/output_stream/includes/
                        $(AM_CPPFLAGS)
  
  GRAPHIC_OBJECTS_DISABLE_C_SOURCES = src/nographic_objects/nographic_objects.c
@@@ -732,16 -737,13 +744,14 @@@ libscigraphic_objects_la_CPPFLAGS = $(J
                        -I$(top_srcdir)/modules/core/includes/ \
                        -I$(top_srcdir)/modules/jvm/includes/ \
                        -I$(top_srcdir)/modules/localization/includes/ \
 -                      -I$(top_srcdir)/modules/output_stream/includes/ 
 +                      -I$(top_srcdir)/modules/operations/includes/ \
-                       -I$(top_srcdir)/modules/output_stream/includes/ \
-                       $(AM_CPPFLAGS)
++                      -I$(top_srcdir)/modules/output_stream/includes/
  
  
  # Without the graphic_objects module
  libscigraphic_objects_disable_la_CPPFLAGS = -I$(srcdir)/includes/ \
                        -I$(top_srcdir)/modules/localization/includes/ \
-                       -I$(top_srcdir)/modules/output_stream/includes/ \
-                       $(AM_CPPFLAGS)
 -                      -I$(top_srcdir)/modules/output_stream/includes/ 
++                      -I$(top_srcdir)/modules/output_stream/includes/
  
  GRAPHIC_OBJECTS_DISABLE_C_SOURCES = src/nographic_objects/nographic_objects.c
  libscigraphic_objects_disable_la_SOURCES = $(GRAPHIC_OBJECTS_DISABLE_C_SOURCES)
@@@ -4,4 -4,7 +4,6 @@@ LIBRARY    core.dl
  EXPORTS
  ;
  com_
 -getScilabMode
  callFunctionFromGateway 
+ MyHeapAlloc
+ MyHeapFree
      <ClCompile Include="..\cpp\TriangleMeshData.cpp" />
      <ClCompile Include="..\cpp\TriangleMeshFecData.cpp" />
      <ClCompile Include="..\cpp\TriangleMeshFecDataDecomposer.cpp" />
+     <ClCompile Include="..\jni\SurfaceData_wrap.c" />
+     <ClCompile Include="..\cpp\createObjectData.cpp" />
+     <ClCompile Include="..\cpp\pickSurface.cpp" />
    </ItemGroup>
    <ItemGroup>
 +    <ClInclude Include="..\..\includes\AxesModel.h" />
 +    <ClInclude Include="..\..\includes\ColorComputer.hxx" />
 +    <ClInclude Include="..\..\includes\CurrentFigure.h" />
 +    <ClInclude Include="..\..\includes\CurrentObject.h" />
 +    <ClInclude Include="..\..\includes\CurrentSubwin.h" />
 +    <ClInclude Include="..\..\includes\DataLoader.hxx" />
 +    <ClInclude Include="..\..\includes\DataModel.hxx" />
      <ClInclude Include="..\..\includes\Fac3DColorComputer.hxx" />
      <ClInclude Include="..\..\includes\FigureList.h" />
 +    <ClInclude Include="..\..\includes\FigureModel.h" />
      <ClInclude Include="..\..\includes\getConsoleIdentifier.h" />
      <ClInclude Include="..\..\includes\getGraphicObjectProperty.h" />
      <ClInclude Include="..\..\includes\graphicObjectProperties.h" />
@@@ -330,13 -331,25 +332,29 @@@ src/c/axesScale.c 
  src/c/TerminateGraphics.c \
  src/c/periEmpty.c \
  src/c/scitokenize.c \
- src/c/get_ticks_utils.c
+ src/c/get_ticks_utils.c \
+ src/c/getHandleProperty/get_ambient_color_property.c \
+ src/c/getHandleProperty/get_diffuse_color_property.c \
+ src/c/getHandleProperty/get_specular_color_property.c \
+ src/c/getHandleProperty/get_use_color_material_property.c \
+ src/c/getHandleProperty/get_material_shininess_property.c \
+ src/c/getHandleProperty/get_light_type_property.c \
+ src/c/getHandleProperty/get_direction_property.c \
+ src/c/getHandleProperty/set_ambient_color_property.c \
+ src/c/getHandleProperty/set_diffuse_color_property.c \
+ src/c/getHandleProperty/set_specular_color_property.c \
+ src/c/getHandleProperty/set_use_color_material_property.c \
+ src/c/getHandleProperty/set_material_shininess_property.c \
+ src/c/getHandleProperty/set_light_type_property.c \
+ src/c/getHandleProperty/set_direction_property.c \
+ src/c/Light.c
  
 -GATEWAY_C_SOURCES = sci_gateway/c/sci_swap_handles.c \
 +GRAPHICS_CXX_SOURCES = \
 +src/cpp/configgraphicvariable.cpp
 +
 +GATEWAY_C_SOURCES = \
 +sci_gateway/c/sci_swap_handles.c \
  sci_gateway/c/sci_grayplot.c \
  sci_gateway/c/sci_matplot1.c \
  sci_gateway/c/sci_xfpolys.c \
@@@ -392,50 -410,32 +410,52 @@@ sci_gateway/c/sci_set.c 
  sci_gateway/c/sci_rubberbox.c \
  sci_gateway/c/sci_rotate_axes.c \
  sci_gateway/c/sci_is_handle_valid.c \
- sci_gateway/c/sci_Legend.c
+ sci_gateway/c/sci_Legend.c \
+ sci_gateway/c/sci_light.c
  
 +GATEWAY_CXX_SOURCES = \
 +sci_gateway/cpp/graphics_gw.cpp \
 +sci_gateway/cpp/sci_get.cpp \
 +sci_gateway/cpp/sci_xget.cpp \
 +sci_gateway/cpp/sci_xset.cpp \
 +sci_gateway/cpp/sci_winsid.cpp
 +
 +
  libscigraphics_la_CPPFLAGS = \
 -      -I$(srcdir)/includes/ \
 -      -I$(srcdir)/src/c/ \
 -      -I$(srcdir)/src/c/getHandleProperty/ \
 -      -I$(srcdir)/src/cpp/ \
 -      -I$(top_srcdir)/libs/hashtable/ \
 -      -I$(top_srcdir)/modules/action_binding/includes/ \
 -      -I$(top_srcdir)/modules/api_scilab/includes/ \
 -      -I$(top_srcdir)/modules/elementary_functions/includes/ \
 -      -I$(top_srcdir)/modules/fileio/includes/ \
 -      -I$(top_srcdir)/modules/graphic_export/includes/ \
 -      -I$(top_srcdir)/modules/graphic_objects/includes/ \
 -      -I$(top_srcdir)/modules/gui/includes/ \
 -      -I$(top_srcdir)/modules/jvm/includes/ \
 -      -I$(top_srcdir)/modules/localization/includes/ \
 -      -I$(top_srcdir)/modules/output_stream/includes/ \
 -      -I$(top_srcdir)/modules/renderer/includes/ \
 -      -I$(top_srcdir)/modules/string/includes/ \
 -      $(AM_CPPFLAGS)
 +-I$(srcdir)/includes/ \
 +-I$(srcdir)/src/c/ \
 +-I$(srcdir)/src/c/getHandleProperty/ \
 +-I$(srcdir)/src/cpp/ \
 +-I$(top_srcdir)/libs/hashtable/ \
 +-I$(top_srcdir)/modules/action_binding/includes/ \
 +-I$(top_srcdir)/modules/api_scilab/includes/ \
 +-I$(top_srcdir)/modules/elementary_functions/includes/ \
 +-I$(top_srcdir)/modules/fileio/includes/ \
 +-I$(top_srcdir)/modules/graphic_export/includes/ \
 +-I$(top_srcdir)/modules/graphic_objects/includes/ \
 +-I$(top_srcdir)/modules/gui/includes/ \
 +-I$(top_srcdir)/modules/jvm/includes/ \
 +-I$(top_srcdir)/modules/localization/includes/ \
 +-I$(top_srcdir)/modules/output_stream/includes/ \
 +-I$(top_srcdir)/modules/renderer/includes/ \
 +-I$(top_srcdir)/modules/string/includes/ \
 +-I$(top_srcdir)/modules/system_env/includes/ \
 +-I$(top_srcdir)/modules/operations/includes/ \
 +-I$(top_srcdir)/modules/types/includes/ \
 +-I$(top_srcdir)/modules/ast/includes/ \
 +-I$(top_srcdir)/modules/symbol/includes/ \
 +-I$(top_srcdir)/modules/localization/includes/ \
 +-I$(top_srcdir)/modules/threads/includes/ \
 +-I$(top_srcdir)/modules/console/includes/ \
 +-I$(top_srcdir)/modules/dynamic_link/includes \
 +$(EIGEN_CPPFLAGS) \
 +$(TCL_INC_PATH) \
 +$(TK_INC_PATH) \
 +$(AM_CPPFLAGS)
  
  libscigraphics_algo_la_SOURCES = $(GRAPHICS_C_SOURCES) $(GRAPHICS_CXX_SOURCES)
 -libscigraphics_la_SOURCES = $(GATEWAY_C_SOURCES)
 +libscigraphics_la_SOURCES = $(GATEWAY_C_SOURCES) $(GATEWAY_CXX_SOURCES)
  libscigraphics_algo_la_CPPFLAGS = $(libscigraphics_la_CPPFLAGS)
  
  # For the code check (splint)
@@@ -475,9 -477,23 +477,24 @@@ am__objects_1 = libscigraphics_algo_la-
        libscigraphics_algo_la-TerminateGraphics.lo \
        libscigraphics_algo_la-periEmpty.lo \
        libscigraphics_algo_la-scitokenize.lo \
-       libscigraphics_algo_la-get_ticks_utils.lo
+       libscigraphics_algo_la-get_ticks_utils.lo \
+       libscigraphics_algo_la-get_ambient_color_property.lo \
+       libscigraphics_algo_la-get_diffuse_color_property.lo \
+       libscigraphics_algo_la-get_specular_color_property.lo \
+       libscigraphics_algo_la-get_use_color_material_property.lo \
+       libscigraphics_algo_la-get_material_shininess_property.lo \
+       libscigraphics_algo_la-get_light_type_property.lo \
+       libscigraphics_algo_la-get_direction_property.lo \
+       libscigraphics_algo_la-set_ambient_color_property.lo \
+       libscigraphics_algo_la-set_diffuse_color_property.lo \
+       libscigraphics_algo_la-set_specular_color_property.lo \
+       libscigraphics_algo_la-set_use_color_material_property.lo \
+       libscigraphics_algo_la-set_material_shininess_property.lo \
+       libscigraphics_algo_la-set_light_type_property.lo \
+       libscigraphics_algo_la-set_direction_property.lo \
+       libscigraphics_algo_la-Light.lo
 -am_libscigraphics_algo_la_OBJECTS = $(am__objects_1)
 +am__objects_2 = libscigraphics_algo_la-configgraphicvariable.lo
 +am_libscigraphics_algo_la_OBJECTS = $(am__objects_1) $(am__objects_2)
  libscigraphics_algo_la_OBJECTS = $(am_libscigraphics_algo_la_OBJECTS)
  AM_V_lt = $(am__v_lt_@AM_V@)
  am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@@ -537,11 -555,8 +554,11 @@@ am__objects_3 = libscigraphics_la-sci_s
        libscigraphics_la-sci_rubberbox.lo \
        libscigraphics_la-sci_rotate_axes.lo \
        libscigraphics_la-sci_is_handle_valid.lo \
-       libscigraphics_la-sci_Legend.lo
+       libscigraphics_la-sci_Legend.lo libscigraphics_la-sci_light.lo
 -am_libscigraphics_la_OBJECTS = $(am__objects_2)
 +am__objects_4 = libscigraphics_la-graphics_gw.lo \
 +      libscigraphics_la-sci_get.lo libscigraphics_la-sci_xget.lo \
 +      libscigraphics_la-sci_xset.lo libscigraphics_la-sci_winsid.lo
 +am_libscigraphics_la_OBJECTS = $(am__objects_3) $(am__objects_4)
  libscigraphics_la_OBJECTS = $(am_libscigraphics_la_OBJECTS)
  @GUI_TRUE@am_libscigraphics_la_rpath = -rpath $(pkglibdir)
  AM_V_P = $(am__v_P_@AM_V@)
@@@ -1223,13 -1214,24 +1242,28 @@@ src/c/axesScale.c 
  src/c/TerminateGraphics.c \
  src/c/periEmpty.c \
  src/c/scitokenize.c \
- src/c/get_ticks_utils.c
+ src/c/get_ticks_utils.c \
+ src/c/getHandleProperty/get_ambient_color_property.c \
+ src/c/getHandleProperty/get_diffuse_color_property.c \
+ src/c/getHandleProperty/get_specular_color_property.c \
+ src/c/getHandleProperty/get_use_color_material_property.c \
+ src/c/getHandleProperty/get_material_shininess_property.c \
+ src/c/getHandleProperty/get_light_type_property.c \
+ src/c/getHandleProperty/get_direction_property.c \
+ src/c/getHandleProperty/set_ambient_color_property.c \
+ src/c/getHandleProperty/set_diffuse_color_property.c \
+ src/c/getHandleProperty/set_specular_color_property.c \
+ src/c/getHandleProperty/set_use_color_material_property.c \
+ src/c/getHandleProperty/set_material_shininess_property.c \
+ src/c/getHandleProperty/set_light_type_property.c \
+ src/c/getHandleProperty/set_direction_property.c \
+ src/c/Light.c
  
 -GATEWAY_C_SOURCES = sci_gateway/c/sci_swap_handles.c \
 +GRAPHICS_CXX_SOURCES = \
 +src/cpp/configgraphicvariable.cpp
 +
 +GATEWAY_C_SOURCES = \
 +sci_gateway/c/sci_swap_handles.c \
  sci_gateway/c/sci_grayplot.c \
  sci_gateway/c/sci_matplot1.c \
  sci_gateway/c/sci_xfpolys.c \
@@@ -1285,49 -1292,31 +1319,50 @@@ sci_gateway/c/sci_set.c 
  sci_gateway/c/sci_rubberbox.c \
  sci_gateway/c/sci_rotate_axes.c \
  sci_gateway/c/sci_is_handle_valid.c \
- sci_gateway/c/sci_Legend.c
+ sci_gateway/c/sci_Legend.c \
+ sci_gateway/c/sci_light.c
  
 +GATEWAY_CXX_SOURCES = \
 +sci_gateway/cpp/graphics_gw.cpp \
 +sci_gateway/cpp/sci_get.cpp \
 +sci_gateway/cpp/sci_xget.cpp \
 +sci_gateway/cpp/sci_xset.cpp \
 +sci_gateway/cpp/sci_winsid.cpp
 +
  libscigraphics_la_CPPFLAGS = \
 -      -I$(srcdir)/includes/ \
 -      -I$(srcdir)/src/c/ \
 -      -I$(srcdir)/src/c/getHandleProperty/ \
 -      -I$(srcdir)/src/cpp/ \
 -      -I$(top_srcdir)/libs/hashtable/ \
 -      -I$(top_srcdir)/modules/action_binding/includes/ \
 -      -I$(top_srcdir)/modules/api_scilab/includes/ \
 -      -I$(top_srcdir)/modules/elementary_functions/includes/ \
 -      -I$(top_srcdir)/modules/fileio/includes/ \
 -      -I$(top_srcdir)/modules/graphic_export/includes/ \
 -      -I$(top_srcdir)/modules/graphic_objects/includes/ \
 -      -I$(top_srcdir)/modules/gui/includes/ \
 -      -I$(top_srcdir)/modules/jvm/includes/ \
 -      -I$(top_srcdir)/modules/localization/includes/ \
 -      -I$(top_srcdir)/modules/output_stream/includes/ \
 -      -I$(top_srcdir)/modules/renderer/includes/ \
 -      -I$(top_srcdir)/modules/string/includes/ \
 -      $(AM_CPPFLAGS)
 +-I$(srcdir)/includes/ \
 +-I$(srcdir)/src/c/ \
 +-I$(srcdir)/src/c/getHandleProperty/ \
 +-I$(srcdir)/src/cpp/ \
 +-I$(top_srcdir)/libs/hashtable/ \
 +-I$(top_srcdir)/modules/action_binding/includes/ \
 +-I$(top_srcdir)/modules/api_scilab/includes/ \
 +-I$(top_srcdir)/modules/elementary_functions/includes/ \
 +-I$(top_srcdir)/modules/fileio/includes/ \
 +-I$(top_srcdir)/modules/graphic_export/includes/ \
 +-I$(top_srcdir)/modules/graphic_objects/includes/ \
 +-I$(top_srcdir)/modules/gui/includes/ \
 +-I$(top_srcdir)/modules/jvm/includes/ \
 +-I$(top_srcdir)/modules/localization/includes/ \
 +-I$(top_srcdir)/modules/output_stream/includes/ \
 +-I$(top_srcdir)/modules/renderer/includes/ \
 +-I$(top_srcdir)/modules/string/includes/ \
 +-I$(top_srcdir)/modules/system_env/includes/ \
 +-I$(top_srcdir)/modules/operations/includes/ \
 +-I$(top_srcdir)/modules/types/includes/ \
 +-I$(top_srcdir)/modules/ast/includes/ \
 +-I$(top_srcdir)/modules/symbol/includes/ \
 +-I$(top_srcdir)/modules/localization/includes/ \
 +-I$(top_srcdir)/modules/threads/includes/ \
 +-I$(top_srcdir)/modules/console/includes/ \
 +-I$(top_srcdir)/modules/dynamic_link/includes \
 +$(EIGEN_CPPFLAGS) \
 +$(TCL_INC_PATH) \
 +$(TK_INC_PATH) \
 +$(AM_CPPFLAGS)
  
  libscigraphics_algo_la_SOURCES = $(GRAPHICS_C_SOURCES) $(GRAPHICS_CXX_SOURCES)
 -libscigraphics_la_SOURCES = $(GATEWAY_C_SOURCES)
 +libscigraphics_la_SOURCES = $(GATEWAY_C_SOURCES) $(GATEWAY_CXX_SOURCES)
  libscigraphics_algo_la_CPPFLAGS = $(libscigraphics_la_CPPFLAGS)
  
  # For the code check (splint)
@@@ -1604,9 -1582,9 +1640,10 @@@ distclean-compile
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigraphics_algo_la-StringMatrix.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigraphics_algo_la-TerminateGraphics.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigraphics_algo_la-axesScale.Plo@am__quote@
 +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigraphics_algo_la-configgraphicvariable.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigraphics_algo_la-getPropertyAssignedValue.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigraphics_algo_la-get_alignment_property.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigraphics_algo_la-get_ambient_color_property.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigraphics_algo_la-get_anti_aliasing_property.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigraphics_algo_la-get_arc_drawing_method_property.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigraphics_algo_la-get_arrow_size_factor_property.Plo@am__quote@
@@@ -4510,76 -4657,13 +4682,83 @@@ libscigraphics_la-sci_Legend.lo: sci_ga
  @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphics_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libscigraphics_la-sci_Legend.lo `test -f 'sci_gateway/c/sci_Legend.c' || echo '$(srcdir)/'`sci_gateway/c/sci_Legend.c
  
+ libscigraphics_la-sci_light.lo: sci_gateway/c/sci_light.c
+ @am__fastdepCC_TRUE@  $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphics_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libscigraphics_la-sci_light.lo -MD -MP -MF $(DEPDIR)/libscigraphics_la-sci_light.Tpo -c -o libscigraphics_la-sci_light.lo `test -f 'sci_gateway/c/sci_light.c' || echo '$(srcdir)/'`sci_gateway/c/sci_light.c
+ @am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/libscigraphics_la-sci_light.Tpo $(DEPDIR)/libscigraphics_la-sci_light.Plo
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='sci_gateway/c/sci_light.c' object='libscigraphics_la-sci_light.lo' libtool=yes @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphics_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libscigraphics_la-sci_light.lo `test -f 'sci_gateway/c/sci_light.c' || echo '$(srcdir)/'`sci_gateway/c/sci_light.c
 +.cpp.o:
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 +
 +.cpp.obj:
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 +
 +.cpp.lo:
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 +
 +libscigraphics_algo_la-configgraphicvariable.lo: src/cpp/configgraphicvariable.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphics_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscigraphics_algo_la-configgraphicvariable.lo -MD -MP -MF $(DEPDIR)/libscigraphics_algo_la-configgraphicvariable.Tpo -c -o libscigraphics_algo_la-configgraphicvariable.lo `test -f 'src/cpp/configgraphicvariable.cpp' || echo '$(srcdir)/'`src/cpp/configgraphicvariable.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscigraphics_algo_la-configgraphicvariable.Tpo $(DEPDIR)/libscigraphics_algo_la-configgraphicvariable.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='src/cpp/configgraphicvariable.cpp' object='libscigraphics_algo_la-configgraphicvariable.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphics_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscigraphics_algo_la-configgraphicvariable.lo `test -f 'src/cpp/configgraphicvariable.cpp' || echo '$(srcdir)/'`src/cpp/configgraphicvariable.cpp
 +
 +libscigraphics_disable_la-nographics_gw.lo: src/nographics/nographics_gw.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphics_disable_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscigraphics_disable_la-nographics_gw.lo -MD -MP -MF $(DEPDIR)/libscigraphics_disable_la-nographics_gw.Tpo -c -o libscigraphics_disable_la-nographics_gw.lo `test -f 'src/nographics/nographics_gw.cpp' || echo '$(srcdir)/'`src/nographics/nographics_gw.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscigraphics_disable_la-nographics_gw.Tpo $(DEPDIR)/libscigraphics_disable_la-nographics_gw.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='src/nographics/nographics_gw.cpp' object='libscigraphics_disable_la-nographics_gw.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphics_disable_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscigraphics_disable_la-nographics_gw.lo `test -f 'src/nographics/nographics_gw.cpp' || echo '$(srcdir)/'`src/nographics/nographics_gw.cpp
 +
 +libscigraphics_la-graphics_gw.lo: sci_gateway/cpp/graphics_gw.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphics_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscigraphics_la-graphics_gw.lo -MD -MP -MF $(DEPDIR)/libscigraphics_la-graphics_gw.Tpo -c -o libscigraphics_la-graphics_gw.lo `test -f 'sci_gateway/cpp/graphics_gw.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/graphics_gw.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscigraphics_la-graphics_gw.Tpo $(DEPDIR)/libscigraphics_la-graphics_gw.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='sci_gateway/cpp/graphics_gw.cpp' object='libscigraphics_la-graphics_gw.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphics_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscigraphics_la-graphics_gw.lo `test -f 'sci_gateway/cpp/graphics_gw.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/graphics_gw.cpp
 +
 +libscigraphics_la-sci_get.lo: sci_gateway/cpp/sci_get.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphics_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscigraphics_la-sci_get.lo -MD -MP -MF $(DEPDIR)/libscigraphics_la-sci_get.Tpo -c -o libscigraphics_la-sci_get.lo `test -f 'sci_gateway/cpp/sci_get.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_get.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscigraphics_la-sci_get.Tpo $(DEPDIR)/libscigraphics_la-sci_get.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='sci_gateway/cpp/sci_get.cpp' object='libscigraphics_la-sci_get.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphics_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscigraphics_la-sci_get.lo `test -f 'sci_gateway/cpp/sci_get.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_get.cpp
 +
 +libscigraphics_la-sci_xget.lo: sci_gateway/cpp/sci_xget.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphics_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscigraphics_la-sci_xget.lo -MD -MP -MF $(DEPDIR)/libscigraphics_la-sci_xget.Tpo -c -o libscigraphics_la-sci_xget.lo `test -f 'sci_gateway/cpp/sci_xget.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_xget.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscigraphics_la-sci_xget.Tpo $(DEPDIR)/libscigraphics_la-sci_xget.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='sci_gateway/cpp/sci_xget.cpp' object='libscigraphics_la-sci_xget.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphics_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscigraphics_la-sci_xget.lo `test -f 'sci_gateway/cpp/sci_xget.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_xget.cpp
 +
 +libscigraphics_la-sci_xset.lo: sci_gateway/cpp/sci_xset.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphics_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscigraphics_la-sci_xset.lo -MD -MP -MF $(DEPDIR)/libscigraphics_la-sci_xset.Tpo -c -o libscigraphics_la-sci_xset.lo `test -f 'sci_gateway/cpp/sci_xset.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_xset.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscigraphics_la-sci_xset.Tpo $(DEPDIR)/libscigraphics_la-sci_xset.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='sci_gateway/cpp/sci_xset.cpp' object='libscigraphics_la-sci_xset.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphics_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscigraphics_la-sci_xset.lo `test -f 'sci_gateway/cpp/sci_xset.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_xset.cpp
 +
 +libscigraphics_la-sci_winsid.lo: sci_gateway/cpp/sci_winsid.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphics_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscigraphics_la-sci_winsid.lo -MD -MP -MF $(DEPDIR)/libscigraphics_la-sci_winsid.Tpo -c -o libscigraphics_la-sci_winsid.lo `test -f 'sci_gateway/cpp/sci_winsid.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_winsid.cpp
 +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libscigraphics_la-sci_winsid.Tpo $(DEPDIR)/libscigraphics_la-sci_winsid.Plo
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    $(AM_V_CXX)source='sci_gateway/cpp/sci_winsid.cpp' object='libscigraphics_la-sci_winsid.lo' libtool=yes @AMDEPBACKSLASH@
 +@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 +@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphics_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscigraphics_la-sci_winsid.lo `test -f 'sci_gateway/cpp/sci_winsid.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_winsid.cpp
 +
  mostlyclean-libtool:
        -rm -f *.lo
  
@@@ -238,7 -198,7 +238,8 @@@ lib /DEF:"$(ProjectDir)elementary_funct
      </Link>
    </ItemDefinitionGroup>
    <ItemGroup>
 +    <ClCompile Include="src\cpp\configgraphicvariable.cpp" />
+     <ClCompile Include="sci_gateway\c\sci_light.c" />
      <ClCompile Include="src\c\Axes.c" />
      <ClCompile Include="src\c\axesScale.c" />
      <ClCompile Include="src\c\BasicAlgos.c" />
      <ClInclude Include="includes\BasicAlgos.h" />
      <ClInclude Include="includes\BuildObjects.h" />
      <ClInclude Include="includes\Champ.h" />
 +    <ClInclude Include="src\cpp\configgraphicvariable.hxx" />
+     <ClInclude Include="includes\Light.h" />
      <ClInclude Include="src\c\CheckScilabXgc.h" />
      <ClInclude Include="src\c\getHandleProperty\CheckTicksProperty.h" />
      <ClInclude Include="includes\CloneObjects.h" />
    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
    <ImportGroup Label="ExtensionTargets">
    </ImportGroup>
--</Project>
++</Project>
      <ClCompile Include="src\c\getHandleProperty\set_figure_closerequestfcn_property.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 +    <ClCompile Include="src\c\getHandleProperty\set_user_data_property.c">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
+     <ClCompile Include="src\c\getHandleProperty\get_ambient_color_property.c">
+       <Filter>Source Files</Filter>
+     </ClCompile>
+     <ClCompile Include="src\c\getHandleProperty\get_diffuse_color_property.c">
+       <Filter>Source Files</Filter>
+     </ClCompile>
+     <ClCompile Include="src\c\getHandleProperty\get_light_type_property.c">
+       <Filter>Source Files</Filter>
+     </ClCompile>
+     <ClCompile Include="src\c\getHandleProperty\get_specular_color_property.c">
+       <Filter>Source Files</Filter>
+     </ClCompile>
+     <ClCompile Include="src\c\getHandleProperty\set_ambient_color_property.c">
+       <Filter>Source Files</Filter>
+     </ClCompile>
+     <ClCompile Include="src\c\getHandleProperty\set_diffuse_color_property.c">
+       <Filter>Source Files</Filter>
+     </ClCompile>
+     <ClCompile Include="src\c\getHandleProperty\set_light_type_property.c">
+       <Filter>Source Files</Filter>
+     </ClCompile>
+     <ClCompile Include="src\c\getHandleProperty\set_specular_color_property.c">
+       <Filter>Source Files</Filter>
+     </ClCompile>
+     <ClCompile Include="src\c\getHandleProperty\get_material_shininess_property.c">
+       <Filter>Source Files</Filter>
+     </ClCompile>
+     <ClCompile Include="src\c\getHandleProperty\set_material_shininess_property.c">
+       <Filter>Source Files</Filter>
+     </ClCompile>
+     <ClCompile Include="src\c\Light.c">
+       <Filter>Source Files</Filter>
+     </ClCompile>
      <ClCompile Include="src\c\getHandleProperty\set_image_type_property.c">
        <Filter>Source Files</Filter>
      </ClCompile>
      <ClCompile Include="src\c\getHandleProperty\get_image_type_property.c">
        <Filter>Source Files</Filter>
      </ClCompile>
 +    <ClCompile Include="src\cpp\configgraphicvariable.cpp">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
+     <ClCompile Include="sci_gateway\c\sci_light.c">
+       <Filter>Source Files</Filter>
+     </ClCompile>
+     <ClCompile Include="src\c\getHandleProperty\get_direction_property.c">
+       <Filter>Source Files</Filter>
+     </ClCompile>
+     <ClCompile Include="src\c\getHandleProperty\get_use_color_material_property.c">
+       <Filter>Source Files</Filter>
+     </ClCompile>
+     <ClCompile Include="src\c\getHandleProperty\set_use_color_material_property.c">
+       <Filter>Source Files</Filter>
+     </ClCompile>
+     <ClCompile Include="src\c\getHandleProperty\set_direction_property.c">
+       <Filter>Source Files</Filter>
+     </ClCompile>
    </ItemGroup>
    <ItemGroup>
      <ClInclude Include="includes\Axes.h">
      <ClInclude Include="src\c\loadTextRenderingAPI.h">
        <Filter>Header Files</Filter>
      </ClInclude>
 +    <ClInclude Include="src\cpp\configgraphicvariable.hxx">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
+     <ClInclude Include="includes\Light.h">
+       <Filter>Header Files</Filter>
+     </ClInclude>
    </ItemGroup>
    <ItemGroup>
      <None Include="Gui_Import.def">
        <Filter>Resource Files</Filter>
      </ResourceCompile>
    </ItemGroup>
--</Project>
++</Project>
  /*--------------------------------------------------------------------------*/
  GRAPHICS_IMPEXP int gw_graphics(void);
  
 -GRAPHICS_IMPEXP int sci_addcb(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_champ(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_champ1(char *fname, unsigned long fname_len);
 +GRAPHICS_IMPEXP int sci_addcb(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_champ(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_champ1(char *fname, void *pvApiCtx);
  GRAPHICS_IMPEXP int sci_champ_G(char *fname,
                                  int (*func) (double *, double *, double *, double *, int *, int *, char *, double *, double *, int),
 -                                unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xarc(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xarcs(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_zoom_rect(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xtitle(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xstringb(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xstring(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xsetech(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xset(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xsegs(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xrects(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xrect(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xpolys(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xpoly(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xname(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xlfont(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xgrid(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xgraduate(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xgetmouse(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xgetech(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xget(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xfpolys(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xfpoly(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xfarcs(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xdel(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xclick(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xchange(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_xarrows(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_winsid(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_unzoom(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_unglue(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_swap_handles(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_stringbox(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_show_window(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_set(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_rubberbox(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_rotate_axes(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_relocate_handle(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_plot3d(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_plot2d1(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_plot2d1_1(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_plot2d1_2(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_plot2d1_3(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_plot2d1_4(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_plot2d2(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_plot2d3(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_plot2d4(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_plot2d1_G(char *fname, int ptype, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_plot2d(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_param3d1(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_param3d(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_newaxes(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_move(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_matlot1(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_matplot1(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_matlot(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_matplot(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_Legend(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_is_handle_valid(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_grayplot(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_glue(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_get(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_geom3d(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_fec(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_drawnow(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_drawlater(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_drawaxis(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_demo(char *fname, int fname_len);
 -GRAPHICS_IMPEXP int sci_delete(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_copy(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_contour2di(char *fname, unsigned long fname_len);
 -GRAPHICS_IMPEXP int sci_light(char *fname, unsigned long fname_len);
 +                                void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xarc(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xarcs(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_zoom_rect(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xtitle(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xstringb(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xstring(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xsetech(char *fname, void *pvApiCtx);
 +//GRAPHICS_IMPEXP int sci_xset(char *fname, void *pvApiCtx); => c++
 +GRAPHICS_IMPEXP int sci_xsegs(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xrects(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xrect(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xpolys(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xpoly(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xname(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xlfont(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xgrid(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xgraduate(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xgetmouse(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xgetech(char *fname, void *pvApiCtx);
 +//GRAPHICS_IMPEXP int sci_xget(char *fname, void *pvApiCtx); => c++
 +GRAPHICS_IMPEXP int sci_xfpolys(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xfpoly(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xfarcs(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xdel(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xclick(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xchange(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_xarrows(char *fname, void *pvApiCtx);
 +//GRAPHICS_IMPEXP int sci_winsid(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_unzoom(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_unglue(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_swap_handles(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_stringbox(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_show_window(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_set(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_rubberbox(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_rotate_axes(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_relocate_handle(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_plot3d(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_plot2d1(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_plot2d1_1(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_plot2d1_2(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_plot2d1_3(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_plot2d1_4(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_plot2d2(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_plot2d3(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_plot2d4(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_plot2d1_G(char *fname, int ptype, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_plot2d(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_param3d1(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_param3d(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_newaxes(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_move(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_matlot1(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_matplot1(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_matlot(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_matplot(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_Legend(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_is_handle_valid(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_grayplot(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_glue(char *fname, void *pvApiCtx);
 +//GRAPHICS_IMPEXP int sci_get(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_geom3d(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_fec(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_drawnow(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_drawlater(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_drawaxis(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_demo(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_delete(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_copy(char *fname, void *pvApiCtx);
 +GRAPHICS_IMPEXP int sci_contour2di(char *fname, void *pvApiCtx);
++GRAPHICS_IMPEXP int sci_light(char *fname, void *pvApiCtx);
  
  /*--------------------------------------------------------------------------*/
  #endif /* __INTGRAPHICS__ */
index 86e92ac,83464d5..0a5184d
mode 100644,100755..100755
@@@ -907,9 -958,23 +957,23 @@@ function %h_p(h
              "Children: "+fmtchildren(h.children)
              "ShowHiddenHandles: "+sci2exp(h.showhiddenhandles)
              ]
+             // Light
+             // =====================================================================
+         case "Light"
+             t=[t;
+             "parent: "+h.parent.type
+             "visible = "+sci2exp(h.visible)
+             "light_type = "+sci2exp(h.light_type)
+             "position = "+sci2exp(h.position)
+             "direction = "+sci2exp(h.direction)
+             "ambient_color = "+sci2exp(h.ambient_color)
+             "diffuse_color = "+sci2exp(h.diffuse_color)
+             "specular_color= "+sci2exp(h.specular_color)
+             ]
          end
      end
 -    write(%io(2),t)
 +    printf("%s\n", t);
  endfunction
  
  
  
  /*--------------------------------------------------------------------------*/
  #include "gw_graphics.h"
 -#include "api_scilab.h"
 -#include "MALLOC.h"
 -#include "scilabmode.h"
 -#include "localization.h"
 -#include "Scierror.h"
 -#include "BOOL.h"
 -#include "loadOnUseClassPath.h"
 -#include "callFunctionFromGateway.h"
 -/*--------------------------------------------------------------------------*/
 -static BOOL loadedDep = FALSE;
 -
 -/*--------------------------------------------------------------------------*/
 -static gw_generic_table Tab[] =
 -{
 -    {sci_champ, "champ"},
 -    {sci_champ1, "champ1"},
 -    {sci_fec, "fec"},
 -    {sci_geom3d, "geom3d"},
 -    {sci_grayplot, "grayplot"},
 -    {sci_matplot, "Matplot"},
 -    {sci_matplot1, "Matplot1"},
 -    {sci_contour2di, "contour2di"},
 -    {sci_param3d, "param3d"},
 -    {sci_param3d1, "param3d1"},
 -    {sci_xstringb, "xstringb"},
 -    {sci_plot2d, "plot2d"},
 -    {sci_plot2d1_1, "plot2d1"},
 -    {sci_plot2d1_2, "plot2d2"},
 -    {sci_plot2d1_3, "plot2d3"},
 -    {sci_plot2d1_4, "plot2d4"},
 -    {sci_plot3d, "plot3d"},
 -    {sci_plot3d, "plot3d1"},
 -    {sci_winsid, "winsid"},
 -    {sci_xarc, "xarc"},
 -    {sci_xarcs, "xarcs"},
 -    {sci_xarrows, "xarrows"},
 -    {sci_drawaxis, "drawaxis"},
 -    {sci_xchange, "xchange"},
 -    {NULL, ""}, // show_pixmap: removed
 -    {sci_xclick, "xclick"},
 -    {sci_xdel, "xdel"},
 -    {sci_xarc, "xfarc"},
 -    {sci_xfarcs, "xfarcs"},
 -    {sci_xfpoly, "xfpoly"},
 -    {sci_xfpolys, "xfpolys"},
 -    {sci_xrect, "xfrect"},
 -    {sci_xget, "xget"},
 -    {NULL, ""}, // xgetech: moved as Scilab Macro
 -    {sci_xgetmouse, "xgetmouse"},
 -    {sci_xgrid, "xgrid"},
 -    {sci_xlfont, "xlfont"},
 -    {sci_xpoly, "xpoly"},
 -    {sci_xpolys, "xpolys"},
 -    {sci_xrect, "xrect"},
 -    {sci_xrects, "xrects"},
 -    {sci_xsegs, "xsegs"},
 -    {sci_show_window, "show_window"},
 -    {sci_xset, "xset"},
 -    {NULL, ""}, // xsetech: moved as Scilab Macro
 -    {sci_xstring, "xstring"},
 -    {sci_xtitle, "xtitle"},
 -    {sci_xgraduate, "xgraduate"},
 -    {sci_xname, "xname"},
 -    {NULL, ""}, //clear_pixmap
 -    {sci_zoom_rect, "zoom_rect"},
 -    {sci_unzoom, "unzoom"},
 -    {sci_stringbox, "stringbox"},
 -    {sci_move, "move"},
 -    {sci_glue, "glue"},
 -    {sci_unglue, "unglue"},
 -    {sci_drawnow, "drawnow"},
 -    {sci_drawlater, "drawlater"},
 -    {NULL, ""}, // draw
 -    {NULL, ""}, // was addcb, unusable.
 -    {sci_copy, "copy"},
 -    {sci_delete, "delete"},
 -    {sci_get, "get"},
 -    {sci_set, "set"},
 -    {sci_newaxes, "newaxes"},
 -    {sci_relocate_handle, "relocate_handle"},
 -    {sci_swap_handles, "swap_handles"},
 -    {sci_rubberbox, "rubberbox"},
 -    {sci_rotate_axes, "rotate_axes"},
 -    {sci_is_handle_valid, "is_handle_valid"},
 -    {sci_Legend, "captions"},
 -    {sci_light, "light"}
 -};
  /*--------------------------------------------------------------------------*/
  /* interface for the previous function Table */
  int gw_graphics(void)
index 0000000,551cb5c..5a95225
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,178 +1,176 @@@
+ /*
+  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+  * Copyright (C) 2013 - Pedro SOUZA
+  *
+  * 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 "gw_graphics.h"
+ #include "api_scilab.h"
+ #include "Scierror.h"
+ #include "localization.h"
+ #include "HandleManagement.h"
+ #include "Light.h"
+ #include "stricmp.h"
 -
 -
 -int sci_light(char *fname, unsigned long fname_len)
++int sci_light(char *fname, void* pvApiCtx)
+ {
+     int type = -1;
+     BOOL visible = 1;
+     double* position = NULL;
+     double* direction = NULL;
+     double* ambient_color = NULL;
+     double* diffuse_color = NULL;
+     double* specular_color = NULL;
+     SciErr sciErr;
+     int* piAddr       = NULL;
+     int length = 0;
+     char * pStr = NULL;
+     long long light_handle;
+     long long axesHandle;
+     BOOL result;
+     static rhs_opts opts[] =
+     {
+         { -1, "ambient_color", -1, 0, 0, NULL},
+         { -1, "diffuse_color", -1, 0, 0, NULL},
+         { -1, "direction", -1, 0, 0, NULL},
+         { -1, "position", -1, 0, 0, NULL},
+         { -1, "specular_color", -1, 0, 0, NULL},
+         { -1, "type", -1, 0, 0, NULL},
+         { -1, "visible", -1, 0, 0, NULL},
+         { -1, NULL, -1, 0, 0, NULL}
+     };
+     if (nbInputArgument(pvApiCtx) == 0)
+     {
+         result = createLight(fname, -1, -1, TRUE, NULL, NULL, NULL, NULL, NULL, &light_handle);
+     }
+     else
+     {
+         CheckInputArgument(pvApiCtx, 1, 15);
+         sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
+         if (sciErr.iErr)
+         {
+             Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+             return 0;
+         }
+         if (isHandleType(pvApiCtx, piAddr))
+         {
+             if (isScalar(pvApiCtx, piAddr))
+             {
+                 if (getScalarHandle(pvApiCtx, piAddr, &axesHandle))
+                 {
+                     Scierror(999, _("%s: Wrong type for input argument #%d: A graphic handle expected.\n"), fname, 1);
+                     return 0;
+                 }
+             }
+             else
+             {
+                 Scierror(999, _("%s: Wrong type for input argument #%d: A graphic handle expected.\n"), fname, 1);
+                 return 0;
+             }
+         }
+         if (getOptionals(pvApiCtx, fname, opts) == 0)
+         {
+             ReturnArguments(pvApiCtx);
+             return 0;
+         }
+         if (opts[6].iPos != -1 && opts[6].iType == sci_strings && opts[6].iCols == 1 && opts[6].iRows == 1)
+         {
+             if (getAllocatedSingleString(pvApiCtx, opts[6].piAddr, &pStr))
+             {
+                 Scierror(999, _("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 7);
+                 return 0;
+             }
+             if (stricmp(pStr, "on") == 0)
+             {
+                 visible = 1;
+             }
+             else if (stricmp(pStr, "off") == 0)
+             {
+                 visible = 0;
+             }
+             freeAllocatedSingleString(pStr);
+         }
+         if (opts[5].iPos != -1