Scicos src: var2vec: map encoding on sci_types instead of InternalTypes 72/17372/4
Paul Bignier [Thu, 22 Oct 2015 10:46:29 +0000 (12:46 +0200)]
 * Removed duplicate tests in xcos/ (they are in scicos/)

Change-Id: I4d22dfef90f4afc43976e1fe5213e87068671f94

scilab/modules/scicos/src/cpp/var2vec.cpp
scilab/modules/scicos/src/cpp/vec2var.cpp
scilab/modules/scicos/tests/unit_tests/var2vec.dia.ref
scilab/modules/scicos/tests/unit_tests/var2vec.tst
scilab/modules/xcos/help/en_US/scilab_utilities_functions/var2vec.xml
scilab/modules/xcos/help/en_US/scilab_utilities_functions/vec2var.xml
scilab/modules/xcos/tests/unit_tests/var2vec.dia.ref [deleted file]
scilab/modules/xcos/tests/unit_tests/var2vec.tst [deleted file]
scilab/modules/xcos/tests/unit_tests/vec2var.dia.ref [deleted file]
scilab/modules/xcos/tests/unit_tests/vec2var.tst [deleted file]

index 7a5a90c..61a864e 100644 (file)
@@ -30,6 +30,8 @@
 
 extern "C"
 {
+#include "api_scilab.h"
+
 #include "charEncoding.h"
 #include "Scierror.h"
 #include "localization.h"
@@ -87,7 +89,16 @@ void encode(T* input, std::vector<double> &ret)
     // Allocation for type + number of dimensions + each dimension + each element
     ret.reserve(ret.size() + totalSize);
 
-    ret.push_back(((types::InternalType*) input)->getType());
+    int iType = 0;
+    getVarType(nullptr, (int*) input, &iType);
+    ret.push_back(iType);
+    if (iType != sci_boolean)
+    {
+        int iPrec = 0;
+        getMatrixOfIntegerPrecision(nullptr, (int*) input, &iPrec);
+        ret.push_back(iPrec);
+    }
+
     ret.push_back(iDims);
     for (int i = 0; i < iDims; ++i)
     {
@@ -115,7 +126,7 @@ static void encode(types::Double* input, std::vector<double> &ret)
     // Allocation for type + number of dimensions + each dimension + complex boolean + each element (doubled if complex)
     ret.reserve(ret.size() + totalSize);
 
-    ret.push_back(types::InternalType::ScilabDouble);
+    ret.push_back(sci_matrix);
     ret.push_back(iDims);
     for (int i = 0; i < iDims; ++i)
     {
@@ -166,7 +177,7 @@ static void encode(types::String* input, std::vector<double> &ret)
     // Allocation for type + number of dimensions + each dimension + each element length + each element
     ret.reserve(ret.size() + totalSize);
 
-    ret.push_back(types::InternalType::ScilabString);
+    ret.push_back(sci_strings);
     ret.push_back(iDims);
     for (int i = 0; i < iDims; ++i)
     {
@@ -205,7 +216,9 @@ static void encode(types::List* input, std::vector<double> &ret)
 {
     const int iElements = input->getSize();
 
-    ret.push_back(input->getType());
+    int iType = 0;
+    getVarType(nullptr, (int*) input, &iType);
+    ret.push_back(iType);
     ret.push_back(iElements);
     for (int i = 0; i < iElements; ++i)
     {
@@ -252,52 +265,59 @@ static void encode(types::List* input, std::vector<double> &ret)
 
 bool var2vec(types::InternalType* in, std::vector<double> &out)
 {
-    switch (in->getType())
+    int iType = 0;
+    getVarType(nullptr, (int*) in, &iType);
+    switch (iType)
     {
             // Reuse scicos model encoding for 'model.opar' and 'model.odstate' fields
-        case types::InternalType::ScilabDouble :
+        case sci_matrix  :
             encode(in->getAs<types::Double>(), out);
             break;
 
-        case types::InternalType::ScilabInt8   :
-            encode(in->getAs<types::Int8>(), out);
-            break;
-        case types::InternalType::ScilabUInt8  :
-            encode(in->getAs<types::UInt8>(), out);
-            break;
-        case types::InternalType::ScilabInt16  :
-            encode(in->getAs<types::Int16>(), out);
-            break;
-        case types::InternalType::ScilabUInt16 :
-            encode(in->getAs<types::UInt16>(), out);
-            break;
-        case types::InternalType::ScilabInt32  :
-            encode(in->getAs<types::Int32>(), out);
-            break;
-        case types::InternalType::ScilabUInt32 :
-            encode(in->getAs<types::UInt32>(), out);
-            break;
-        case types::InternalType::ScilabInt64  :
-            encode(in->getAs<types::Int64>(), out);
-            break;
-        case types::InternalType::ScilabUInt64 :
-            encode(in->getAs<types::UInt64>(), out);
+        case sci_ints    :
+            switch (in->getType())
+            {
+                case types::InternalType::ScilabInt8 :
+                    encode(in->getAs<types::Int8>(), out);
+                    break;
+                case types::InternalType::ScilabUInt8  :
+                    encode(in->getAs<types::UInt8>(), out);
+                    break;
+                case types::InternalType::ScilabInt16  :
+                    encode(in->getAs<types::Int16>(), out);
+                    break;
+                case types::InternalType::ScilabUInt16 :
+                    encode(in->getAs<types::UInt16>(), out);
+                    break;
+                case types::InternalType::ScilabInt32  :
+                    encode(in->getAs<types::Int32>(), out);
+                    break;
+                case types::InternalType::ScilabUInt32 :
+                    encode(in->getAs<types::UInt32>(), out);
+                    break;
+                case types::InternalType::ScilabInt64  :
+                    encode(in->getAs<types::Int64>(), out);
+                    break;
+                case types::InternalType::ScilabUInt64 :
+                    encode(in->getAs<types::UInt64>(), out);
+                    break;
+            }
             break;
-        case types::InternalType::ScilabBool   :
+        case sci_boolean :
             encode(in->getAs<types::Bool>(), out);
             break;
 
-        case types::InternalType::ScilabString :
+        case sci_strings :
             encode(in->getAs<types::String>(), out);
             break;
 
-        case types::InternalType::ScilabList   :
+        case sci_list    :
             encode(in->getAs<types::List>(), out);
             break;
-        case types::InternalType::ScilabTList  :
+        case sci_tlist   :
             encode(in->getAs<types::List>(), out);
             break;
-        case types::InternalType::ScilabMList  :
+        case sci_mlist   :
             encode(in->getAs<types::List>(), out);
             break;
             //case types::InternalType::ScilabStruct :
index bdcadeb..377824c 100644 (file)
@@ -30,6 +30,8 @@
 
 extern "C"
 {
+#include "api_scilab.h"
+
 #include "Scierror.h"
 #include "localization.h"
 }
@@ -172,7 +174,7 @@ static bool readElement(const double* const input, const int iType, const int iD
 {
     switch (iType)
     {
-        case types::InternalType::ScilabDouble :
+        case sci_matrix  :
         {
             if (inputRows < 5)
             {
@@ -191,151 +193,158 @@ static bool readElement(const double* const input, const int iType, const int iD
             break;
         }
 
-        case types::InternalType::ScilabInt8   :
-        {
-            if (inputRows < 4)
-            {
-                Scierror(999, _("%s: Wrong size for input argument #%d: At least %dx%d expected.\n"), vec2varName.c_str(), 1, offset + 4, 1);
-                return false;
-            }
-
-            types::Int8* pInt8 = nullptr;
-            const int resSize = decode<types::Int8>(input + 2, inputRows, iDims, offset, pInt8);
-            if (resSize < 0)
-            {
-                return false;
-            }
-            res = pInt8;
-            offset += resSize;
-            break;
-        }
-        case types::InternalType::ScilabUInt8  :
-        {
-            if (inputRows < 4)
-            {
-                Scierror(999, _("%s: Wrong size for input argument #%d: At least %dx%d expected.\n"), vec2varName.c_str(), 1, offset + 4, 1);
-                return false;
-            }
-
-            types::UInt8* pUInt8 = nullptr;
-            const int resSize = decode<types::UInt8>(input + 2, inputRows, iDims, offset, pUInt8);
-            if (resSize < 0)
-            {
-                return false;
-            }
-            res = pUInt8;
-            offset += resSize;
-            break;
-        }
-        case types::InternalType::ScilabInt16  :
+        case sci_ints    :
         {
-            if (inputRows < 4)
+            switch (static_cast<int>(input[1]))
             {
-                Scierror(999, _("%s: Wrong size for input argument #%d: At least %dx%d expected.\n"), vec2varName.c_str(), 1, offset + 4, 1);
-                return false;
-            }
-
-            types::Int16* pInt16 = nullptr;
-            const int resSize = decode<types::Int16>(input + 2, inputRows, iDims, offset, pInt16);
-            if (resSize < 0)
-            {
-                return false;
-            }
-            res = pInt16;
-            offset += resSize;
-            break;
-        }
-        case types::InternalType::ScilabUInt16 :
-        {
-            if (inputRows < 4)
-            {
-                Scierror(999, _("%s: Wrong size for input argument #%d: At least %dx%d expected.\n"), vec2varName.c_str(), 1, offset + 4, 1);
-                return false;
-            }
-
-            types::UInt16* pUInt16 = nullptr;
-            const int resSize = decode<types::UInt16>(input + 2, inputRows, iDims, offset, pUInt16);
-            if (resSize < 0)
-            {
-                return false;
-            }
-            res = pUInt16;
-            offset += resSize;
-            break;
-        }
-        case types::InternalType::ScilabInt32  :
-        {
-            if (inputRows < 4)
-            {
-                Scierror(999, _("%s: Wrong size for input argument #%d: At least %dx%d expected.\n"), vec2varName.c_str(), 1, offset + 4, 1);
-                return false;
-            }
-
-            types::Int32* pInt32 = nullptr;
-            const int resSize = decode<types::Int32>(input + 2, inputRows, iDims, offset, pInt32);
-            if (resSize < 0)
-            {
-                return false;
-            }
-            res = pInt32;
-            offset += resSize;
-            break;
-        }
-        case types::InternalType::ScilabUInt32 :
-        {
-            if (inputRows < 4)
-            {
-                Scierror(999, _("%s: Wrong size for input argument #%d: At least %dx%d expected.\n"), vec2varName.c_str(), 1, offset + 4, 1);
-                return false;
-            }
-
-            types::UInt32* pUInt32 = nullptr;
-            const int resSize = decode<types::UInt32>(input + 2, inputRows, iDims, offset, pUInt32);
-            if (resSize < 0)
-            {
-                return false;
-            }
-            res = pUInt32;
-            offset += resSize;
-            break;
-        }
-        case types::InternalType::ScilabInt64  :
-        {
-            if (inputRows < 4)
-            {
-                Scierror(999, _("%s: Wrong size for input argument #%d: At least %dx%d expected.\n"), vec2varName.c_str(), 1, offset + 4, 1);
-                return false;
-            }
-
-            types::Int64* pInt64 = nullptr;
-            const int resSize = decode<types::Int64>(input + 2, inputRows, iDims, offset, pInt64);
-            if (resSize < 0)
-            {
-                return false;
-            }
-            res = pInt64;
-            offset += resSize;
-            break;
-        }
-        case types::InternalType::ScilabUInt64 :
-        {
-            if (inputRows < 4)
-            {
-                Scierror(999, _("%s: Wrong size for input argument #%d: At least %dx%d expected.\n"), vec2varName.c_str(), 1, offset + 4, 1);
-                return false;
-            }
-
-            types::UInt64* pUInt64 = nullptr;
-            const int resSize = decode<types::UInt64>(input + 2, inputRows, iDims, offset, pUInt64);
-            if (resSize < 0)
-            {
-                return false;
+                case sci_int8   :
+                {
+                    if (inputRows < 5)
+                    {
+                        Scierror(999, _("%s: Wrong size for input argument #%d: At least %dx%d expected.\n"), vec2varName.c_str(), 1, offset + 5, 1);
+                        return false;
+                    }
+
+                    types::Int8* pInt8 = nullptr;
+                    const int resSize = decode<types::Int8>(input + 3, inputRows, iDims, offset, pInt8);
+                    if (resSize < 0)
+                    {
+                        return false;
+                    }
+                    res = pInt8;
+                    offset += 1 + resSize;
+                    break;
+                }
+                case sci_uint8  :
+                {
+                    if (inputRows < 5)
+                    {
+                        Scierror(999, _("%s: Wrong size for input argument #%d: At least %dx%d expected.\n"), vec2varName.c_str(), 1, offset + 5, 1);
+                        return false;
+                    }
+
+                    types::UInt8* pUInt8 = nullptr;
+                    const int resSize = decode<types::UInt8>(input + 3, inputRows, iDims, offset, pUInt8);
+                    if (resSize < 0)
+                    {
+                        return false;
+                    }
+                    res = pUInt8;
+                    offset += 1 + resSize;
+                    break;
+                }
+                case sci_int16  :
+                {
+                    if (inputRows < 5)
+                    {
+                        Scierror(999, _("%s: Wrong size for input argument #%d: At least %dx%d expected.\n"), vec2varName.c_str(), 1, offset + 5, 1);
+                        return false;
+                    }
+
+                    types::Int16* pInt16 = nullptr;
+                    const int resSize = decode<types::Int16>(input + 3, inputRows, iDims, offset, pInt16);
+                    if (resSize < 0)
+                    {
+                        return false;
+                    }
+                    res = pInt16;
+                    offset += 1 + resSize;
+                    break;
+                }
+                case sci_uint16 :
+                {
+                    if (inputRows < 5)
+                    {
+                        Scierror(999, _("%s: Wrong size for input argument #%d: At least %dx%d expected.\n"), vec2varName.c_str(), 1, offset + 5, 1);
+                        return false;
+                    }
+
+                    types::UInt16* pUInt16 = nullptr;
+                    const int resSize = decode<types::UInt16>(input + 3, inputRows, iDims, offset, pUInt16);
+                    if (resSize < 0)
+                    {
+                        return false;
+                    }
+                    res = pUInt16;
+                    offset += 1 + resSize;
+                    break;
+                }
+                case sci_int32  :
+                {
+                    if (inputRows < 5)
+                    {
+                        Scierror(999, _("%s: Wrong size for input argument #%d: At least %dx%d expected.\n"), vec2varName.c_str(), 1, offset + 5, 1);
+                        return false;
+                    }
+
+                    types::Int32* pInt32 = nullptr;
+                    const int resSize = decode<types::Int32>(input + 3, inputRows, iDims, offset, pInt32);
+                    if (resSize < 0)
+                    {
+                        return false;
+                    }
+                    res = pInt32;
+                    offset += 1 + resSize;
+                    break;
+                }
+                case sci_uint32 :
+                {
+                    if (inputRows < 5)
+                    {
+                        Scierror(999, _("%s: Wrong size for input argument #%d: At least %dx%d expected.\n"), vec2varName.c_str(), 1, offset + 5, 1);
+                        return false;
+                    }
+
+                    types::UInt32* pUInt32 = nullptr;
+                    const int resSize = decode<types::UInt32>(input + 3, inputRows, iDims, offset, pUInt32);
+                    if (resSize < 0)
+                    {
+                        return false;
+                    }
+                    res = pUInt32;
+                    offset += 1 + resSize;
+                    break;
+                }
+                case sci_int64 :
+                {
+                    if (inputRows < 5)
+                    {
+                        Scierror(999, _("%s: Wrong size for input argument #%d: At least %dx%d expected.\n"), vec2varName.c_str(), 1, offset + 5, 1);
+                        return false;
+                    }
+
+                    types::Int64* pInt64 = nullptr;
+                    const int resSize = decode<types::Int64>(input + 3, inputRows, iDims, offset, pInt64);
+                    if (resSize < 0)
+                    {
+                        return false;
+                    }
+                    res = pInt64;
+                    offset += 1 + resSize;
+                    break;
+                }
+                case sci_uint64 :
+                {
+                    if (inputRows < 5)
+                    {
+                        Scierror(999, _("%s: Wrong size for input argument #%d: At least %dx%d expected.\n"), vec2varName.c_str(), 1, offset + 5, 1);
+                        return false;
+                    }
+
+                    types::UInt64* pUInt64 = nullptr;
+                    const int resSize = decode<types::UInt64>(input + 3, inputRows, iDims, offset, pUInt64);
+                    if (resSize < 0)
+                    {
+                        return false;
+                    }
+                    res = pUInt64;
+                    offset += 1 + resSize;
+                    break;
+                }
             }
-            res = pUInt64;
-            offset += resSize;
             break;
         }
-        case types::InternalType::ScilabBool   :
+        case sci_boolean :
         {
             if (inputRows < 4)
             {
@@ -354,7 +363,7 @@ static bool readElement(const double* const input, const int iType, const int iD
             break;
         }
 
-        case types::InternalType::ScilabString :
+        case sci_strings :
         {
             if (inputRows < 4)
             {
@@ -373,9 +382,9 @@ static bool readElement(const double* const input, const int iType, const int iD
             break;
         }
 
-        case types::InternalType::ScilabList   :
-        case types::InternalType::ScilabTList  :
-        case types::InternalType::ScilabMList  :
+        case sci_list    :
+        case sci_tlist   :
+        case sci_mlist   :
         {
             if (inputRows < 2)
             {
@@ -384,11 +393,11 @@ static bool readElement(const double* const input, const int iType, const int iD
             }
 
             types::List* pList = nullptr;
-            if (iType == types::InternalType::ScilabList)
+            if (iType == sci_list)
             {
                 pList = new types::List();
             }
-            else if (iType == types::InternalType::ScilabTList)
+            else if (iType == sci_tlist)
             {
                 pList = new types::TList();
             }
@@ -419,7 +428,16 @@ static bool readElement(const double* const input, const int iType, const int iD
                 }
                 // Extract the list elements infos and recursively call readElement
                 int elementType = static_cast<int>(*(input + offset));
-                int elementDims = static_cast<int>(*(input + offset + 1));
+                int elementDims;
+                if (elementType == sci_ints)
+                {
+                    // Integers store their precision in *(input + offset + 1)
+                    elementDims = static_cast<int>(*(input + offset + 2));
+                }
+                else
+                {
+                    elementDims = static_cast<int>(*(input + offset + 1));
+                }
                 types::InternalType* element;
                 if (!readElement(input + offset, elementType, elementDims, inputRows - offset, offset, element))
                 {
@@ -523,7 +541,16 @@ static bool readElement(const double* const input, const int iType, const int iD
 bool vec2var(const std::vector<double> in, types::InternalType* &out)
 {
     const int iType = static_cast<int>(in[0]);
-    const int iDims = static_cast<int>(in[1]);
+    int iDims;
+    if (iType == sci_ints)
+    {
+        // Integers store their precision in in[1]
+        iDims = static_cast<int>(in[2]);
+    }
+    else
+    {
+        iDims = static_cast<int>(in[1]);
+    }
 
     int offset = 0;
     if (!readElement(&in[0], iType, iDims, static_cast<int>(in.size()), offset, out))
index 0c1d162..2c4e003 100644 (file)
@@ -12,13 +12,13 @@ assert_checkequal(type(b), 1);
 assert_checkequal(size(b), [15 1]);
 // Double
 a = [];
-assert_checkequal(var2vec(a), [12; 2; 0; 0; 0]);
+assert_checkequal(var2vec(a), [1; 2; 0; 0; 0]);
 Mat = [10 11 12 13; 14 15 16 17];
-assert_checkequal(var2vec(Mat), [12; 2; 2; 4; 0; 10; 14; 11; 15; 12; 16; 13; 17]);
+assert_checkequal(var2vec(Mat), [1; 2; 2; 4; 0; 10; 14; 11; 15; 12; 16; 13; 17]);
 HyperMat = hypermat([2, 2, 2], 1:8);
-assert_checkequal(var2vec(HyperMat), [12; 3; 2; 2; 2; 0; (1:8)']);
+assert_checkequal(var2vec(HyperMat), [1; 3; 2; 2; 2; 0; (1:8)']);
 cplx = HyperMat+HyperMat*%i;
-assert_checkequal(var2vec(cplx), [12; 3; 2; 2; 2; 1; (1:8)'; (1:8)']);
+assert_checkequal(var2vec(cplx), [1; 3; 2; 2; 2; 1; (1:8)'; (1:8)']);
 // Integers
 // int8
 Mat8 = int8(Mat);
index 129fa67..16d7ee1 100644 (file)
@@ -15,13 +15,13 @@ assert_checkequal(size(b), [15 1]);
 
 // Double
 a = [];
-assert_checkequal(var2vec(a), [12; 2; 0; 0; 0]);
+assert_checkequal(var2vec(a), [1; 2; 0; 0; 0]);
 Mat = [10 11 12 13; 14 15 16 17];
-assert_checkequal(var2vec(Mat), [12; 2; 2; 4; 0; 10; 14; 11; 15; 12; 16; 13; 17]);
+assert_checkequal(var2vec(Mat), [1; 2; 2; 4; 0; 10; 14; 11; 15; 12; 16; 13; 17]);
 HyperMat = hypermat([2, 2, 2], 1:8);
-assert_checkequal(var2vec(HyperMat), [12; 3; 2; 2; 2; 0; (1:8)']);
+assert_checkequal(var2vec(HyperMat), [1; 3; 2; 2; 2; 0; (1:8)']);
 cplx = HyperMat+HyperMat*%i;
-assert_checkequal(var2vec(cplx), [12; 3; 2; 2; 2; 1; (1:8)'; (1:8)']);
+assert_checkequal(var2vec(cplx), [1; 3; 2; 2; 2; 1; (1:8)'; (1:8)']);
 
 // Integers
 // int8
index e725243..1f8d4b4 100644 (file)
@@ -1,34 +1,35 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
  * Scicos
- * 
+ *
+ * Copyright (C) 2015 - Scilab Enterprises - Paul Bignier
  * Copyright (C) INRIA - METALAU Project <scicos@inria.fr> (HTML version)
  * Copyright (C) DIGITEO - Scilab Consortium (XML Docbook version)
- * 
+ *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
- * 
+ *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * 
+ *
  * See the file ./license.txt
  -->
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="var2vec">
     <refnamediv>
         <refname>var2vec</refname>
-        <refpurpose>Transform a scilab variable in a vector of double</refpurpose>
+        <refpurpose>Transform a scilab variable into a vector of double</refpurpose>
     </refnamediv>
     <refsynopsisdiv>
         <title>Calling Sequence</title>
-        <synopsis>[vec]=var2vec(var)</synopsis>
+        <synopsis>vec = var2vec(var)</synopsis>
     </refsynopsisdiv>
     <refsection id="Module_var2vec">
         <title>Module</title>
             </listitem>
         </itemizedlist>
     </refsection>
-    <refsection id="Description_var2vec">
-        <title>Description</title>
-        <para>
-            var2vec / vec2var functions are used inside the interfacing functions of Scilab blocks to give the possibility to the user to handle Scilab objects with the real parameter (rpar) and with the discrete state register (z).  
-        </para>
-        <para>
-        </para>
-        <programlisting role="example"><![CDATA[ 
-[vec]=var2vec(var)
- ]]></programlisting>
-    </refsection>
     <refsection id="Parameters_var2vec">
         <title>Arguments</title>
         <itemizedlist>
             <listitem>
                 <para>
-                    <emphasis role="bold">var :</emphasis> Input parameter. Can be any types of Scilab objects.
+                    <emphasis role="bold">var:</emphasis> input parameter. Can be any types of Scilab objects.
                 </para>
             </listitem>
             <listitem>
                 <para>
-                    <emphasis role="bold">vec :</emphasis> Output parameter. A vector of real numbers.
+                    <emphasis role="bold">vec:</emphasis> output parameter. A vector of real numbers.
                 </para>
             </listitem>
         </itemizedlist>
     </refsection>
+    <refsection id="Description_var2vec">
+        <title>Description</title>
+        <para>
+            var2vec / vec2var functions are used inside the interfacing functions of Scilab blocks to give the possibility to the user to handle Scilab objects with the real parameter (rpar) and with the discrete state register (z).
+        </para>
+        <para>
+        </para>
+        <programlisting role="example"><![CDATA[
+vec = var2vec(var)
+ ]]></programlisting>
+    </refsection>
     <refsection id="Example_var2vec">
         <title>Example</title>
-        <programlisting role="example"><![CDATA[ 
--->a=list("cos",[1.1,2])
-a  = 
+        <programlisting role="example"><![CDATA[
+-->a = list("cos", [1.1 2])
+a  =
 a(1)
-cos   
+cos
 a(2)
-1.1    2.  
--->b=var2vec(a)         
+1.1    2.
+-->b = var2vec(a)
 b  =
-4.244-314  
-1.273-313  
-8.488-314  
-2.122-314  
-4.941-324  
-8.488-314  
-5.093-313  
-2.122-314  
-2.122-314  
-9.881-324  
-1.1        
+15.
+2.
+10.
+2.
+1.
+1.
+1.
+0.
+1.
+2.
+1.
+2.
+0.
+1.1
 2.
  ]]></programlisting>
     </refsection>
index c41633c..7636b32 100644 (file)
@@ -1,34 +1,35 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
  * Scicos
- * 
+ *
+ * Copyright (C) 2015 - Scilab Enterprises - Paul Bignier
  * Copyright (C) INRIA - METALAU Project <scicos@inria.fr> (HTML version)
  * Copyright (C) DIGITEO - Scilab Consortium (XML Docbook version)
- * 
+ *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
- * 
+ *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * 
+ *
  * See the file ./license.txt
  -->
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="vec2var">
     <refnamediv>
         <refname>vec2var</refname>
-        <refpurpose>Transform a vector of double in a scilab variable</refpurpose>
+        <refpurpose>Transform a vector of double into a scilab variable</refpurpose>
     </refnamediv>
     <refsynopsisdiv>
         <title>Calling Sequence</title>
-        <synopsis>[var]=vec2var(vec)</synopsis>
+        <synopsis>var = vec2var(vec)</synopsis>
     </refsynopsisdiv>
     <refsection id="Module_vec2var">
         <title>Module</title>
             </listitem>
         </itemizedlist>
     </refsection>
-    <refsection id="Description_vec2var">
-        <title>Description</title>
-        <para>
-            var2vec / vec2var functions are used inside the interfacing functions of Scilab blocks to give the possibility to the user to handle Scilab objects with the register of real parameters (rpar) and with the discrete state register (z).  
-        </para>
-        <para>
-        </para>
-        <programlisting role="example"><![CDATA[ 
-[var]=vec2var(vec)
- ]]></programlisting>
-    </refsection>
     <refsection id="Parameters_vec2var">
         <title>Arguments</title>
         <itemizedlist>
             <listitem>
                 <para>
-                    <emphasis role="bold">vec :</emphasis> Input parameter. A vector of real numbers.
+                    <emphasis role="bold">vec:</emphasis> input parameter. A vector of real numbers.
                 </para>
             </listitem>
             <listitem>
                 <para>
-                    <emphasis role="bold">var :</emphasis> Output parameter. Can be any types of Scilab objects.
+                    <emphasis role="bold">var:</emphasis> output parameter. Can be any types of Scilab objects.
                 </para>
             </listitem>
         </itemizedlist>
     </refsection>
+    <refsection id="Description_vec2var">
+        <title>Description</title>
+        <para>
+            var2vec / vec2var functions are used inside the interfacing functions of Scilab blocks to give the possibility to the user to handle Scilab objects with the register of real parameters (rpar) and with the discrete state register (z).
+        </para>
+        <para>
+        </para>
+        <programlisting role="example"><![CDATA[
+var = vec2var(vec)
+ ]]></programlisting>
+    </refsection>
     <refsection id="Example_vec2var">
         <title>Example</title>
-        <programlisting role="example"><![CDATA[ 
--->a=list("cos",[1.1,2])
-a  = 
+        <programlisting role="example"><![CDATA[
+-->a = list("cos", [1.1 2])
+a  =
 a(1)
-cos   
+cos
 a(2)
-1.1    2.  
--->b=var2vec(a)         
+1.1    2.
+-->b = var2vec(a)
 b  =
-4.244-314  
-1.273-313  
-8.488-314  
-2.122-314  
-4.941-324  
-8.488-314  
-5.093-313  
-2.122-314  
-2.122-314  
-9.881-324  
-1.1        
-2.         
--->c=vec2var(b)
+15.
+2.
+10.
+2.
+1.
+1.
+1.
+0.
+1.
+2.
+1.
+2.
+0.
+1.1
+2.
+-->c = vec2var(b)
 c  =
 c(1)
-cos   
+cos
 c(2)
 1.1    2.
  ]]></programlisting>
diff --git a/scilab/modules/xcos/tests/unit_tests/var2vec.dia.ref b/scilab/modules/xcos/tests/unit_tests/var2vec.dia.ref
deleted file mode 100644 (file)
index 137f476..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) ????-2008 - INRIA
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-a=list("cos",[1.1,2]);
-b=var2vec(a);
-if type(b) <> 1 then bugmes();quit;end
-if size(b) <> [12 1] then bugmes();quit;end
diff --git a/scilab/modules/xcos/tests/unit_tests/var2vec.tst b/scilab/modules/xcos/tests/unit_tests/var2vec.tst
deleted file mode 100644 (file)
index 5bcf63b..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) ????-2008 - INRIA
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-
-a=list("cos",[1.1,2]);
-b=var2vec(a);
-if type(b) <> 1 then pause,end
-if size(b) <> [12 1] then pause,end
\ No newline at end of file
diff --git a/scilab/modules/xcos/tests/unit_tests/vec2var.dia.ref b/scilab/modules/xcos/tests/unit_tests/vec2var.dia.ref
deleted file mode 100644 (file)
index 5abd466..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) ????-2008 - INRIA
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-a=list("cos",[1.1,2]);
-b=var2vec(a);
-c=vec2var(b);
-if type(c) <> 15 then bugmes();quit;end
-if c(1) <> 'cos' then bugmes();quit;end
diff --git a/scilab/modules/xcos/tests/unit_tests/vec2var.tst b/scilab/modules/xcos/tests/unit_tests/vec2var.tst
deleted file mode 100644 (file)
index ab75a29..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) ????-2008 - INRIA
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-
-a=list("cos",[1.1,2]);
-b=var2vec(a);
-c=vec2var(b);
-if type(c) <> 15 then pause,end
-if c(1) <> 'cos' then pause,end
\ No newline at end of file