add md5 of sci file in lib file to check modification in genlib process 58/16858/3
Antoine ELIAS [Fri, 17 Jul 2015 17:27:48 +0000 (19:27 +0200)]
Change-Id: I2409d85e2419205b859a93c4e5eaf232ff055c59

17 files changed:
scilab/Makefile.am
scilab/Makefile.in
scilab/modules/core/includes/md5.h [moved from scilab/modules/core/src/c/md5.h with 89% similarity]
scilab/modules/core/src/c/core.vcxproj
scilab/modules/core/src/c/core.vcxproj.filters
scilab/modules/development_tools/macros/testexamples.sce [moved from scilab/modules/development_tools/macros/testexamples.sci with 100% similarity]
scilab/modules/functions/scripts/buildmacros/cleanmacros.bat
scilab/modules/functions/scripts/buildmacros/cleanmacros.sce
scilab/modules/io/includes/loadlib.hxx
scilab/modules/io/sci_gateway/cpp/sci_genlib.cpp
scilab/modules/io/src/cpp/loadlib.cpp
scilab/modules/overloading/macros/%hm_i_r.sci [deleted file]
scilab/modules/overloading/macros/%p_o_sp.sci [deleted file]
scilab/modules/overloading/macros/%r_i_hm.sci [deleted file]
scilab/modules/overloading/macros/%st_o_tl.sci [deleted file]
scilab/modules/scicos_blocks/macros/PDE/assemblage_FE1D.sce [moved from scilab/modules/scicos_blocks/macros/PDE/assemblage_FE1D.sci with 100% similarity]
scilab/modules/scicos_blocks/macros/PDE/setvalue_IHM_PDE.sci [moved from scilab/modules/scicos_blocks/macros/PDE/setvalue_IHM-PDE.sci with 99% similarity]

index fa01cf3..3dac92f 100644 (file)
@@ -353,8 +353,6 @@ clean-macros:
 # Find is necessary because of subdirs...
        -@echo "-- Cleaning macros (*.bin) --"; \
        find $(top_builddir) -name "*.bin" | xargs --no-run-if-empty rm 2> /dev/null; \
-       echo "-- Cleaning names files (names) --"; \
-       find $(top_builddir)/modules/*/macros -name "names" | xargs --no-run-if-empty rm 2> /dev/null; \
        echo "-- Cleaning lib files (lib) --"; \
        find $(top_builddir)/modules/*/macros -name "lib" | xargs --no-run-if-empty rm 2> /dev/null
 
index 9a3dc2e..c047fb3 100644 (file)
@@ -2254,8 +2254,6 @@ clean-macros:
 # Find is necessary because of subdirs...
        -@echo "-- Cleaning macros (*.bin) --"; \
        find $(top_builddir) -name "*.bin" | xargs --no-run-if-empty rm 2> /dev/null; \
-       echo "-- Cleaning names files (names) --"; \
-       find $(top_builddir)/modules/*/macros -name "names" | xargs --no-run-if-empty rm 2> /dev/null; \
        echo "-- Cleaning lib files (lib) --"; \
        find $(top_builddir)/modules/*/macros -name "lib" | xargs --no-run-if-empty rm 2> /dev/null
 
similarity index 89%
rename from scilab/modules/core/src/c/md5.h
rename to scilab/modules/core/includes/md5.h
index 786ad4d..f92851a 100644 (file)
@@ -76,18 +76,18 @@ extern "C"
 {
 #endif
 
-    /* Initialize the algorithm. */
-    void md5_init(md5_state_t *pms);
+/* Initialize the algorithm. */
+void md5_init(md5_state_t *pms);
 
-    /* Append a string to the message. */
-    void md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes);
+/* Append a string to the message. */
+void md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes);
 
-    /* Finish the message and return the digest. */
-    void md5_finish(md5_state_t *pms, md5_byte_t digest[16]);
+/* Finish the message and return the digest. */
+void md5_finish(md5_state_t *pms, md5_byte_t digest[16]);
 
-    char *md5_file(FILE *fp);
+char *md5_file(FILE *fp);
 
-    char *md5_str(char *p);
+char *md5_str(char *p);
 
 #ifdef __cplusplus
 }  /* end extern "C" */
index d7bc617..4551c7d 100644 (file)
@@ -342,6 +342,7 @@ cd ..
     <ClInclude Include="..\..\includes\islittleendian.h" />
     <ClInclude Include="..\..\includes\loadversion.h" />
     <ClInclude Include="..\..\includes\machine.h" />
+    <ClInclude Include="..\..\includes\md5.h" />
     <ClInclude Include="..\..\includes\sci_malloc.h" />
     <ClInclude Include="..\..\includes\PARAMS.h" />
     <ClInclude Include="..\..\includes\PATH_MAX.h" />
@@ -380,7 +381,6 @@ cd ..
     <ClInclude Include="getstaticdebuginfo.h" />
     <ClInclude Include="getstaticDebugInfo_Windows.h" />
     <ClInclude Include="gw_dynamic_generic.h" />
-    <ClInclude Include="md5.h" />
     <ClInclude Include="saveCWDInPreferences.h" />
   </ItemGroup>
   <ItemGroup>
index 9e609ac..dd652da 100644 (file)
     <ClInclude Include="gw_dynamic_generic.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="md5.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
     <ClInclude Include="..\cpp\partition.hxx">
       <Filter>Header Files</Filter>
     </ClInclude>
     <ClInclude Include="..\..\includes\InitializePreferences.h">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\includes\md5.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\..\core.iss" />
index a65e8f2..71fe1e0 100644 (file)
@@ -11,4 +11,4 @@ rem http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
   @rem Allan CORNET INRIA 2006
   @cd ..\..\..\
   @del lib /s 2>NUL
-  @del *.moc /s 2>NUL
+  @del *.bin /s 2>NUL
index 9f2be75..3320b12 100644 (file)
@@ -14,10 +14,15 @@ CurrentDirectory=pwd();
 
 chdir ("SCI/modules");
 if getos() == "Windows" then
+    dos("del *.bin /s 2>NUL","-echo");
     dos("del lib /s 2>NUL","-echo");
+    dos("del names /s 2>NUL","-echo");
     dos("del *.moc /s 2>NUL","-echo");
 else
+    unix("rm -Rf *.bin");
     unix("rm -Rf lib");
+    unix("rm -Rf names");
+    unix("rm -Rf *.moc");
 end
 
 chdir (CurrentDirectory);
index 45f28c6..db8a86d 100644 (file)
 #include "dynlib_io.h"
 #include "library.hxx"
 
-IO_IMPEXP types::Library* loadlib(const std::wstring& _wstXML, int* ierr, bool _isFile = true, bool _bAddInContext = true);
+struct MacroInfo
+{
+    MacroInfo() {} //needed by unordered_map
+    MacroInfo(const std::wstring& _name, const std::wstring& _file, const std::wstring& _md5) :
+        name(_name),
+        file(_file),
+        md5(_md5) {}
+    std::wstring name;
+    std::wstring file;
+    std::wstring md5;
+};
 
+typedef std::unordered_map<std::wstring, MacroInfo> MacroInfoList;
+IO_IMPEXP types::Library* loadlib(const std::wstring& _wstXML, int* ierr, bool _isFile = true, bool _bAddInContext = true);
+IO_IMPEXP int parseLibFile(const std::wstring& _wstXML, MacroInfoList& info, std::wstring& libname);
 #endif /* !__LOADLIB_H__ */
\ No newline at end of file
index 639611c..2cf522f 100644 (file)
@@ -37,6 +37,7 @@
 #include "library.hxx"
 #include "macrofile.hxx"
 #include "serializervisitor.hxx"
+#include "loadlib.hxx"
 
 extern "C"
 {
@@ -54,13 +55,13 @@ extern "C"
 #include "freeArrayOfString.h"
 #include "Scierror.h"
 #include "scicurdir.h"
-
+#include "md5.h"
 }
 
 
 xmlTextWriterPtr openXMLFile(const wchar_t *_pstFilename, const wchar_t* _pstLibName);
 void closeXMLFile(xmlTextWriterPtr _pWriter);
-bool AddMacroToXML(xmlTextWriterPtr _pWriter, pair<wstring, wstring> _pair);
+bool AddMacroToXML(xmlTextWriterPtr _pWriter, const wstring& name, const wstring& file, const wstring& md5);
 
 
 using namespace types;
@@ -156,8 +157,12 @@ Function::ReturnValue sci_genlib(types::typed_list &in, int _iRetCount, types::t
         ConfigVariable::setPromptMode(oldVal);
     }
 
+    MacroInfoList lstOld;
     if (FileExistW(pstParseFile))
     {
+        //read it to get previous information like md5
+        std::wstring libname;
+        parseLibFile(pstParseFile, lstOld, libname);
         deleteafileW(pstParseFile);
     }
 
@@ -189,6 +194,30 @@ Function::ReturnValue sci_genlib(types::typed_list &in, int _iRetCount, types::t
             wstring pstPathBin(pstPath[k]);
             pstPathBin.replace(pstPathBin.end() - 3, pstPathBin.end(), L"bin");
 
+            //compute file md5
+            FILE* fmdf5 = os_wfopen(stFullPath.data(), L"rb");
+            char* md5 = md5_file(fmdf5);
+            fclose(fmdf5);
+
+            wchar_t* wmd5 = to_wide_string(md5);
+            FREE(md5);
+            std::wstring wide_md5(wmd5);
+            FREE(wmd5);
+
+            //check if is exist in old file
+
+            MacroInfoList::iterator it = lstOld.find(pstPathBin);
+            if (it != lstOld.end())
+            {
+                if (wide_md5 == (*it).second.md5)
+                {
+                    //file not change, we can skip it
+                    AddMacroToXML(pWriter, (*it).second.name, pstPathBin, wide_md5);
+                    pLib->add((*it).second.name, new types::MacroFile((*it).second.name, stFullPathBin, pstLibName));
+                    continue;
+                }
+            }
+
             if (bVerbose)
             {
                 sciprint(_("%ls: Processing file: %ls\n"), L"genlib", pstPath[k]);
@@ -223,7 +252,7 @@ Function::ReturnValue sci_genlib(types::typed_list &in, int _iRetCount, types::t
                     const wstring& name = pFD->getSymbol().getName();
                     if (name + L".sci" == pstPath[k])
                     {
-                        if (AddMacroToXML(pWriter, pair<wstring, wstring>(name, pstPathBin)) == false)
+                        if (AddMacroToXML(pWriter, name, pstPathBin, wide_md5) == false)
                         {
                             os_swprintf(pstVerbose, 65535, _W("%ls: Warning: %ls information cannot be added to file %ls. File ignored\n").c_str(), L"genlib", pFD->getSymbol().getName().c_str(), pstPath[k]);
                             scilabWriteW(pstVerbose);
@@ -328,7 +357,7 @@ xmlTextWriterPtr openXMLFile(const wchar_t *_pstFilename, const wchar_t* _pstLib
     return pWriter;
 }
 
-bool AddMacroToXML(xmlTextWriterPtr _pWriter, pair<wstring, wstring> _pair)
+bool AddMacroToXML(xmlTextWriterPtr _pWriter, const wstring& name, const wstring& file, const wstring& md5)
 {
     int iLen;
 
@@ -345,22 +374,31 @@ bool AddMacroToXML(xmlTextWriterPtr _pWriter, pair<wstring, wstring> _pair)
     }
 
     //Add attribute "name"
-    char* pstFirst = wide_string_to_UTF8(_pair.first.c_str());
-    iLen = xmlTextWriterWriteAttribute(_pWriter, (xmlChar*)"name", (xmlChar*)pstFirst);
+    char* pst1 = wide_string_to_UTF8(name.data());
+    iLen = xmlTextWriterWriteAttribute(_pWriter, (xmlChar*)"name", (xmlChar*)pst1);
     if (iLen < 0)
     {
         return false;
     }
-    FREE(pstFirst);
+    FREE(pst1);
 
     //Add attribute "file"
-    char* pstSecond = wide_string_to_UTF8(_pair.second.c_str());
-    iLen = xmlTextWriterWriteAttribute(_pWriter, (xmlChar*)"file", (xmlChar*)pstSecond);
+    char* pst2 = wide_string_to_UTF8(file.data());
+    iLen = xmlTextWriterWriteAttribute(_pWriter, (xmlChar*)"file", (xmlChar*)pst2);
     if (iLen < 0)
     {
         return false;
     }
-    FREE(pstSecond);
+    FREE(pst2);
+
+    //Add attribute "md5"
+    char* pst3 = wide_string_to_UTF8(md5.data());
+    iLen = xmlTextWriterWriteAttribute(_pWriter, (xmlChar*)"md5", (xmlChar*)pst3);
+    if (iLen < 0)
+    {
+        return false;
+    }
+    FREE(pst3);
 
     //close "macro" node
     iLen = xmlTextWriterEndElement(_pWriter);
@@ -368,5 +406,6 @@ bool AddMacroToXML(xmlTextWriterPtr _pWriter, pair<wstring, wstring> _pair)
     {
         return false;
     }
+
     return true;
 }
index 5aa73ee..9a9b992 100644 (file)
@@ -43,6 +43,7 @@ types::Library* loadlib(const std::wstring& _wstXML, int* err, bool _isFile, boo
 
     if (_isFile)
     {
+        //remove / or \ at the end
         size_t pos = wstPath.find_last_of(L"/\\");
         wstPath = wstPath.substr(0, pos);
         pos = wstOriginalPath.find_last_of(L"/\\");
@@ -58,13 +59,59 @@ types::Library* loadlib(const std::wstring& _wstXML, int* err, bool _isFile, boo
         wstFile += L"lib";
     }
 
-    char* pstFile = wide_string_to_UTF8(wstFile.c_str());
+
+    std::wstring libname;
+    MacroInfoList lst;
+    *err = parseLibFile(wstFile, lst, libname);
+    if (*err)
+    {
+        return lib;
+    }
+
+    lib = new types::Library(wstOriginalPath);
+
+    std::wstring stFilename(wstPath);
+    if (stFilename.empty() == false && *stFilename.rbegin() != DIR_SEPARATORW[0])
+    {
+        stFilename += DIR_SEPARATORW;
+    }
+
+
+    for (const auto& macro : lst)
+    {
+        lib->add(macro.second.name, new types::MacroFile(macro.second.name, stFilename + macro.second.file, libname));
+    }
+
+
+    if (_bAddInContext)
+    {
+        symbol::Context* ctx = symbol::Context::getInstance();
+        symbol::Symbol sym = symbol::Symbol(libname);
+        if (ctx->isprotected(sym) == false)
+        {
+            ctx->put(sym, lib);
+        }
+        else
+        {
+            *err = 2;
+            delete lib;
+            lib = NULL;
+        }
+    }
+
+    return lib;
+}
+
+int parseLibFile(const std::wstring& _wstXML, MacroInfoList& info, std::wstring& libname)
+{
+    info.clear();
+
+    char* pstFile = wide_string_to_UTF8(_wstXML.data());
 
     if (FileExist(pstFile) == FALSE)
     {
-        *err = 1;
         FREE(pstFile);
-        return NULL;
+        return 1;
     }
 
     char *encoding = GetXmlFileEncoding(pstFile);
@@ -74,18 +121,18 @@ types::Library* loadlib(const std::wstring& _wstXML, int* err, bool _isFile, boo
     /* check if the XML file has been encoded with utf8 (unicode) or not */
     if (stricmp("utf-8", encoding))
     {
-        *err = 1;
         FREE(pstFile);
         free(encoding);
         return NULL;
     }
 
     xmlDocPtr doc;
-    xmlXPathContextPtr xpathCtxt    = NULL;
-    xmlXPathObjectPtr xpathObj      = NULL;
-    wchar_t* pstName                = NULL;
-    wchar_t* pstLibName             = NULL;
-    wchar_t* pstFileName            = NULL;
+    xmlXPathContextPtr xpathCtxt = NULL;
+    xmlXPathObjectPtr xpathObj = NULL;
+    wchar_t* pstName = NULL;
+    wchar_t* pstLibName = NULL;
+    wchar_t* pstFileName = NULL;
+    wchar_t* pstMd5 = NULL;
 
     free(encoding);
 
@@ -93,26 +140,24 @@ types::Library* loadlib(const std::wstring& _wstXML, int* err, bool _isFile, boo
 
     if (doc == NULL)
     {
-        *err = 1;
-        //std::cout << "Error: Could not parse file " << pstFile << std::endl;
         FREE(pstFile);
-        return NULL;
+        return 1;
     }
 
     FREE(pstFile);
 
-    lib = new types::Library(wstOriginalPath);
-
     xpathCtxt = xmlXPathNewContext(doc);
     xpathObj = xmlXPathEval((const xmlChar*)"//scilablib", xpathCtxt);
     if (xpathObj && xpathObj->nodesetval->nodeMax)
     {
         xmlAttrPtr attrib = xpathObj->nodesetval->nodeTab[0]->properties;
-        if (xmlStrEqual (attrib->name, (const xmlChar*)"name"))
+        if (xmlStrEqual(attrib->name, (const xmlChar*)"name"))
         {
             /* we found the tag name */
             const char *str = (const char*)attrib->children->content;
             pstLibName = to_wide_string(str);
+            libname = pstLibName;
+            FREE(pstLibName);
             xmlXPathFreeObject(xpathObj);
         }
         else
@@ -122,8 +167,7 @@ types::Library* loadlib(const std::wstring& _wstXML, int* err, bool _isFile, boo
                 xmlXPathFreeContext(xpathCtxt);
             }
             xmlXPathFreeObject(xpathObj);
-            delete lib;
-            return NULL;
+            return 1;
         }
     }
 
@@ -131,14 +175,14 @@ types::Library* loadlib(const std::wstring& _wstXML, int* err, bool _isFile, boo
     if (xpathObj && xpathObj->nodesetval->nodeMax)
     {
         /* the Xpath has been understood and there are node */
-        for (int i = 0 ; i < xpathObj->nodesetval->nodeNr ; i++)
+        for (int i = 0; i < xpathObj->nodesetval->nodeNr; i++)
         {
             xmlAttrPtr attrib = xpathObj->nodesetval->nodeTab[i]->properties;
             /* Get the properties of <module>  */
             while (attrib != NULL)
             {
                 /* loop until when have read all the attributes */
-                if (xmlStrEqual (attrib->name, (const xmlChar*)"name"))
+                if (xmlStrEqual(attrib->name, (const xmlChar*)"name"))
                 {
                     /* we found the tag name */
                     const char *str = (const char*)attrib->children->content;
@@ -150,19 +194,18 @@ types::Library* loadlib(const std::wstring& _wstXML, int* err, bool _isFile, boo
                     const char *str = (const char*)attrib->children->content;
                     pstFileName = to_wide_string(str);
                 }
+                else if (xmlStrEqual(attrib->name, (const xmlChar*)"md5"))
+                {
+                    /* we found the tag activate */
+                    const char *str = (const char*)attrib->children->content;
+                    pstMd5 = to_wide_string(str);
+                }
                 attrib = attrib->next;
             }
 
-            if (pstName && pstFileName)
+            if (pstName && pstFileName && pstMd5)
             {
-                std::wstring stFilename(wstPath);
-                if (stFilename.empty() == false && *stFilename.rbegin() != DIR_SEPARATORW[0])
-                {
-                    stFilename += DIR_SEPARATORW;
-                }
-
-                stFilename += pstFileName;
-                lib->add(pstName, new types::MacroFile(pstName, stFilename, pstLibName));
+                info[pstFileName] = MacroInfo(pstName, pstFileName, pstMd5);
             }
 
             if (pstName)
@@ -176,6 +219,12 @@ types::Library* loadlib(const std::wstring& _wstXML, int* err, bool _isFile, boo
                 FREE(pstFileName);
                 pstFileName = NULL;
             }
+
+            if (pstMd5)
+            {
+                FREE(pstMd5);
+                pstMd5 = NULL;
+            }
         }
     }
 
@@ -188,25 +237,8 @@ types::Library* loadlib(const std::wstring& _wstXML, int* err, bool _isFile, boo
         xmlXPathFreeContext(xpathCtxt);
     }
 
-    if (_bAddInContext)
-    {
-        symbol::Context* ctx = symbol::Context::getInstance();
-        symbol::Symbol sym = symbol::Symbol(pstLibName);
-        if (ctx->isprotected(sym) == false)
-        {
-            ctx->put(symbol::Symbol(pstLibName), lib);
-        }
-        else
-        {
-            *err = 2;
-            delete lib;
-            lib = NULL;
-        }
-    }
-
     xmlFreeDoc(doc);
-    FREE(pstLibName);
-    return lib;
+    return 0;
 }
 
 static char *GetXmlFileEncoding(std::string _filename)
diff --git a/scilab/modules/overloading/macros/%hm_i_r.sci b/scilab/modules/overloading/macros/%hm_i_r.sci
deleted file mode 100644 (file)
index dbbea7f..0000000
+++ /dev/null
@@ -1,20 +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.1-en.txt
-function N=%r_i_hm(varargin)
-    //author Serge Steer INRIA
-    M=varargin($);
-    N=varargin($-1);//inserted matrix
-    //  M(i,...)=N
-    Den=ones(M);
-    M(varargin(1:$-2))=N.num
-    Den(varargin(1:$-2))=N.den
-    N.num=M
-    N.den=Den
-
-endfunction
diff --git a/scilab/modules/overloading/macros/%p_o_sp.sci b/scilab/modules/overloading/macros/%p_o_sp.sci
deleted file mode 100644 (file)
index 4af7f7c..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) INRIA, Serge Steer
-//
-// This file must be used under the terms of the CeCILL.
-// This source file is licensed as described in the file COPYING, which
-// you should have received as part of this distribution.  The terms
-// are also available at
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
-
-function r=%p_o_st(a,b)
-    // implements r=a==b
-    // for a a  matrix of polynomials and b a struct
-    r=%f
-endfunction
diff --git a/scilab/modules/overloading/macros/%r_i_hm.sci b/scilab/modules/overloading/macros/%r_i_hm.sci
deleted file mode 100644 (file)
index f9223d1..0000000
+++ /dev/null
@@ -1,21 +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.1-en.txt
-function N=%r_i_hm(varargin)
-    //author Serge Steer INRIA
-    M=varargin($);
-    N=varargin($-1);//inserted matrix
-    //  M(i,...)=N,  M hypermatrix; N rational matrix
-    Num=M;
-    Den=ones(M);
-    Num(varargin(1:$-2))=N.num
-    Den(varargin(1:$-2))=N.den
-
-    N.num=Num;
-    N.den=Den;
-endfunction
diff --git a/scilab/modules/overloading/macros/%st_o_tl.sci b/scilab/modules/overloading/macros/%st_o_tl.sci
deleted file mode 100644 (file)
index 511fa4d..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) INRIA, Serge Steer
-//
-// This file must be used under the terms of the CeCILL.
-// This source file is licensed as described in the file COPYING, which
-// you should have received as part of this distribution.  The terms
-// are also available at
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
-
-function r=%st_o_l(a,b)
-    // implements r=a==b
-    // for a a struct and b a list
-    r=%f
-endfunction
@@ -21,7 +21,7 @@
 
 function [ok,a_domaine,b_domaine,discr,signe,choix,type_meth,degre,Nbr_maillage,..
     CI,CI1,CLa_type,CLa_exp,CLb_type,CLb_exp,oper,a1,b1,a2,b2,a3,b3,a4,b4,a5,b5,..
-    a6,b6,a7,b7,k,mesures,params_pde]=setvalue_IHM_EDP(params_pde)
+    a6,b6,a7,b7,k,mesures,params_pde]=setvalue_IHM_PDE(params_pde)
     // Cette fonction permet d'evaluer les parametres de l'IHM suite au l'evaluation du context           //
     // Entree :                                                                                           //
     //    - params_pde (tlist) : rajouter a la list exprs du bloc EDP afin de sauvegarder les             //