improve iconvert speed 65/19265/6
Antoine ELIAS [Sat, 22 Apr 2017 10:16:51 +0000 (12:16 +0200)]
  test_run integer iconvert
  test_run integer iconvert mode_nwni_profiling

Change-Id: Ida2e82cfe8dbd3fb89bacf0a5e5501a808579daa

scilab/modules/integer/Makefile.am
scilab/modules/integer/Makefile.in
scilab/modules/integer/macros/%_iconvert.sci
scilab/modules/integer/sci_gateway/cpp/sci_iconvert.cpp
scilab/modules/integer/src/c/integer.vcxproj.filters
scilab/modules/integer/src/cpp/DllmainInteger_gw.cpp [new file with mode: 0644]
scilab/modules/integer/src/cpp/iconvert_converter.cpp [new file with mode: 0644]
scilab/modules/integer/src/cpp/iconvert_converter.hxx [new file with mode: 0644]
scilab/modules/integer/src/cpp/integer_gw.vcxproj
scilab/modules/integer/src/cpp/integer_gw.vcxproj.filters

index 91bc7c6..bca12e9 100644 (file)
@@ -38,6 +38,8 @@ INTEGER_C_SOURCES = \
     src/c/genimpl.c
 
 GATEWAY_CPP_SOURCES = \
+    src/cpp/DllmainInteger_gw.cpp \
+    src/cpp/iconvert_converter.cpp \
     sci_gateway/cpp/integer_gw.cpp \
     sci_gateway/cpp/sci_inttype.cpp \
     sci_gateway/cpp/sci_double.cpp \
@@ -46,6 +48,7 @@ GATEWAY_CPP_SOURCES = \
 
 libsciinteger_la_CPPFLAGS = \
     -I$(srcdir)/includes/ \
+    -I$(srcdir)/src/cpp/ \
     -I$(top_srcdir)/modules/ast/includes/ast/ \
     -I$(top_srcdir)/modules/ast/includes/exps/ \
     -I$(top_srcdir)/modules/ast/includes/operations/ \
index 60a6fc8..51fc537 100644 (file)
@@ -208,7 +208,9 @@ am__v_lt_1 =
 @MAINTAINER_MODE_FALSE@am_libsciinteger_algo_la_rpath =
 @MAINTAINER_MODE_TRUE@am_libsciinteger_algo_la_rpath =
 libsciinteger_la_DEPENDENCIES = libsciinteger-algo.la
-am__objects_2 = sci_gateway/cpp/libsciinteger_la-integer_gw.lo \
+am__objects_2 = src/cpp/libsciinteger_la-DllmainInteger_gw.lo \
+       src/cpp/libsciinteger_la-iconvert_converter.lo \
+       sci_gateway/cpp/libsciinteger_la-integer_gw.lo \
        sci_gateway/cpp/libsciinteger_la-sci_inttype.lo \
        sci_gateway/cpp/libsciinteger_la-sci_double.lo \
        sci_gateway/cpp/libsciinteger_la-sci_int.lo \
@@ -625,6 +627,8 @@ INTEGER_C_SOURCES = \
     src/c/genimpl.c
 
 GATEWAY_CPP_SOURCES = \
+    src/cpp/DllmainInteger_gw.cpp \
+    src/cpp/iconvert_converter.cpp \
     sci_gateway/cpp/integer_gw.cpp \
     sci_gateway/cpp/sci_inttype.cpp \
     sci_gateway/cpp/sci_double.cpp \
@@ -633,6 +637,7 @@ GATEWAY_CPP_SOURCES = \
 
 libsciinteger_la_CPPFLAGS = \
     -I$(srcdir)/includes/ \
+    -I$(srcdir)/src/cpp/ \
     -I$(top_srcdir)/modules/ast/includes/ast/ \
     -I$(top_srcdir)/modules/ast/includes/exps/ \
     -I$(top_srcdir)/modules/ast/includes/operations/ \
@@ -908,6 +913,16 @@ src/c/libsciinteger_algo_la-genimpl.lo: src/c/$(am__dirstamp) \
 
 libsciinteger-algo.la: $(libsciinteger_algo_la_OBJECTS) $(libsciinteger_algo_la_DEPENDENCIES) $(EXTRA_libsciinteger_algo_la_DEPENDENCIES) 
        $(AM_V_CCLD)$(LINK) $(am_libsciinteger_algo_la_rpath) $(libsciinteger_algo_la_OBJECTS) $(libsciinteger_algo_la_LIBADD) $(LIBS)
+src/cpp/$(am__dirstamp):
+       @$(MKDIR_P) src/cpp
+       @: > src/cpp/$(am__dirstamp)
+src/cpp/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/cpp/$(DEPDIR)
+       @: > src/cpp/$(DEPDIR)/$(am__dirstamp)
+src/cpp/libsciinteger_la-DllmainInteger_gw.lo:  \
+       src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp)
+src/cpp/libsciinteger_la-iconvert_converter.lo:  \
+       src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp)
 sci_gateway/cpp/$(am__dirstamp):
        @$(MKDIR_P) sci_gateway/cpp
        @: > sci_gateway/cpp/$(am__dirstamp)
@@ -939,6 +954,8 @@ mostlyclean-compile:
        -rm -f sci_gateway/cpp/*.lo
        -rm -f src/c/*.$(OBJEXT)
        -rm -f src/c/*.lo
+       -rm -f src/cpp/*.$(OBJEXT)
+       -rm -f src/cpp/*.lo
 
 distclean-compile:
        -rm -f *.tab.c
@@ -980,6 +997,8 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libsciinteger_algo_la-gentriu.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libsciinteger_algo_la-genvmul.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libsciinteger_algo_la-tpconv.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciinteger_la-DllmainInteger_gw.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciinteger_la-iconvert_converter.Plo@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@   $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -1253,6 +1272,20 @@ src/c/libsciinteger_algo_la-genimpl.lo: src/c/genimpl.c
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
+src/cpp/libsciinteger_la-DllmainInteger_gw.lo: src/cpp/DllmainInteger_gw.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciinteger_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libsciinteger_la-DllmainInteger_gw.lo -MD -MP -MF src/cpp/$(DEPDIR)/libsciinteger_la-DllmainInteger_gw.Tpo -c -o src/cpp/libsciinteger_la-DllmainInteger_gw.lo `test -f 'src/cpp/DllmainInteger_gw.cpp' || echo '$(srcdir)/'`src/cpp/DllmainInteger_gw.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libsciinteger_la-DllmainInteger_gw.Tpo src/cpp/$(DEPDIR)/libsciinteger_la-DllmainInteger_gw.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/DllmainInteger_gw.cpp' object='src/cpp/libsciinteger_la-DllmainInteger_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) $(libsciinteger_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libsciinteger_la-DllmainInteger_gw.lo `test -f 'src/cpp/DllmainInteger_gw.cpp' || echo '$(srcdir)/'`src/cpp/DllmainInteger_gw.cpp
+
+src/cpp/libsciinteger_la-iconvert_converter.lo: src/cpp/iconvert_converter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciinteger_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libsciinteger_la-iconvert_converter.lo -MD -MP -MF src/cpp/$(DEPDIR)/libsciinteger_la-iconvert_converter.Tpo -c -o src/cpp/libsciinteger_la-iconvert_converter.lo `test -f 'src/cpp/iconvert_converter.cpp' || echo '$(srcdir)/'`src/cpp/iconvert_converter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libsciinteger_la-iconvert_converter.Tpo src/cpp/$(DEPDIR)/libsciinteger_la-iconvert_converter.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/iconvert_converter.cpp' object='src/cpp/libsciinteger_la-iconvert_converter.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) $(libsciinteger_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libsciinteger_la-iconvert_converter.lo `test -f 'src/cpp/iconvert_converter.cpp' || echo '$(srcdir)/'`src/cpp/iconvert_converter.cpp
+
 sci_gateway/cpp/libsciinteger_la-integer_gw.lo: sci_gateway/cpp/integer_gw.cpp
 @am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciinteger_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT sci_gateway/cpp/libsciinteger_la-integer_gw.lo -MD -MP -MF sci_gateway/cpp/$(DEPDIR)/libsciinteger_la-integer_gw.Tpo -c -o sci_gateway/cpp/libsciinteger_la-integer_gw.lo `test -f 'sci_gateway/cpp/integer_gw.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/integer_gw.cpp
 @am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) sci_gateway/cpp/$(DEPDIR)/libsciinteger_la-integer_gw.Tpo sci_gateway/cpp/$(DEPDIR)/libsciinteger_la-integer_gw.Plo
@@ -1295,6 +1328,7 @@ clean-libtool:
        -rm -rf .libs _libs
        -rm -rf sci_gateway/cpp/.libs sci_gateway/cpp/_libs
        -rm -rf src/c/.libs src/c/_libs
+       -rm -rf src/cpp/.libs src/cpp/_libs
 install-libsciinteger_la_etcDATA: $(libsciinteger_la_etc_DATA)
        @$(NORMAL_INSTALL)
        @list='$(libsciinteger_la_etc_DATA)'; test -n "$(libsciinteger_la_etcdir)" || list=; \
@@ -1479,6 +1513,8 @@ distclean-generic:
        -rm -f sci_gateway/cpp/$(am__dirstamp)
        -rm -f src/c/$(DEPDIR)/$(am__dirstamp)
        -rm -f src/c/$(am__dirstamp)
+       -rm -f src/cpp/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/cpp/$(am__dirstamp)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
@@ -1489,7 +1525,7 @@ clean-am: clean-generic clean-libtool clean-local \
        clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
-       -rm -rf sci_gateway/cpp/$(DEPDIR) src/c/$(DEPDIR)
+       -rm -rf sci_gateway/cpp/$(DEPDIR) src/c/$(DEPDIR) src/cpp/$(DEPDIR)
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-local distclean-tags
@@ -1537,7 +1573,7 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
-       -rm -rf sci_gateway/cpp/$(DEPDIR) src/c/$(DEPDIR)
+       -rm -rf sci_gateway/cpp/$(DEPDIR) src/c/$(DEPDIR) src/cpp/$(DEPDIR)
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
index 682f027..cb5af6f 100644 (file)
@@ -10,7 +10,7 @@
 // For more information, see the COPYING file which you should have received
 // along with this program.
 
-function x = %_iconvert(a,typeToConvert)
+function x = %_iconvert(a,typeToConvert,converter)
 
     if typeof(a) == "constant" & isreal(a) == %f then
         error(msprintf(_("%s: Wrong type for argument #%d: Real matrix expected.\n"), "iconvert", 1));
@@ -28,6 +28,7 @@ function x = %_iconvert(a,typeToConvert)
         typeToConvert = 19;
     end
 
+    /*
     castFunction(1)  = {int8};
     castFunction(2)  = {int16};
     castFunction(4)  = {int32};
@@ -37,11 +38,12 @@ function x = %_iconvert(a,typeToConvert)
     castFunction(14) = {uint32};
     castFunction(18) = {uint64};
     castFunction(19) = {double};
-
+    */
+    
     if or(typeToConvert == [1,2,4,8,11,12,14,18,19]) == %f then
         error(msprintf(_("%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"), "iconvert", 2, "0, 1, 2, 4, 8, 11, 12, 14, 18"));
     end
-    castResult = castFunction{typeToConvert};
+    castResult = converter{typeToConvert};
     x = castResult(a);
 
 endfunction
index 79f4060..f37d669 100644 (file)
@@ -16,6 +16,9 @@
 #include "integer_gw.hxx"
 #include "function.hxx"
 #include "overload.hxx"
+#include "cell.hxx"
+#include "context.hxx"
+#include "iconvert_converter.hxx"
 
 extern "C"
 {
@@ -45,5 +48,7 @@ types::Function::ReturnValue sci_iconvert(types::typed_list &in, int _iRetCount,
     }
 
     // perfom operation
-    return Overload::call(L"%_iconvert", in, _iRetCount, out);
+    types::typed_list in2(in);
+    in2.push_back(iConverter::getConverter());
+    return Overload::call(L"%_iconvert", in2, _iRetCount, out);
 }
index 2fa88e5..2aa1e16 100644 (file)
@@ -26,9 +26,6 @@
     <ClCompile Include="db2int.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="DllmainInteger.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="genabs.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="tpconv.c">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="DllmainInteger.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\includes\db2int.h">
diff --git a/scilab/modules/integer/src/cpp/DllmainInteger_gw.cpp b/scilab/modules/integer/src/cpp/DllmainInteger_gw.cpp
new file mode 100644 (file)
index 0000000..c6544ed
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2017 - ESI - Antoine ELIAS
+*
+* Copyright (C) 2012 - 2016 - Scilab Enterprises
+*
+* This file is hereby licensed under the terms of the GNU GPL v2.0,
+* pursuant to article 5.3.4 of the CeCILL v.2.1.
+* This file was originally licensed under the terms of the CeCILL v2.1,
+* and continues to be available under such terms.
+* For more information, see the COPYING file which you should have received
+* along with this program.
+*
+*/
+
+#include "iconvert_converter.hxx"
+
+#ifdef _MSC_VER
+#include <windows.h>
+/*--------------------------------------------------------------------------*/
+//for Visual Leak Detector in debug compilation mode
+//#define DEBUG_VLD
+#if defined(DEBUG_VLD) && defined(_DEBUG)
+#include <vld.h>
+#endif
+/*--------------------------------------------------------------------------*/
+#pragma comment(lib,"../../../../bin/libintl.lib")
+/*--------------------------------------------------------------------------*/
+int WINAPI DllMain(HINSTANCE hInstance, DWORD reason, PVOID pvReserved)
+{
+    switch (reason)
+    {
+        case DLL_PROCESS_ATTACH:
+            break;
+        case DLL_PROCESS_DETACH:
+            iConverter::deleteConverter();
+            break;
+        case DLL_THREAD_ATTACH:
+            break;
+        case DLL_THREAD_DETACH:
+            break;
+    }
+    return 1;
+}
+#else
+void __attribute__((destructor)) integer_unload(void);
+
+void integer_unload(void)
+{
+    iConverter::deleteConverter();
+}
+#endif
+/*--------------------------------------------------------------------------*/
diff --git a/scilab/modules/integer/src/cpp/iconvert_converter.cpp b/scilab/modules/integer/src/cpp/iconvert_converter.cpp
new file mode 100644 (file)
index 0000000..7621a02
--- /dev/null
@@ -0,0 +1,4 @@
+#include "iconvert_converter.hxx"
+
+iConverter* iConverter::me = nullptr;
+types::Cell* iConverter::converter = nullptr;
\ No newline at end of file
diff --git a/scilab/modules/integer/src/cpp/iconvert_converter.hxx b/scilab/modules/integer/src/cpp/iconvert_converter.hxx
new file mode 100644 (file)
index 0000000..77f28bb
--- /dev/null
@@ -0,0 +1,91 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2017 - ESI - Antoine ELIAS
+*
+* Copyright (C) 2012 - 2016 - Scilab Enterprises
+*
+* This file is hereby licensed under the terms of the GNU GPL v2.0,
+* pursuant to article 5.3.4 of the CeCILL v.2.1.
+* This file was originally licensed under the terms of the CeCILL v2.1,
+* and continues to be available under such terms.
+* For more information, see the COPYING file which you should have received
+* along with this program.
+*
+*/
+
+#ifndef __ICONVERT_CONVERTER_HXX__
+#define __ICONVERT_CONVERTER_HXX__
+
+#include "cell.hxx"
+#include "context.hxx"
+
+extern "C"
+{
+    #include "sciprint.h"
+}
+/*
+castFunction(1) = {int8};
+castFunction(2) = {int16};
+castFunction(4) = {int32};
+castFunction(8) = {int64};
+castFunction(11) = {uint8};
+castFunction(12) = {uint16};
+castFunction(14) = {uint32};
+castFunction(18) = {uint64};
+castFunction(19) = {double};
+*/
+
+class iConverter
+{
+private:
+    iConverter() 
+    {
+        symbol::Context* ctx = symbol::Context::getInstance();
+        converter = new types::Cell(19, 1);
+        converter->set(0, ctx->get(symbol::Symbol(L"int8")));
+        converter->set(1, ctx->get(symbol::Symbol(L"int16")));
+        converter->set(3, ctx->get(symbol::Symbol(L"int32")));
+        converter->set(7, ctx->get(symbol::Symbol(L"int64")));
+        converter->set(10, ctx->get(symbol::Symbol(L"uint8")));
+        converter->set(11, ctx->get(symbol::Symbol(L"uint16")));
+        converter->set(13, ctx->get(symbol::Symbol(L"uint32")));
+        converter->set(17, ctx->get(symbol::Symbol(L"uint64")));
+        converter->set(18, ctx->get(symbol::Symbol(L"double")));
+        //protect it
+        converter->IncreaseRef();
+    }
+
+    static iConverter* me;
+    static types::Cell* converter;
+public:
+    virtual ~iConverter()
+    {
+        if (converter)
+        {
+            //unprotect it
+            converter->DecreaseRef();
+            converter->killMe();
+            converter = nullptr;
+        }
+    }
+
+    static types::Cell* getConverter() {
+        if (me == nullptr)
+        {
+            me = new iConverter();
+        }
+
+        return me->converter;
+    }
+
+    static void deleteConverter()
+    {
+        if (me)
+        {
+            delete me;
+            me = nullptr;
+        }
+    }
+};
+
+#endif /* !__ICONVERT_CONVERTER_HXX__ */
index c857ffc..3987b1c 100644 (file)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup Label="ProjectConfigurations">
     <ProjectConfiguration Include="Debug|Win32">
@@ -80,7 +80,7 @@
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>../../includes;../../../../libs/intl;../../../functions_manager/includes;../../../elementary_functions/includes;../../../core/includes;../../../api_scilab/includes;../../../localization/includes;../../../output_stream/includes;../../../dynamic_link/includes;../../../threads/includes;../../../string/includes;../../../console/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/analysis;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>../../src/cpp;../../includes;../../../../libs/intl;../../../functions_manager/includes;../../../elementary_functions/includes;../../../core/includes;../../../api_scilab/includes;../../../localization/includes;../../../output_stream/includes;../../../dynamic_link/includes;../../../threads/includes;../../../string/includes;../../../console/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/analysis;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;INTEGER_GW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
     </Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>../../includes;../../../../libs/intl;../../../functions_manager/includes;../../../elementary_functions/includes;../../../core/includes;../../../api_scilab/includes;../../../localization/includes;../../../output_stream/includes;../../../dynamic_link/includes;../../../threads/includes;../../../string/includes;../../../console/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/analysis;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>../../src/cpp;../../includes;../../../../libs/intl;../../../functions_manager/includes;../../../elementary_functions/includes;../../../core/includes;../../../api_scilab/includes;../../../localization/includes;../../../output_stream/includes;../../../dynamic_link/includes;../../../threads/includes;../../../string/includes;../../../console/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/analysis;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;INTEGER_GW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
-      <AdditionalIncludeDirectories>../../includes;../../../../libs/intl;../../../functions_manager/includes;../../../elementary_functions/includes;../../../core/includes;../../../api_scilab/includes;../../../localization/includes;../../../output_stream/includes;../../../dynamic_link/includes;../../../threads/includes;../../../string/includes;../../../console/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/analysis;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>../../src/cpp;../../includes;../../../../libs/intl;../../../functions_manager/includes;../../../elementary_functions/includes;../../../core/includes;../../../api_scilab/includes;../../../localization/includes;../../../output_stream/includes;../../../dynamic_link/includes;../../../threads/includes;../../../string/includes;../../../console/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/analysis;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;INTEGER_GW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
-      <AdditionalIncludeDirectories>../../includes;../../../../libs/intl;../../../functions_manager/includes;../../../elementary_functions/includes;../../../core/includes;../../../api_scilab/includes;../../../localization/includes;../../../output_stream/includes;../../../dynamic_link/includes;../../../threads/includes;../../../string/includes;../../../console/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/analysis;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>../../src/cpp;../../includes;../../../../libs/intl;../../../functions_manager/includes;../../../elementary_functions/includes;../../../core/includes;../../../api_scilab/includes;../../../localization/includes;../../../output_stream/includes;../../../dynamic_link/includes;../../../threads/includes;../../../string/includes;../../../console/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/analysis;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;INTEGER_GW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
     <ClCompile Include="..\..\sci_gateway\cpp\sci_iconvert.cpp" />
     <ClCompile Include="..\..\sci_gateway\cpp\sci_int.cpp" />
     <ClCompile Include="..\..\sci_gateway\cpp\sci_inttype.cpp" />
+    <ClCompile Include="DllmainInteger_gw.cpp" />
+    <ClCompile Include="iconvert_converter.cpp" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\includes\dynlib_integer_gw.h" />
     <ClInclude Include="..\..\includes\integer_gw.hxx" />
+    <ClInclude Include="iconvert_converter.hxx" />
   </ItemGroup>
   <ItemGroup>
     <Library Include="..\..\..\..\bin\blasplus.lib" />
index f16f2f2..03d317c 100644 (file)
     <ClCompile Include="..\..\sci_gateway\cpp\sci_iconvert.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="iconvert_converter.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="DllmainInteger_gw.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\includes\dynlib_integer_gw.h">
@@ -38,6 +44,9 @@
     <ClInclude Include="..\..\includes\integer_gw.hxx">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="iconvert_converter.hxx">
+      <Filter>Header Files</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <Library Include="..\..\..\..\bin\blasplus.lib" />