some string functions plugged. 04/11304/10
Cedric Delamarre [Wed, 17 Apr 2013 13:29:13 +0000 (15:29 +0200)]
test_run("string","isalphanum")
test_run("string","isdigit")
test_run("string","isascii")
test_run("string","strsplit")

Change-Id: Iaf61628ae7fa4ccb4a3f1a2895759fc823e473a8

44 files changed:
scilab/Scilab.sln
scilab/modules/core/includes/callinterf.h
scilab/modules/core/src/c/callinterf.c
scilab/modules/core/src/fortran/core_f.vfproj
scilab/modules/core/src/fortran/string_f_Import.def [deleted file]
scilab/modules/string/Makefile.am
scilab/modules/string/Makefile.in
scilab/modules/string/includes/gw_string.h [deleted file]
scilab/modules/string/includes/string_gw.hxx
scilab/modules/string/sci_gateway/c/gw_string.c [deleted file]
scilab/modules/string/sci_gateway/c/sci_isalphanum.c [deleted file]
scilab/modules/string/sci_gateway/c/sci_isascii.c [deleted file]
scilab/modules/string/sci_gateway/c/sci_isdigit.c [deleted file]
scilab/modules/string/sci_gateway/c/sci_strsplit.c [deleted file]
scilab/modules/string/sci_gateway/cpp/sci_isalphanum.cpp [new file with mode: 0644]
scilab/modules/string/sci_gateway/cpp/sci_isascii.cpp [new file with mode: 0644]
scilab/modules/string/sci_gateway/cpp/sci_isdigit.cpp [new file with mode: 0644]
scilab/modules/string/sci_gateway/cpp/sci_strsplit.cpp [new file with mode: 0644]
scilab/modules/string/sci_gateway/cpp/string_gw.cpp
scilab/modules/string/sci_gateway/cpp/string_gw.vcxproj
scilab/modules/string/sci_gateway/cpp/string_gw.vcxproj.filters
scilab/modules/string/sci_gateway/fortran/sci_f_string.f [deleted file]
scilab/modules/string/sci_gateway/fortran/strops.f [deleted file]
scilab/modules/string/src/c/CreateEmptystr.c
scilab/modules/string/src/c/convstr.c
scilab/modules/string/src/c/functions_Import.def [deleted file]
scilab/modules/string/src/c/isascii.c [new file with mode: 0644]
scilab/modules/string/src/c/isascii.h [new file with mode: 0644]
scilab/modules/string/src/c/linpack_f_Import.def [deleted file]
scilab/modules/string/src/c/string.vcxproj
scilab/modules/string/src/c/string.vcxproj.filters
scilab/modules/string/src/c/string_f_Import.def [deleted file]
scilab/modules/string/src/fortran/Core_f_Import.def [deleted file]
scilab/modules/string/src/fortran/core_Import.def [deleted file]
scilab/modules/string/src/fortran/elementary_functions_Import.def [deleted file]
scilab/modules/string/src/fortran/elementary_functions_f_Import.def [deleted file]
scilab/modules/string/src/fortran/linpack_f_Import.def [deleted file]
scilab/modules/string/src/fortran/output_stream_Import.def [deleted file]
scilab/modules/string/src/fortran/polynomials_f_Import.def [deleted file]
scilab/modules/string/src/fortran/string_Import.def [deleted file]
scilab/modules/string/src/fortran/string_f.rc [deleted file]
scilab/modules/string/src/fortran/string_f.vfproj [deleted file]
scilab/modules/string/src/fortran/string_f2c.vcxproj [deleted file]
scilab/modules/string/src/fortran/string_f2c.vcxproj.filters [deleted file]

index aed0d7f..93f6eee 100644 (file)
@@ -96,7 +96,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core", "modules\core\src\c\
                {FD0F48D8-9D0B-42A8-A743-B57198FAB41E} = {FD0F48D8-9D0B-42A8-A743-B57198FAB41E}
                {18F043DA-1DB5-464F-B67D-CF1C23BE7EA0} = {18F043DA-1DB5-464F-B67D-CF1C23BE7EA0}
                {E3A01BE7-815F-4A06-9F0A-C95E80873966} = {E3A01BE7-815F-4A06-9F0A-C95E80873966}
-               {FAF6A7EB-8A36-4278-B34E-34EA89E55304} = {FAF6A7EB-8A36-4278-B34E-34EA89E55304}
                {8AB8ECEC-8C22-475E-80D0-E14696F5A19B} = {8AB8ECEC-8C22-475E-80D0-E14696F5A19B}
                {3A72C3ED-98F7-49C7-B59C-2C6C47FF9390} = {3A72C3ED-98F7-49C7-B59C-2C6C47FF9390}
                {3735EFF9-925B-45B1-82CF-762658E69E70} = {3735EFF9-925B-45B1-82CF-762658E69E70}
@@ -238,11 +237,6 @@ Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "io_f", "modules\io\src\fort
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string", "modules\string\src\c\string.vcxproj", "{8D45767A-9B03-4905-97F6-D2F3F79141EA}"
 EndProject
-Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "string_f", "modules\string\src\fortran\string_f.vfproj", "{FAF6A7EB-8A36-4278-B34E-34EA89E55304}"
-       ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
-       EndProjectSection
-EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "symbolic_f", "modules\symbolic\src\fortran\symbolic_f.vfproj", "{D2B63E7D-1E66-4EFC-892E-FA6DAF4E5895}"
        ProjectSection(ProjectDependencies) = postProject
                {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
@@ -960,14 +954,6 @@ Global
                {8D45767A-9B03-4905-97F6-D2F3F79141EA}.Release|Win32.Build.0 = Release|Win32
                {8D45767A-9B03-4905-97F6-D2F3F79141EA}.Release|x64.ActiveCfg = Release|x64
                {8D45767A-9B03-4905-97F6-D2F3F79141EA}.Release|x64.Build.0 = Release|x64
-               {FAF6A7EB-8A36-4278-B34E-34EA89E55304}.Debug|Win32.ActiveCfg = Debug|Win32
-               {FAF6A7EB-8A36-4278-B34E-34EA89E55304}.Debug|Win32.Build.0 = Debug|Win32
-               {FAF6A7EB-8A36-4278-B34E-34EA89E55304}.Debug|x64.ActiveCfg = Debug|x64
-               {FAF6A7EB-8A36-4278-B34E-34EA89E55304}.Debug|x64.Build.0 = Debug|x64
-               {FAF6A7EB-8A36-4278-B34E-34EA89E55304}.Release|Win32.ActiveCfg = Release|Win32
-               {FAF6A7EB-8A36-4278-B34E-34EA89E55304}.Release|Win32.Build.0 = Release|Win32
-               {FAF6A7EB-8A36-4278-B34E-34EA89E55304}.Release|x64.ActiveCfg = Release|x64
-               {FAF6A7EB-8A36-4278-B34E-34EA89E55304}.Release|x64.Build.0 = Release|x64
                {D2B63E7D-1E66-4EFC-892E-FA6DAF4E5895}.Debug|Win32.ActiveCfg = Debug|Win32
                {D2B63E7D-1E66-4EFC-892E-FA6DAF4E5895}.Debug|Win32.Build.0 = Debug|Win32
                {D2B63E7D-1E66-4EFC-892E-FA6DAF4E5895}.Debug|x64.ActiveCfg = Debug|x64
index 4200aed..ebb74a5 100644 (file)
@@ -41,7 +41,7 @@
 /* 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) */
index f07d0cd..c4d30e2 100644 (file)
@@ -57,7 +57,7 @@ static OpTab Interfaces[INTERFACES_MAX] =
     /* 18  */ {NULL}, //gw_dynamic_signal_processing
     /* 19  */ {gw_dynamic_interpolation},
     /* 20  */ {gw_cacsd3},
-    /* 21  */ {gw_string},
+    /* 21  */ {NULL}, // string
     /* 22  */ {gw_dynamic_symbolic},
     /* 23  */ {NULL}, //gw_boolean
     /* 24  */ {gw_user2}, /* RESERVED (see callinter.h) */
index 39437cc..c5de9e7 100644 (file)
@@ -6,42 +6,42 @@
        <Configurations>
                <Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
                                <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="WIN32;FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDebugDLL"/>
-                               <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="core_f.def" GenerateDebugInformation="true" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="../../../../bin/blasplus.lib ../../../../bin/lapack.lib  core.lib string.lib output_stream.lib output_stream_f.lib elementary_functions.lib elementary_functions_f.lib linpack_f.lib fileio.lib data_structures_f.lib data_structures.lib polynomials_f.lib string_f.lib fftw.lib integer_f.lib integer.lib sparse_f.lib double.lib console.lib boolean_f.lib io_f.lib"/>
+                               <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="core_f.def" GenerateDebugInformation="true" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="../../../../bin/blasplus.lib ../../../../bin/lapack.lib  core.lib string.lib output_stream.lib output_stream_f.lib elementary_functions.lib elementary_functions_f.lib linpack_f.lib fileio.lib data_structures_f.lib data_structures.lib polynomials_f.lib fftw.lib integer_f.lib integer.lib sparse_f.lib double.lib console.lib boolean_f.lib io_f.lib"/>
                                <Tool Name="VFResourceCompilerTool"/>
                                <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
                                <Tool Name="VFCustomBuildTool"/>
                                <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion&#xA;cd $(ConfigurationName)&#xA;set LIST_OBJ=&#xA;for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f&#xA;&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%&#xA;copy $(ProjectName).def ..\$(ProjectName).def &gt;nul&#xA;del *.def &gt;nul&#xA;cd .." Description="Build $(ProjectName).def"/>
-                               <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(ProjectDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)core.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)String_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)string.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)Output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)fileio_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)fileio.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)data_structures_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)data_structures_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)polynomials_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)polynomials_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)string_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)string_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)output_stream_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)output_stream_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)fftw_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)fftw.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)integer_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)integer_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)integer_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)integer.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)sparse_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)sparse_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)double_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)double.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)console_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)console.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)boolean_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)boolean_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)data_structures_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)data_structures.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)io_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)io_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
+                               <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(ProjectDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)core.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)String_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)string.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)Output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)fileio_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)fileio.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)data_structures_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)data_structures_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)polynomials_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)polynomials_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)output_stream_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)output_stream_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)fftw_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)fftw.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)integer_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)integer_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)integer_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)integer.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)sparse_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)sparse_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)double_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)double.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)console_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)console.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)boolean_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)boolean_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)data_structures_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)data_structures.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)io_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)io_f.lib&quot; 1&gt;NUL 2&gt;NUL"/>
                                <Tool Name="VFPostBuildEventTool"/>
                                <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
                <Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
                                <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" Optimization="optimizeDisabled" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="WIN32;FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDLL"/>
-                               <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="core_f.def" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="../../../../bin/blasplus.lib ../../../../bin/lapack.lib  core.lib string.lib output_stream.lib output_stream_f.lib elementary_functions.lib elementary_functions_f.lib linpack_f.lib fileio.lib data_structures_f.lib data_structures.lib polynomials_f.lib string_f.lib fftw.lib integer_f.lib integer.lib sparse_f.lib double.lib console.lib boolean_f.lib io_f.lib"/>
+                               <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="core_f.def" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="../../../../bin/blasplus.lib ../../../../bin/lapack.lib  core.lib string.lib output_stream.lib output_stream_f.lib elementary_functions.lib elementary_functions_f.lib linpack_f.lib fileio.lib data_structures_f.lib data_structures.lib polynomials_f.lib fftw.lib integer_f.lib integer.lib sparse_f.lib double.lib console.lib boolean_f.lib io_f.lib"/>
                                <Tool Name="VFResourceCompilerTool"/>
                                <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
                                <Tool Name="VFCustomBuildTool"/>
                                <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion&#xA;cd $(ConfigurationName)&#xA;set LIST_OBJ=&#xA;for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f&#xA;&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%&#xA;copy $(ProjectName).def ..\$(ProjectName).def &gt;nul&#xA;del *.def &gt;nul&#xA;cd .." Description="Build $(ProjectName).def"/>
-                               <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(ProjectDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)core.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)String_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)string.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)Output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)fileio_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)fileio.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)data_structures_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)data_structures_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)polynomials_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)polynomials_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)string_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)string_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)output_stream_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)output_stream_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)fftw_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)fftw.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)integer_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)integer_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)integer_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)integer.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)sparse_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)sparse_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)double_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)double.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)console_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)console.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)boolean_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)boolean_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)data_structures_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)data_structures.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)io_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(ProjectDir)io_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
+                               <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(ProjectDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)core.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)String_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)string.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)Output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)fileio_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)fileio.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)data_structures_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)data_structures_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)polynomials_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)polynomials_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)output_stream_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)output_stream_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)fftw_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)fftw.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)integer_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)integer_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)integer_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)integer.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)sparse_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)sparse_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)double_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)double.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)console_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)console.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)boolean_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)boolean_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)data_structures_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)data_structures.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)io_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)io_f.lib&quot; 1&gt;NUL 2&gt;NUL"/>
                                <Tool Name="VFPostBuildEventTool"/>
                                <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
                <Configuration Name="Debug|x64" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
                                <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="WIN32;FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDebugDLL"/>
-                               <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="core_f.def" GenerateDebugInformation="true" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="../../../../bin/blasplus.lib ../../../../bin/lapack.lib  core.lib string.lib output_stream.lib output_stream_f.lib elementary_functions.lib elementary_functions_f.lib linpack_f.lib fileio.lib data_structures_f.lib data_structures.lib polynomials_f.lib string_f.lib fftw.lib integer_f.lib integer.lib sparse_f.lib double.lib console.lib boolean_f.lib io_f.lib"/>
+                               <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="core_f.def" GenerateDebugInformation="true" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="../../../../bin/blasplus.lib ../../../../bin/lapack.lib  core.lib string.lib output_stream.lib output_stream_f.lib elementary_functions.lib elementary_functions_f.lib linpack_f.lib fileio.lib data_structures_f.lib data_structures.lib polynomials_f.lib fftw.lib integer_f.lib integer.lib sparse_f.lib double.lib console.lib boolean_f.lib io_f.lib"/>
                                <Tool Name="VFResourceCompilerTool"/>
                                <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
                                <Tool Name="VFCustomBuildTool"/>
                                <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion&#xA;cd $(ConfigurationName)&#xA;set LIST_OBJ=&#xA;for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f&#xA;&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%&#xA;copy $(ProjectName).def ..\$(ProjectName).def &gt;nul&#xA;del *.def &gt;nul&#xA;cd .." Description="Build $(ProjectName).def"/>
-                               <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(ProjectDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)core.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)String_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)string.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)Output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)fileio_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)fileio.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)data_structures_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)data_structures_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)polynomials_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)polynomials_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)string_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)string_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)output_stream_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)output_stream_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)fftw_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)fftw.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)integer_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)integer_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)integer_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)integer.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)sparse_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)sparse_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)double_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)double.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)console_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)console.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)boolean_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)boolean_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)data_structures_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)data_structures.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)io_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)io_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
+                               <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(ProjectDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)core.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)String_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)string.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)Output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)fileio_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)fileio.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)data_structures_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)data_structures_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)polynomials_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)polynomials_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)output_stream_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)output_stream_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)fftw_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)fftw.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)integer_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)integer_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)integer_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)integer.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)sparse_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)sparse_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)double_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)double.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)console_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)console.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)boolean_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)boolean_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)data_structures_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)data_structures.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)io_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)io_f.lib&quot; 1&gt;NUL 2&gt;NUL"/>
                                <Tool Name="VFPostBuildEventTool"/>
                                <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
                <Configuration Name="Release|x64" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
                                <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" Optimization="optimizeDisabled" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="WIN32;FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDLL"/>
-                               <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="core_f.def" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="../../../../bin/blasplus.lib ../../../../bin/lapack.lib  core.lib string.lib output_stream.lib output_stream_f.lib elementary_functions.lib elementary_functions_f.lib linpack_f.lib fileio.lib data_structures_f.lib data_structures.lib polynomials_f.lib string_f.lib fftw.lib integer_f.lib integer.lib sparse_f.lib double.lib console.lib boolean_f.lib io_f.lib"/>
+                               <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="core_f.def" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="../../../../bin/blasplus.lib ../../../../bin/lapack.lib  core.lib string.lib output_stream.lib output_stream_f.lib elementary_functions.lib elementary_functions_f.lib linpack_f.lib fileio.lib data_structures_f.lib data_structures.lib polynomials_f.lib fftw.lib integer_f.lib integer.lib sparse_f.lib double.lib console.lib boolean_f.lib io_f.lib"/>
                                <Tool Name="VFResourceCompilerTool"/>
                                <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
                                <Tool Name="VFCustomBuildTool"/>
                                <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion&#xA;cd $(ConfigurationName)&#xA;set LIST_OBJ=&#xA;for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f&#xA;&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%&#xA;copy $(ProjectName).def ..\$(ProjectName).def &gt;nul&#xA;del *.def &gt;nul&#xA;cd .." Description="Build $(ProjectName).def"/>
-                               <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(ProjectDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)core.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)String_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)string.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)Output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)fileio_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)fileio.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)data_structures_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)data_structures_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)polynomials_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)polynomials_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)string_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)string_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)output_stream_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)output_stream_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)fftw_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)fftw.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)integer_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)integer_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)integer_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)integer.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)sparse_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)sparse_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)double_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)double.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)console_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)console.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)boolean_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)boolean_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)data_structures_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)data_structures.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)io_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(ProjectDir)io_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
+                               <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(ProjectDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)core.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)String_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)string.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)Output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)fileio_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)fileio.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)data_structures_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)data_structures_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)polynomials_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)polynomials_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)output_stream_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)output_stream_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)fftw_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)fftw.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)integer_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)integer_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)integer_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)integer.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)sparse_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)sparse_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)double_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)double.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)console_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)console.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)boolean_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)boolean_f.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)data_structures_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)data_structures.lib&quot; 1&gt;NUL 2&gt;NUL&#xA;lib /DEF:&quot;$(ProjectDir)io_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:&quot;$(ProjectDir)io_f.lib&quot; 1&gt;NUL 2&gt;NUL"/>
                                <Tool Name="VFPostBuildEventTool"/>
                                <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration></Configurations>
        <Files>
@@ -67,7 +67,6 @@
                <File RelativePath=".\Output_stream_Import.def"/>
                <File RelativePath=".\polynomials_f_Import.def"/>
                <File RelativePath=".\sparse_f_Import.def"/>
-               <File RelativePath=".\string_f_Import.def"/>
                <File RelativePath=".\string_Import.def"/></Filter>
                <Filter Name="Resource Files" Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"/>
                <Filter Name="Source Files" Filter="f90;for;f;fpp;ftn;def;odl;idl">
diff --git a/scilab/modules/core/src/fortran/string_f_Import.def b/scilab/modules/core/src/fortran/string_f_Import.def
deleted file mode 100644 (file)
index 6637f4d..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-       LIBRARY    string_f.dll
-
-
-EXPORTS
-; string_f
-strops_
\ No newline at end of file
index 6f0e8f5..730dfb9 100644 (file)
@@ -28,16 +28,8 @@ src/c/StringConvert.c \
 src/c/os_wcsdup.c \
 src/c/os_wcstok.c \
 src/c/scistrtostr.c \
-src/c/stringToDouble.c
-
-STRING_FORTRAN_SOURCES =
-
-GATEWAY_C_SOURCES = \
-    sci_gateway/c/gw_string.c \
-    sci_gateway/c/sci_strsplit.c \
-    sci_gateway/c/sci_isdigit.c \
-    sci_gateway/c/sci_isalphanum.c \
-    sci_gateway/c/sci_isascii.c
+src/c/stringToDouble.c \
+src/c/isascii.c
 
 GATEWAY_CPP_SOURCES = \
     sci_gateway/cpp/sci_stripblanks.cpp \
@@ -63,10 +55,11 @@ GATEWAY_CPP_SOURCES = \
     sci_gateway/cpp/sci_isletter.cpp \
     sci_gateway/cpp/sci_strcspn.cpp \
     sci_gateway/cpp/sci_strtok.cpp \
-    sci_gateway/cpp/sci_strspn.cpp
-
-GATEWAY_FORTRAN_SOURCES =  sci_gateway/fortran/sci_f_string.f \
-sci_gateway/fortran/strops.f
+    sci_gateway/cpp/sci_strspn.cpp \
+    sci_gateway/cpp/sci_isalphanum.cpp \
+    sci_gateway/cpp/sci_isdigit.cpp \
+    sci_gateway/cpp/sci_isascii.cpp \
+    sci_gateway/cpp/sci_strsplit.cpp
 
 libscistring_la_CFLAGS= $(PCRE_CFLAGS) \
        -I$(srcdir)/src/c \
@@ -90,11 +83,13 @@ libscistring_la_CPPFLAGS= $(PCRE_CFLAGS) \
        -I$(top_srcdir)/modules/symbol/includes \
        -I$(top_srcdir)/modules/ast/includes \
        -I$(top_srcdir)/modules/elementary_funcions/includes \
-       -I$(top_srcdir)/modules//includes \
        -I$(top_srcdir)/modules/core/includes \
        -I$(top_srcdir)/modules/types/includes \
        -I$(top_srcdir)/modules/system_env/includes \
-    -I$(top_srcdir)/modules/dynamic_link/includes
+    -I$(top_srcdir)/modules/dynamic_link/includes \
+    -I$(top_srcdir)/modules/threads/includes \
+    -I$(top_srcdir)/modules/console/includes \
+    $(EIGEN_CPPFLAGS)
 
 libscistring_algo_la_CPPFLAGS = $(libscistring_la_CPPFLAGS)
 
@@ -108,8 +103,8 @@ endif
 
 libscistring_la_LDFLAGS = -version-number $(SCILAB_LIBRARY_VERSION) $(PCRE_LIBS)
 
-libscistring_algo_la_SOURCES = $(STRING_C_SOURCES) $(STRING_CPP_SOURCES) $(STRING_FORTRAN_SOURCES)
-libscistring_la_SOURCES = $(GATEWAY_C_SOURCES) $(GATEWAY_FORTRAN_SOURCES) $(GATEWAY_CPP_SOURCES)
+libscistring_algo_la_SOURCES = $(STRING_C_SOURCES) $(STRING_CPP_SOURCES)
+libscistring_la_SOURCES = $(GATEWAY_C_SOURCES) $(GATEWAY_CPP_SOURCES)
 libscistring_algo_la_CFLAGS = $(libscistring_la_CFLAGS)
 
 # For the code check (splint)
index af6d394..b659901 100644 (file)
@@ -156,21 +156,15 @@ am__objects_1 = libscistring_algo_la-convstr.lo \
        libscistring_algo_la-os_wcsdup.lo \
        libscistring_algo_la-os_wcstok.lo \
        libscistring_algo_la-scistrtostr.lo \
-       libscistring_algo_la-stringToDouble.lo
+       libscistring_algo_la-stringToDouble.lo \
+       libscistring_algo_la-isascii.lo
 am__objects_2 = libscistring_algo_la-stripblanks.lo
-am__objects_3 =
-am_libscistring_algo_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
-       $(am__objects_3)
+am_libscistring_algo_la_OBJECTS = $(am__objects_1) $(am__objects_2)
 libscistring_algo_la_OBJECTS = $(am_libscistring_algo_la_OBJECTS)
 @MAINTAINER_MODE_FALSE@am_libscistring_algo_la_rpath =
 @MAINTAINER_MODE_TRUE@am_libscistring_algo_la_rpath =
 libscistring_la_DEPENDENCIES = libscistring-algo.la
-am__objects_4 = libscistring_la-gw_string.lo \
-       libscistring_la-sci_strsplit.lo libscistring_la-sci_isdigit.lo \
-       libscistring_la-sci_isalphanum.lo \
-       libscistring_la-sci_isascii.lo
-am__objects_5 = sci_f_string.lo strops.lo
-am__objects_6 = libscistring_la-sci_stripblanks.lo \
+am__objects_3 = libscistring_la-sci_stripblanks.lo \
        libscistring_la-sci_grep.lo libscistring_la-string_gw.lo \
        libscistring_la-sci_regexp.lo libscistring_la-sci_part.lo \
        libscistring_la-sci_length.lo libscistring_la-sci_strindex.lo \
@@ -182,9 +176,11 @@ am__objects_6 = libscistring_la-sci_stripblanks.lo \
        libscistring_la-sci_strtod.lo libscistring_la-sci_tokens.lo \
        libscistring_la-sci_strcmp.lo libscistring_la-sci_isletter.lo \
        libscistring_la-sci_strcspn.lo libscistring_la-sci_strtok.lo \
-       libscistring_la-sci_strspn.lo
-am_libscistring_la_OBJECTS = $(am__objects_4) $(am__objects_5) \
-       $(am__objects_6)
+       libscistring_la-sci_strspn.lo \
+       libscistring_la-sci_isalphanum.lo \
+       libscistring_la-sci_isdigit.lo libscistring_la-sci_isascii.lo \
+       libscistring_la-sci_strsplit.lo
+am_libscistring_la_OBJECTS = $(am__objects_3)
 libscistring_la_OBJECTS = $(am_libscistring_la_OBJECTS)
 libscistring_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
@@ -213,13 +209,6 @@ CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
-F77COMPILE = $(F77) $(AM_FFLAGS) $(FFLAGS)
-LTF77COMPILE = $(LIBTOOL) --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS)
-F77LD = $(F77)
-F77LINK = $(LIBTOOL) --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=link $(F77LD) $(AM_FFLAGS) $(FFLAGS) $(AM_LDFLAGS) \
-       $(LDFLAGS) -o $@
 SOURCES = $(libscistring_algo_la_SOURCES) $(libscistring_la_SOURCES)
 DIST_SOURCES = $(libscistring_algo_la_SOURCES) \
        $(libscistring_la_SOURCES)
@@ -522,15 +511,8 @@ src/c/StringConvert.c \
 src/c/os_wcsdup.c \
 src/c/os_wcstok.c \
 src/c/scistrtostr.c \
-src/c/stringToDouble.c
-
-STRING_FORTRAN_SOURCES = 
-GATEWAY_C_SOURCES = \
-    sci_gateway/c/gw_string.c \
-    sci_gateway/c/sci_strsplit.c \
-    sci_gateway/c/sci_isdigit.c \
-    sci_gateway/c/sci_isalphanum.c \
-    sci_gateway/c/sci_isascii.c
+src/c/stringToDouble.c \
+src/c/isascii.c
 
 GATEWAY_CPP_SOURCES = \
     sci_gateway/cpp/sci_stripblanks.cpp \
@@ -556,10 +538,11 @@ GATEWAY_CPP_SOURCES = \
     sci_gateway/cpp/sci_isletter.cpp \
     sci_gateway/cpp/sci_strcspn.cpp \
     sci_gateway/cpp/sci_strtok.cpp \
-    sci_gateway/cpp/sci_strspn.cpp
-
-GATEWAY_FORTRAN_SOURCES = sci_gateway/fortran/sci_f_string.f \
-sci_gateway/fortran/strops.f
+    sci_gateway/cpp/sci_strspn.cpp \
+    sci_gateway/cpp/sci_isalphanum.cpp \
+    sci_gateway/cpp/sci_isdigit.cpp \
+    sci_gateway/cpp/sci_isascii.cpp \
+    sci_gateway/cpp/sci_strsplit.cpp
 
 libscistring_la_CFLAGS = $(PCRE_CFLAGS) \
        -I$(srcdir)/src/c \
@@ -583,19 +566,21 @@ libscistring_la_CPPFLAGS = $(PCRE_CFLAGS) \
        -I$(top_srcdir)/modules/symbol/includes \
        -I$(top_srcdir)/modules/ast/includes \
        -I$(top_srcdir)/modules/elementary_funcions/includes \
-       -I$(top_srcdir)/modules//includes \
        -I$(top_srcdir)/modules/core/includes \
        -I$(top_srcdir)/modules/types/includes \
        -I$(top_srcdir)/modules/system_env/includes \
-    -I$(top_srcdir)/modules/dynamic_link/includes
+    -I$(top_srcdir)/modules/dynamic_link/includes \
+    -I$(top_srcdir)/modules/threads/includes \
+    -I$(top_srcdir)/modules/console/includes \
+    $(EIGEN_CPPFLAGS)
 
 libscistring_algo_la_CPPFLAGS = $(libscistring_la_CPPFLAGS)
 @MAINTAINER_MODE_TRUE@pkglib_LTLIBRARIES = libscistring.la
 @MAINTAINER_MODE_FALSE@noinst_LTLIBRARIES = libscistring-algo.la libscistring.la
 @MAINTAINER_MODE_TRUE@noinst_LTLIBRARIES = libscistring-algo.la
 libscistring_la_LDFLAGS = -version-number $(SCILAB_LIBRARY_VERSION) $(PCRE_LIBS)
-libscistring_algo_la_SOURCES = $(STRING_C_SOURCES) $(STRING_CPP_SOURCES) $(STRING_FORTRAN_SOURCES)
-libscistring_la_SOURCES = $(GATEWAY_C_SOURCES) $(GATEWAY_FORTRAN_SOURCES) $(GATEWAY_CPP_SOURCES)
+libscistring_algo_la_SOURCES = $(STRING_C_SOURCES) $(STRING_CPP_SOURCES)
+libscistring_la_SOURCES = $(GATEWAY_C_SOURCES) $(GATEWAY_CPP_SOURCES)
 libscistring_algo_la_CFLAGS = $(libscistring_la_CFLAGS)
 
 # For the code check (splint)
@@ -695,7 +680,7 @@ HELP_CHAPTERLANG = en_US fr_FR pt_BR
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .sci .bin .c .cpp .f .lo .o .obj
+.SUFFIXES: .sci .bin .c .cpp .lo .o .obj
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.incl.am $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
@@ -785,6 +770,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscistring_algo_la-cvstr.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscistring_algo_la-getfastcode.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscistring_algo_la-isalphanum.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscistring_algo_la-isascii.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscistring_algo_la-isdigit.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscistring_algo_la-isletter.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscistring_algo_la-men_Sutils.Plo@am__quote@
@@ -803,7 +789,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscistring_algo_la-strsplit.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscistring_algo_la-strsubst.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscistring_algo_la-tokens.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscistring_la-gw_string.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscistring_la-sci_ascii.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscistring_la-sci_convstr.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscistring_la-sci_grep.Plo@am__quote@
@@ -1015,40 +1000,12 @@ libscistring_algo_la-stringToDouble.lo: src/c/stringToDouble.c
 @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) $(libscistring_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscistring_algo_la_CFLAGS) $(CFLAGS) -c -o libscistring_algo_la-stringToDouble.lo `test -f 'src/c/stringToDouble.c' || echo '$(srcdir)/'`src/c/stringToDouble.c
 
-libscistring_la-gw_string.lo: sci_gateway/c/gw_string.c
-@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscistring_la_CPPFLAGS) $(CPPFLAGS) $(libscistring_la_CFLAGS) $(CFLAGS) -MT libscistring_la-gw_string.lo -MD -MP -MF $(DEPDIR)/libscistring_la-gw_string.Tpo -c -o libscistring_la-gw_string.lo `test -f 'sci_gateway/c/gw_string.c' || echo '$(srcdir)/'`sci_gateway/c/gw_string.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscistring_la-gw_string.Tpo $(DEPDIR)/libscistring_la-gw_string.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='sci_gateway/c/gw_string.c' object='libscistring_la-gw_string.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) $(libscistring_la_CPPFLAGS) $(CPPFLAGS) $(libscistring_la_CFLAGS) $(CFLAGS) -c -o libscistring_la-gw_string.lo `test -f 'sci_gateway/c/gw_string.c' || echo '$(srcdir)/'`sci_gateway/c/gw_string.c
-
-libscistring_la-sci_strsplit.lo: sci_gateway/c/sci_strsplit.c
-@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscistring_la_CPPFLAGS) $(CPPFLAGS) $(libscistring_la_CFLAGS) $(CFLAGS) -MT libscistring_la-sci_strsplit.lo -MD -MP -MF $(DEPDIR)/libscistring_la-sci_strsplit.Tpo -c -o libscistring_la-sci_strsplit.lo `test -f 'sci_gateway/c/sci_strsplit.c' || echo '$(srcdir)/'`sci_gateway/c/sci_strsplit.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscistring_la-sci_strsplit.Tpo $(DEPDIR)/libscistring_la-sci_strsplit.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='sci_gateway/c/sci_strsplit.c' object='libscistring_la-sci_strsplit.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) $(libscistring_la_CPPFLAGS) $(CPPFLAGS) $(libscistring_la_CFLAGS) $(CFLAGS) -c -o libscistring_la-sci_strsplit.lo `test -f 'sci_gateway/c/sci_strsplit.c' || echo '$(srcdir)/'`sci_gateway/c/sci_strsplit.c
-
-libscistring_la-sci_isdigit.lo: sci_gateway/c/sci_isdigit.c
-@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscistring_la_CPPFLAGS) $(CPPFLAGS) $(libscistring_la_CFLAGS) $(CFLAGS) -MT libscistring_la-sci_isdigit.lo -MD -MP -MF $(DEPDIR)/libscistring_la-sci_isdigit.Tpo -c -o libscistring_la-sci_isdigit.lo `test -f 'sci_gateway/c/sci_isdigit.c' || echo '$(srcdir)/'`sci_gateway/c/sci_isdigit.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscistring_la-sci_isdigit.Tpo $(DEPDIR)/libscistring_la-sci_isdigit.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='sci_gateway/c/sci_isdigit.c' object='libscistring_la-sci_isdigit.lo' libtool=yes @AMDEPBACKSLASH@
+libscistring_algo_la-isascii.lo: src/c/isascii.c
+@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscistring_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscistring_algo_la_CFLAGS) $(CFLAGS) -MT libscistring_algo_la-isascii.lo -MD -MP -MF $(DEPDIR)/libscistring_algo_la-isascii.Tpo -c -o libscistring_algo_la-isascii.lo `test -f 'src/c/isascii.c' || echo '$(srcdir)/'`src/c/isascii.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscistring_algo_la-isascii.Tpo $(DEPDIR)/libscistring_algo_la-isascii.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='src/c/isascii.c' object='libscistring_algo_la-isascii.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) $(libscistring_la_CPPFLAGS) $(CPPFLAGS) $(libscistring_la_CFLAGS) $(CFLAGS) -c -o libscistring_la-sci_isdigit.lo `test -f 'sci_gateway/c/sci_isdigit.c' || echo '$(srcdir)/'`sci_gateway/c/sci_isdigit.c
-
-libscistring_la-sci_isalphanum.lo: sci_gateway/c/sci_isalphanum.c
-@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscistring_la_CPPFLAGS) $(CPPFLAGS) $(libscistring_la_CFLAGS) $(CFLAGS) -MT libscistring_la-sci_isalphanum.lo -MD -MP -MF $(DEPDIR)/libscistring_la-sci_isalphanum.Tpo -c -o libscistring_la-sci_isalphanum.lo `test -f 'sci_gateway/c/sci_isalphanum.c' || echo '$(srcdir)/'`sci_gateway/c/sci_isalphanum.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscistring_la-sci_isalphanum.Tpo $(DEPDIR)/libscistring_la-sci_isalphanum.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='sci_gateway/c/sci_isalphanum.c' object='libscistring_la-sci_isalphanum.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) $(libscistring_la_CPPFLAGS) $(CPPFLAGS) $(libscistring_la_CFLAGS) $(CFLAGS) -c -o libscistring_la-sci_isalphanum.lo `test -f 'sci_gateway/c/sci_isalphanum.c' || echo '$(srcdir)/'`sci_gateway/c/sci_isalphanum.c
-
-libscistring_la-sci_isascii.lo: sci_gateway/c/sci_isascii.c
-@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscistring_la_CPPFLAGS) $(CPPFLAGS) $(libscistring_la_CFLAGS) $(CFLAGS) -MT libscistring_la-sci_isascii.lo -MD -MP -MF $(DEPDIR)/libscistring_la-sci_isascii.Tpo -c -o libscistring_la-sci_isascii.lo `test -f 'sci_gateway/c/sci_isascii.c' || echo '$(srcdir)/'`sci_gateway/c/sci_isascii.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libscistring_la-sci_isascii.Tpo $(DEPDIR)/libscistring_la-sci_isascii.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='sci_gateway/c/sci_isascii.c' object='libscistring_la-sci_isascii.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) $(libscistring_la_CPPFLAGS) $(CPPFLAGS) $(libscistring_la_CFLAGS) $(CFLAGS) -c -o libscistring_la-sci_isascii.lo `test -f 'sci_gateway/c/sci_isascii.c' || echo '$(srcdir)/'`sci_gateway/c/sci_isascii.c
+@am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscistring_algo_la_CPPFLAGS) $(CPPFLAGS) $(libscistring_algo_la_CFLAGS) $(CFLAGS) -c -o libscistring_algo_la-isascii.lo `test -f 'src/c/isascii.c' || echo '$(srcdir)/'`src/c/isascii.c
 
 .cpp.o:
 @am__fastdepCXX_TRUE@  $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -1246,20 +1203,33 @@ libscistring_la-sci_strspn.lo: sci_gateway/cpp/sci_strspn.cpp
 @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) $(libscistring_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscistring_la-sci_strspn.lo `test -f 'sci_gateway/cpp/sci_strspn.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_strspn.cpp
 
-.f.o:
-       $(F77COMPILE) -c -o $@ $<
-
-.f.obj:
-       $(F77COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+libscistring_la-sci_isalphanum.lo: sci_gateway/cpp/sci_isalphanum.cpp
+@am__fastdepCXX_TRUE@  $(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscistring_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscistring_la-sci_isalphanum.lo -MD -MP -MF $(DEPDIR)/libscistring_la-sci_isalphanum.Tpo -c -o libscistring_la-sci_isalphanum.lo `test -f 'sci_gateway/cpp/sci_isalphanum.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_isalphanum.cpp
+@am__fastdepCXX_TRUE@  $(am__mv) $(DEPDIR)/libscistring_la-sci_isalphanum.Tpo $(DEPDIR)/libscistring_la-sci_isalphanum.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     source='sci_gateway/cpp/sci_isalphanum.cpp' object='libscistring_la-sci_isalphanum.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) $(libscistring_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscistring_la-sci_isalphanum.lo `test -f 'sci_gateway/cpp/sci_isalphanum.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_isalphanum.cpp
 
-.f.lo:
-       $(LTF77COMPILE) -c -o $@ $<
+libscistring_la-sci_isdigit.lo: sci_gateway/cpp/sci_isdigit.cpp
+@am__fastdepCXX_TRUE@  $(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscistring_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscistring_la-sci_isdigit.lo -MD -MP -MF $(DEPDIR)/libscistring_la-sci_isdigit.Tpo -c -o libscistring_la-sci_isdigit.lo `test -f 'sci_gateway/cpp/sci_isdigit.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_isdigit.cpp
+@am__fastdepCXX_TRUE@  $(am__mv) $(DEPDIR)/libscistring_la-sci_isdigit.Tpo $(DEPDIR)/libscistring_la-sci_isdigit.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     source='sci_gateway/cpp/sci_isdigit.cpp' object='libscistring_la-sci_isdigit.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) $(libscistring_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscistring_la-sci_isdigit.lo `test -f 'sci_gateway/cpp/sci_isdigit.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_isdigit.cpp
 
-sci_f_string.lo: sci_gateway/fortran/sci_f_string.f
-       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o sci_f_string.lo `test -f 'sci_gateway/fortran/sci_f_string.f' || echo '$(srcdir)/'`sci_gateway/fortran/sci_f_string.f
+libscistring_la-sci_isascii.lo: sci_gateway/cpp/sci_isascii.cpp
+@am__fastdepCXX_TRUE@  $(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscistring_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscistring_la-sci_isascii.lo -MD -MP -MF $(DEPDIR)/libscistring_la-sci_isascii.Tpo -c -o libscistring_la-sci_isascii.lo `test -f 'sci_gateway/cpp/sci_isascii.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_isascii.cpp
+@am__fastdepCXX_TRUE@  $(am__mv) $(DEPDIR)/libscistring_la-sci_isascii.Tpo $(DEPDIR)/libscistring_la-sci_isascii.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     source='sci_gateway/cpp/sci_isascii.cpp' object='libscistring_la-sci_isascii.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) $(libscistring_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscistring_la-sci_isascii.lo `test -f 'sci_gateway/cpp/sci_isascii.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_isascii.cpp
 
-strops.lo: sci_gateway/fortran/strops.f
-       $(LIBTOOL)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -c -o strops.lo `test -f 'sci_gateway/fortran/strops.f' || echo '$(srcdir)/'`sci_gateway/fortran/strops.f
+libscistring_la-sci_strsplit.lo: sci_gateway/cpp/sci_strsplit.cpp
+@am__fastdepCXX_TRUE@  $(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscistring_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscistring_la-sci_strsplit.lo -MD -MP -MF $(DEPDIR)/libscistring_la-sci_strsplit.Tpo -c -o libscistring_la-sci_strsplit.lo `test -f 'sci_gateway/cpp/sci_strsplit.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_strsplit.cpp
+@am__fastdepCXX_TRUE@  $(am__mv) $(DEPDIR)/libscistring_la-sci_strsplit.Tpo $(DEPDIR)/libscistring_la-sci_strsplit.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     source='sci_gateway/cpp/sci_strsplit.cpp' object='libscistring_la-sci_strsplit.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) $(libscistring_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscistring_la-sci_strsplit.lo `test -f 'sci_gateway/cpp/sci_strsplit.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_strsplit.cpp
 
 mostlyclean-libtool:
        -rm -f *.lo
diff --git a/scilab/modules/string/includes/gw_string.h b/scilab/modules/string/includes/gw_string.h
deleted file mode 100644 (file)
index bafc77b..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) INRIA -
- *
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution.  The terms
- * are also available at
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- *
- */
-/*--------------------------------------------------------------------------*/
-#ifndef __GW_STRING__
-#define __GW_STRING__
-#include "dynlib_string.h"
-#include "dynlib_string_gw.h"
-#include "c_gateway_prototype.h"
-
-/*--------------------------------------------------------------------------*/
-STRING_IMPEXP int gw_string(void);
-/*--------------------------------------------------------------------------*/
-EXTERN_STRING_GW C_GATEWAY_PROTOTYPE(sci_strsplit);
-EXTERN_STRING_GW C_GATEWAY_PROTOTYPE(sci_isdigit);
-EXTERN_STRING_GW C_GATEWAY_PROTOTYPE(sci_isalphanum);
-EXTERN_STRING_GW C_GATEWAY_PROTOTYPE(sci_isascii);
-
-/*--------------------------------------------------------------------------*/
-#endif /*  __GW_STRING__ */
-/*--------------------------------------------------------------------------*/
index dfaaf02..4e76902 100644 (file)
 class StringModule
 {
 private :
-   StringModule(){};
-   ~StringModule(){};
+    StringModule() {};
+    ~StringModule() {};
 public :
-   EXTERN_STRING_GW static int Load();
+    EXTERN_STRING_GW static int Load();
 };
 
 CPP_GATEWAY_PROTOTYPE(sci_grep);
@@ -50,4 +50,8 @@ CPP_GATEWAY_PROTOTYPE(sci_isletter);
 CPP_GATEWAY_PROTOTYPE(sci_strcspn);
 CPP_GATEWAY_PROTOTYPE(sci_strtok);
 CPP_GATEWAY_PROTOTYPE(sci_strspn);
+CPP_GATEWAY_PROTOTYPE(sci_isalphanum);
+CPP_GATEWAY_PROTOTYPE(sci_isdigit);
+CPP_GATEWAY_PROTOTYPE(sci_isascii);
+CPP_GATEWAY_PROTOTYPE(sci_strsplit);
 #endif /* !__STRING_GW_HXX__ */
diff --git a/scilab/modules/string/sci_gateway/c/gw_string.c b/scilab/modules/string/sci_gateway/c/gw_string.c
deleted file mode 100644 (file)
index 1911690..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
-* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-* Copyright (C) INRIA - Allan CORNET , Cong WU
-*
-* This file must be used under the terms of the CeCILL.
-* This source file is licensed as described in the file COPYING, which
-* you should have received as part of this distribution.  The terms
-* are also available at
-* http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
-*
-*/
-
-/*--------------------------------------------------------------------------*/
-#include <stdlib.h>
-#include "gw_string.h"
-#include "api_scilab.h"
-#include "MALLOC.h"
-#include "callFunctionFromGateway.h"
-/*--------------------------------------------------------------------------*/
-static gw_generic_table Tab[] =
-{
-       {NULL, ""}, //length
-       {NULL, ""}, //part
-       {NULL, ""}, //string
-       {NULL, ""}, //convstr
-       {NULL, ""}, //emptystr
-       {NULL, ""}, //str2code
-       {NULL, ""}, //5 code2str
-       {NULL, ""}, //strcat
-       {NULL, ""}, //strindex
-       {NULL, ""}, //strsubst
-       {NULL, ""}, //ascii
-       {NULL, ""}, //grep
-       {NULL, ""}, //2 tokens
-       {NULL, ""}, //strsplit
-       {NULL, ""}, //stripblank
-       {NULL, ""}, //3 strcmp
-       {NULL, ""}, //4 isletter
-       {NULL, ""}, //isdigit
-       {NULL, ""}, //isalphanum
-       {NULL, ""}, //isascii
-       {NULL, ""}, //4 strcspn
-       {NULL, ""}, //strncpy
-       {NULL, ""}, //1 strrchr
-       {NULL, ""}, //1 strchr
-       {NULL, ""}, //1 strstr
-       {NULL, ""}, //1 strrev
-       {NULL, ""}, //2 strtok
-       {NULL, ""}, //4 strspn
-       {NULL, ""}, //1 strtod
-       {NULL, ""}, //regexp
-    {NULL, ""}, //_str2code
-    {NULL, ""}  //_code2str
-};
-/*--------------------------------------------------------------------------*/
-int gw_string(void)
-{
-       callFunctionFromGateway(Tab, SIZE_CURRENT_GENERIC_TABLE(Tab));
-       return 0;
-}
-/*--------------------------------------------------------------------------*/
-
diff --git a/scilab/modules/string/sci_gateway/c/sci_isalphanum.c b/scilab/modules/string/sci_gateway/c/sci_isalphanum.c
deleted file mode 100644 (file)
index 30cd074..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) INRIA - Allan CORNET
- * Copyright (C) DIGITEO - Allan CORNET - 2009-2011
- *
- * 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 <string.h>
-#include <stdio.h>
-#include "gw_string.h"
-#include "api_scilab.h"
-#include "Scierror.h"
-#include "localization.h"
-#include "BOOL.h"
-#include "freeArrayOfString.h"
-#include "isalphanum.h"
-#include "api_scilab.h"
-#include "MALLOC.h"
-/*----------------------------------------------------------------------------*/
-int sci_isalphanum(char *fname, void* pvApiCtx)
-{
-    SciErr sciErr;
-    int *piAddressVarOne = NULL;
-
-    CheckRhs(1, 1);
-    CheckLhs(1, 1);
-
-    sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddressVarOne);
-    if(sciErr.iErr)
-    {
-        printError(&sciErr, 0);
-        Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
-        return 0;
-    }
-
-    if (!isScalar(pvApiCtx, piAddressVarOne))
-    {
-        Scierror(999,_("%s: Wrong size for input argument #%d: A string expected.\n"), fname, 1);
-        return 0;
-    }
-
-    if (!isStringType(pvApiCtx, piAddressVarOne))
-    {
-        Scierror(999,_("%s: Wrong type for input argument #%d: String expected.\n"), fname, 1);
-    }
-    else
-    {
-        wchar_t *pStVarOne = NULL;
-
-        if (getAllocatedSingleWideString(pvApiCtx, piAddressVarOne, &pStVarOne) != 0)
-        {
-            Scierror(999,_("%s: Memory allocation error.\n"), fname);
-            return 0;
-        }
-        else
-        {
-            int valuesSize = 0;
-            BOOL *values = isalphanumW(pStVarOne, &valuesSize);
-
-            freeAllocatedSingleWideString(pStVarOne);
-            pStVarOne = NULL;
-
-            if (values)
-            {
-                int m1 = 1;
-                int n1 = valuesSize;
-                sciErr = createMatrixOfBoolean(pvApiCtx, Rhs + 1, m1, n1, values);
-
-                FREE(values);
-                values = NULL;
-
-                if(sciErr.iErr)
-                {
-                    printError(&sciErr, 0);
-                    Scierror(999,_("%s: Memory allocation error.\n"), fname);
-                    return 0;
-                }
-            }
-            else
-            {
-                createEmptyMatrix(pvApiCtx, Rhs + 1);
-            }
-
-            LhsVar(1) = Rhs+1;
-            PutLhsVar();
-        }
-    }
-    return 0;
-}
-/*--------------------------------------------------------------------------*/
-
diff --git a/scilab/modules/string/sci_gateway/c/sci_isascii.c b/scilab/modules/string/sci_gateway/c/sci_isascii.c
deleted file mode 100644 (file)
index 6504be0..0000000
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
-* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-* Copyright (C) INRIA - Allan CORNET
-* Copyright (C) INRIA - Allan CORNET
-* 
-* This file must be used under the terms of the CeCILL.
-* This source file is licensed as described in the file COPYING, which
-* you should have received as part of this distribution.  The terms
-* are also available at    
-* http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
-*
-*/
-
-/*----------------------------------------------------------------------------*/
-#include <string.h>
-#include <stdio.h>
-#include <ctype.h>
-#include "gw_string.h"
-#include "MALLOC.h"
-#include "Scierror.h"
-#include "localization.h"
-#include "freeArrayOfString.h"
-#include "charEncoding.h"
-#include "api_scilab.h"
-#ifndef _MSC_VER
-#define iswascii(x) isascii(wctob(x))
-#endif
-/*----------------------------------------------------------------------------*/
-static int isasciiStrings(char *fname, void* pvApiCtx, int *piAddressVarOne);
-static int isasciiMatrix(char *fname, void* pvApiCtx, int *piAddressVarOne);
-/*----------------------------------------------------------------------------*/
-int sci_isascii(char *fname, void* pvApiCtx)
-{
-       SciErr sciErr;
-       int *piAddressVarOne = NULL;
-       int iType1              = 0;
-
-       CheckRhs(1,1);
-       CheckLhs(0,1);
-
-       sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddressVarOne);
-       if(sciErr.iErr)
-       {
-               printError(&sciErr, 0);
-        Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
-               return 0;
-       }
-
-       sciErr = getVarType(pvApiCtx, piAddressVarOne, &iType1);
-       if(sciErr.iErr)
-       {
-               printError(&sciErr, 0);
-        Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
-               return 0;
-       }
-
-       if (iType1 == sci_matrix)
-       {
-               return isasciiMatrix(fname, pvApiCtx, piAddressVarOne);
-       }
-       else if (iType1 == sci_strings)
-       {
-               return isasciiStrings(fname, pvApiCtx, piAddressVarOne);
-       }
-       else
-       {
-               Scierror(999,_("%s: Wrong type for input argument #%d: Real matrix or matrix of strings expected.\n"),fname,1);
-       }
-       return 0;
-}
-/*--------------------------------------------------------------------------*/
-static int isasciiMatrix(char *fname, void* pvApiCtx, int *piAddressVarOne)
-{
-       SciErr sciErr;
-       int m1 = 0, n1 = 0;
-       double *pdVarOne = NULL;
-
-       sciErr = getVarDimension(pvApiCtx, piAddressVarOne, &m1, &n1);
-       if(sciErr.iErr)
-       {
-               printError(&sciErr, 0);
-        Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
-               return 0;
-       }
-
-       if (m1 * n1 > 0)
-       {
-               BOOL *bOutputMatrix = NULL;
-               sciErr = getMatrixOfDouble(pvApiCtx, piAddressVarOne, &m1, &n1, &pdVarOne);
-               if(sciErr.iErr)
-               {
-                       printError(&sciErr, 0);
-            Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
-                       return 0;
-               }
-
-               bOutputMatrix = (BOOL*)MALLOC(sizeof(BOOL)* (m1 * n1));
-               if (bOutputMatrix)
-               {
-                       int nbElems = m1 * n1;
-                       int i = 0;
-                       for (i = 0; i < nbElems; i++)
-                       {
-                               int iVal = (int)pdVarOne[i];
-
-                               if (isascii(iVal)) bOutputMatrix[i] = (int)TRUE;
-                               else bOutputMatrix[i] = (int)FALSE;
-                       }
-
-                       sciErr = createMatrixOfBoolean(pvApiCtx, Rhs + 1, m1, n1, bOutputMatrix);
-                       if(sciErr.iErr)
-                       {
-                               printError(&sciErr, 0);
-                Scierror(999,_("%s: Memory allocation error.\n"), fname);
-                               return 0;
-                       }
-
-                       if (bOutputMatrix)
-                       {
-                               FREE(bOutputMatrix);
-                               bOutputMatrix = NULL;
-                       }
-
-            LhsVar(1) = Rhs + 1;
-            PutLhsVar();
-               }
-               else
-               {
-                       Scierror(999,_("%s: Memory allocation error.\n"), fname);
-                       return 0;
-               }
-       }
-       else
-       {
-               /* returns [] */
-               m1 = 0;
-               n1 = 0;
-
-               sciErr = createMatrixOfDouble(pvApiCtx, Rhs + 1, m1, n1, NULL);
-               if(sciErr.iErr)
-               {
-                       printError(&sciErr, 0);
-            Scierror(999,_("%s: Memory allocation error.\n"), fname);
-                       return 0;
-               }
-
-               LhsVar(1) = Rhs + 1;
-               PutLhsVar();
-       }
-       return 0;
-}
-/*--------------------------------------------------------------------------*/
-static int isasciiStrings(char *fname, void* pvApiCtx, int *piAddressVarOne)
-{
-       SciErr sciErr;
-       int m1 = 0, n1 = 0;
-       wchar_t **pwcStVarOne = NULL;
-       int *lenStVarOne = NULL;
-
-       sciErr = getVarDimension(pvApiCtx, piAddressVarOne, &m1, &n1);
-       if(sciErr.iErr)
-       {
-               printError(&sciErr, 0);
-        Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
-               return 0;
-       }
-
-       lenStVarOne = (int*)MALLOC(sizeof(int) * (m1 * n1));
-
-       if (lenStVarOne)
-       {
-               BOOL *bOutputMatrix = NULL;
-               int i = 0;
-               int lengthAllStrings = 0;
-
-               sciErr = getMatrixOfWideString(pvApiCtx, piAddressVarOne,&m1,&n1,lenStVarOne,pwcStVarOne);
-               if(sciErr.iErr)
-               {
-                       if (lenStVarOne)
-                       {
-                               FREE(lenStVarOne);
-                               lenStVarOne = NULL;
-                       }
-
-                       printError(&sciErr, 0);
-            Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
-                       return 0;
-               }
-
-               pwcStVarOne = (wchar_t**)MALLOC(sizeof(wchar_t*)*(m1 * n1));
-               for (i = 0; i < (m1 * n1); i++)
-               {
-                       lengthAllStrings = lengthAllStrings + lenStVarOne[i];
-
-                       pwcStVarOne[i] = (wchar_t*)MALLOC(sizeof(wchar_t) * (lenStVarOne[i]+1));
-
-                       if (pwcStVarOne[i] == NULL)
-                       {
-                               if (lenStVarOne)
-                               {
-                                       FREE(lenStVarOne);
-                                       lenStVarOne = NULL;
-                               }
-
-                               freeArrayOfWideString(pwcStVarOne, m1 * n1);
-                               Scierror(999,_("%s: Memory allocation error.\n"), fname);
-                               return 0;
-                       }
-               }
-
-               sciErr = getMatrixOfWideString(pvApiCtx, piAddressVarOne,&m1,&n1,lenStVarOne,pwcStVarOne);
-               if(sciErr.iErr)
-               {
-                       if (lenStVarOne)
-                       {
-                               FREE(lenStVarOne);
-                               lenStVarOne = NULL;
-                       }
-
-                       freeArrayOfWideString(pwcStVarOne, m1 * n1);
-                       printError(&sciErr, 0);
-            Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
-                       return 0;
-               }
-
-               bOutputMatrix = (BOOL*)MALLOC(sizeof(BOOL) * lengthAllStrings);
-               if (bOutputMatrix)
-               {
-                       int mOut = 0;
-                       int nOut = 0;
-                       int x = 0;
-
-                       for (i = 0; i < (m1 * n1); i++)
-                       {
-                               int j = 0;
-                               wchar_t* wcInput = pwcStVarOne[i];
-                               int len = (int)wcslen(wcInput);
-
-                               for (j = 0; j < len; j++)
-                               {
-                                       if (iswascii(wcInput[j]))
-                                       {
-                                               bOutputMatrix[x] = (int)TRUE;
-                                       }
-                                       else
-                                       {
-                                               bOutputMatrix[x] = (int)FALSE;
-                                       }
-                                       x++;
-                               }
-                       }
-
-                       mOut = 1;
-                       nOut = lengthAllStrings;
-
-                       sciErr = createMatrixOfBoolean(pvApiCtx, Rhs + 1, mOut, nOut, bOutputMatrix);
-                       if(sciErr.iErr)
-                       {
-                               printError(&sciErr, 0);
-                Scierror(999,_("%s: Memory allocation error.\n"), fname);
-                               return 0;
-                       }
-
-                       if (lenStVarOne)
-                       {
-                               FREE(lenStVarOne);
-                               lenStVarOne = NULL;
-                       }
-                       freeArrayOfWideString(pwcStVarOne, m1 * n1);
-                       if (bOutputMatrix)
-                       {
-                               FREE(bOutputMatrix);
-                               bOutputMatrix = NULL;
-                       }
-
-            LhsVar(1) = Rhs + 1;
-            PutLhsVar();
-               }
-               else
-               {
-                       if (lenStVarOne)
-                       {
-                               FREE(lenStVarOne);
-                               lenStVarOne = NULL;
-                       }
-                       freeArrayOfWideString(pwcStVarOne, m1 * n1);
-                       Scierror(999,_("%s: Memory allocation error.\n"), fname);
-               }
-       }
-       else
-       {
-               Scierror(999,_("%s: Memory allocation error.\n"), fname);
-       }
-       return 0;
-}
-/*--------------------------------------------------------------------------*/
-
diff --git a/scilab/modules/string/sci_gateway/c/sci_isdigit.c b/scilab/modules/string/sci_gateway/c/sci_isdigit.c
deleted file mode 100644 (file)
index 1be4a32..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) INRIA - Allan CORNET
- * Copyright (C) DIGITEO - Allan CORNET - 2009-2011
- *
- * 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 <string.h>
-#include <stdio.h>
-#include "gw_string.h"
-#include "api_scilab.h"
-#include "Scierror.h"
-#include "localization.h"
-#include "BOOL.h"
-#include "isdigit.h"
-#include "MALLOC.h"
-/*----------------------------------------------------------------------------*/
-int sci_isdigit(char *fname, void* pvApiCtx)
-{
-    SciErr sciErr;
-    int *piAddressVarOne = NULL;
-
-    CheckRhs(1, 1);
-    CheckLhs(1, 1);
-
-    sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddressVarOne);
-    if(sciErr.iErr)
-    {
-        printError(&sciErr, 0);
-        Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
-        return 0;
-    }
-
-    if (!isScalar(pvApiCtx, piAddressVarOne))
-    {
-        Scierror(999,_("%s: Wrong size for input argument #%d: A string expected.\n"), fname, 1);
-        return 0;
-    }
-
-    if (!isStringType(pvApiCtx, piAddressVarOne))
-    {
-        Scierror(999,_("%s: Wrong type for input argument #%d: String expected.\n"), fname, 1);
-    }
-    else
-    {
-        wchar_t *pStVarOne = NULL;
-
-        if (getAllocatedSingleWideString(pvApiCtx, piAddressVarOne, &pStVarOne) != 0)
-        {
-            Scierror(999,_("%s: Memory allocation error.\n"), fname);
-            return 0;
-        }
-        else
-        {
-            int valuesSize = 0;
-            BOOL *values = IsDigitW(pStVarOne, &valuesSize);
-
-            freeAllocatedSingleWideString(pStVarOne);
-            pStVarOne = NULL;
-
-            if (values)
-            {
-                int m1 = 1;
-                int n1 = valuesSize;
-                sciErr = createMatrixOfBoolean(pvApiCtx, Rhs + 1, m1, n1, values);
-
-                FREE(values);
-                values = NULL;
-
-                if(sciErr.iErr)
-                {
-                    printError(&sciErr, 0);
-                    Scierror(999,_("%s: Memory allocation error.\n"), fname);
-                    return 0;
-                }
-            }
-            else
-            {
-                createEmptyMatrix(pvApiCtx, Rhs + 1);
-            }
-
-            LhsVar(1) = Rhs+1;
-            PutLhsVar();
-        }
-    }
-    return 0;
-}
-/*--------------------------------------------------------------------------*/
-
diff --git a/scilab/modules/string/sci_gateway/c/sci_strsplit.c b/scilab/modules/string/sci_gateway/c/sci_strsplit.c
deleted file mode 100644 (file)
index 28f408f..0000000
+++ /dev/null
@@ -1,383 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) INRIA - Cong WU , Allan CORNET
- * Copyright (C) DIGITEO - 2009 - Allan CORNET
- *
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution.  The terms
- * are also available at
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- *
- */
-/*------------------------------------------------------------------------*/
-#include <string.h>
-#include "gw_string.h"
-#include "Scierror.h"
-#include "localization.h"
-#include "freeArrayOfString.h"
-#include "BOOL.h"
-#include "MALLOC.h"
-#include "api_scilab.h"
-#include "strsplit.h"
-/*----------------------------------------------------------------------------*/
-int sci_strsplit(char *fname, void* pvApiCtx)
-{
-       SciErr sciErr;
-       int lw = 0;
-       int *piAddressVarOne = NULL;
-       wchar_t *pStVarOne = NULL;
-       int lenStVarOne = 0;
-       int m = 0, n = 0;
-       int iType1              = 0;
-       int iType2              = 0;
-       int iType3              = 0;
-
-       /* Check Input & Output parameters */
-       CheckRhs(1,3);
-       CheckLhs(1,2);
-
-       if (Rhs == 3)
-       {
-               int *piAddressVarThree = NULL;
-               double *pdVarThree = NULL;
-
-               int *piAddressVarTwo = NULL;
-
-               sciErr = getVarAddressFromPosition(pvApiCtx, 3, &piAddressVarThree);
-               if(sciErr.iErr)
-               {
-                       printError(&sciErr, 0);
-                       return 0;
-               }
-
-               sciErr = getVarType(pvApiCtx, piAddressVarThree, &iType3);
-               if(sciErr.iErr)
-               {
-                       printError(&sciErr, 0);
-                       return 0;
-               }
-
-               if (iType3 != sci_matrix)
-               {
-                       Scierror(999,_("%s: Wrong type for input argument #%d: A scalar expected.\n"), fname, 3);
-                       return 0;
-               }
-
-               sciErr = getVarDimension(pvApiCtx, piAddressVarThree, &m, &n);
-               if(sciErr.iErr)
-               {
-                       printError(&sciErr, 0);
-                       return 0;
-               }
-
-               if ( (m != n) && (n != 1) )
-               {
-                       Scierror(999,_("%s: Wrong size for input argument #%d: A scalar expected.\n"), fname, 3);
-                       return 0;
-               }
-
-               // get value of third argument
-               sciErr = getMatrixOfDouble(pvApiCtx, piAddressVarThree, &m, &n, &pdVarThree);
-               if(sciErr.iErr)
-               {
-                       printError(&sciErr, 0);
-                       return 0;
-               }
-
-
-               if ( ((int)pdVarThree[0] < 1) && ((int)pdVarThree[0] != -1) )
-               {
-                       Scierror(999,_("%s: Wrong value for input argument #%d: A value > 0 expected.\n"), fname, 3);
-                       return 0;
-               }
-
-               sciErr = getVarAddressFromPosition(pvApiCtx, 2, &piAddressVarTwo);
-               if(sciErr.iErr)
-               {
-                       printError(&sciErr, 0);
-                       return 0;
-               }
-
-               sciErr = getVarType(pvApiCtx, piAddressVarTwo, &iType2);
-               if(sciErr.iErr)
-               {
-                       printError(&sciErr, 0);
-                       return 0;
-               }
-
-               if (iType2 != sci_strings)
-               {
-                       Scierror(999,_("%s: Wrong type for input argument #%d: A string expected.\n"),fname,2);
-                       return 0;
-               }
-       }
-
-       sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddressVarOne);
-       if(sciErr.iErr)
-       {
-               printError(&sciErr, 0);
-               return 0;
-       }
-
-       sciErr = getVarType(pvApiCtx, piAddressVarOne, &iType1);
-       if(sciErr.iErr)
-       {
-               printError(&sciErr, 0);
-               return 0;
-       }
-
-       if (iType1 == sci_matrix)
-       {
-               sciErr = getVarDimension(pvApiCtx, piAddressVarOne, &m, &n);
-               if(sciErr.iErr)
-               {
-                       printError(&sciErr, 0);
-                       return 0;
-               }
-
-               if ( (m != n) && (n != 0) )
-               {
-                       Scierror(999,_("%s: Wrong type for input argument #%d: A string expected.\n"),fname,1);
-                       return 0;
-               }
-
-               // strsplit([], ...) returns []
-
-               sciErr = createMatrixOfDouble(pvApiCtx, Rhs + 1, 0, 0, NULL);
-               if(sciErr.iErr)
-               {
-                       printError(&sciErr, 0);
-                       return 0;
-               }
-
-               LhsVar(1) = Rhs + 1;
-        PutLhsVar();
-               return 0;
-       }
-
-       if (iType1 != sci_strings)
-       {
-               Scierror(999,_("%s: Wrong type for input argument #%d: A string expected.\n"),fname,1);
-               return 0;
-       }
-
-       if ( (m != n) && (n != 1) )
-       {
-               Scierror(999,_("%s: Wrong size for input argument #%d: A string expected.\n"),fname,1);
-               return 0;
-       }
-
-       if (Rhs == 2)
-       {
-               int *piAddressVarTwo = NULL;
-
-               sciErr = getVarAddressFromPosition(pvApiCtx, 2, &piAddressVarTwo);
-               if(sciErr.iErr)
-               {
-                       printError(&sciErr, 0);
-                       return 0;
-               }
-
-               sciErr = getVarType(pvApiCtx, piAddressVarTwo, &iType2);
-               if(sciErr.iErr)
-               {
-                       printError(&sciErr, 0);
-                       return 0;
-               }
-
-               if (iType2 == sci_matrix)
-               {
-                       int m2 = 0, n2 = 0;
-                       double *pdVarTwo = NULL;
-
-                       if (Lhs == 2)
-                       {
-                               Scierror(78,_("%s: Wrong number of output arguments: %d expected.\n"), fname, 1);
-                               return 0;
-                       }
-
-                       // get lenStVarOne
-                       sciErr = getMatrixOfWideString(pvApiCtx, piAddressVarOne,&m,&n,&lenStVarOne,&pStVarOne);
-                       if(sciErr.iErr)
-                       {
-                               printError(&sciErr, 0);
-                               return 0;
-                       }
-
-                       // get value of first argument only now
-                       pStVarOne = (wchar_t*)MALLOC(sizeof(wchar_t)*(lenStVarOne + 1));
-                       if (pStVarOne == NULL)
-                       {
-                               Scierror(999,_("%s: Memory allocation error.\n"),fname);
-                               return 0;
-                       }
-
-                       sciErr = getMatrixOfWideString(pvApiCtx, piAddressVarOne,&m,&n,&lenStVarOne,&pStVarOne);
-                       if(sciErr.iErr)
-                       {
-                               printError(&sciErr, 0);
-                               return 0;
-                       }
-
-                       // get value of second argument
-                       sciErr = getMatrixOfDouble(pvApiCtx, piAddressVarTwo, &m2, &n2, &pdVarTwo);
-                       if(sciErr.iErr)
-                       {
-                               printError(&sciErr, 0);
-                               return 0;
-                       }
-
-                       if ( (m2 == 1) || (n2 == 1) )
-                       {
-                               int m_out = 0, n_out = 0;
-                               strsplit_error ierr = STRSPLIT_NO_ERROR;
-
-                               wchar_t **results = strsplit(pStVarOne, pdVarTwo, m2 * n2, &ierr);
-
-                               switch (ierr)
-                               {
-                               case STRSPLIT_NO_ERROR:
-                                       {
-                                               m_out = (m2 * n2) + 1;
-                                               n_out = 1;
-
-                                               sciErr = createMatrixOfWideString(pvApiCtx, Rhs + 1, m_out, n_out, results);
-                                               if(sciErr.iErr)
-                                               {
-                                                       printError(&sciErr, 0);
-                                                       return 0;
-                                               }
-
-                                               freeArrayOfWideString(results, m_out);
-                        LhsVar(1) = Rhs + 1;
-                        PutLhsVar();
-                                       }
-                                       break;
-                               case STRSPLIT_INCORRECT_VALUE_ERROR:
-                                       {
-                                               Scierror(116,_("%s: Wrong value for input argument #%d.\n"),fname, 2);
-                                       }
-                                       break;
-                               case STRSPLIT_INCORRECT_ORDER_ERROR:
-                                       {
-                                               Scierror(99,_("%s: Elements of %dth argument must be in increasing order.\n"), fname, 2);
-                                       }
-                                       break;
-                               case STRSPLIT_MEMORY_ALLOCATION_ERROR:
-                                       {
-                                               Scierror(999,_("%s: Memory allocation error.\n"), fname);
-                                       }
-                                       break;
-                               default:
-                                       {
-                                               Scierror(999,_("%s: error.\n"),fname);
-                                       }
-                                       break;
-                               }
-                       }
-                       else
-                       {
-                               Scierror(999,_("%s: Wrong size for input argument #%d.\n"),fname, 2);
-                       }
-
-                       if (pStVarOne) {FREE(pStVarOne); pStVarOne = NULL;}
-
-                       return 0;
-               }
-               else if (iType2 != sci_strings)
-               {
-                       Scierror(999,_("%s: Wrong size for input argument #%d.\n"),fname, 2);
-                       return 0;
-               }
-               else /* sci_strings */
-               {
-                       int m = 0, n = 0;
-
-                       sciErr = getVarDimension(pvApiCtx, piAddressVarTwo, &m, &n);
-                       if(sciErr.iErr)
-                       {
-                               printError(&sciErr, 0);
-                               return 0;
-                       }
-
-                       if ( (m != n) && ((m * n) != 1) )
-                       {
-                               int k = 0;
-                               wchar_t **pStVarTwo = NULL;
-                               int *lenStVarTwo = NULL;
-
-                               lenStVarTwo = (int *)MALLOC(sizeof(int) * (m * n));
-                               if (lenStVarTwo == NULL)
-                               {
-                                       Scierror(999,_("%s: Memory allocation error.\n"), fname);
-                                       return 0;
-                               }
-
-                               // get lenStVarTwo
-                               sciErr = getMatrixOfWideString(pvApiCtx, piAddressVarTwo, &m, &n, lenStVarTwo, pStVarTwo);
-                               if(sciErr.iErr)
-                               {
-                                       printError(&sciErr, 0);
-                                       return 0;
-                               }
-
-                               pStVarTwo = (wchar_t **)MALLOC(sizeof(wchar_t *) * (m * n));
-                               if (pStVarTwo== NULL)
-                               {
-                                       if (lenStVarTwo) {FREE(lenStVarTwo); lenStVarTwo = NULL;}
-                                       Scierror(999,_("%s: Memory allocation error.\n"), fname);
-                                       return 0;
-                               }
-
-                               for (k = 0; k < m * n; k++)
-                               {
-                                       pStVarTwo[k] = (wchar_t*)MALLOC(sizeof(wchar_t) * (lenStVarTwo[k] + 1));
-                                       if (pStVarTwo[k] == NULL)
-                                       {
-                                               freeArrayOfWideString(pStVarTwo, m * n);
-                                               Scierror(999,_("%s: Memory allocation error.\n"), fname);
-                                               return 0;
-                                       }
-                               }
-
-                               sciErr = getMatrixOfWideString(pvApiCtx, piAddressVarTwo, &m, &n, lenStVarTwo, pStVarTwo);
-                               if(sciErr.iErr)
-                               {
-                                       printError(&sciErr, 0);
-                                       return 0;
-                               }
-
-                               /* checks that 2nd parameter is not a array of regexp pattern */
-                               if (pStVarTwo)
-                               {
-                                       for (k = 0; k < m * n; k++)
-                                       {
-                                               if (pStVarTwo[k])
-                                               {
-                                                       int lenStr = (int)wcslen(pStVarTwo[k]);
-                                                       if (lenStr > 2)
-                                                       {
-                                                               if ( (pStVarTwo[k][0] == '/') && (pStVarTwo[k][lenStr - 1] == '/') )
-                                                               {
-                                                                       Scierror(999,_("%s: Wrong value for input argument #%d: a string expected, not a regexp pattern.\n"), fname, 2);
-                                                                       if (lenStVarTwo) {FREE(lenStVarTwo); lenStVarTwo = NULL;}
-                                                                       freeArrayOfWideString(pStVarTwo, m * n);
-                                                                       return 0;
-                                                               }
-                                                       }
-                                               }
-                                       }
-                               }
-                               if (lenStVarTwo) {FREE(lenStVarTwo); lenStVarTwo = NULL;}
-                               freeArrayOfWideString(pStVarTwo, m * n);
-                       }
-               }
-       }
-
-       // others cases , we call %_strsplit macro
-       OverLoad(lw);
-
-       return 0;
-}
-/*----------------------------------------------------------------------------*/
diff --git a/scilab/modules/string/sci_gateway/cpp/sci_isalphanum.cpp b/scilab/modules/string/sci_gateway/cpp/sci_isalphanum.cpp
new file mode 100644 (file)
index 0000000..ebed2c1
--- /dev/null
@@ -0,0 +1,74 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2013 - Scilab Enterprises - Cedric Delamarre
+*
+* 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 "string_gw.hxx"
+#include "function.hxx"
+#include "string.hxx"
+#include "double.hxx"
+#include "bool.hxx"
+
+extern "C"
+{
+#include "MALLOC.h"
+#include "Scierror.h"
+#include "localization.h"
+#include "isalphanum.h"
+}
+
+types::Function::ReturnValue sci_isalphanum(types::typed_list &in, int _iRetCount, types::typed_list &out)
+{
+    types::String* pStrIn   = NULL;
+    types::Bool* pBOut      = NULL;
+    wchar_t* wcstrIn        = NULL;
+    int iResultSize         = 0;
+
+    if (in.size() != 1)
+    {
+        Scierror(999, _("%s: Wrong number of input arguments: %d expected.\n"), "isalphanum", 1);
+        return types::Function::Error;
+    }
+
+    if (_iRetCount != 1)
+    {
+        Scierror(999, _("%s: Wrong number of output arguments: %d expected.\n"), "isalphanum", 1);
+        return types::Function::Error;
+    }
+
+    if (in[0]->isString() == false)
+    {
+        Scierror(999, _("%s: Wrong type for input argument#%d: A String expected.\n"), "isalphanum", 1);
+        types::Function::Error;
+    }
+
+    pStrIn = in[0]->getAs<types::String>();
+
+    if (pStrIn->isScalar() == false)
+    {
+        Scierror(999, _("%s: Wrong type for input argument#%d: A scalar String expected.\n"), "isalphanum", 1);
+        types::Function::Error;
+    }
+
+    wcstrIn = pStrIn->get(0);
+    int* pbResult = (int*)isalphanumW(wcstrIn, &iResultSize);
+    if (pbResult == NULL)
+    {
+        out.push_back(types::Double::Empty());
+        return types::Function::OK;
+    }
+
+    pBOut = new types::Bool(1, iResultSize);
+    pBOut->set(pbResult);
+    out.push_back(pBOut);
+
+    return types::Function::OK;
+}
+/*-------------------------------------------------------------------------------------*/
diff --git a/scilab/modules/string/sci_gateway/cpp/sci_isascii.cpp b/scilab/modules/string/sci_gateway/cpp/sci_isascii.cpp
new file mode 100644 (file)
index 0000000..8d01693
--- /dev/null
@@ -0,0 +1,93 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2013 - Scilab Enterprises - Cedric Delamarre
+*
+* 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 "string_gw.hxx"
+#include "function.hxx"
+#include "string.hxx"
+#include "double.hxx"
+#include "bool.hxx"
+
+extern "C"
+{
+#include "BOOL.h"
+#include "Scierror.h"
+#include "localization.h"
+#include "isascii.h"
+}
+
+types::Function::ReturnValue sci_isascii(types::typed_list &in, int _iRetCount, types::typed_list &out)
+{
+    types::Bool* pBOut = NULL;
+
+    if (in.size() != 1)
+    {
+        Scierror(999, _("%s: Wrong number of input arguments: %d expected.\n"), "isascii", 1);
+        return types::Function::Error;
+    }
+
+    if (_iRetCount != 1)
+    {
+        Scierror(999, _("%s: Wrong number of output arguments: %d expected.\n"), "isascii", 1);
+        return types::Function::Error;
+    }
+
+    if (in[0]->isString())
+    {
+        types::String* pIn = in[0]->getAs<types::String>();
+        if (pIn->getSize() == 0)
+        {
+            out.push_back(types::Double::Empty());
+            return types::Function::OK;
+        }
+
+        // concatenate all strings
+        std::wstring s(pIn->get(0));
+        for (int i = 1; i < pIn->getSize(); i++)
+        {
+            s += std::wstring(pIn->get(i));
+        }
+
+        int iResultSize = 0;
+        int* pbResult = (int*)isasciiStringW((wchar_t*)s.c_str(), &iResultSize);
+        if (pbResult == NULL)
+        {
+            out.push_back(types::Double::Empty());
+            return types::Function::OK;
+        }
+
+        pBOut = new types::Bool(1, iResultSize);
+        pBOut->set(pbResult);
+        out.push_back(pBOut);
+    }
+    else if (in[0]->isDouble())
+    {
+        types::Double* pIn = in[0]->getAs<types::Double>();
+        int* pbResult = (int*)isasciiMatrix(pIn->get(), pIn->getSize());
+        if (pbResult == NULL)
+        {
+            out.push_back(types::Double::Empty());
+            return types::Function::OK;
+        }
+
+        pBOut = new types::Bool(1, pIn->getSize());
+        pBOut->set(pbResult);
+        out.push_back(pBOut);
+    }
+    else
+    {
+        Scierror(999, _("%s: Wrong type for input argument#%d: A string or matrix expected.\n"), "isascii", 1);
+        types::Function::Error;
+    }
+
+    return types::Function::OK;
+}
+/*-------------------------------------------------------------------------------------*/
diff --git a/scilab/modules/string/sci_gateway/cpp/sci_isdigit.cpp b/scilab/modules/string/sci_gateway/cpp/sci_isdigit.cpp
new file mode 100644 (file)
index 0000000..729fe71
--- /dev/null
@@ -0,0 +1,74 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2013 - Scilab Enterprises - Cedric Delamarre
+*
+* 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 "string_gw.hxx"
+#include "function.hxx"
+#include "string.hxx"
+#include "double.hxx"
+#include "bool.hxx"
+
+extern "C"
+{
+#include "MALLOC.h"
+#include "Scierror.h"
+#include "localization.h"
+#include "isdigit.h"
+}
+
+types::Function::ReturnValue sci_isdigit(types::typed_list &in, int _iRetCount, types::typed_list &out)
+{
+    types::String* pStrIn   = NULL;
+    types::Bool* pBOut      = NULL;
+    wchar_t* wcstrIn        = NULL;
+    int iResultSize         = 0;
+
+    if (in.size() != 1)
+    {
+        Scierror(999, _("%s: Wrong number of input arguments: %d expected.\n"), "isdigit", 1);
+        return types::Function::Error;
+    }
+
+    if (_iRetCount != 1)
+    {
+        Scierror(999, _("%s: Wrong number of output arguments: %d expected.\n"), "isdigit", 1);
+        return types::Function::Error;
+    }
+
+    if (in[0]->isString() == false)
+    {
+        Scierror(999, _("%s: Wrong type for input argument#%d: A String expected.\n"), "isdigit", 1);
+        types::Function::Error;
+    }
+
+    pStrIn = in[0]->getAs<types::String>();
+
+    if (pStrIn->isScalar() == false)
+    {
+        Scierror(999, _("%s: Wrong type for input argument#%d: A scalar String expected.\n"), "isdigit", 1);
+        types::Function::Error;
+    }
+
+    wcstrIn = pStrIn->get(0);
+    int* pbResult = (int*)IsDigitW(wcstrIn, &iResultSize);
+    if (pbResult == NULL)
+    {
+        out.push_back(types::Double::Empty());
+        return types::Function::OK;
+    }
+
+    pBOut = new types::Bool(1, iResultSize);
+    pBOut->set(pbResult);
+    out.push_back(pBOut);
+
+    return types::Function::OK;
+}
+/*-------------------------------------------------------------------------------------*/
diff --git a/scilab/modules/string/sci_gateway/cpp/sci_strsplit.cpp b/scilab/modules/string/sci_gateway/cpp/sci_strsplit.cpp
new file mode 100644 (file)
index 0000000..f1bed41
--- /dev/null
@@ -0,0 +1,201 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2013 - Scilab Enterprises - Cedric Delamarre
+*
+* 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 "string_gw.hxx"
+#include "function.hxx"
+#include "string.hxx"
+#include "double.hxx"
+#include "bool.hxx"
+#include "overload.hxx"
+#include "execvisitor.hxx"
+
+extern "C"
+{
+#include "MALLOC.h"
+#include "Scierror.h"
+#include "localization.h"
+#include "strsplit.h"
+}
+
+types::Function::ReturnValue sci_strsplit(types::typed_list &in, int _iRetCount, types::typed_list &out)
+{
+    types::String* pStrIn = NULL;
+    int iValueThree = 0;
+
+    if (in.size() < 1 && in.size() > 3)
+    {
+        Scierror(999, _("%s: Wrong number of input arguments: %d to %d expected.\n"), "strsplit", 1, 3);
+        return types::Function::Error;
+    }
+
+    if (_iRetCount != 1 && _iRetCount != 2)
+    {
+        Scierror(999, _("%s: Wrong number of output arguments: %d to %d expected.\n"), "strsplit", 1, 2);
+        return types::Function::Error;
+    }
+
+    // [[], ""] = strsplit([],...)
+    if (in[0]->isDouble() && in[0]->getAs<types::Double>()->isEmpty())
+    {
+        out.push_back(types::Double::Empty());
+
+        if (_iRetCount == 2)
+        {
+            out.push_back(new types::String(L""));
+        }
+
+        return types::Function::OK;
+    }
+
+    if (in[0]->isString() == false)
+    {
+        Scierror(999, _("%s: Wrong type for input argument#%d: A string expected.\n"), "strsplit", 1);
+        return types::Function::Error;
+    }
+
+    pStrIn = in[0]->getAs<types::String>();
+
+    if (pStrIn->isScalar() == false)
+    {
+        Scierror(999, _("%s: Wrong size for input argument#%d: A single string expected.\n"), "strsplit", 1);
+        return types::Function::Error;
+    }
+
+    if (in.size() > 2)
+    {
+        if (in[2]->isDouble() == false)
+        {
+            Scierror(999, _("%s: Wrong type for input argument#%d: A double expected.\n"), "strsplit", 3);
+            return types::Function::Error;
+        }
+
+        types::Double* pDblIn = in[2]->getAs<types::Double>();
+
+        if (pDblIn->isScalar() == false)
+        {
+            Scierror(999, _("%s: Wrong size for input argument#%d: A scalar double expected.\n"), "strsplit", 3);
+            return types::Function::Error;
+        }
+
+        iValueThree = (int)pDblIn->get(0);
+
+        if ( (double)iValueThree != pDblIn->get(0))
+        {
+            Scierror(999, _("%s: Wrong value for input argument#%d: An integer value expected.\n"), "strsplit", 3);
+            return types::Function::Error;
+        }
+
+        if ((iValueThree < 1) && (iValueThree != -1))
+        {
+            Scierror(999, _("%s: Wrong size for input argument#%d: A positive value expected.\n"), "strsplit", 3);
+            return types::Function::Error;
+        }
+    }
+
+    if (in.size() > 1)
+    {
+        if (in[1]->isDouble())
+        {
+            types::Double* pDbl = in[1]->getAs<types::Double>();
+
+            if (_iRetCount == 2)
+            {
+                Scierror(999, _("%s: Wrong number of output arguments: %d expected.\n"), "strsplit", 1);
+                return types::Function::Error;
+            }
+
+            if (pDbl->getRows() != 1 && pDbl->getCols() != 1)
+            {
+                Scierror(999, _("%s: Wrong size for input argument#%d: A Scalar or vector expected.\n"), "strsplit", 2);
+                return types::Function::Error;
+            }
+
+            strsplit_error ierr = STRSPLIT_NO_ERROR;
+            wchar_t **results = strsplit(pStrIn->get(0), pDbl->get(), pDbl->getSize(), &ierr);
+
+            switch (ierr)
+            {
+                case STRSPLIT_NO_ERROR:
+                {
+                    types::String* pStrOut = new types::String(pDbl->getSize() + 1, 1);
+                    pStrOut->set(results);
+
+                    for (int i = 0; i < pStrIn->getSize(); i++)
+                    {
+                        FREE(results[i]);
+                        results[i] = NULL;
+                    }
+                    FREE(results);
+                    results = NULL;
+
+                    out.push_back(pStrOut);
+                    return types::Function::OK;
+                }
+                break;
+                case STRSPLIT_INCORRECT_VALUE_ERROR:
+                {
+                    Scierror(999, _("%s: Wrong value for input argument.\n"), "strsplit");
+                    return types::Function::Error;
+                }
+                break;
+                case STRSPLIT_INCORRECT_ORDER_ERROR:
+                {
+                    Scierror(999, _("%s: Elements of %dth argument must be in increasing order.\n"), "strsplit", 2);
+                    return types::Function::Error;
+                }
+                break;
+                case STRSPLIT_MEMORY_ALLOCATION_ERROR:
+                {
+                    Scierror(999, _("%s: Memory allocation error.\n"), "strsplit");
+                    return types::Function::Error;
+                }
+                break;
+                default:
+                {
+                    Scierror(999, _("%s: error.\n"), "strsplit");
+                    return types::Function::Error;
+                }
+                break;
+            }
+        }
+        else if (in[1]->isString())
+        {
+            types::String* pStr = in[1]->getAs<types::String>();
+            if (pStr->isScalar() == false)
+            {
+                // checks that 2nd parameter is not an array of regexp pattern
+                wchar_t** pwcsStr = pStr->get();
+                for (int i = 0; i < pStr->getSize(); i++)
+                {
+                    if (pwcsStr[i])
+                    {
+                        int iLen = (int)wcslen(pwcsStr[i]);
+                        if (iLen > 2 && pwcsStr[i][0] == L'/' && pwcsStr[i][iLen - 1] == L'/')
+                        {
+                            Scierror(999, _("%s: Wrong value for input argument #%d: a string expected, not a regexp pattern.\n"), "strsplit", 2);
+                            return types::Function::Error;
+                        }
+                    }
+                }
+            }
+        }
+        else
+        {
+            Scierror(999, _("%s: Wrong type for input argument#%d: A double or string expected.\n"), "strsplit", 2);
+            return types::Function::Error;
+        }
+    }
+
+    std::wstring wstFuncName = L"%_strsplit";
+    return Overload::call(wstFuncName, in, _iRetCount, out, new ExecVisitor());
+}
+/*-------------------------------------------------------------------------------------*/
index 065dcea..68acce9 100644 (file)
 #include "context.hxx"
 #include "function.hxx"
 
-extern "C"
-{
-#include "gw_string.h"
-}
-
 #define MODULE_NAME L"string"
 
 int StringModule::Load()
@@ -47,5 +42,8 @@ int StringModule::Load()
     symbol::Context::getInstance()->addFunction(types::Function::createFunction(L"strcspn", &sci_strcspn, MODULE_NAME));
     symbol::Context::getInstance()->addFunction(types::Function::createFunction(L"strtok", &sci_strtok, MODULE_NAME));
     symbol::Context::getInstance()->addFunction(types::Function::createFunction(L"strspn", &sci_strspn, MODULE_NAME));
+    symbol::Context::getInstance()->addFunction(types::Function::createFunction(L"isalphanum", &sci_isalphanum, MODULE_NAME));
+    symbol::Context::getInstance()->addFunction(types::Function::createFunction(L"isdigit", &sci_isdigit, MODULE_NAME));
+    symbol::Context::getInstance()->addFunction(types::Function::createFunction(L"isascii", &sci_isascii, MODULE_NAME));
     return 1;
 }
index 969106c..e1bf990 100644 (file)
@@ -76,7 +76,7 @@
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>../../includes;../../../functions_manager/includes;../../../types/includes;../../../symbol/includes;../../../ast/includes;../../../operations/includes;../../../api_scilab/includes;../../../core/includes;../../../elementary_functions/includes;../../../output_stream/includes;../../../localization/includes;../../../../libs/intl;../../../../libs/pcre;../../src/c;../../../windows_tools/includes;../../src/cpp;../../../system_env/includes;../../../dynamic_link/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>../../includes;../../../functions_manager/includes;../../../types/includes;../../../symbol/includes;../../../ast/includes;../../../operations/includes;../../../api_scilab/includes;../../../core/includes;../../../elementary_functions/includes;../../../output_stream/includes;../../../localization/includes;../../../../libs/intl;../../../../libs/pcre;../../src/c;../../../windows_tools/includes;../../src/cpp;../../../system_env/includes;../../../dynamic_link/includes;../../../threads/includes;../../../console/includes;../../../../libs/Eigen/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;STRING_GW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
     </Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>../../includes;../../../functions_manager/includes;../../../types/includes;../../../symbol/includes;../../../ast/includes;../../../operations/includes;../../../api_scilab/includes;../../../core/includes;../../../elementary_functions/includes;../../../output_stream/includes;../../../localization/includes;../../../../libs/intl;../../../../libs/pcre;../../src/c;../../../windows_tools/includes;../../src/cpp;../../../system_env/includes;../../../dynamic_link/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>../../includes;../../../functions_manager/includes;../../../types/includes;../../../symbol/includes;../../../ast/includes;../../../operations/includes;../../../api_scilab/includes;../../../core/includes;../../../elementary_functions/includes;../../../output_stream/includes;../../../localization/includes;../../../../libs/intl;../../../../libs/pcre;../../src/c;../../../windows_tools/includes;../../src/cpp;../../../system_env/includes;../../../dynamic_link/includes;../../../threads/includes;../../../console/includes;../../../../libs/Eigen/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;STRING_GW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
-      <AdditionalIncludeDirectories>../../includes;../../../functions_manager/includes;../../../types/includes;../../../symbol/includes;../../../ast/includes;../../../operations/includes;../../../api_scilab/includes;../../../core/includes;../../../elementary_functions/includes;../../../output_stream/includes;../../../localization/includes;../../../../libs/intl;../../../../libs/pcre;../../src/c;../../../windows_tools/includes;../../src/cpp;../../../system_env/includes;../../../dynamic_link/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>../../includes;../../../functions_manager/includes;../../../types/includes;../../../symbol/includes;../../../ast/includes;../../../operations/includes;../../../api_scilab/includes;../../../core/includes;../../../elementary_functions/includes;../../../output_stream/includes;../../../localization/includes;../../../../libs/intl;../../../../libs/pcre;../../src/c;../../../windows_tools/includes;../../src/cpp;../../../system_env/includes;../../../dynamic_link/includes;../../../threads/includes;../../../console/includes;../../../../libs/Eigen/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;STRING_GW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
-      <AdditionalIncludeDirectories>../../includes;../../../functions_manager/includes;../../../types/includes;../../../symbol/includes;../../../ast/includes;../../../operations/includes;../../../api_scilab/includes;../../../core/includes;../../../elementary_functions/includes;../../../output_stream/includes;../../../localization/includes;../../../../libs/intl;../../../../libs/pcre;../../src/c;../../../windows_tools/includes;../../src/cpp;../../../system_env/includes;../../../dynamic_link/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>../../includes;../../../functions_manager/includes;../../../types/includes;../../../symbol/includes;../../../ast/includes;../../../operations/includes;../../../api_scilab/includes;../../../core/includes;../../../elementary_functions/includes;../../../output_stream/includes;../../../localization/includes;../../../../libs/intl;../../../../libs/pcre;../../src/c;../../../windows_tools/includes;../../src/cpp;../../../system_env/includes;../../../dynamic_link/includes;../../../threads/includes;../../../console/includes;../../../../libs/Eigen/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;STRING_GW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="..\c\sci_isalphanum.c" />
-    <ClCompile Include="..\c\sci_isascii.c" />
-    <ClCompile Include="..\c\sci_isdigit.c" />
-    <ClCompile Include="..\c\sci_strsplit.c" />
     <ClCompile Include="sci_ascii.cpp" />
     <ClCompile Include="sci_convstr.cpp" />
     <ClCompile Include="sci_grep.cpp" />
+    <ClCompile Include="sci_isalphanum.cpp" />
+    <ClCompile Include="sci_isascii.cpp" />
+    <ClCompile Include="sci_isdigit.cpp" />
     <ClCompile Include="sci_isletter.cpp" />
     <ClCompile Include="sci_length.cpp" />
     <ClCompile Include="sci_part.cpp" />
     <ClCompile Include="sci_strncpy.cpp" />
     <ClCompile Include="sci_strrchr.cpp" />
     <ClCompile Include="sci_strrev.cpp" />
+    <ClCompile Include="sci_strsplit.cpp" />
     <ClCompile Include="sci_strspn.cpp" />
     <ClCompile Include="sci_strstr.cpp" />
     <ClCompile Include="sci_strsubst.cpp" />
     <ProjectReference Include="..\..\..\ast\ast.vcxproj">
       <Project>{0d3fa25b-8116-44ec-a45e-260789daa3d9}</Project>
     </ProjectReference>
+    <ProjectReference Include="..\..\..\console\src\c\console.vcxproj">
+      <Project>{445d3b85-c9b1-498b-9c88-0a3c2390b1cc}</Project>
+    </ProjectReference>
     <ProjectReference Include="..\..\..\core\src\c\core.vcxproj">
       <Project>{c6e2bc17-34d8-46e4-85f3-6293cb21adcd}</Project>
     </ProjectReference>
       <Project>{ecffeb0c-1eda-45ee-9a10-b18143852e17}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
     </ProjectReference>
+    <ProjectReference Include="..\..\..\operations\operations.vcxproj">
+      <Project>{1bb396f7-ce61-4cfc-9c22-266b2cfb2e74}</Project>
+    </ProjectReference>
     <ProjectReference Include="..\..\..\output_stream\src\c\output_stream.vcxproj">
       <Project>{a5911cd7-f8e8-440c-a23e-4843a0636f3a}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
index 0ac3fbc..989a71f 100644 (file)
     <ClCompile Include="string_gw.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\c\sci_strsplit.c">
+    <ClCompile Include="sci_isalphanum.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\c\sci_isalphanum.c">
+    <ClCompile Include="sci_isascii.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\c\sci_isascii.c">
+    <ClCompile Include="sci_isdigit.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\c\sci_isdigit.c">
+    <ClCompile Include="sci_strsplit.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
   </ItemGroup>
diff --git a/scilab/modules/string/sci_gateway/fortran/sci_f_string.f b/scilab/modules/string/sci_gateway/fortran/sci_f_string.f
deleted file mode 100644 (file)
index c89630b..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-c =========================================
-c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-c Copyright (C) INRIA
-c 
-c This file must be used under the terms of the CeCILL.
-c This source file is licensed as described in the file COPYING, which
-c you should have received as part of this distribution.  The terms
-c are also available at    
-c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
-c =========================================  
-      subroutine intstring
-      INCLUDE 'stack.h'
-c
-      integer eol,nclas
-      logical ref
-      integer iadr,sadr
-      data eol/99/,nclas/29/
-c
-      iadr(l)=l+l-1
-      sadr(l)=(l/2)+1
-c
-      il=iadr(lstk(top))
-      ilr=il
-      if(istk(il).lt.0) il=iadr(istk(il+1))
-      ref=ilr.ne.il
-
-      if(istk(il).eq.10) then
-         call ref2val
-         goto 999
-      endif
-c
-      lw=iadr(lstk(top+1))
-c
-      if(istk(il).eq.1) then
-c
-c     conversion d'une matrice de scalaires
-c     -------------------------------------
-         m=istk(il+1)
-         n=istk(il+2)
-         
-         if(m*n.eq.0) then
-            if (ref) then
-               istk(ilr)=1
-               istk(ilr+1)=0
-               istk(ilr+2)=0
-               istk(ilr+3)=0
-               lstk(top+1)=sadr(ilr+4)
-            endif
-            goto 999
-         endif
-
-         it=istk(il+3)
-         l=sadr(il+4)
-         if(ref) then
-            lw=ilr+4
-         else
-            lw=iadr(lstk(top+1))
-         endif
-         err=sadr(lw+m*n*(2*lct(7)+4))-lstk(bot)
-         if(err.gt.0) then
-            call error(17)
-            return
-         endif
-         lstr=lw+m*n+1
-         if(it.eq.0) call cvdm(stk(l),m,m,n,lct(7),lct(6),
-     1        istk(lstr),istk(lw))
-         if(it.eq.1) call cvwm(stk(l),stk(l+m*n),m,m,n,lct(7),lct(6),
-     1        istk(lstr),istk(lw))
-         nstr=istk(lw+m*n)-1
-         if(.not.ref) call icopy(m*n+1+nstr,istk(lw),1,istk(ilr+4),1)
-         istk(ilr)=10
-         istk(ilr+1)=m
-         istk(ilr+2)=n
-         istk(ilr+3)=0
-         lstk(top+1)=sadr(ilr+5+m*n+nstr)
-         goto 999
-c
-      elseif(abs(istk(il)).eq.11.or.abs(istk(il)).eq.13) then
-c
-c     conversion d'une macro non compilee
-c     -----------------------------------
-         ilm=il
-c
-c     form vectors of output and input variables
-         il=il+1
-         lw=lstk(top+1)
-         do 37 i=1,2
-            n=istk(il)
-            il=il+1
-            ilio=iadr(lw)
-            istk(ilio)=10
-            if(n.eq.0) istk(ilio)=1
-            istk(ilio+1)=min(1,n)
-            istk(ilio+2)=n
-            istk(ilio+3)=0
-            ilp=ilio+4
-            istk(ilp)=1
-            l=ilp+n
-            if (n.eq.0) goto 35
-            do 34 j=1,n
-               call namstr(istk(il),istk(l+1),nn,1)
-               l=l+nn
-               istk(ilp+j)=l+1-(ilp+n)
-               il=il+nsiz
- 34         continue
- 35         if(i.eq.1) then
-               lout=lw
-            else
-               llin=lw
-            endif
-            lw=sadr(l+1)
- 37      continue
-c
-         if(istk(ilm).eq.13) then
-            ltxt=lw
-            ilt=iadr(ltxt)
-            istk(ilt)=1
-            istk(ilt+2)=0
-            istk(ilt+3)=0
-            istk(ilt+4)=1
-            ilt=ilt+4
-            goto 43
-         endif
-         ltxt=lw
-         ilt=iadr(ltxt)
-         istk(ilt)=10
-         istk(ilt+2)=1
-         istk(ilt+3)=0
-         istk(ilt+4)=1
-         ilp=ilt+4
-c     
-c     compute number of lines of the macro
-         nch=istk(il)
-         nl=0
-         il=il+1
-         l=il-1
- 39      l=l+1
-         if(istk(l).eq.eol) then
-            if(istk(l+1).eq.eol) goto 40
-            nl=nl+1
-         endif
-         goto 39
-c
- 40      continue
-         istk(ilt+1)=nl
-         if(nl.eq.0) then
-            istk(ilt)=1
-            istk(ilt+2)=0
-            ilt=ilt+3
-            goto 43
-         endif
-         ilt=ilp+nl+1
-         l=il
- 41      if(istk(l).eq.eol) goto 42
-         l=l+1
-         goto 41
- 42      if(istk(l+1).eq.eol) goto 43
-         n=l-il
-         ilp=ilp+1
-         istk(ilp)=istk(ilp-1)+n
-         call icopy(n,istk(il),1,istk(ilt),1)
-         ilt=ilt+n
-         il=l+1
-         l=il
-         goto 41
-c
- 43      continue
-         lw=sadr(ilt+1)
-c     update stack
-         if(lhs.eq.3) then
-            n=llin-lout
-            call unsfdcopy(n,stk(lout),1,stk(lstk(top)),1)
-            lstk(top+1)=lstk(top)+n+1
-            top=top+1
-            n=ltxt-llin
-            call unsfdcopy(n,stk(llin),1,stk(lstk(top)),1)
-            lstk(top+1)=lstk(top)+n+1
-            top=top+1
-         endif
-         n=lw-ltxt
-         call unsfdcopy(n,stk(ltxt),1,stk(lstk(top)),1)
-         lstk(top+1)=lstk(top)+n+1
-         goto 999
-
-      elseif(istk(il).eq.14) then
-c     librairies
-         il0=ilr
-c
-         n1=istk(il+1)
-         l1=il+2
-         il=il+n1+2
-         n=istk(il)
-         il=il+nclas+2
-
-         if(.not.ref) ilr=lw
-         err=sadr(ilr+6+n1+(nlgh+1)*n)-lstk(bot)
-         if(err.gt.0) then
-            call error(17)
-            return
-         endif
-
-         istk(ilr)=10
-         istk(ilr+1)=n+1
-         istk(ilr+2)=1
-         istk(ilr+3)=0
-         istk(ilr+4)=1
-         l=ilr+6+n
-         call icopy(n1,istk(l1),1,istk(l),1)
-         istk(ilr+5)=1+n1
-         l=l+n1
-         do 49  k=1,n
-           call namstr(istk(il),istk(l),nn,1)
-           istk(ilr+5+k)=istk(ilr+4+k)+nn
-           l=l+nn
-           il=il+nsiz
- 49     continue
-        if(.not.ref) call icopy(l-ilr,istk(ilr),1,istk(il0),1)
-        lstk(top+1)=sadr(il0+l-ilr)
-        goto 999
-      else
-         fun=-1
-         call funnam(ids(1,pt+1),'string',il)
-         return
-      endif
- 999  return
-      end
-c =========================================  
diff --git a/scilab/modules/string/sci_gateway/fortran/strops.f b/scilab/modules/string/sci_gateway/fortran/strops.f
deleted file mode 100644 (file)
index ce5f46a..0000000
+++ /dev/null
@@ -1,1070 +0,0 @@
-c     Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-c     Copyright (C) INRIA
-c     
-c     This file must be used under the terms of the CeCILL.
-c     This source file is licensed as described in the file COPYING,
-c     which
-c     you should have received as part of this distribution.  The terms
-c     are also available at
-c     http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
-
-      subroutine strops
-c     =================================================================
-c     
-c     operations sur les matrices de chaines de caracteres
-c     
-c     =================================================================
-c
-c     Copyright INRIA
-      include 'stack.h'
-
-C     c (DLL Intel Fortran)
-c     DEC$ IF DEFINED (FORDLL)
-c     DEC$ ATTRIBUTES DLLIMPORT:: /mtlbc/
-c     DEC$ ENDIF
-      common /mtlbc/ mmode
-c
-      integer plus,quote,equal,less,great,insert,extrac,dot
-      integer top0,iadr,sadr,op,vol,volr,rhs1
-      logical isany
-c
-      data plus/45/,quote/53/,dot/51/
-      data equal/50/,less/59/,great/60/,insert/2/,extrac/3/
-c
-      iadr(l)=l+l-1
-      sadr(l)=(l/2)+1
-c
-      op=fin
-c
-      if (ddt .eq. 4) then
-c     write(buf(1:4),'(i4)') fin
-c     call basout(io,wte,' strops '//buf(1:4))
-      endif
-c
-      fun=0
-c
-      top0=top
-c
-      lw=lstk(top+1)
-      rhs1=rhs
-      if(op.eq.extrac) goto 130
-      if(op.eq.insert) goto 120
-c
-      if(rhs.eq.1) goto 05
-      il2=iadr(lstk(top))
-      if(istk(il2).lt.0) il2=iadr(istk(il2+1))
-      m2=istk(il2+1)
-      n2=istk(il2+2)
-      it2=istk(il2+3)
-      mn2=m2*n2
-      id2=il2+4
-      l2r=id2+mn2+1
-      l3r=lw
-c
-      top = top-1
- 05   il1=iadr(lstk(top))
-      ilrs=il1
-      if(istk(il1).lt.0) il1=iadr(istk(il1+1))
-      m1=istk(il1+1)
-      n1=istk(il1+2)
-      it1=istk(il1+3)
-      mn1 = m1*n1
-      id1=il1+4
-      l1r=id1+mn1+1
-      vol=istk(id1+mn1)-1
-c
-      goto (60,120,130,65) op
-      if (rhs .eq. 1.and.(op.eq.quote.or.op.eq.quote+dot)) goto 110
-      if (op .eq. plus ) go to 20
-      if(op.eq.equal.or.op.eq.less+great) goto 180
-c
-c     operations non implantees
- 10   top=top0
-      rhs=rhs1
-      fin=-fin
-      return
-
-
-c
-c     addition
-c
- 20   continue
-      if(m1*n1.eq.0) then
-c     .  []+b
-         vol=5+mn2+istk(id2+mn2)-1
-         call icopy(vol,istk(il2),1,istk(il1),1)
-         lstk(top+1)=sadr(il1+vol)
-         return
-      elseif(m2*n2.eq.0) then
-c     .  a+[]
-         return
-      elseif(m1.ne.m2.or.n1.ne.n2) then
-         m1n1 = m1 * n1
-         m2n2 = m2 * n2
-         if (m1n1.eq.1 .or. m2n2.eq.1) then
-c     overload %c_a_c
-            goto 10
-         else
-            call error(8)
-            return
-         endif
-      endif
-      if(istk(il1).ne.istk(il2)) goto 10
-      err=lw+sadr(istk(id1+mn1)+istk(id2+mn2))-lstk(bot)
-      if(err.gt.0) then
-         call error(17)
-         return
-      endif
-c
-      lr=iadr(lw)
-      l=lr
-      i1=1
-      do 11 i=1,mn1
-         la=istk(id1+i)-i1
-         lb=istk(id2+i)-istk(id2+i-1)
-         i1=istk(id1+i)
-         istk(id1+i)=istk(id1+i-1)+la+lb
-         call icopy(la,istk(l1r),1,istk(l),1)
-         l1r=l1r+la
-         l=l+la
-         call icopy(lb,istk(l2r),1,istk(l),1)
-         l2r=l2r+lb
-         l=l+lb
- 11   continue
-      call icopy(l-lr,istk(lr),1,istk(il1+5+mn1),1)
-      lstk(top+1)=sadr(il1+5+mn1+l-lr)
-      goto 999
-c
-c     concatenation [a, b]
-c
- 60   continue
-      if(m1.lt.0.or.m2.lt.0) then
-         call error(14)
-         return
-      endif
-      if(m2.eq.0) then
-         return
-      elseif(m1.eq.0)then
-         call unsfdcopy(lstk(top+2)-lstk(top+1),stk(lstk(top+1)),1,
-     &        stk(lstk(top)),1)
-         lstk(top+1)=lstk(top)+lstk(top+2)-lstk(top+1)
-         return
-      elseif(m1.ne.m2) then
-         call error(5)
-         return
-      endif
-      if(istk(il1).ne.istk(il2)) goto 10
-c
-      id3=iadr(lw)
-      l3r=id3+mn1+mn2+1
-      vol=istk(id1+mn1)+istk(id2+mn2)-2
-      err=sadr(l3r+vol)-lstk(bot)
-      if(err.gt.0) then
-         call error(17)
-         return
-      endif
-      call impcnc(istk(l1r),istk(id1),m1,istk(l2r),istk(id2),m1,
-     &     istk(l3r),istk(id3),m1,n1,n2,1)
-c
-      istk(il1)=10
-      istk(il1+1)=m1
-      istk(il1+2)=n1+n2
-      istk(il1+3)=it1
-      call icopy(mn1+mn2+vol+1,istk(id3),1,istk(il1+4),1)
-      lstk(top+1)=sadr(il1+5+mn1+mn2+vol)
-      goto 999
-c
-c     concatenation [a;b]
- 65   continue
-      if(n1.lt.0.or.n2.lt.0) then
-         call error(14)
-         return
-      endif
-      if(n2.eq.0) then
-         return
-      elseif(n1.eq.0)then
-         call unsfdcopy(lstk(top+2)-lstk(top+1),stk(lstk(top+1)),1,
-     &        stk(lstk(top)),1)
-         lstk(top+1)=lstk(top)+lstk(top+2)-lstk(top+1)
-         return
-      elseif(n1.ne.n2) then
-         call error(6)
-         return
-      endif
-      if(istk(il1).ne.istk(il2)) goto 10
-c
-      id3=iadr(lw)
-      l3r=id3+mn1+mn2+1
-      vol=istk(id1+mn1)+istk(id2+mn2)-2
-      err=sadr(l3r+vol)-lstk(bot)
-      if(err.gt.0) then
-         call error(17)
-         return
-      endif
-      call impcnc(istk(l1r),istk(id1),m1,istk(l2r),istk(id2),m2,
-     &     istk(l3r),istk(id3),m1,m2,n2,-1)
-c
-      istk(il1)=10
-      istk(il1+1)=m1+m2
-      istk(il1+2)=n1
-      istk(il1+3)=it1
-      call icopy(mn1+mn2+vol+1,istk(id3),1,istk(il1+4),1)
-      lstk(top+1)=sadr(il1+5+mn1+mn2+vol)
-      goto 999
-c
-c     transposition
-c
- 110  continue
-      id2=iadr(lw)
-      l2r=id2+mn1+1
-      err=sadr(l2r+vol)-lstk(bot)
-      if(err.gt.0) then
-         call error(17)
-         return
-      endif
-      call imptra(istk(l1r),istk(id1),m1,istk(l2r),istk(id2),m1,n1)
-      istk(il1+1)=n1
-      istk(il1+2)=m1
-      call icopy(mn1+1+vol,istk(id2),1,istk(id1),1)
-      goto 999
-c
-c     insertion
-c
- 120  continue
-      if(rhs.gt.4) then
-         top=top0
-         fin=-fin
-         return
-      endif
-      if(rhs.eq.4) goto 125
-c     arg3(arg1)=arg2
-c
-c     get arg3
-      il3=iadr(lstk(top))
-      if(istk(il3).lt.0) il3=iadr(istk(il3+1))
-
-      if(istk(il3).ne.10) then
-         if(istk(il3).ne.1.or.istk(il3+1).ne.0) then
-            top=top0
-            fin=-fin
-            return
-         endif
-      endif
-      m3=istk(il3+1)
-      n3=istk(il3+2)
-      mn3=m3*n3
-      id3=il3+4
-      l3r=id3+mn3+1
-c     get arg2
-      top=top-1
-      il2=iadr(lstk(top))
-      if(istk(il2).lt.0) il2=iadr(istk(il2+1))
-      if(istk(il2).ne.10) then
-         if(istk(il2).eq.1) then
-            if(istk(il2+1)*istk(il2+2).eq.0) goto 121
-         endif
-         top=top0
-         fin=-fin
-         return
-      endif
- 121  m2=istk(il2+1)
-      n2=istk(il2+2)
-      mn2=m2*n2
-      id2=il2+4
-      l2r=id2+mn2+1
-c     get arg1
-      top=top-1
-      il1=iadr(lstk(top))
-      ilrs=il1
-      if(istk(il1).lt.0) il1=iadr(istk(il1+1))
-      if (istk(il1).eq.10.or.istk(il1).eq.15) then
-         top=top0
-         fin=-fin
-         return
-      endif
-      m1=istk(il1+1)
-      n1=istk(il1+2)
-c
-      if (m2.eq.0) then
-c     .  arg3(arg1)=[]
-         if(m1.eq.-1) then
-c     .    arg3(:)=[] -->[]
-            istk(ilrs)=1
-            istk(ilrs+1)=0
-            istk(ilrs+2)=0
-            istk(ilrs+3)=0
-            lstk(top+1)=sadr(ilrs+4)+1
-            goto 999
-         elseif(m1.eq.0) then
-c     .     arg3([])=[]  --> arg3
-            istk(ilrs)=10
-            istk(ilrs+1)=m3
-            istk(ilrs+2)=n3
-            istk(ilrs+3)=0
-            volr=istk(id3+mn3)-1
-            call icopy(mn3+1+volr,istk(id3),1,istk(ilrs+4),1)
-            lstk(top+1)=sadr(ilrs+5+mn3+volr)
-            goto 999
-         else
-c     .     arg3(arg1)=[]
-            if(istk(il1).eq.4.and.m3.eq.m1.and.n3.eq.n1) then
-               if(.not.isany(il1)) then
-c     .           arg3([])=[]  --> arg3
-                  istk(ilrs)=10
-                  istk(ilrs+1)=m3
-                  istk(ilrs+2)=n3
-                  istk(ilrs+3)=0
-                  volr=istk(id3+mn3)-1
-                  call icopy(mn3+1+volr,istk(id3),1,istk(ilrs+4),1)
-                  lstk(top+1)=sadr(ilrs+5+mn3+volr)
-                  goto 999
-               endif
-            endif
-c     .     arg3(arg1)=[] --> arg3(compl(arg1))
-            call indxgc(il1,mn3,ilr,mi,mx,lw)
-            if(err.gt.0) return
-            l2r=l3r
-            n2=n3
-            m2=m3
-            mn2=m2*n2
-            id2=id3
-            ili=ilr
-c     .     call extraction
-            goto 131
-         endif
-      elseif(m2.lt.0.or.m3.lt.0) then
-c     .  arg3=eye,arg2=eye
-         call error(14)
-         return
-      elseif(m1.lt.0) then
-c     .  arg3(:)=arg2
-         if(mn2.ne.mn3) then
-            if(mn2.eq.1) goto 124
-            call error(15)
-            return
-         endif
-c     .  reshape arg2 according to arg3
-         istk(ilrs)=10
-         istk(ilrs+1)=m3
-         istk(ilrs+2)=n3
-         istk(ilrs+3)=0
-         volr=istk(id2+mn2)-1
-         call icopy(mn3+1+volr,istk(id2),1,istk(ilrs+4),1)
-         lstk(top+1)=sadr(ilrs+5+mn3+volr)
-         goto 999
-      endif
- 124  call indxg(il1,mn3,ili,mi,mxi,lw,1)
-      if(err.gt.0) return
-      if(mi.eq.0) then
-c     .  arg3([])=arg2
-         if(mn2.eq.1) then
-c     .  arg3([])=c  --> arg3
-            if(mn3.eq.0) then
-               istk(ilrs)=1
-               istk(ilrs+1)=0
-               istk(ilrs+2)=0
-               istk(ilrs+3)=0
-               lstk(top+1)=sadr(ilrs+4)
-            else
-               istk(ilrs)=10
-               istk(ilrs+1)=m3
-               istk(ilrs+2)=n3
-               istk(ilrs+3)=0
-               volr=istk(id3+mn3)-1
-               call icopy(mn3+1+volr,istk(id3),1,istk(ilrs+4),1)
-               lstk(top+1)=sadr(ilrs+5+mn3+volr)
-            endif
-            goto 999
-         else
-            call error(15)
-            return
-         endif
-      endif
-      if(mi.ne.mn2.and.mn2.gt.1) then
-         call error(15)
-         return
-      endif
-c
-      if (n3.gt.1.and.m3.gt.1) then
-c     .  arg3 is not a vector
-         if(n2.gt.1.and.m2.gt.1) then
-            call error(15)
-            return
-         endif
-         if(mxi.gt.m3*n3) then
-            call error(21)
-            return
-         endif
-         mr=m3
-         nr=n3
-      elseif (n3.le.1.and.n2.le.1) then
-c     .  arg3 and arg2 are  column vectors
-         mr=max(m3,mxi)
-         nr=max(n3,1)
-      elseif (m3.le.1.and.m2.le.1) then
-c     .  row vectors
-         nr=max(n3,mxi)
-         mr=max(m3,1)
-      else
-c     .  arg3 and arg2 dimensions dont agree
-         call error(15)
-         return
-      endif
-c
-      mnr=mr*nr
-c     set result pointers
-      idr=iadr(lw)
-      lr=idr+mr*nr+1
-      ilw=lr
-      lw=sadr(ilw+mnr+1)
-      err=lw-lstk(bot)
-      if(err.gt.0) then
-         call error(17)
-         return
-      endif
-      call mpinsp(istk(id3),m3*n3,1,istk(ili),mi,1,1,istk(id2),m2*n2,1
-     $     ,istk(idr),mnr,1,0,istk(ilw),err)
-      if(err.gt.0) then
-         call error(15)
-         return
-      endif
-      volr=istk(idr)
-c     set result coefficients
-
-      lw=sadr(lr+volr)
-      err=lw-lstk(bot)
-      if(err.gt.0) then
-         call error(17)
-         return
-      endif
-c
-      call impins(istk(l3r),istk(id3),m3*n3,1,istk(l2r),istk(id2),
-     $     m2*n2,1,istk(lr),istk(idr),mnr,1)
-
-c     set output variable
-      ilrs=iadr(lstk(top))
-      istk(ilrs)=10
-      if(mmode.eq.1.and.nr.eq.1.and.m3.eq.0) then
-         istk(ilrs+1)=nr
-         istk(ilrs+2)=mr
-      else
-         istk(ilrs+1)=mr
-         istk(ilrs+2)=nr
-      endif
-      istk(ilrs+3)=0
-      call icopy(mnr+1+volr,istk(idr),1,istk(ilrs+4),1)
-      lstk(top+1)=sadr(ilrs+5+mnr+volr)
-      goto 999
-c
- 125  continue
-c     arg4(arg1,arg2)=arg3
-c     get arg4
-      il4=iadr(lstk(top))
-      if(istk(il4).lt.0) il4=iadr(istk(il4+1))
-      if(istk(il4).ne.10) then
-         if(istk(il4).ne.1.or.istk(il4+1).ne.0) then
-            top=top0
-            fin=-fin
-            return
-         endif
-      endif
-      m4=istk(il4+1)
-      n4=istk(il4+2)
-      mn4=m4*n4
-      id4=il4+4
-      l4r=id4+mn4+1
-      top=top-1
-c     get arg3
-      il3=iadr(lstk(top))
-      if(istk(il3).lt.0) il3=iadr(istk(il3+1))
-      if(istk(il3).ne.10) then
-         if(istk(il3).eq.1) then
-            if(istk(il3+1)*istk(il3+2).eq.0) goto 126
-         endif
-         top=top0
-         fin=-fin
-         return
-      endif
- 126  m3=istk(il3+1)
-      n3=istk(il3+2)
-      mn3=m3*n3
-      id3=il3+4
-      l3r=id3+mn3+1
-c     get arg2
-      top=top-1
-      il2=iadr(lstk(top))
-      if(istk(il2).lt.0) il2=iadr(istk(il2+1))
-      m2=istk(il2+1)
-c     get arg1
-      top=top-1
-      il1=iadr(lstk(top))
-      ilrs=il1
-      if(istk(il1).lt.0) il1=iadr(istk(il1+1))
-      m1=istk(il1+1)
-
-      if (m3.eq.0) then
-c     .  arg4(arg1,arg2)=[]
-         if(m1.eq.-1.and.m2.eq.-1) then
-c     .    arg4(:,:)=[] -->[]
-            istk(ilrs)=1
-            istk(ilrs+1)=0
-            istk(ilrs+2)=0
-            istk(ilrs+3)=0
-            lstk(top+1)=sadr(ilrs+4)+1
-            goto 999
-         elseif(m1.eq.0.or.m2.eq.0) then
-c     .     arg4([],arg2)=[],  arg4(arg1,[])=[] --> arg4
-            istk(ilrs)=10
-            istk(ilrs+1)=m4
-            istk(ilrs+2)=n4
-            istk(ilrs+3)=0
-            volr=istk(id4+mn4)-1
-            call icopy(mn4+1+volr,istk(id4),1,istk(ilrs+4),1)
-            lstk(top+1)=sadr(ilrs+5+mn4+volr)
-            goto 999
-         elseif(m2.eq.-1) then
-c     .     arg4(arg1,:)=[] --> arg4(compl(arg1),:)
-            call indxgc(il1,m4,ili,mi,mxi,lw)
-            if(err.gt.0) return
-            call indxg(il2,n4,ilj,nj,mxj,lw,1)
-            if(err.gt.0) return
-            l3r=l4r
-            n3=n4
-            m3=m4
-            mn3=m3*n3
-            id3=id4
-c     .     call extraction
-            goto 133
-         elseif(m1.eq.-1) then
-c     .     arg4(:,arg2)=[] --> arg4(:,compl(arg2))
-            call indxgc(il2,n4,ilj,nj,mxj,lw)
-            if(err.gt.0) return
-            call indxg(il1,m4,ili,mi,mxi,lw,1)
-            if(err.gt.0) return
-            l3r=l4r
-            n3=n4
-            m3=m4
-            mn3=m3*n3
-            id3=id4
-c     .     call extraction
-            goto 133
-         else
-c     .     arg4(arg1,arg2)=[]
-            lw1=lw
-            call indxgc(il2,n4,ilj,nj,mxj,lw)
-            if(err.gt.0) return
-            if(nj.eq.0) then
-c     .        arg4(arg1,1:n4)=[]
-               call indxgc(il1,m4,ili,mi,mxi,lw)
-               lw2=lw
-               if(err.gt.0) return
-c     .        arg2=1:n4
-               if(mi.eq.0) then
-c     .           arg4(1:m4,1:n4)=[]
-                  istk(ilrs)=1
-                  istk(ilrs+1)=0
-                  istk(ilrs+2)=0
-                  istk(ilrs+3)=0
-                  lstk(top+1)=sadr(ilrs+4)+1
-                  goto 999
-               else
-c     .           arg4(arg1,1:n4)=[]
-c     .           replace arg2 by ":"
-                  il2=iadr(lw2)
-                  istk(il2)=1
-                  istk(il2+1)=-1
-                  istk(il2+2)=-1
-                  istk(il2+3)=0
-c     .
-                  lw=lw2+2
-                  call indxg(il2,n4,ilj,nj,mxj,lw,1)
-                  if(err.gt.0) return
-                  l3r=l4r
-                  n3=n4
-                  m3=m4
-                  mn3=m3*n3
-                  id3=id4
-c     .           call extraction
-                  goto 133
-               endif
-            elseif(nj.eq.n4) then
-c     .        arg4(arg1,[])=[] --> arg4
-               istk(ilrs)=10
-               istk(ilrs+1)=m4
-               istk(ilrs+2)=n4
-               istk(ilrs+3)=0
-               volr=istk(id4+mn4)-1
-               call icopy(mn4+1+volr,istk(id4),1,istk(ilrs+4),1)
-               lstk(top+1)=sadr(ilrs+5+mn4+volr)
-               goto 999
-            else
-               call indxgc(il1,m4,ili,mi,mxi,lw)
-               if(err.gt.0) return
-               if(mi.eq.0) then
-c     .           arg4(1:m4,arg2)=[]
-                  call indxg(il1,m4,ili,mi,mxi,lw,1)
-                  if(err.gt.0) return
-                  l3r=l4r
-                  n3=n4
-                  m3=m4
-C     .           given set is larger than 1:m4
-                  mi=min(m4,mi)
-                  mn3=m3*n3
-                  id3=id4
-c     .           call extraction
-                  goto 133
-               elseif(mi.eq.m4) then
-c     .           arg4([],arg2)=[] --> arg4
-                  istk(ilrs)=10
-                  istk(ilrs+1)=m4
-                  istk(ilrs+2)=n4
-                  istk(ilrs+3)=0
-                  volr=istk(id4+mn4)-1
-                  call icopy(mn4+1+volr,istk(id4),1,istk(ilrs+4),1)
-                  lstk(top+1)=sadr(ilrs+5+mn4+volr)
-                  goto 999
-               else
-                  call error(15)
-                  return
-               endif
-            endif
-         endif
-      elseif(m3.lt.0.or.m4.lt.0) then
-c     .  arg3=eye , arg4=eye
-         call error(14)
-         return
-      elseif(m1.eq.-1.and.m2.eq.-1) then
-c     .  arg4(:,:)=arg3
-         if(mn3.ne.mn4) then
-            if(mn3.eq.1) goto 127
-            call error(15)
-            return
-         endif
-c     .  reshape arg3 according to arg4
-         istk(ilrs)=10
-         istk(ilrs+1)=m4
-         istk(ilrs+2)=n4
-         istk(ilrs+3)=0
-         volr=istk(id3+mn3)-1
-         call icopy(mn3+1+volr,istk(id3),1,istk(ilrs+4),1)
-         lstk(top+1)=sadr(ilrs+5+mn3+volr)
-         goto 999
-      endif
-
- 127  continue
-      init4=0
-      if(m1.eq.-1.and.m4.eq.0) then
-c     .  arg4(:,i)=arg3
-         m3=m3*n3
-         n3=1
-         n4=1
-         m4=m3
-         init4=1
-      elseif(m2.eq.-1.and.m4.eq.0) then
-c     .  arg4(i,:)=arg3
-         n3=m3*n3
-         m3=1
-         m4=1
-         n4=n3
-         init4=1
-      endif
-      if(init4.eq.1) then
-         mn4=m4*n4
-         l4r=iadr(lw)
-         id4=l4r
-         lw=sadr(id4+mn4+1)
-         err=lw-lstk(bot)
-         if(err.gt.0) then
-            call error(17)
-            return
-         endif
-         call ivimp(1,mn4+1,1,istk(id4))
-      endif
-      call indxg(il1,m4,ili,mi,mxi,lw,1)
-      if(err.gt.0) return
-      call indxg(il2,n4,ilj,mj,mxj,lw,1)
-      if(err.gt.0) return
-      if(mi.ne.m3.or.mj.ne.n3) then
-         if(m3*n3.eq.1) then
-            if(mi.eq.0.or.mj.eq.0) then
-               istk(ilrs)=10
-               istk(ilrs+1)=m4
-               istk(ilrs+2)=n4
-               istk(ilrs+3)=0
-               volr=istk(id4+mn4)-1
-               call icopy(mn4+volr,istk(id4),1,istk(ilrs+4),1)
-               lstk(top+1)=sadr(ilrs+5+mn4+volr)
-               goto 999
-            endif
-         else
-c     .  sizes of arg1 or arg2 dont agree with arg3 sizes
-            call error(15)
-            return
-         endif
-         if(mi.eq.0.or.mj.eq.0) then
-            call error(15)
-            return
-         endif
-      endif
-      mr=max(m4,mxi)
-      nr=max(n4,mxj)
-c
-      mnr=mr*nr
-c     set result pointers
-      idr=iadr(lw)
-      lr=idr+mr*nr+1
-      ilw=lr
-      lw=sadr(ilw+mr+nr)
-      err=lw-lstk(bot)
-      if(err.gt.0) then
-         call error(17)
-         return
-      endif
-      call mpinsp(istk(id4),m4,n4,istk(ili),mi,istk(ilj),mj,istk(id3)
-     $     ,m3,n3,istk(idr),mr,nr,0,istk(ilw),err)
-      if(err.gt.0) then
-         call error(15)
-         return
-      endif
-      volr=istk(idr)
-c     set result coefficients
-      lw=sadr(lr+volr)
-      err=lw-lstk(bot)
-      if(err.gt.0) then
-         call error(17)
-         return
-      endif
-c
-      call impins(istk(l4r),istk(id4),m4,n4,istk(l3r),istk(id3),m3,n3
-     $     ,istk(lr),istk(idr),mr,nr)
-c     set output variable
-      ilrs=iadr(lstk(top))
-      istk(ilrs)=10
-      istk(ilrs+1)=mr
-      istk(ilrs+2)=nr
-      istk(ilrs+3)=0
-      call icopy(mnr+1+volr,istk(idr),1,istk(ilrs+4),1)
-      lstk(top+1)=sadr(ilrs+5+mnr+volr)
-      goto 999
-c
-c     extraction
-c
- 130  continue
-      if(rhs.lt.2) then
-         call error(227)
-         return
-      endif
-      if(rhs.eq.3) goto 132
-      if(rhs.gt.3) then
-         fin=-fin
-         return
-      endif
-c     arg2(arg1)
-c     get arg2
-      il2=iadr(lstk(top))
-      if(istk(il2).lt.0) il2=iadr(istk(il2+1))
-      m2=istk(il2+1)
-      n2=istk(il2+2)
-      mn2=m2*n2
-      id2=il2+4
-      l2r=id2+mn2+1
-c     get arg1
-      top=top-1
-      il1=iadr(lstk(top))
-      ilrs=il1
-      if(istk(il1).lt.0) il1=iadr(istk(il1+1))
-      m1=istk(il1+1)
-      n1=istk(il1+2)
-
-      if(mn2.eq.0) then
-c     .  arg2=[]
-         ilrs=iadr(lstk(top))
-         istk(ilrs)=1
-         istk(ilrs+1)=0
-         istk(ilrs+2)=0
-         istk(ilrs+3)=0
-         l1=sadr(ilrs+4)
-         lstk(top+1)=l1+1
-         goto 999
-      elseif(m2.lt.0) then
-c     .  arg2=eye
-         call error(14)
-         return
-      elseif(m1.lt.0) then
-c     .  arg2(:), just reshape to column vector
-         ilrs=iadr(lstk(top))
-         istk(ilrs)=10
-         istk(ilrs+1)=mn2
-         istk(ilrs+2)=1
-         istk(ilrs+3)=istk(il2+3)
-         volr=istk(id2+mn2)-1
-         call icopy(mn2+1+volr,istk(id2),1,istk(ilrs+4),1)
-         lstk(top+1)=sadr(ilrs+5+mn2+volr)
-         goto 999
-      endif
-c     check and convert indices variable
-      call indxg(il1,mn2,ili,mi,mx,lw,1)
-      if(err.gt.0) return
-      if(mx.gt.mn2) then
-         call error(21)
-         return
-      endif
- 131  if(mi.eq.0) then
-c     arg2([])
-         ilrs=iadr(lstk(top))
-         istk(ilrs)=1
-         istk(ilrs+1)=0
-         istk(ilrs+2)=0
-         istk(ilrs+3)=0
-         l1=sadr(ilrs+4)
-         lstk(top+1)=l1+1
-         goto 999
-      endif
-c     get memory for the result
-      idr=iadr(lw)
-      lr=idr+mi+1
-      lw=sadr(lr)
-      err=lw-lstk(bot)
-      if(err.gt.0) then
-         call error(17)
-         return
-      endif
-c     set result pointers
-      if (m2 .gt. 1.or.m1.lt.0) then
-         call impext(istk(l2r),istk(id2),m2,n2,istk(ili),mi,1,1,istk(lr)
-     $        ,istk(idr),0,err)
-      else
-         call impext(istk(l2r),istk(id2),m2,n2,1,1,istk(ili),mi,istk(lr)
-     $        ,istk(idr),0,err)
-      endif
-      if(err.gt.0) then
-         call error(21)
-         return
-      endif
-
-c     set result coefficients
-      volr=istk(idr+mi)-1
-      lw=sadr(lr+volr)
-      err=lw-lstk(bot)
-      if(err.gt.0) then
-         call error(17)
-         return
-      endif
-      if (m2.eq.1.and.n2.eq.1.and.m1.gt.0) then
-         call impext(istk(l2r),istk(id2),m2,n2,istk(ili),mi,1,1,istk(lr)
-     $        ,istk(idr),1,err)
-         m = m1
-         n = min(n1,mi)
-      elseif (m2 .gt. 1.or.m1.lt.0) then
-         call impext(istk(l2r),istk(id2),m2,n2,istk(ili),mi,1,1,istk(lr)
-     $        ,istk(idr),1,err)
-         m = mi
-         n = 1
-      else
-         call impext(istk(l2r),istk(id2),m2,n2,1,1,istk(ili),mi,istk(lr)
-     $        ,istk(idr),1,err)
-         n = mi
-         m = 1
-      endif
-
-c     form resulting variable
-      ilrs=iadr(lstk(top))
-      istk(ilrs)=10
-      istk(ilrs+1)=m
-      istk(ilrs+2)=n
-      istk(ilrs+3)=0
-      volr=istk(idr+mi)-1
-      call icopy(mi+1+volr,istk(idr),1,istk(ilrs+4),1)
-      lstk(top+1)=sadr(ilrs+5+m*n+volr)
-      go to 999
- 132  continue
-c     arg3(arg1,arg2)
-c     get arg3
-      il3=iadr(lstk(top))
-      if(istk(il3).lt.0) il3=iadr(istk(il3+1))
-      m3=istk(il3+1)
-      n3=istk(il3+2)
-      mn3=m3*n3
-      id3=il3+4
-      l3r=id3+mn3+1
-c     get arg2
-      top=top-1
-      il2=iadr(lstk(top))
-      if(istk(il2).lt.0) il2=iadr(istk(il2+1))
-      m2=istk(il2+1)
-c     get arg1
-      top=top-1
-      il1=iadr(lstk(top))
-      ilrs=il1
-      if(istk(il1).lt.0) il1=iadr(istk(il1+1))
-      m1=istk(il1+1)
-      l1=sadr(il1+4)
-c
-      if(mn3.eq.0) then
-c     .  arg3=[]
-         ilrs=iadr(lstk(top))
-         istk(ilrs)=1
-         istk(ilrs+1)=0
-         istk(ilrs+2)=0
-         istk(ilrs+3)=0
-         l1=sadr(ilrs+4)
-         lstk(top+1)=l1+1
-         goto 999
-      elseif(m3.lt.0) then
-c     .arg3=eye
-         call error(14)
-         return
-      endif
-c     check and convert indices variables
-      call indxg(il1,m3,ili,mi,mxi,lw,1)
-      if(err.gt.0) return
-      if(mxi.gt.m3) then
-         call error(21)
-         return
-      endif
-      call indxg(il2,n3,ilj,nj,mxj,lw,1)
-      if(err.gt.0) return
-      if(mxj.gt.n3) then
-         call error(21)
-         return
-      endif
-c
-c     perform extraction
- 133  mnr=mi*nj
-      if(mnr.eq.0) then
-c     .  arg1=[] or arg2=[]
-         ilrs=iadr(lstk(top))
-         istk(ilrs)=1
-         istk(ilrs+1)=0
-         istk(ilrs+2)=0
-         istk(ilrs+3)=0
-         lstk(top+1)=sadr(ilrs+4)+1
-         goto 999
-      endif
-      idr=iadr(lw)
-      lr=idr+mnr+1
-      lw=sadr(lr)
-      err=lw-lstk(bot)
-      if(err.gt.0) then
-         call error(17)
-         return
-      endif
-c     set result pointers
-      call impext(istk(l3r),istk(id3),m3,n3,istk(ili),mi,istk(ilj),nj
-     $     ,istk(lr),istk(idr),0,err)
-      if(err.gt.0) then
-         call error(21)
-         return
-      endif
-c     set result coefficients
-      volr=istk(idr+mnr)-1
-      lw=sadr(lr+volr)
-      err=lw-lstk(bot)
-      if(err.gt.0) then
-         call error(17)
-         return
-      endif
-      call impext(istk(l3r),istk(id3),m3,n3,istk(ili),mi,istk(ilj),nj
-     $     ,istk(lr),istk(idr),1,err)
-c
-      ilrs=iadr(lstk(top))
-      istk(ilrs)=10
-      istk(ilrs+1)=mi
-      istk(ilrs+2)=nj
-      istk(ilrs+3)=0
-      call icopy(mnr+1+volr,istk(idr),1,istk(ilrs+4),1)
-      lstk(top+1)=sadr(ilrs+5+mnr+volr)
-      goto 999
-
-c
-c     comparaisons
- 180  continue
-      itrue=1
-      if(op.eq.less+great) itrue=0
-c     comparaison des types
-      if(istk(il1).ne.istk(il2)) then
-         istk(il1)=4
-         istk(il1+1)=1
-         istk(il1+2)=1
-         istk(il1+3)=1-itrue
-         lstk(top+1)=sadr(il1+4)
-         return
-      endif
-
-c     des dimensions
-      if(mn1.eq.1.and.mn2.gt.1) then
-         nn1=istk(il1+5)-1
-         l1r=iadr(lw)
-         err=sadr(l1r+nn1+2)-lstk(bot)
-         if(err.gt.0) then
-            call error(17)
-            return
-         endif
-         call icopy(nn1,istk(il1+6),1,istk(l1r),1)
-         id1=l1r+nn1
-         istk(id1)=1
-         istk(id1+1)=nn1+1
-         inc1=0
-         inc2=1
-         mn1=mn2
-         m1=m2
-         n1=n2
-         istk(il1+1)=m1
-         istk(il1+2)=n1
-      else if(mn2.eq.1.and.mn1.gt.1) then
-         nn2=istk(il2+5)-1
-         l2r=iadr(lw)
-         err=sadr(l2r+nn2+2)-lstk(bot)
-         if(err.gt.0) then
-            call error(17)
-            return
-         endif
-         call icopy(nn2,istk(il2+6),1,istk(l2r),1)
-         id2=l2r+nn2
-         istk(id2)=1
-         istk(id2+1)=nn2+1
-         inc1=1
-         inc2=0
-         mn2=mn1
-         m2=m1
-         n2=n1
-      else if(n1.ne.n2.or.m1.ne.m2) then
-         istk(il1)=4
-         istk(il1+1)=1
-         istk(il1+2)=1
-         istk(il1+3)=1-itrue
-         lstk(top+1)=sadr(il1+4)
-         return
-      else
-         inc1=1
-         inc2=1
-         l1=il1+5+mn1
-         l2=il2+5+mn2
-      endif
-c     des valeurs
-      i1=id1-inc1
-      i2=id2-inc2
-      l1r=l1r-1
-      l2r=l2r-1
-      do 185 i=0,mn1-1
-         i1=i1+inc1
-         i2=i2+inc2
-         if(istk(i1+1)-istk(i1).ne.istk(i2+1)-istk(i2) ) goto 184
-         nl=istk(i1+1)-istk(i1)-1
-         do 182 ii=0,nl
-            if(istk(l1r+istk(i1)+ii).ne.istk(l2r+istk(i2)+ii)) goto 184
- 182     continue
-         istk(il1+3+i)=itrue
-         goto 185
- 184     istk(il1+3+i)=1-itrue
- 185  continue
-      istk(il1)=4
-      istk(il1+1)=m1
-      istk(il1+2)=n1
-      lstk(top+1)=sadr(il1+3+mn1)
-      goto 999
-
-c
-
- 999  return
-      end
index 79463e1..53aa6f1 100644 (file)
@@ -2,48 +2,43 @@
 /*
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) INRIA - Cong WU
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 
 /*--------------------------------------------------------------------------*/
 #include <string.h>
-#include <stdio.h>
-#include "gw_string.h"
-#include "stack-c.h"
 #include "MALLOC.h"
-#include "Scierror.h"
 #include "CreateEmptystr.h"
-#include "localization.h"
 #include "freeArrayOfString.h"
 /*--------------------------------------------------------------------------*/
-char ** CreateEmptystr(int m1,int n1)
+char ** CreateEmptystr(int m1, int n1)
 {
-       int m1n1 = m1*n1;
-       char **OutputStrings = (char**)MALLOC(sizeof(char*)*(m1n1+1)); 
+    int m1n1 = m1 * n1;
+    char **OutputStrings = (char**)MALLOC(sizeof(char*) * (m1n1 + 1));
 
-       if (OutputStrings)
-       {
-               int i = 0;
-               for (i = 0;i < m1n1; i++)  /*m1 is the number of row ; n1 is the number of col*/
-               {
-                       OutputStrings[i] = (char*)MALLOC(sizeof(char)*(strlen(EMPTY_STRING)+1));
-                       if (OutputStrings[i])
-                       {
-                               strcpy(OutputStrings[i],EMPTY_STRING);
-                       }
-                       else
-                       {
-                               freeArrayOfString(OutputStrings,m1n1);
-                               return NULL;
-                       }
-               }
-       }
-       return OutputStrings;
+    if (OutputStrings)
+    {
+        int i = 0;
+        for (i = 0; i < m1n1; i++) /*m1 is the number of row ; n1 is the number of col*/
+        {
+            OutputStrings[i] = (char*)MALLOC(sizeof(char) * (strlen(EMPTY_STRING) + 1));
+            if (OutputStrings[i])
+            {
+                strcpy(OutputStrings[i], EMPTY_STRING);
+            }
+            else
+            {
+                freeArrayOfString(OutputStrings, m1n1);
+                return NULL;
+            }
+        }
+    }
+    return OutputStrings;
 }
 /*--------------------------------------------------------------------------*/
index 39a40ae..a6cea59 100644 (file)
@@ -3,11 +3,11 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) INRIA - Cong WU
  * Copyright (C) INRIA - Allan CORNET
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 /*--------------------------------------------------------------------------*/
 #include <string.h>
 #include <stdio.h>
-#include <ctype.h> 
-#include "gw_string.h"
+#include <ctype.h>
 #include "convstr.h"
 /*--------------------------------------------------------------------------*/
 void convstr(char **Input_Matrix, char **Output_Matrix, char typ, int mn)
 {
-       int x = 0;
-       for (x =0 ; x < mn; x++)
-       {
-               int y = 0;
-               for (y = 0;y < (int)strlen(Input_Matrix[x]);y++)
-               {
-                       /*To traverse every string in the string matrix */
-                       if ( (typ == UPPER) || (typ == UPPER_B) )
-                       {
-                               /*converts the matrix of strings  str-matrix into upper case */
-                               Output_Matrix[x][y] = (char)toupper(Input_Matrix[x][y]);
-                       }
-                       else if ( (typ==LOW) || (typ==LOW_B) )
-                       {
-                               /*converts the matrix of strings  str-matrix  into lower case */
-                               Output_Matrix[x][y] = (char)tolower(Input_Matrix[x][y]);
-                       }
-               }
+    int x = 0;
+    for (x = 0 ; x < mn; x++)
+    {
+        int y = 0;
+        for (y = 0; y < (int)strlen(Input_Matrix[x]); y++)
+        {
+            /*To traverse every string in the string matrix */
+            if ( (typ == UPPER) || (typ == UPPER_B) )
+            {
+                /*converts the matrix of strings  str-matrix into upper case */
+                Output_Matrix[x][y] = (char)toupper(Input_Matrix[x][y]);
+            }
+            else if ( (typ == LOW) || (typ == LOW_B) )
+            {
+                /*converts the matrix of strings  str-matrix  into lower case */
+                Output_Matrix[x][y] = (char)tolower(Input_Matrix[x][y]);
+            }
+        }
         Output_Matrix[x][y] = 0;
-       }
+    }
 }
 /*--------------------------------------------------------------------------*/
diff --git a/scilab/modules/string/src/c/functions_Import.def b/scilab/modules/string/src/c/functions_Import.def
deleted file mode 100644 (file)
index b39dc25..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-LIBRARY    functions.dll
-
-
-EXPORTS
-; --------------------------------------- 
-; functions
-; --------------------------------------- 
-isScilabFunction
-
diff --git a/scilab/modules/string/src/c/isascii.c b/scilab/modules/string/src/c/isascii.c
new file mode 100644 (file)
index 0000000..5858d8e
--- /dev/null
@@ -0,0 +1,76 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA - Allan CORNET
+ * Copyright (C) DIGITEO - Allan CORNET - 2009
+ *
+ * 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 <string.h>
+#include "isascii.h"
+#include "MALLOC.h"
+/*--------------------------------------------------------------------------*/
+BOOL* isasciiStringW(wchar_t* input_string, int* returnedSize)
+{
+    BOOL *returnedValues = NULL;
+    *returnedSize = 0;
+
+    if (input_string)
+    {
+        int i = 0;
+        int length_input_string = (int)wcslen(input_string);
+        *returnedSize = length_input_string;
+
+        if (length_input_string > 0)
+        {
+            returnedValues = (BOOL*)MALLOC(sizeof(BOOL) * length_input_string);
+            if (returnedValues)
+            {
+                for (i = 0; i < length_input_string; i++)
+                {
+                    if ( iswascii(input_string[i]) )
+                    {
+                        returnedValues[i] = TRUE;
+                    }
+                    else
+                    {
+                        returnedValues[i] = FALSE;
+                    }
+                }
+            }
+        }
+    }
+    return returnedValues;
+}
+
+BOOL* isasciiMatrix(double* inputValues, int inputSize)
+{
+    BOOL *returnedValues = NULL;
+    if (inputSize && inputValues != NULL)
+    {
+        int i = 0;
+        returnedValues = (BOOL*)MALLOC(sizeof(BOOL) * inputSize);
+        if (returnedValues)
+        {
+            for (i = 0; i < inputSize; i++)
+            {
+                if ( iswascii(inputValues[i]) )
+                {
+                    returnedValues[i] = TRUE;
+                }
+                else
+                {
+                    returnedValues[i] = FALSE;
+                }
+            }
+        }
+    }
+    return returnedValues;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/scilab/modules/string/src/c/isascii.h b/scilab/modules/string/src/c/isascii.h
new file mode 100644 (file)
index 0000000..a9aa254
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2013 - Scilab Enterprises - Cedric Delamarre
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#ifndef __ISASCII_H__
+#define __ISASCII_H__
+
+#include <wchar.h>
+#include "BOOL.h"
+
+#ifndef _MSC_VER
+#define iswascii(x) isascii(wctob(x))
+#endif
+
+#include "dynlib_string.h"
+
+STRING_IMPEXP BOOL* isasciiStringW(wchar_t* input_string, int* returnedSize);
+STRING_IMPEXP BOOL* isasciiMatrix(double* input_string, int matrixSize);
+
+#endif /* __ISASCII_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/scilab/modules/string/src/c/linpack_f_Import.def b/scilab/modules/string/src/c/linpack_f_Import.def
deleted file mode 100644 (file)
index d056196..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-LIBRARY    linpack_f.dll
-
-
-EXPORTS
-icopy_
index 77d6ba0..a19c1df 100644 (file)
     <PreLinkEvent>
       <Message>Make dependencies</Message>
       <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)string_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)string_f.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)localization_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)scilocalization.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)System_env_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)system_env.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)localization_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)scilocalization.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)system_env_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)system_env.lib" 1&gt;NUL 2&gt;NUL
 </Command>
     </PreLinkEvent>
     <Link>
-      <AdditionalDependencies>core.lib;string_f.lib;scilocalization.lib;system_env.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>core.lib;scilocalization.lib;system_env.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
       <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
       <ModuleDefinitionFile>
@@ -133,14 +132,12 @@ lib /DEF:"$(ProjectDir)System_env_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Plat
     <PreLinkEvent>
       <Message>Make dependencies</Message>
       <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)string_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)string_f.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)localization_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)scilocalization.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)System_env_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)system_env.lib" 1&gt;NUL 2&gt;NUL
-
+lib /DEF:"$(ProjectDir)localization_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)scilocalization.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)system_env_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)system_env.lib" 1&gt;NUL 2&gt;NUL
 </Command>
     </PreLinkEvent>
     <Link>
-      <AdditionalDependencies>core.lib;string_f.lib;scilocalization.lib;system_env.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>core.lib;scilocalization.lib;system_env.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
       <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
       <ModuleDefinitionFile>
@@ -179,13 +176,12 @@ lib /DEF:"$(ProjectDir)System_env_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Plat
     <PreLinkEvent>
       <Message>Make dependencies</Message>
       <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)string_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)string_f.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)localization_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)scilocalization.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)System_env_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)system_env.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)localization_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)scilocalization.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)system_env_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)system_env.lib" 1&gt;NUL 2&gt;NUL
 </Command>
     </PreLinkEvent>
     <Link>
-      <AdditionalDependencies>core.lib;string_f.lib;scilocalization.lib;system_env.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>core.lib;scilocalization.lib;system_env.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
       <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
       <ModuleDefinitionFile>
@@ -230,14 +226,12 @@ lib /DEF:"$(ProjectDir)System_env_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Plat
     <PreLinkEvent>
       <Message>Make dependencies</Message>
       <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)string_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)string_f.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)localization_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)scilocalization.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)System_env_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)system_env.lib" 1&gt;NUL 2&gt;NUL
-
+lib /DEF:"$(ProjectDir)localization_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)scilocalization.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)system_env_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)system_env.lib" 1&gt;NUL 2&gt;NUL
 </Command>
     </PreLinkEvent>
     <Link>
-      <AdditionalDependencies>core.lib;string_f.lib;scilocalization.lib;system_env.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>core.lib;scilocalization.lib;system_env.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
       <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
       <ModuleDefinitionFile>
@@ -262,9 +256,9 @@ lib /DEF:"$(ProjectDir)System_env_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Plat
     <ClCompile Include="cvstr.c" />
     <ClCompile Include="DllMainString.c" />
     <ClCompile Include="getfastcode.c" />
-    <ClCompile Include="..\..\sci_gateway\c\gw_string.c" />
     <ClCompile Include="InitializeString.c" />
     <ClCompile Include="isalphanum.c" />
+    <ClCompile Include="isascii.c" />
     <ClCompile Include="isdigit.c" />
     <ClCompile Include="isletter.c" />
     <ClCompile Include="men_Sutils.c" />
@@ -287,9 +281,7 @@ lib /DEF:"$(ProjectDir)System_env_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Plat
   <ItemGroup>
     <None Include="..\..\locales\string.pot" />
     <None Include="core_import.def" />
-    <None Include="linpack_f_Import.def" />
     <None Include="localization_Import.def" />
-    <None Include="string_f_Import.def" />
     <None Include="System_env_Import.def" />
     <None Include="..\..\Makefile.am" />
     <None Include="..\..\string.iss" />
@@ -329,7 +321,6 @@ lib /DEF:"$(ProjectDir)System_env_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Plat
     <ClInclude Include="..\..\includes\dynlib_string.h" />
     <ClInclude Include="..\..\includes\dynlib_string_gw.h" />
     <ClInclude Include="..\..\includes\getfastcode.h" />
-    <ClInclude Include="..\..\includes\gw_string.h" />
     <ClInclude Include="..\..\includes\InitializeString.h" />
     <ClInclude Include="..\..\includes\men_Sutils.h" />
     <ClInclude Include="..\..\includes\os_strdup.h" />
@@ -351,6 +342,7 @@ lib /DEF:"$(ProjectDir)System_env_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Plat
     <ClInclude Include="convstr.h" />
     <ClInclude Include="CreateEmptystr.h" />
     <ClInclude Include="isalphanum.h" />
+    <ClInclude Include="isascii.h" />
     <ClInclude Include="isdigit.h" />
     <ClInclude Include="isletter.h" />
     <ClInclude Include="partfunction.h" />
@@ -366,4 +358,4 @@ lib /DEF:"$(ProjectDir)System_env_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Plat
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 0f3001d..f0d6a89 100644 (file)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup>
     <Filter Include="Source Files">
@@ -35,9 +35,6 @@
     <ClCompile Include="getfastcode.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\sci_gateway\c\gw_string.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="InitializeString.c">
       <Filter>Source Files</Filter>
     </ClCompile>
@@ -98,6 +95,9 @@
     <ClCompile Include="stristr.c">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="isascii.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <None Include="core_import.def">
     <None Include="localization_Import.def">
       <Filter>Libraries Dependencies\Imports</Filter>
     </None>
-    <None Include="string_f_Import.def">
-      <Filter>Libraries Dependencies\Imports</Filter>
-    </None>
     <None Include="..\..\Makefile.am" />
     <None Include="..\..\string.iss" />
     <None Include="..\..\sci_gateway\string_gateway.xml" />
-    <None Include="linpack_f_Import.def">
-      <Filter>Libraries Dependencies\Imports</Filter>
-    </None>
     <None Include="..\..\locales\string.pot">
       <Filter>localization</Filter>
     </None>
     <None Include="System_env_Import.def">
-      <Filter>Source Files</Filter>
+      <Filter>Libraries Dependencies\Imports</Filter>
     </None>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\includes\getfastcode.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\includes\gw_string.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\includes\InitializeString.h">
       <Filter>Header Files</Filter>
     </ClInclude>
     <ClInclude Include="..\..\includes\stristr.h">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="isascii.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <Library Include="..\..\..\..\bin\blasplus.lib" />
     <Library Include="..\..\..\..\bin\lapack.lib" />
   </ItemGroup>
-</Project>
+</Project>
\ No newline at end of file
diff --git a/scilab/modules/string/src/c/string_f_Import.def b/scilab/modules/string/src/c/string_f_Import.def
deleted file mode 100644 (file)
index 0f0e003..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-LIBRARY    string_f.dll
-
-
-EXPORTS
-; --------------------------------------- 
-; string_f
-; --------------------------------------- 
-intstring_
-
diff --git a/scilab/modules/string/src/fortran/Core_f_Import.def b/scilab/modules/string/src/fortran/Core_f_Import.def
deleted file mode 100644 (file)
index bdfa3d1..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-       LIBRARY    core_f.dll
-
-
-EXPORTS
-;
-;core_f
-;
-funnam_
-ref2val_
-isany_
-indxgc_
-indxg_
-cvdm_
-cvwm_
-;
-
-
diff --git a/scilab/modules/string/src/fortran/core_Import.def b/scilab/modules/string/src/fortran/core_Import.def
deleted file mode 100644 (file)
index 5bf28f9..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-       LIBRARY    core.dll
-
-
-EXPORTS
-;
-;core
-;
-errgst_
-iop_
-adre_
-recu_
-intersci_
-stack_
-vstk_
-com_
-cha1_
-mtlbc_
-cremat_
-namstr_
diff --git a/scilab/modules/string/src/fortran/elementary_functions_Import.def b/scilab/modules/string/src/fortran/elementary_functions_Import.def
deleted file mode 100644 (file)
index 03c39e9..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-LIBRARY    elementary_functions.dll
-
-
-EXPORTS
-unsfdcopy_
\ No newline at end of file
diff --git a/scilab/modules/string/src/fortran/elementary_functions_f_Import.def b/scilab/modules/string/src/fortran/elementary_functions_f_Import.def
deleted file mode 100644 (file)
index 9266a2f..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-LIBRARY    elementary_functions_f.dll
-
-
-EXPORTS
-ivimp_
\ No newline at end of file
diff --git a/scilab/modules/string/src/fortran/linpack_f_Import.def b/scilab/modules/string/src/fortran/linpack_f_Import.def
deleted file mode 100644 (file)
index 12ee077..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-LIBRARY   linpack_f.dll
-
-
-EXPORTS
-icopy_
\ No newline at end of file
diff --git a/scilab/modules/string/src/fortran/output_stream_Import.def b/scilab/modules/string/src/fortran/output_stream_Import.def
deleted file mode 100644 (file)
index 94f56b4..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-LIBRARY    output_stream.dll
-
-
-EXPORTS
-error_
\ No newline at end of file
diff --git a/scilab/modules/string/src/fortran/polynomials_f_Import.def b/scilab/modules/string/src/fortran/polynomials_f_Import.def
deleted file mode 100644 (file)
index 11c03b7..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-LIBRARY   polynomials_f.dll
-
-
-EXPORTS
-impcnc_
-impext_
-impins_
-imptra_
-mpinsp_
diff --git a/scilab/modules/string/src/fortran/string_Import.def b/scilab/modules/string/src/fortran/string_Import.def
deleted file mode 100644 (file)
index bd09a23..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-LIBRARY    string.dll
-
-
-EXPORTS
-cvstr_
\ No newline at end of file
diff --git a/scilab/modules/string/src/fortran/string_f.rc b/scilab/modules/string/src/fortran/string_f.rc
deleted file mode 100644 (file)
index 893c4c9..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-//#include "afxres.h"
-#define APSTUDIO_HIDDEN_SYMBOLS
-#include "windows.h"
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// French (France) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
-#ifdef _WIN32
-LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE 
-BEGIN
-    "resource.h\0"
-END
-
-3 TEXTINCLUDE 
-BEGIN
-    "\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 6,0,0,0
- PRODUCTVERSION 6,0,0,0
- FILEFLAGSMASK 0x17L
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040c04b0"
-        BEGIN
-            VALUE "FileDescription", "string_f module"
-            VALUE "FileVersion", "6, 0, 0, 0"
-            VALUE "InternalName", "string_f module"
-            VALUE "LegalCopyright", "Copyright (C) 2013"
-            VALUE "OriginalFilename", "string_f.dll"
-            VALUE "ProductName", "string_f module"
-            VALUE "ProductVersion", "6, 0, 0, 0"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x40c, 1200
-    END
-END
-
-#endif    // French (France) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
diff --git a/scilab/modules/string/src/fortran/string_f.vfproj b/scilab/modules/string/src/fortran/string_f.vfproj
deleted file mode 100644 (file)
index 4ff736c..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<VisualStudioProject ProjectType="typeDynamicLibrary" ProjectCreator="Intel Fortran" Keyword="Dll" Version="11.0" ProjectIdGuid="{FAF6A7EB-8A36-4278-B34E-34EA89E55304}">
-       <Platforms>
-               <Platform Name="Win32"/>
-               <Platform Name="x64"/></Platforms>
-       <Configurations>
-               <Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
-                               <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="WIN32;FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDebugDLL"/>
-                               <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="string_f.def" GenerateDebugInformation="true" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="core.lib string.lib elementary_functions.lib elementary_functions_f.lib output_stream.lib polynomials_f.lib linpack_f.lib core_f.lib"/>
-                               <Tool Name="VFResourceCompilerTool"/>
-                               <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
-                               <Tool Name="VFCustomBuildTool"/>
-                               <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion
-cd $(ConfigurationName)
-set LIST_OBJ=
-for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
-&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
-copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
-del *.def &gt;nul
-cd .." Description="Build $(ProjectName).def"/>
-                               <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(InputDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)core.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)string_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)string.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)polynomials_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)polynomials_f.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)core_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)core_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
-                               <Tool Name="VFPostBuildEventTool"/>
-                               <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
-               <Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
-                               <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="WIN32;FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDLL"/>
-                               <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="string_f.def" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="core.lib string.lib elementary_functions.lib elementary_functions_f.lib output_stream.lib polynomials_f.lib linpack_f.lib core_f.lib"/>
-                               <Tool Name="VFResourceCompilerTool"/>
-                               <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
-                               <Tool Name="VFCustomBuildTool"/>
-                               <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion
-cd $(ConfigurationName)
-set LIST_OBJ=
-for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
-&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
-copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
-del *.def &gt;nul
-cd .." Description="Build $(ProjectName).def"/>
-                               <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(InputDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)core.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)string_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)string.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)polynomials_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)polynomials_f.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)core_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)core_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
-                               <Tool Name="VFPostBuildEventTool"/>
-                               <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
-               <Configuration Name="Debug|x64" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
-                               <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="WIN32;FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDebugDLL"/>
-                               <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="string_f.def" GenerateDebugInformation="true" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="core.lib string.lib elementary_functions.lib elementary_functions_f.lib output_stream.lib polynomials_f.lib linpack_f.lib core_f.lib"/>
-                               <Tool Name="VFResourceCompilerTool"/>
-                               <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
-                               <Tool Name="VFCustomBuildTool"/>
-                               <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion
-cd $(ConfigurationName)
-set LIST_OBJ=
-for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
-&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
-copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
-del *.def &gt;nul
-cd .." Description="Build $(ProjectName).def"/>
-                               <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(InputDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)core.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)string_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)string.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)polynomials_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)polynomials_f.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)core_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)core_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
-                               <Tool Name="VFPostBuildEventTool"/>
-                               <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
-               <Configuration Name="Release|x64" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
-                               <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="WIN32;FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDLL"/>
-                               <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="string_f.def" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="core.lib string.lib elementary_functions.lib elementary_functions_f.lib output_stream.lib polynomials_f.lib linpack_f.lib core_f.lib"/>
-                               <Tool Name="VFResourceCompilerTool"/>
-                               <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
-                               <Tool Name="VFCustomBuildTool"/>
-                               <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion
-cd $(ConfigurationName)
-set LIST_OBJ=
-for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
-&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
-copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
-del *.def &gt;nul
-cd .." Description="Build $(ProjectName).def"/>
-                               <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(InputDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)core.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)string_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)string.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)polynomials_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)polynomials_f.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL
-lib /DEF:&quot;$(InputDir)core_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)core_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
-                               <Tool Name="VFPostBuildEventTool"/>
-                               <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration></Configurations>
-       <Files>
-               <Filter Name="Header Files" Filter="fi;fd"/>
-               <Filter Name="Libraries Dependencies">
-               <File RelativePath=".\Core_f_Import.def"/>
-               <File RelativePath=".\core_import.def"/>
-               <File RelativePath=".\elementary_functions_f_Import.def"/>
-               <File RelativePath=".\elementary_functions_Import.def"/>
-               <File RelativePath=".\linpack_f_Import.def"/>
-               <File RelativePath=".\output_stream_Import.def"/>
-               <File RelativePath=".\polynomials_f_Import.def"/>
-               <File RelativePath=".\string_Import.def"/></Filter>
-               <Filter Name="Resource Files" Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
-               <File RelativePath=".\string_f.rc"/></Filter>
-               <Filter Name="Source Files" Filter="f90;for;f;fpp;ftn;def;odl;idl">
-               <File RelativePath="..\..\sci_gateway\fortran\sci_f_string.f"/>
-               <File RelativePath="..\..\sci_gateway\fortran\strops.f"/></Filter>
-               <File RelativePath="..\..\Makefile.am"/>
-               <File RelativePath="..\..\sci_gateway\string_gateway.xml"/></Files>
-       <Globals/></VisualStudioProject>
diff --git a/scilab/modules/string/src/fortran/string_f2c.vcxproj b/scilab/modules/string/src/fortran/string_f2c.vcxproj
deleted file mode 100644 (file)
index 72615d7..0000000
+++ /dev/null
@@ -1,296 +0,0 @@
-<?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">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectName>string_f</ProjectName>
-    <ProjectGuid>{FAF6A7EB-8A36-4278-B34E-34EA89E55304}</ProjectGuid>
-    <RootNamespace>string_f2c</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-    <Import Project="..\..\..\..\Visual-Studio-settings\f2c.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <PreBuildEvent>
-      <Message>Build Dependencies</Message>
-      <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)string_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)string.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)elementary_functions_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)output_stream_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)output_stream.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)polynomials_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)polynomials_f.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
-    </PreBuildEvent>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;STRING_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-    </ClCompile>
-    <PreLinkEvent>
-      <Message>Build $(ProjectName).def</Message>
-      <Command>setlocal EnableDelayedExpansion
-cd $(ConfigurationName)
-set LIST_OBJ=
-for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
-"$(SolutionDir)bin\dumpexts" -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
-copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
-del *.def &gt;nul
-cd ..
-</Command>
-    </PreLinkEvent>
-    <Link>
-      <AdditionalDependencies>core.lib;string.lib;elementary_functions.lib;elementary_functions_f.lib;output_stream.lib;polynomials_f.lib;linpack_f.lib;core_f.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
-      <ModuleDefinitionFile>string_f.def</ModuleDefinitionFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
-      <TargetMachine>MachineX86</TargetMachine>
-      <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <PreBuildEvent>
-      <Message>Build Dependencies</Message>
-      <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)string_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)string.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)elementary_functions_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)output_stream_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)output_stream.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)polynomials_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)polynomials_f.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
-    </PreBuildEvent>
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;STRING_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-    </ClCompile>
-    <PreLinkEvent>
-      <Message>Build $(ProjectName).def</Message>
-      <Command>setlocal EnableDelayedExpansion
-cd $(ConfigurationName)
-set LIST_OBJ=
-for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
-"$(SolutionDir)bin\dumpexts" -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
-copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
-del *.def &gt;nul
-cd ..
-</Command>
-    </PreLinkEvent>
-    <Link>
-      <AdditionalDependencies>core.lib;string.lib;elementary_functions.lib;elementary_functions_f.lib;output_stream.lib;polynomials_f.lib;linpack_f.lib;core_f.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
-      <ModuleDefinitionFile>string_f.def</ModuleDefinitionFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
-      <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <PreBuildEvent>
-      <Message>Build Dependencies</Message>
-      <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)string_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)string.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)elementary_functions_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)output_stream_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)output_stream.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)polynomials_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)polynomials_f.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
-    </PreBuildEvent>
-    <ClCompile>
-      <WholeProgramOptimization>false</WholeProgramOptimization>
-      <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;STRING_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-      <MultiProcessorCompilation>true</MultiProcessorCompilation>
-    </ClCompile>
-    <PreLinkEvent>
-      <Message>Build $(ProjectName).def</Message>
-      <Command>setlocal EnableDelayedExpansion
-cd $(ConfigurationName)
-set LIST_OBJ=
-for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
-"$(SolutionDir)bin\dumpexts" -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
-copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
-del *.def &gt;nul
-cd ..
-</Command>
-    </PreLinkEvent>
-    <Link>
-      <AdditionalDependencies>core.lib;string.lib;elementary_functions.lib;elementary_functions_f.lib;output_stream.lib;polynomials_f.lib;linpack_f.lib;core_f.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
-      <ModuleDefinitionFile>string_f.def</ModuleDefinitionFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
-      <TargetMachine>MachineX86</TargetMachine>
-      <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <PreBuildEvent>
-      <Message>Build Dependencies</Message>
-      <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)string_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)string.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)elementary_functions_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)output_stream_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)output_stream.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)polynomials_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)polynomials_f.lib" 1&gt;NUL 2&gt;NUL
-lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
-    </PreBuildEvent>
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-    </Midl>
-    <ClCompile>
-      <WholeProgramOptimization>false</WholeProgramOptimization>
-      <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;STRING_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-      <MultiProcessorCompilation>true</MultiProcessorCompilation>
-    </ClCompile>
-    <PreLinkEvent>
-      <Message>Build $(ProjectName).def</Message>
-      <Command>setlocal EnableDelayedExpansion
-cd $(ConfigurationName)
-set LIST_OBJ=
-for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
-"$(SolutionDir)bin\dumpexts" -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
-copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
-del *.def &gt;nul
-cd ..
-</Command>
-    </PreLinkEvent>
-    <Link>
-      <AdditionalDependencies>core.lib;string.lib;elementary_functions.lib;elementary_functions_f.lib;output_stream.lib;polynomials_f.lib;linpack_f.lib;core_f.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
-      <ModuleDefinitionFile>string_f.def</ModuleDefinitionFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
-      <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\sci_gateway\fortran\sci_f_string.c" />
-    <ClCompile Include="..\..\sci_gateway\fortran\strops.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_string.f" />
-    <f2c_rule Include="..\..\sci_gateway\fortran\strops.f" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\Makefile.am" />
-    <None Include="..\..\sci_gateway\string_gateway.xml" />
-    <None Include="Core_f_Import.def" />
-    <None Include="elementary_functions_f_Import.def" />
-    <None Include="elementary_functions_Import.def" />
-    <None Include="core_import.def" />
-    <None Include="linpack_f_Import.def" />
-    <None Include="output_stream_Import.def" />
-    <None Include="polynomials_f_Import.def" />
-    <None Include="string_Import.def" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\..\..\tools\Dumpexts\Dumpexts.vcxproj">
-      <Project>{3170e4c2-1173-4264-a222-7ee8ccb3ddf7}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-    <Import Project="..\..\..\..\Visual-Studio-settings\f2c.targets" />
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/scilab/modules/string/src/fortran/string_f2c.vcxproj.filters b/scilab/modules/string/src/fortran/string_f2c.vcxproj.filters
deleted file mode 100644 (file)
index 93f637f..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
-      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
-    </Filter>
-    <Filter Include="Header Files">
-      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
-    </Filter>
-    <Filter Include="Resource Files">
-      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
-      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
-    </Filter>
-    <Filter Include="Fortran files">
-      <UniqueIdentifier>{c7582236-a0f9-4bad-acbd-2e406f96cf1f}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Libraries Dependencies">
-      <UniqueIdentifier>{831ff52b-294b-4941-9c77-84d983d323d3}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\sci_gateway\fortran\strops.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\sci_gateway\fortran\sci_f_string.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <f2c_rule Include="..\..\sci_gateway\fortran\strops.f">
-      <Filter>Fortran files</Filter>
-    </f2c_rule>
-    <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_string.f">
-      <Filter>Fortran files</Filter>
-    </f2c_rule>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\Makefile.am" />
-    <None Include="..\..\sci_gateway\string_gateway.xml" />
-    <None Include="elementary_functions_Import.def">
-      <Filter>Libraries Dependencies</Filter>
-    </None>
-    <None Include="core_import.def">
-      <Filter>Libraries Dependencies</Filter>
-    </None>
-    <None Include="output_stream_Import.def">
-      <Filter>Libraries Dependencies</Filter>
-    </None>
-    <None Include="string_Import.def">
-      <Filter>Libraries Dependencies</Filter>
-    </None>
-    <None Include="elementary_functions_f_Import.def">
-      <Filter>Libraries Dependencies</Filter>
-    </None>
-    <None Include="linpack_f_Import.def">
-      <Filter>Libraries Dependencies</Filter>
-    </None>
-    <None Include="polynomials_f_Import.def">
-      <Filter>Libraries Dependencies</Filter>
-    </None>
-    <None Include="Core_f_Import.def">
-      <Filter>Libraries Dependencies</Filter>
-    </None>
-  </ItemGroup>
-</Project>
\ No newline at end of file