api scilab c++, missing poly and struct 65/14465/6
Antoine ELIAS [Mon, 28 Apr 2014 06:48:51 +0000 (08:48 +0200)]
Change-Id: I51ea8430bce77593a40488f07e78f901ba938fec

132 files changed:
scilab/contrib/toolbox_skeleton/sci_gateway/cpp/sci_cpperror.cpp
scilab/contrib/toolbox_skeleton/sci_gateway/cpp/sci_cppfoo.cpp
scilab/contrib/toolbox_skeleton/sci_gateway/cpp/sci_cppmultiplybypi.cpp
scilab/contrib/toolbox_skeleton/sci_gateway/cpp/sci_cppsub.cpp
scilab/contrib/toolbox_skeleton/sci_gateway/cpp/sci_cppsum.cpp
scilab/modules/api_scilab/Makefile.am
scilab/modules/api_scilab/Makefile.in
scilab/modules/api_scilab/api_scilab.vcxproj
scilab/modules/api_scilab/api_scilab.vcxproj.filters
scilab/modules/api_scilab/includes/api_boolean.hxx [new file with mode: 0644]
scilab/modules/api_scilab/includes/api_common.hxx [new file with mode: 0644]
scilab/modules/api_scilab/includes/api_double.hxx [new file with mode: 0644]
scilab/modules/api_scilab/includes/api_handle.hxx [new file with mode: 0644]
scilab/modules/api_scilab/includes/api_int.hxx [new file with mode: 0644]
scilab/modules/api_scilab/includes/api_list.hxx [new file with mode: 0644]
scilab/modules/api_scilab/includes/api_pointer.hxx [new file with mode: 0644]
scilab/modules/api_scilab/includes/api_scilab.hxx [new file with mode: 0644]
scilab/modules/api_scilab/includes/api_sparse.hxx [new file with mode: 0644]
scilab/modules/api_scilab/includes/api_string.hxx [new file with mode: 0644]
scilab/modules/api_scilab/includes/api_variable.hxx [new file with mode: 0644]
scilab/modules/api_scilab/src/cpp/api_boolean_cpp.cpp [new file with mode: 0644]
scilab/modules/api_scilab/src/cpp/api_common.cpp
scilab/modules/api_scilab/src/cpp/api_common_cpp.cpp [new file with mode: 0644]
scilab/modules/api_scilab/src/cpp/api_double_cpp.cpp [new file with mode: 0644]
scilab/modules/api_scilab/src/cpp/api_handle_cpp.cpp [new file with mode: 0644]
scilab/modules/api_scilab/src/cpp/api_int.cpp
scilab/modules/api_scilab/src/cpp/api_int_cpp.cpp [new file with mode: 0644]
scilab/modules/api_scilab/src/cpp/api_list_cpp.cpp [new file with mode: 0644]
scilab/modules/api_scilab/src/cpp/api_pointer_cpp.cpp [new file with mode: 0644]
scilab/modules/api_scilab/src/cpp/api_sparse_cpp.cpp [new file with mode: 0644]
scilab/modules/api_scilab/src/cpp/api_string_cpp.cpp [new file with mode: 0644]
scilab/modules/ast/src/cpp/run_CallExp.cpp
scilab/modules/ast/src/cpp/run_OpExp.cpp
scilab/modules/ast/src/cpp/runvisitor.cpp
scilab/modules/ast/src/cpp/visitor_common.cpp
scilab/modules/data_structures/sci_gateway/cpp/sci_definedfields.cpp
scilab/modules/dynamic_link/macros/ilib_compile.sci
scilab/modules/dynamic_link/macros/windows/dlwGetScilabIncludes.sci
scilab/modules/elementary_functions/sci_gateway/cpp/sci_abs.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_ones.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_size.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_zeros.cpp
scilab/modules/elementary_functions/src/cpp/cumprod.cpp
scilab/modules/elementary_functions/src/cpp/prod.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mfscanf.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mscanf.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_msscanf.cpp
scilab/modules/functions/sci_gateway/cpp/sci_macrovar.cpp
scilab/modules/functions/sci_gateway/cpp/sci_whereis.cpp
scilab/modules/integer/sci_gateway/cpp/sci_double.cpp
scilab/modules/integer/sci_gateway/cpp/sci_int.cpp
scilab/modules/integer/sci_gateway/cpp/sci_inttype.cpp
scilab/modules/mexlib/src/cpp/mexlib.cpp
scilab/modules/operations/includes/matrix_addition.h
scilab/modules/operations/includes/matrix_multiplication.h
scilab/modules/operations/src/c/matrix_addition.c
scilab/modules/operations/src/c/matrix_multiplication.c
scilab/modules/operations/src/cpp/types_addition.cpp
scilab/modules/operations/src/cpp/types_comparison_eq.cpp
scilab/modules/operations/src/cpp/types_comparison_lt_le_gt_ge.cpp
scilab/modules/operations/src/cpp/types_divide.cpp
scilab/modules/operations/src/cpp/types_kronecker.cpp
scilab/modules/operations/src/cpp/types_ldivide.cpp
scilab/modules/operations/src/cpp/types_multiplication.cpp
scilab/modules/operations/src/cpp/types_or_and.cpp
scilab/modules/operations/src/cpp/types_power.cpp
scilab/modules/operations/src/cpp/types_substraction.cpp
scilab/modules/output_stream/includes/scilab_sprintf.hxx
scilab/modules/output_stream/sci_gateway/cpp/sci_disp.cpp
scilab/modules/output_stream/src/cpp/scilab_sprintf.cpp
scilab/modules/sparse/sci_gateway/cpp/sci_sparse.cpp
scilab/modules/sparse/sci_gateway/cpp/sci_spzeros.cpp
scilab/modules/string/sci_gateway/cpp/sci_ascii.cpp
scilab/modules/string/sci_gateway/cpp/sci_string.cpp
scilab/modules/string/sci_gateway/cpp/sci_stripblanks.cpp
scilab/modules/types/includes/bool.hxx
scilab/modules/types/includes/cell.hxx
scilab/modules/types/includes/colon.hxx
scilab/modules/types/includes/container.hxx
scilab/modules/types/includes/dollar.hxx
scilab/modules/types/includes/double.hxx
scilab/modules/types/includes/float.hxx
scilab/modules/types/includes/function.hxx
scilab/modules/types/includes/graphichandle.hxx
scilab/modules/types/includes/implicitlist.hxx
scilab/modules/types/includes/int16.hxx
scilab/modules/types/includes/int32.hxx
scilab/modules/types/includes/int64.hxx
scilab/modules/types/includes/int8.hxx
scilab/modules/types/includes/internal.hxx
scilab/modules/types/includes/library.hxx
scilab/modules/types/includes/list.hxx
scilab/modules/types/includes/listdelete.hxx
scilab/modules/types/includes/listinsert.hxx
scilab/modules/types/includes/listoperation.hxx
scilab/modules/types/includes/listundefined.hxx
scilab/modules/types/includes/macro.hxx
scilab/modules/types/includes/macrofile.hxx
scilab/modules/types/includes/mlist.hxx
scilab/modules/types/includes/polynom.hxx
scilab/modules/types/includes/singlepoly.hxx
scilab/modules/types/includes/singlestruct.hxx
scilab/modules/types/includes/sparse.hxx
scilab/modules/types/includes/string.hxx
scilab/modules/types/includes/struct.hxx
scilab/modules/types/includes/threadId.hxx
scilab/modules/types/includes/tlist.hxx
scilab/modules/types/includes/types.hxx
scilab/modules/types/includes/uint16.hxx
scilab/modules/types/includes/uint32.hxx
scilab/modules/types/includes/uint64.hxx
scilab/modules/types/includes/uint8.hxx
scilab/modules/types/includes/user.hxx
scilab/modules/types/includes/void.hxx
scilab/modules/types/sci_gateway/cpp/sci_isfield.cpp
scilab/modules/types/src/cpp/bool.cpp
scilab/modules/types/src/cpp/double.cpp
scilab/modules/types/src/cpp/float.cpp
scilab/modules/types/src/cpp/graphichandle.cpp
scilab/modules/types/src/cpp/implicitlist.cpp
scilab/modules/types/src/cpp/listdelete.cpp
scilab/modules/types/src/cpp/listinsert.cpp
scilab/modules/types/src/cpp/listoperation.cpp
scilab/modules/types/src/cpp/listundefined.cpp
scilab/modules/types/src/cpp/macro.cpp
scilab/modules/types/src/cpp/macrofile.cpp
scilab/modules/types/src/cpp/polynom.cpp
scilab/modules/types/src/cpp/singlepoly.cpp
scilab/modules/types/src/cpp/sparse.cpp
scilab/modules/types/src/cpp/string.cpp
scilab/modules/types/src/cpp/threadId.cpp
scilab/modules/types/src/cpp/void.cpp

index f98a820..528f4a1 100644 (file)
@@ -2,22 +2,22 @@
 /* Template toolbox_skeleton */
 /* This file is released under the 3-clause BSD license. See COPYING-BSD. */
 /* ==================================================================== */
-#include "function.hxx"
+#include "api_scilab.hxx"
 #include "Scierror.h"
 #include "localization.h"
 
 /* ==================================================================== */
-types::Function::ReturnValue sci_cpperror(types::typed_list &in, int _iRetCount, types::typed_list &out)
+api_scilab::Status sci_cpperror(api_scilab::input &in, int _iRetCount, api_scilab::output &out)
 {
     if (in.size() != 1)
     {
         Scierror(999, _d("toolbox_skeleton", "%s: I'm waiting for only one argument.\n"), "cerror");
-        return types::Function::Error;
+        return api_scilab::Error;
     }
     else
     {
         Scierror(999, _d("toolbox_skeleton", "%s: Yeah! %d is a good number of arguments but I prefer fail, sorry.\n"), "cerror", 1);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 }
 /* ==================================================================== */
index 178d73f..f9a45ae 100644 (file)
@@ -3,18 +3,10 @@
 /* Example detail in "API_scilab getting started" help page */
 /* This file is released under the 3-clause BSD license. See COPYING-BSD. */
 /* ==================================================================== */
-#include "function.hxx"
-#include "double.hxx"
-#include "bool.hxx"
-
-extern "C"
-{
-#include "Scierror.h"
-#include "localization.h"
-}
+#include "api_scilab.hxx"
 
 /* ==================================================================== */
-types::Function::ReturnValue sci_cppfoo(types::typed_list &in, int _iRetCount, types::typed_list &out)
+api_scilab::Status sci_cppfoo(api_scilab::input &in, int _iRetCount, api_scilab::output &out)
 {
     ////////// Check the number of input and output arguments //////////
     /* --> [c, d] = foo(a, b) */
@@ -22,48 +14,48 @@ types::Function::ReturnValue sci_cppfoo(types::typed_list &in, int _iRetCount, t
     if (in.size() != 2)
     {
         Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "cppfoo", 2);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 
     /* check that we have only 2 output argument */
     if (_iRetCount != 2)
     {
         Scierror(78, _("%s: Wrong number of output argument(s): %d expected."), "cppfoo", 2);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 
     ////////// Manage the first input argument (double) //////////
 
     /* Check that the first input argument is a real matrix (and not complex) */
-    if (in[0]->getType() != types::InternalType::RealDouble || in[0]->getAs<types::Double>()->isComplex())
+    if (api_scilab::isDouble(in[0]) == false || api_scilab::getAsDouble(in[0])->isComplex())
     {
         Scierror(999, _("%s: Wrong type for input argument #%d: A real matrix expected.\n"), "cppfoo", 1);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 
-    types::Double* pdbl = in[0]->getAs<types::Double>();
+    api_scilab::Double* pdbl = api_scilab::getAsDouble(in[0]);
 
     ////////// Manage the second input argument (boolean) //////////
-    if (in[1]->getType() != types::InternalType::RealBool)
+    if (api_scilab::isBool(in[1]) == false)
     {
         Scierror(999, _("%s: Wrong type for input argument #%d: A boolean matrix expected.\n"), "cppfoo", 2);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 
-    types::Bool* pb = in[0]->getAs<types::Bool>();
+    api_scilab::Bool* pb = api_scilab::getAsBool(in[1]);
 
 
     ////////// Application code //////////
     // Could be replaced by a call to a library
 
-    types::Double* pOut1 = new types::Double(pdbl->getDims(), pdbl->getDimsArray());
+    api_scilab::Double* pOut1 = new api_scilab::Double(pdbl->getDims(), pdbl->getDimsArray());
     for (int i = 0 ; i < pdbl->getSize() ; ++i)
     {
         /* For each element of the matrix, multiply by 2 */
         pOut1->set(i, pdbl->get(i) * 2);
     }
 
-    types::Bool* pOut2 = new types::Bool(pb->getDims(), pb->getDimsArray());
+    api_scilab::Bool* pOut2 = new api_scilab::Bool(pb->getDims(), pb->getDimsArray());
     for (int i = 0 ; i < pb->getSize() ; ++i)
     {
         /* For each element of the matrix, invert the value */
@@ -71,9 +63,16 @@ types::Function::ReturnValue sci_cppfoo(types::typed_list &in, int _iRetCount, t
     }
 
     ////////// return output parameters //////////
-    out.push_back(pOut1);
-    out.push_back(pOut2);
-    return types::Function::OK;
+    out.push_back(api_scilab::getReturnVariable(pOut1));
+    out.push_back(api_scilab::getReturnVariable(pOut2));
+
+    //clear api variables
+    delete pdbl;
+    delete pb;
+    delete pOut1;
+    delete pOut2;
+    //return gateway status
+    return api_scilab::OK;
 }
 /* ==================================================================== */
 
index 591c9db..94808ec 100644 (file)
@@ -2,10 +2,7 @@
 /* Template toolbox_skeleton */
 /* This file is released under the 3-clause BSD license. See COPYING-BSD. */
 /* ==================================================================== */
-#include "function.hxx"
-#include "double.hxx"
-#include "Scierror.h"
-#include "localization.h"
+#include "api_scilab.hxx"
 
 extern "C"
 {
@@ -13,7 +10,7 @@ extern "C"
 }
 
 /* ==================================================================== */
-types::Function::ReturnValue sci_cppmultiplybypi(types::typed_list &in, int _iRetCount, types::typed_list &out)
+api_scilab::Status sci_cppmultiplybypi(api_scilab::input &in, int _iRetCount, api_scilab::output &out)
 {
     /* --> result = multiplybypi(8) */
     /* --> result = multiplybypi([12, 42; 42, 12]) */
@@ -22,28 +19,28 @@ types::Function::ReturnValue sci_cppmultiplybypi(types::typed_list &in, int _iRe
     if (in.size() != 1)
     {
         Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "cppmultiplybypi", 1);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 
     /* check that we have only 1 output argument */
     if (_iRetCount != 1)
     {
         Scierror(78, _("%s: Wrong number of output argument(s): %d expected."), "cppmultiplybypi", 1);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 
     /* check input type */
-    if (in[0]->getType() != types::InternalType::RealDouble)
+    if (api_scilab::isDouble(in[0]) == false)
     {
         Scierror(999, _("%s: Wrong type for input argument #%d: A matrix expected.\n"), "cppmultiplybypi", 1);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 
     /* get matrix */
-    types::Double* pdblIn = in[0]->getAs<types::Double>();
+    api_scilab::Double* pdblIn = api_scilab::getAsDouble(in[0]);
 
     //create output variable
-    types::Double* pdblOut = new types::Double(pdblIn->getDims(), pdblIn->getDimsArray());
+    api_scilab::Double* pdblOut = new api_scilab::Double(pdblIn->getDims(), pdblIn->getDimsArray());
 
     /* The difference with the csum & csub is that we give the argument as copy
      * and not as reference */
@@ -54,8 +51,13 @@ types::Function::ReturnValue sci_cppmultiplybypi(types::typed_list &in, int _iRe
     }
 
     //set output paramter
-    out.push_back(pdblOut);
-    return types::Function::OK;
+    out.push_back(api_scilab::getReturnVariable(pdblOut));
+
+    //clear api variables
+    delete pdblIn;
+    delete pdblOut;
+    //return gateway status
+    return api_scilab::OK;
 }
 /* ==================================================================== */
 
index b708ca6..3eceb02 100644 (file)
@@ -2,10 +2,7 @@
 /* Template toolbox_skeleton */
 /* This file is released under the 3-clause BSD license. See COPYING-BSD. */
 /* ==================================================================== */
-#include "function.hxx"
-#include "double.hxx"
-#include "Scierror.h"
-#include "localization.h"
+#include "api_scilab.hxx"
 
 extern "C"
 {
@@ -13,7 +10,7 @@ extern "C"
 }
 
 /* ==================================================================== */
-types::Function::ReturnValue sci_cppsub(types::typed_list &in, int _iRetCount, types::typed_list &out)
+api_scilab::Status sci_cppsub(api_scilab::input &in, int _iRetCount, api_scilab::output &out)
 {
     /* --> result = csub(3,8)
 
@@ -21,53 +18,58 @@ types::Function::ReturnValue sci_cppsub(types::typed_list &in, int _iRetCount, t
     if (in.size() != 2)
     {
         Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "cpp_sub", 2);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 
     /* check that we have only 1 output argument */
     if (_iRetCount != 1)
     {
         Scierror(78, _("%s: Wrong number of output argument(s): %d expected."), "cpp_sub", 1);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 
-    if (in[0]->isDouble() == false)
+    if (api_scilab::isDouble(in[0]) == false)
     {
         Scierror(999, _("%s: Wrong type for input argument #%d: A scalar expected.\n"), "cpp_sub", 1);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 
-    types::Double* pIn1 = in[0]->getAs<types::Double>();
+    api_scilab::Double* pIn1 = api_scilab::getAsDouble(in[0]);
 
     if (in[1]->isDouble() == false)
     {
         Scierror(999, _("%s: Wrong type for input argument #%d: A scalar expected.\n"), "cpp_sub", 2);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 
-    types::Double* pIn2 = in[1]->getAs<types::Double>();
+    api_scilab::Double* pIn2 = api_scilab::getAsDouble(in[1]);
 
     /* check size */
     if (pIn1->getSize() != 1)
     {
         Scierror(999, _("%s: Wrong size for input argument #%d: A scalar expected.\n"), "cpp_sub", 1);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 
     if (pIn2->getSize() != 1)
     {
         Scierror(999, _("%s: Wrong size for input argument #%d: A scalar expected.\n"), "cpp_sub", 2);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 
-    types::Double* pOut = new types::Double(1, 1);
+    api_scilab::Double* pOut = new api_scilab::Double(1, 1);
     /* call c function csub */
     csub(pIn1->get(), pIn2->get(), pOut->get());
 
     /* return result */
-    out.push_back(pOut);
+    out.push_back(api_scilab::getReturnVariable(pOut));
 
-    return types::Function::OK;
+    //clear api variables
+    delete pIn2;
+    delete pIn1;
+    delete pOut;
+    //return gateway status
+    return api_scilab::OK;
 }
 /* ==================================================================== */
 
index 0d9d783..41f9607 100644 (file)
@@ -2,10 +2,7 @@
 /* Template toolbox_skeleton */
 /* This file is released under the 3-clause BSD license. See COPYING-BSD. */
 /* ==================================================================== */
-#include "function.hxx"
-#include "double.hxx"
-#include "Scierror.h"
-#include "localization.h"
+#include "api_scilab.hxx"
 
 extern "C"
 {
@@ -13,7 +10,7 @@ extern "C"
 }
 
 /* ==================================================================== */
-types::Function::ReturnValue sci_cppsum(types::typed_list &in, int _iRetCount, types::typed_list &out)
+api_scilab::Status sci_cppsum(api_scilab::input &in, int _iRetCount, api_scilab::output &out)
 {
     /* --> result = csum(3,8)
 
@@ -21,53 +18,57 @@ types::Function::ReturnValue sci_cppsum(types::typed_list &in, int _iRetCount, t
     if (in.size() != 2)
     {
         Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "cpp_sum", 2);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 
     /* check that we have only 1 output argument */
     if (_iRetCount != 1)
     {
         Scierror(78, _("%s: Wrong number of output argument(s): %d expected."), "cpp_sum", 1);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 
-    if (in[0]->isDouble() == false)
+    if (api_scilab::isDouble(in[0]) == false)
     {
         Scierror(999, _("%s: Wrong type for input argument #%d: A scalar expected.\n"), "cpp_sum", 1);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 
-    types::Double* pIn1 = in[0]->getAs<types::Double>();
-
+    api_scilab::Double* pIn1 = api_scilab::getAsDouble(in[0]);
     if (in[1]->isDouble() == false)
     {
         Scierror(999, _("%s: Wrong type for input argument #%d: A scalar expected.\n"), "cpp_sum", 2);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 
-    types::Double* pIn2 = in[1]->getAs<types::Double>();
+    api_scilab::Double* pIn2 = api_scilab::getAsDouble(in[1]);
 
     /* check size */
     if (pIn1->getSize() != 1)
     {
         Scierror(999, _("%s: Wrong size for input argument #%d: A scalar expected.\n"), "cpp_sum", 1);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 
     if (pIn2->getSize() != 1)
     {
         Scierror(999, _("%s: Wrong size for input argument #%d: A scalar expected.\n"), "cpp_sum", 2);
-        return types::Function::Error;
+        return api_scilab::Error;
     }
 
-    types::Double* pOut = new types::Double(1, 1);
+    api_scilab::Double* pOut = new api_scilab::Double(1, 1);
     /* call c function csub */
     csum(pIn1->get(), pIn2->get(), pOut->get());
 
     /* return result */
-    out.push_back(pOut);
+    out.push_back(api_scilab::getReturnVariable(pOut));
 
-    return types::Function::OK;
+    //clear api variables
+    delete pIn2;
+    delete pIn1;
+    delete pOut;
+    //return gateway status
+    return api_scilab::OK;
 }
 /* ==================================================================== */
 
index 564bd65..da6f9f2 100644 (file)
@@ -22,7 +22,16 @@ src/cpp/overload.cpp \
 src/cpp/returnProperty.cpp \
 src/cpp/returnPropertyList.cpp \
 src/cpp/api_optional.cpp \
-src/cpp/api_hypermat.cpp
+src/cpp/api_hypermat.cpp \
+src/cpp/api_boolean_cpp.cpp \
+src/cpp/api_common_cpp.cpp \
+src/cpp/api_double_cpp.cpp \
+src/cpp/api_int_cpp.cpp \
+src/cpp/api_list_cpp.cpp \
+src/cpp/api_sparse_cpp.cpp \
+src/cpp/api_string_cpp.cpp \
+src/cpp/api_pointer_cpp.cpp \
+src/cpp/api_handle_cpp.cpp
 
 libsciapi_scilab_la_CPPFLAGS= \
 -I$(srcdir)/includes/ \
index f34195d..620464d 100644 (file)
@@ -183,7 +183,16 @@ am__objects_1 = src/cpp/libsciapi_scilab_la-api_boolean.lo \
        src/cpp/libsciapi_scilab_la-returnProperty.lo \
        src/cpp/libsciapi_scilab_la-returnPropertyList.lo \
        src/cpp/libsciapi_scilab_la-api_optional.lo \
-       src/cpp/libsciapi_scilab_la-api_hypermat.lo
+       src/cpp/libsciapi_scilab_la-api_hypermat.lo \
+       src/cpp/libsciapi_scilab_la-api_boolean_cpp.lo \
+       src/cpp/libsciapi_scilab_la-api_common_cpp.lo \
+       src/cpp/libsciapi_scilab_la-api_double_cpp.lo \
+       src/cpp/libsciapi_scilab_la-api_int_cpp.lo \
+       src/cpp/libsciapi_scilab_la-api_list_cpp.lo \
+       src/cpp/libsciapi_scilab_la-api_sparse_cpp.lo \
+       src/cpp/libsciapi_scilab_la-api_string_cpp.lo \
+       src/cpp/libsciapi_scilab_la-api_pointer_cpp.lo \
+       src/cpp/libsciapi_scilab_la-api_handle_cpp.lo
 am_libsciapi_scilab_la_OBJECTS = $(am__objects_1)
 libsciapi_scilab_la_OBJECTS = $(am_libsciapi_scilab_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
@@ -561,7 +570,16 @@ src/cpp/overload.cpp \
 src/cpp/returnProperty.cpp \
 src/cpp/returnPropertyList.cpp \
 src/cpp/api_optional.cpp \
-src/cpp/api_hypermat.cpp
+src/cpp/api_hypermat.cpp \
+src/cpp/api_boolean_cpp.cpp \
+src/cpp/api_common_cpp.cpp \
+src/cpp/api_double_cpp.cpp \
+src/cpp/api_int_cpp.cpp \
+src/cpp/api_list_cpp.cpp \
+src/cpp/api_sparse_cpp.cpp \
+src/cpp/api_string_cpp.cpp \
+src/cpp/api_pointer_cpp.cpp \
+src/cpp/api_handle_cpp.cpp
 
 libsciapi_scilab_la_CPPFLAGS = \
 -I$(srcdir)/includes/ \
@@ -817,6 +835,24 @@ src/cpp/libsciapi_scilab_la-api_optional.lo: src/cpp/$(am__dirstamp) \
        src/cpp/$(DEPDIR)/$(am__dirstamp)
 src/cpp/libsciapi_scilab_la-api_hypermat.lo: src/cpp/$(am__dirstamp) \
        src/cpp/$(DEPDIR)/$(am__dirstamp)
+src/cpp/libsciapi_scilab_la-api_boolean_cpp.lo:  \
+       src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp)
+src/cpp/libsciapi_scilab_la-api_common_cpp.lo:  \
+       src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp)
+src/cpp/libsciapi_scilab_la-api_double_cpp.lo:  \
+       src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp)
+src/cpp/libsciapi_scilab_la-api_int_cpp.lo: src/cpp/$(am__dirstamp) \
+       src/cpp/$(DEPDIR)/$(am__dirstamp)
+src/cpp/libsciapi_scilab_la-api_list_cpp.lo: src/cpp/$(am__dirstamp) \
+       src/cpp/$(DEPDIR)/$(am__dirstamp)
+src/cpp/libsciapi_scilab_la-api_sparse_cpp.lo:  \
+       src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp)
+src/cpp/libsciapi_scilab_la-api_string_cpp.lo:  \
+       src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp)
+src/cpp/libsciapi_scilab_la-api_pointer_cpp.lo:  \
+       src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp)
+src/cpp/libsciapi_scilab_la-api_handle_cpp.lo:  \
+       src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp)
 
 libsciapi_scilab.la: $(libsciapi_scilab_la_OBJECTS) $(libsciapi_scilab_la_DEPENDENCIES) $(EXTRA_libsciapi_scilab_la_DEPENDENCIES) 
        $(AM_V_CXXLD)$(libsciapi_scilab_la_LINK) $(am_libsciapi_scilab_la_rpath) $(libsciapi_scilab_la_OBJECTS) $(libsciapi_scilab_la_LIBADD) $(LIBS)
@@ -830,19 +866,28 @@ distclean-compile:
        -rm -f *.tab.c
 
 @AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_boolean.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_boolean_cpp.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_boolean_sparse.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_common.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_common_cpp.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_double.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_double_cpp.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_error.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_handle.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_handle_cpp.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_hypermat.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_int.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_int_cpp.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_list.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_list_cpp.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_optional.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_pointer.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_pointer_cpp.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_poly.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_sparse.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_sparse_cpp.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_string.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_string_cpp.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-overload.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-returnProperty.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciapi_scilab_la-returnPropertyList.Plo@am__quote@
@@ -990,6 +1035,69 @@ src/cpp/libsciapi_scilab_la-api_hypermat.lo: src/cpp/api_hypermat.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciapi_scilab_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libsciapi_scilab_la-api_hypermat.lo `test -f 'src/cpp/api_hypermat.cpp' || echo '$(srcdir)/'`src/cpp/api_hypermat.cpp
 
+src/cpp/libsciapi_scilab_la-api_boolean_cpp.lo: src/cpp/api_boolean_cpp.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciapi_scilab_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libsciapi_scilab_la-api_boolean_cpp.lo -MD -MP -MF src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_boolean_cpp.Tpo -c -o src/cpp/libsciapi_scilab_la-api_boolean_cpp.lo `test -f 'src/cpp/api_boolean_cpp.cpp' || echo '$(srcdir)/'`src/cpp/api_boolean_cpp.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_boolean_cpp.Tpo src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_boolean_cpp.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/api_boolean_cpp.cpp' object='src/cpp/libsciapi_scilab_la-api_boolean_cpp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciapi_scilab_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libsciapi_scilab_la-api_boolean_cpp.lo `test -f 'src/cpp/api_boolean_cpp.cpp' || echo '$(srcdir)/'`src/cpp/api_boolean_cpp.cpp
+
+src/cpp/libsciapi_scilab_la-api_common_cpp.lo: src/cpp/api_common_cpp.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciapi_scilab_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libsciapi_scilab_la-api_common_cpp.lo -MD -MP -MF src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_common_cpp.Tpo -c -o src/cpp/libsciapi_scilab_la-api_common_cpp.lo `test -f 'src/cpp/api_common_cpp.cpp' || echo '$(srcdir)/'`src/cpp/api_common_cpp.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_common_cpp.Tpo src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_common_cpp.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/api_common_cpp.cpp' object='src/cpp/libsciapi_scilab_la-api_common_cpp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciapi_scilab_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libsciapi_scilab_la-api_common_cpp.lo `test -f 'src/cpp/api_common_cpp.cpp' || echo '$(srcdir)/'`src/cpp/api_common_cpp.cpp
+
+src/cpp/libsciapi_scilab_la-api_double_cpp.lo: src/cpp/api_double_cpp.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciapi_scilab_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libsciapi_scilab_la-api_double_cpp.lo -MD -MP -MF src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_double_cpp.Tpo -c -o src/cpp/libsciapi_scilab_la-api_double_cpp.lo `test -f 'src/cpp/api_double_cpp.cpp' || echo '$(srcdir)/'`src/cpp/api_double_cpp.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_double_cpp.Tpo src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_double_cpp.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/api_double_cpp.cpp' object='src/cpp/libsciapi_scilab_la-api_double_cpp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciapi_scilab_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libsciapi_scilab_la-api_double_cpp.lo `test -f 'src/cpp/api_double_cpp.cpp' || echo '$(srcdir)/'`src/cpp/api_double_cpp.cpp
+
+src/cpp/libsciapi_scilab_la-api_int_cpp.lo: src/cpp/api_int_cpp.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciapi_scilab_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libsciapi_scilab_la-api_int_cpp.lo -MD -MP -MF src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_int_cpp.Tpo -c -o src/cpp/libsciapi_scilab_la-api_int_cpp.lo `test -f 'src/cpp/api_int_cpp.cpp' || echo '$(srcdir)/'`src/cpp/api_int_cpp.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_int_cpp.Tpo src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_int_cpp.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/api_int_cpp.cpp' object='src/cpp/libsciapi_scilab_la-api_int_cpp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciapi_scilab_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libsciapi_scilab_la-api_int_cpp.lo `test -f 'src/cpp/api_int_cpp.cpp' || echo '$(srcdir)/'`src/cpp/api_int_cpp.cpp
+
+src/cpp/libsciapi_scilab_la-api_list_cpp.lo: src/cpp/api_list_cpp.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciapi_scilab_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libsciapi_scilab_la-api_list_cpp.lo -MD -MP -MF src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_list_cpp.Tpo -c -o src/cpp/libsciapi_scilab_la-api_list_cpp.lo `test -f 'src/cpp/api_list_cpp.cpp' || echo '$(srcdir)/'`src/cpp/api_list_cpp.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_list_cpp.Tpo src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_list_cpp.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/api_list_cpp.cpp' object='src/cpp/libsciapi_scilab_la-api_list_cpp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciapi_scilab_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libsciapi_scilab_la-api_list_cpp.lo `test -f 'src/cpp/api_list_cpp.cpp' || echo '$(srcdir)/'`src/cpp/api_list_cpp.cpp
+
+src/cpp/libsciapi_scilab_la-api_sparse_cpp.lo: src/cpp/api_sparse_cpp.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciapi_scilab_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libsciapi_scilab_la-api_sparse_cpp.lo -MD -MP -MF src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_sparse_cpp.Tpo -c -o src/cpp/libsciapi_scilab_la-api_sparse_cpp.lo `test -f 'src/cpp/api_sparse_cpp.cpp' || echo '$(srcdir)/'`src/cpp/api_sparse_cpp.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_sparse_cpp.Tpo src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_sparse_cpp.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/api_sparse_cpp.cpp' object='src/cpp/libsciapi_scilab_la-api_sparse_cpp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciapi_scilab_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libsciapi_scilab_la-api_sparse_cpp.lo `test -f 'src/cpp/api_sparse_cpp.cpp' || echo '$(srcdir)/'`src/cpp/api_sparse_cpp.cpp
+
+src/cpp/libsciapi_scilab_la-api_string_cpp.lo: src/cpp/api_string_cpp.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciapi_scilab_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libsciapi_scilab_la-api_string_cpp.lo -MD -MP -MF src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_string_cpp.Tpo -c -o src/cpp/libsciapi_scilab_la-api_string_cpp.lo `test -f 'src/cpp/api_string_cpp.cpp' || echo '$(srcdir)/'`src/cpp/api_string_cpp.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_string_cpp.Tpo src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_string_cpp.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/api_string_cpp.cpp' object='src/cpp/libsciapi_scilab_la-api_string_cpp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciapi_scilab_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libsciapi_scilab_la-api_string_cpp.lo `test -f 'src/cpp/api_string_cpp.cpp' || echo '$(srcdir)/'`src/cpp/api_string_cpp.cpp
+
+src/cpp/libsciapi_scilab_la-api_pointer_cpp.lo: src/cpp/api_pointer_cpp.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciapi_scilab_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libsciapi_scilab_la-api_pointer_cpp.lo -MD -MP -MF src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_pointer_cpp.Tpo -c -o src/cpp/libsciapi_scilab_la-api_pointer_cpp.lo `test -f 'src/cpp/api_pointer_cpp.cpp' || echo '$(srcdir)/'`src/cpp/api_pointer_cpp.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_pointer_cpp.Tpo src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_pointer_cpp.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/api_pointer_cpp.cpp' object='src/cpp/libsciapi_scilab_la-api_pointer_cpp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciapi_scilab_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libsciapi_scilab_la-api_pointer_cpp.lo `test -f 'src/cpp/api_pointer_cpp.cpp' || echo '$(srcdir)/'`src/cpp/api_pointer_cpp.cpp
+
+src/cpp/libsciapi_scilab_la-api_handle_cpp.lo: src/cpp/api_handle_cpp.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciapi_scilab_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libsciapi_scilab_la-api_handle_cpp.lo -MD -MP -MF src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_handle_cpp.Tpo -c -o src/cpp/libsciapi_scilab_la-api_handle_cpp.lo `test -f 'src/cpp/api_handle_cpp.cpp' || echo '$(srcdir)/'`src/cpp/api_handle_cpp.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_handle_cpp.Tpo src/cpp/$(DEPDIR)/libsciapi_scilab_la-api_handle_cpp.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/api_handle_cpp.cpp' object='src/cpp/libsciapi_scilab_la-api_handle_cpp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciapi_scilab_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libsciapi_scilab_la-api_handle_cpp.lo `test -f 'src/cpp/api_handle_cpp.cpp' || echo '$(srcdir)/'`src/cpp/api_handle_cpp.cpp
+
 mostlyclean-libtool:
        -rm -f *.lo
 
index 62b2233..6ce064f 100644 (file)
@@ -307,19 +307,28 @@ cd .. &gt;nul
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="src\cpp\api_boolean.cpp" />
+    <ClCompile Include="src\cpp\api_boolean_cpp.cpp" />
     <ClCompile Include="src\cpp\api_boolean_sparse.cpp" />
     <ClCompile Include="src\cpp\api_common.cpp" />
+    <ClCompile Include="src\cpp\api_common_cpp.cpp" />
     <ClCompile Include="src\cpp\api_double.cpp" />
+    <ClCompile Include="src\cpp\api_double_cpp.cpp" />
     <ClCompile Include="src\cpp\api_error.cpp" />
     <ClCompile Include="src\cpp\api_handle.cpp" />
+    <ClCompile Include="src\cpp\api_handle_cpp.cpp" />
     <ClCompile Include="src\cpp\api_hypermat.cpp" />
     <ClCompile Include="src\cpp\api_int.cpp" />
+    <ClCompile Include="src\cpp\api_int_cpp.cpp" />
     <ClCompile Include="src\cpp\api_list.cpp" />
+    <ClCompile Include="src\cpp\api_list_cpp.cpp" />
     <ClCompile Include="src\cpp\api_optional.cpp" />
     <ClCompile Include="src\cpp\api_pointer.cpp" />
+    <ClCompile Include="src\cpp\api_pointer_cpp.cpp" />
     <ClCompile Include="src\cpp\api_poly.cpp" />
     <ClCompile Include="src\cpp\api_sparse.cpp" />
+    <ClCompile Include="src\cpp\api_sparse_cpp.cpp" />
     <ClCompile Include="src\cpp\api_string.cpp" />
+    <ClCompile Include="src\cpp\api_string_cpp.cpp" />
     <ClCompile Include="src\cpp\returnProperty.cpp" />
     <ClCompile Include="src\cpp\returnPropertyList.cpp" />
     <ClCompile Include="src\c\DllmainApi_scilab.c" />
@@ -327,14 +336,25 @@ cd .. &gt;nul
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="includes\api_boolean.h" />
+    <ClInclude Include="includes\api_boolean.hxx" />
     <ClInclude Include="includes\api_boolean_sparse.h" />
     <ClInclude Include="includes\api_common.h" />
+    <ClInclude Include="includes\api_common.hxx" />
     <ClInclude Include="includes\api_double.h" />
+    <ClInclude Include="includes\api_double.hxx" />
     <ClInclude Include="includes\api_error.h" />
     <ClInclude Include="includes\api_handle.h" />
+    <ClInclude Include="includes\api_handle.hxx" />
     <ClInclude Include="includes\api_hypermat.h" />
     <ClInclude Include="includes\api_int.h" />
+    <ClInclude Include="includes\api_int.hxx" />
+    <ClInclude Include="includes\api_list.hxx" />
     <ClInclude Include="includes\api_optional.h" />
+    <ClInclude Include="includes\api_pointer.hxx" />
+    <ClInclude Include="includes\api_scilab.hxx" />
+    <ClInclude Include="includes\api_sparse.hxx" />
+    <ClInclude Include="includes\api_string.hxx" />
+    <ClInclude Include="includes\api_variable.hxx" />
     <ClInclude Include="includes\returnProperty.h" />
     <ClInclude Include="includes\returnPropertyList.h" />
     <ClInclude Include="src\cpp\api_internal_boolean_sparse.h" />
index a6072df..9296795 100644 (file)
     <ClCompile Include="src\cpp\api_hypermat.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="src\cpp\api_double_cpp.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\cpp\api_common_cpp.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\cpp\api_string_cpp.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\cpp\api_int_cpp.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\cpp\api_boolean_cpp.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\cpp\api_sparse_cpp.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\cpp\api_handle_cpp.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\cpp\api_pointer_cpp.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\cpp\api_list_cpp.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="includes\api_boolean.h">
     <ClInclude Include="includes\api_hypermat.h">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="includes\api_scilab.hxx">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="includes\api_double.hxx">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="includes\api_common.hxx">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="includes\api_string.hxx">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="includes\api_variable.hxx">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="includes\api_int.hxx">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="includes\api_boolean.hxx">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="includes\api_sparse.hxx">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="includes\api_handle.hxx">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="includes\api_pointer.hxx">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="includes\api_list.hxx">
+      <Filter>Header Files</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="src\c\api_scilab.rc">
diff --git a/scilab/modules/api_scilab/includes/api_boolean.hxx b/scilab/modules/api_scilab/includes/api_boolean.hxx
new file mode 100644 (file)
index 0000000..78c6077
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ */
+
+#ifdef _MSC_VER
+#pragma warning( disable : 4275 )
+#endif
+
+#ifndef __API_BOOLEAN_HXX__
+#define __API_BOOLEAN_HXX__
+
+#include "bool.hxx"
+#include "api_variable.hxx"
+
+namespace api_scilab
+{
+class API_SCILAB_IMPEXP Bool : public MatrixT<int, types::Bool>
+{
+private :
+    //internal constructor for existing variable
+    Bool(types::Bool& _pdbl)
+    {
+        data = &_pdbl;
+        created = false;
+    }
+
+public :
+    Bool(bool _bVal);
+    Bool(int _bVal);
+    Bool(int _iRows, int _iCols);
+    Bool(int _iDims, int* _piDims);
+    Bool(int _iRows, int _iCols, int **_piData);
+    virtual ~Bool()
+    {
+        if (created)
+        {
+            delete data;
+        }
+    };
+
+    static Bool* getAsBool(types::InternalType* _pdbl);
+
+    types::InternalType::ScilabType getType()
+    {
+        return types::InternalType::ScilabBool;
+    }
+};
+}
+
+#ifdef _MSC_VER
+template class api_scilab::MatrixT<int, types::Bool>;
+#endif
+
+#endif /* !__API_BOOLEAN_HXX__ */
\ No newline at end of file
diff --git a/scilab/modules/api_scilab/includes/api_common.hxx b/scilab/modules/api_scilab/includes/api_common.hxx
new file mode 100644 (file)
index 0000000..047846d
--- /dev/null
@@ -0,0 +1,95 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ */
+
+#ifdef _MSC_VER
+#pragma warning( disable : 4275 )
+#endif
+
+#ifndef __API_COMMON_HXX__
+#define __API_COMMON_HXX__
+
+#include "api_scilab.hxx"
+#include "types.hxx"
+#include "function.hxx"
+
+namespace api_scilab
+{
+const types::Function::ReturnValue OK = types::Function::OK;
+const types::Function::ReturnValue Error = types::Function::Error;
+typedef types::Function::ReturnValue Status;
+typedef types::typed_list input;
+typedef types::typed_list output;
+typedef types::typed_list optional;
+API_SCILAB_IMPEXP types::InternalType::ScilabType getType(types::InternalType* _pIT);
+API_SCILAB_IMPEXP types::InternalType* getReturnVariable(Variable* _pVar);
+
+API_SCILAB_IMPEXP Variable* getAsVariable(types::InternalType* _pIT);
+
+API_SCILAB_IMPEXP bool isMatrix(types::InternalType* _pIT);
+API_SCILAB_IMPEXP Matrix* getAsMatrix(types::InternalType* _pIT);
+
+/*Double*/
+API_SCILAB_IMPEXP bool isDouble(types::InternalType* _pIT);
+API_SCILAB_IMPEXP Double* getAsDouble(types::InternalType* _pIT);
+
+/*String*/
+API_SCILAB_IMPEXP bool isString(types::InternalType* _pIT);
+API_SCILAB_IMPEXP String* getAsString(types::InternalType* _pIT);
+
+/*Boolean*/
+API_SCILAB_IMPEXP bool isBoolean(types::InternalType* _pIT);
+API_SCILAB_IMPEXP bool isBool(types::InternalType* _pIT);
+API_SCILAB_IMPEXP Bool* getAsBool(types::InternalType* _pIT);
+API_SCILAB_IMPEXP Bool* getAsBoolean(types::InternalType* _pIT);
+
+/*Int*/
+API_SCILAB_IMPEXP bool isInt(types::InternalType* _pIT);
+API_SCILAB_IMPEXP bool isInt8(types::InternalType* _pIT);
+API_SCILAB_IMPEXP bool isUInt8(types::InternalType* _pIT);
+API_SCILAB_IMPEXP bool isInt16(types::InternalType* _pIT);
+API_SCILAB_IMPEXP bool isUInt16(types::InternalType* _pIT);
+API_SCILAB_IMPEXP bool isInt32(types::InternalType* _pIT);
+API_SCILAB_IMPEXP bool isUInt32(types::InternalType* _pIT);
+API_SCILAB_IMPEXP bool isInt64(types::InternalType* _pIT);
+API_SCILAB_IMPEXP bool isUInt64(types::InternalType* _pIT);
+
+API_SCILAB_IMPEXP Int8* getAsInt8(types::InternalType* _pIT);
+API_SCILAB_IMPEXP UInt8* getAsUInt8(types::InternalType* _pIT);
+API_SCILAB_IMPEXP Int16* getAsInt16(types::InternalType* _pIT);
+API_SCILAB_IMPEXP UInt16* getAsUInt16(types::InternalType* _pIT);
+API_SCILAB_IMPEXP Int32* getAsInt32(types::InternalType* _pIT);
+API_SCILAB_IMPEXP UInt32* getAsUInt32(types::InternalType* _pIT);
+API_SCILAB_IMPEXP Int64* getAsInt64(types::InternalType* _pIT);
+API_SCILAB_IMPEXP UInt64* getAsUInt64(types::InternalType* _pIT);
+
+API_SCILAB_IMPEXP bool isSparse(types::InternalType* _pIT);
+API_SCILAB_IMPEXP Sparse* getAsSparse(types::InternalType* _pIT);
+
+API_SCILAB_IMPEXP bool isHandle(types::InternalType* _pIT);
+API_SCILAB_IMPEXP bool isGraphicHandle(types::InternalType* _pIT);
+API_SCILAB_IMPEXP GraphicHandle* getAsHandle(types::InternalType* _pIT);
+API_SCILAB_IMPEXP GraphicHandle* getAsGraphicHandle(types::InternalType* _pIT);
+
+API_SCILAB_IMPEXP bool isPointer(types::InternalType* _pIT);
+API_SCILAB_IMPEXP Pointer* getAsPointer(types::InternalType* _pIT);
+
+API_SCILAB_IMPEXP bool isList(types::InternalType* _pIT);
+API_SCILAB_IMPEXP List* getAsList(types::InternalType* _pIT);
+
+API_SCILAB_IMPEXP bool isTList(types::InternalType* _pIT);
+API_SCILAB_IMPEXP TList* getAsTList(types::InternalType* _pIT);
+
+API_SCILAB_IMPEXP bool isMList(types::InternalType* _pIT);
+API_SCILAB_IMPEXP MList* getAsMList(types::InternalType* _pIT);
+}
+
+#endif /* ! __API_COMMON_HXX__ */
+
diff --git a/scilab/modules/api_scilab/includes/api_double.hxx b/scilab/modules/api_scilab/includes/api_double.hxx
new file mode 100644 (file)
index 0000000..d6338d5
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ */
+
+#ifdef _MSC_VER
+#pragma warning( disable : 4275 )
+#endif
+
+#ifndef __API_DOUBLE_HXX__
+#define __API_DOUBLE_HXX__
+
+#include "double.hxx"
+#include "api_variable.hxx"
+
+namespace api_scilab
+{
+class API_SCILAB_IMPEXP Double : public MatrixT<double, types::Double>
+{
+private :
+    //internal constructor for existing variable
+    Double(types::Double& _pdbl)
+    {
+        data = &_pdbl;
+        created = false;
+    }
+
+public :
+    Double(double _dbl);
+    Double(double _dblR, double _dblI);
+    Double(int _iRows, int _iCols, bool _bComplex = false);
+    Double(int _iRows, int _iCols, double** _pdbl);
+    Double(int _iRows, int _iCols, double** _pdblR, double** _pdblI);
+    Double(int _iDims, int* _piDims, bool _bComplex = false);
+    virtual ~Double()
+    {
+        if (created)
+        {
+            delete data;
+        }
+    };
+
+    static Double* getAsDouble(types::InternalType* _pdbl);
+
+    types::InternalType::ScilabType getType()
+    {
+        return types::InternalType::ScilabDouble;
+    }
+};
+}
+
+#ifdef _MSC_VER
+template class api_scilab::MatrixT<double, types::Double>;
+#endif
+
+#endif /* !__API_DOUBLE_HXX__ */
\ No newline at end of file
diff --git a/scilab/modules/api_scilab/includes/api_handle.hxx b/scilab/modules/api_scilab/includes/api_handle.hxx
new file mode 100644 (file)
index 0000000..de38e5b
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ */
+
+#ifdef _MSC_VER
+#pragma warning( disable : 4275 )
+#endif
+
+#ifndef __API_HANDLE_HXX__
+#define __API_HANDLE_HXX__
+
+#include "graphichandle.hxx"
+#include "api_variable.hxx"
+
+namespace api_scilab
+{
+class API_SCILAB_IMPEXP GraphicHandle : public MatrixT<long long, types::GraphicHandle>
+{
+private :
+    //internal constructor for existing variable
+    GraphicHandle(types::GraphicHandle& _pdbl)
+    {
+        data = &_pdbl;
+        created = false;
+    }
+
+public :
+    GraphicHandle(long long _handle);
+    GraphicHandle(int _iRows, int _iCols);
+    GraphicHandle(int _iDims, int* _piDims);
+    virtual ~GraphicHandle()
+    {
+        if (created)
+        {
+            delete data;
+        }
+    };
+
+    static GraphicHandle* getAsGraphicHandle(types::InternalType* _pdbl);
+
+    types::InternalType::ScilabType getType()
+    {
+        return types::InternalType::ScilabHandle;
+    }
+};
+}
+
+#ifdef _MSC_VER
+template class api_scilab::MatrixT<long long, types::GraphicHandle>;
+#endif
+
+#endif /* !__API_HANDLE_HXX__ */
\ No newline at end of file
diff --git a/scilab/modules/api_scilab/includes/api_int.hxx b/scilab/modules/api_scilab/includes/api_int.hxx
new file mode 100644 (file)
index 0000000..3b3d3dc
--- /dev/null
@@ -0,0 +1,288 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ */
+
+#ifdef _MSC_VER
+#pragma warning( disable : 4275 )
+#endif
+
+#ifndef __API_INT_HXX__
+#define __API_INT_HXX__
+
+#include "int.hxx"
+#include "api_variable.hxx"
+
+namespace api_scilab
+{
+class API_SCILAB_IMPEXP Int8 : public MatrixT<char, types::Int8>
+{
+private :
+    //internal constructor for existing variable
+    Int8(types::Int8& _pdbl)
+    {
+        data = &_pdbl;
+        created = false;
+    }
+
+public :
+    Int8(char _cVal);
+    Int8(int _iRows, int _iCols);
+    Int8(int _iDims, int* _piDims);
+    Int8(int _iRows, int _iCols, char** _pcData);
+    virtual ~Int8()
+    {
+        if (created)
+        {
+            delete data;
+        }
+    };
+
+    static Int8* getAsInt8(types::InternalType* _pdbl);
+
+    types::InternalType::ScilabType getType()
+    {
+        return types::InternalType::ScilabInt8;
+    }
+};
+
+class API_SCILAB_IMPEXP UInt8 : public MatrixT<unsigned char, types::UInt8>
+{
+private :
+    //internal constructor for existing variable
+    UInt8(types::UInt8& _pdbl)
+    {
+        data = &_pdbl;
+        created = false;
+    }
+
+public :
+    UInt8(unsigned char _ucVal);
+    UInt8(int _iRows, int _iCols);
+    UInt8(int _iDims, int* _piDims);
+    UInt8(int _iRows, int _iCols, unsigned char** _pucData);
+    virtual ~UInt8()
+    {
+        if (created)
+        {
+            delete data;
+        }
+    };
+
+    static UInt8* getAsUInt8(types::InternalType* _pdbl);
+
+    types::InternalType::ScilabType getType()
+    {
+        return types::InternalType::ScilabUInt8;
+    }
+};
+
+class API_SCILAB_IMPEXP Int16 : public MatrixT<short, types::Int16>
+{
+private :
+    //internal constructor for existing variable
+    Int16(types::Int16& _pdbl)
+    {
+        data = &_pdbl;
+        created = false;
+    }
+
+public :
+    Int16(short _sVal);
+    Int16(int _iRows, int _iCols);
+    Int16(int _iDims, int* _piDims);
+    Int16(int _iRows, int _iCols, short** _psData);
+    virtual ~Int16()
+    {
+        if (created)
+        {
+            delete data;
+        }
+    };
+
+    static Int16* getAsInt16(types::InternalType* _pdbl);
+
+    types::InternalType::ScilabType getType()
+    {
+        return types::InternalType::ScilabInt16;
+    }
+};
+
+class API_SCILAB_IMPEXP UInt16 : public MatrixT<unsigned short, types::UInt16>
+{
+private :
+    //internal constructor for existing variable
+    UInt16(types::UInt16& _pdbl)
+    {
+        data = &_pdbl;
+        created = false;
+    }
+
+public :
+    UInt16(unsigned short _usVal);
+    UInt16(int _iRows, int _iCols);
+    UInt16(int _iDims, int* _piDims);
+    UInt16(int _iRows, int _iCols, unsigned short** _pusData);
+    virtual ~UInt16()
+    {
+        if (created)
+        {
+            delete data;
+        }
+    };
+
+    static UInt16* getAsUInt16(types::InternalType* _pdbl);
+
+    types::InternalType::ScilabType getType()
+    {
+        return types::InternalType::ScilabUInt16;
+    }
+};
+
+class API_SCILAB_IMPEXP Int32 : public MatrixT<int, types::Int32>
+{
+private :
+    //internal constructor for existing variable
+    Int32(types::Int32& _pdbl)
+    {
+        data = &_pdbl;
+        created = false;
+    }
+
+public :
+    Int32(int _iVal);
+    Int32(int _iRows, int _iCols);
+    Int32(int _iDims, int* _piDims);
+    Int32(int _iRows, int _iCols, int** _piData);
+    virtual ~Int32()
+    {
+        if (created)
+        {
+            delete data;
+        }
+    };
+
+    static Int32* getAsInt32(types::InternalType* _pdbl);
+
+    types::InternalType::ScilabType getType()
+    {
+        return types::InternalType::ScilabInt32;
+    }
+};
+
+class API_SCILAB_IMPEXP UInt32 : public MatrixT<unsigned int, types::UInt32>
+{
+private :
+    //internal constructor for existing variable
+    UInt32(types::UInt32& _pdbl)
+    {
+        data = &_pdbl;
+        created = false;
+    }
+
+public :
+    UInt32(unsigned int _uiVal);
+    UInt32(int _iRows, int _iCols);
+    UInt32(int _iDims, int* _piDims);
+    UInt32(int _iRows, int _iCols, unsigned int** _puiData);
+    virtual ~UInt32()
+    {
+        if (created)
+        {
+            delete data;
+        }
+    };
+
+    static UInt32* getAsUInt32(types::InternalType* _pdbl);
+
+    types::InternalType::ScilabType getType()
+    {
+        return types::InternalType::ScilabUInt32;
+    }
+};
+
+class API_SCILAB_IMPEXP Int64 : public MatrixT<long long, types::Int64>
+{
+private :
+    //internal constructor for existing variable
+    Int64(types::Int64& _pdbl)
+    {
+        data = &_pdbl;
+        created = false;
+    }
+
+public :
+    Int64(long long _llVal);
+    Int64(int _iRows, int _iCols);
+    Int64(int _iDims, int* _piDims);
+    Int64(int _iRows, int _iCols, long long** _pllData);
+    virtual ~Int64()
+    {
+        if (created)
+        {
+            delete data;
+        }
+    };
+
+    static Int64* getAsInt64(types::InternalType* _pdbl);
+
+    types::InternalType::ScilabType getType()
+    {
+        return types::InternalType::ScilabInt64;
+    }
+};
+
+class API_SCILAB_IMPEXP UInt64 : public MatrixT<unsigned long long, types::UInt64>
+{
+private :
+    //internal constructor for existing variable
+    UInt64(types::UInt64& _pdbl)
+    {
+        data = &_pdbl;
+        created = false;
+    }
+
+public :
+    UInt64(unsigned long long _ullVal);
+    UInt64(int _iRows, int _iCols);
+    UInt64(int _iDims, int* _piDims);
+    UInt64(int _iRows, int _iCols, unsigned long long** _pullData);
+    virtual ~UInt64()
+    {
+        if (created)
+        {
+            delete data;
+        }
+    };
+
+    static UInt64* getAsUInt64(types::InternalType* _pdbl);
+
+    types::InternalType::ScilabType getType()
+    {
+        return types::InternalType::ScilabUInt64;
+    }
+};
+
+}
+
+#ifdef _MSC_VER
+template class api_scilab::MatrixT<char, types::Int8>;
+template class api_scilab::MatrixT<unsigned char, types::UInt8>;
+
+template class api_scilab::MatrixT<short, types::Int16>;
+template class api_scilab::MatrixT<unsigned short, types::UInt16>;
+
+template class api_scilab::MatrixT<int, types::Int32>;
+template class api_scilab::MatrixT<unsigned int, types::UInt32>;
+
+template class api_scilab::MatrixT<long long, types::Int64>;
+template class api_scilab::MatrixT<unsigned long long, types::UInt64>;
+#endif
+
+#endif /* !__API_DOUBLE_HXX__ */
\ No newline at end of file
diff --git a/scilab/modules/api_scilab/includes/api_list.hxx b/scilab/modules/api_scilab/includes/api_list.hxx
new file mode 100644 (file)
index 0000000..3ee8289
--- /dev/null
@@ -0,0 +1,106 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ */
+
+#ifdef _MSC_VER
+#pragma warning( disable : 4275 )
+#endif
+
+#ifndef __API_LIST_HXX__
+#define __API_LIST_HXX__
+
+#include "list.hxx"
+#include "tlist.hxx"
+#include "mlist.hxx"
+#include "api_string.hxx"
+
+namespace api_scilab
+{
+class API_SCILAB_IMPEXP List : public Variable
+{
+protected :
+    types::List* data;
+    //internal constructor for existing variable
+    List(types::List& _p)
+    {
+        data = &_p;
+        created = false;
+    }
+
+public :
+    List();
+
+    virtual ~List()
+    {
+        if (created)
+        {
+            delete data;
+        }
+    };
+    void* getReturnVariable()
+    {
+        return (void*)data;
+    }
+    virtual types::InternalType::ScilabType getType()
+    {
+        return types::InternalType::ScilabList;
+    }
+    static List* getAsList(types::InternalType* _pIT);
+    virtual int getSize();
+
+    virtual Variable* get(const int _iIndex);
+    virtual bool set(const int _iIndex, Variable* _pV);
+
+};
+
+class API_SCILAB_IMPEXP TList : public List
+{
+private:
+    TList(types::TList& _p)
+    {
+        data = &_p;
+        created = false;
+    }
+public :
+    TList();
+
+    virtual types::InternalType::ScilabType getType()
+    {
+        return types::InternalType::ScilabTList;
+    }
+    static TList* getAsTList(types::InternalType* _pIT);
+
+    bool exists(const std::wstring& _sKey);
+    Variable* getField(const std::wstring& _sKey);
+    int getIndexFromString(const std::wstring& _sKey);
+    bool set(const std::wstring& _sKey, Variable* _pIT);
+    String* getFieldNames();
+};
+
+class API_SCILAB_IMPEXP MList : public TList
+{
+private:
+    MList(types::MList& _p)
+    {
+        data = &_p;
+        created = false;
+    }
+public :
+    MList();
+
+    virtual types::InternalType::ScilabType getType()
+    {
+        return types::InternalType::ScilabMList;
+    }
+    static MList* getAsMList(types::InternalType* _pIT);
+};
+}
+
+#endif /* !__API_LIST_HXX__ */
\ No newline at end of file
diff --git a/scilab/modules/api_scilab/includes/api_pointer.hxx b/scilab/modules/api_scilab/includes/api_pointer.hxx
new file mode 100644 (file)
index 0000000..d4f85de
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ */
+
+#ifdef _MSC_VER
+#pragma warning( disable : 4275 )
+#endif
+
+#ifndef __API_POINTER_HXX__
+#define __API_POINTER_HXX__
+
+#include "pointer.hxx"
+#include "api_pointer.hxx"
+#include "api_variable.hxx"
+
+namespace api_scilab
+{
+class API_SCILAB_IMPEXP Pointer : public Variable
+{
+private :
+    types::Pointer* data;
+    //internal constructor for existing variable
+    Pointer(types::Pointer& _p)
+    {
+        data = &_p;
+        created = false;
+    }
+
+public :
+    Pointer();
+    Pointer(void* _p);
+
+    virtual ~Pointer()
+    {
+        if (created)
+        {
+            delete data;
+        }
+    };
+    void* getReturnVariable()
+    {
+        return (void*)data;
+    }
+    types::InternalType::ScilabType getType()
+    {
+        return types::InternalType::ScilabUserType;
+    }
+    static Pointer* getAsPointer(types::InternalType* _pIT);
+    virtual int getSize();
+
+    void* get();
+    void set(void* _p);
+
+};
+}
+
+#endif /* !__API_POINTER_HXX__ */
\ No newline at end of file
diff --git a/scilab/modules/api_scilab/includes/api_scilab.hxx b/scilab/modules/api_scilab/includes/api_scilab.hxx
new file mode 100644 (file)
index 0000000..4a77b31
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution.  The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*/
+
+#ifdef _MSC_VER
+#pragma warning( disable : 4275 )
+#endif
+
+#ifndef __API_SCILAB_HXX__
+#define __API_SCILAB_HXX__
+
+#include "dynlib_api_scilab.h"
+#include "api_variable.hxx"
+#include "api_double.hxx"
+#include "api_string.hxx"
+#include "api_boolean.hxx"
+#include "api_int.hxx"
+#include "api_sparse.hxx"
+#include "api_handle.hxx"
+#include "api_pointer.hxx"
+#include "api_list.hxx"
+#include "api_common.hxx"
+#include "function.hxx"
+
+extern "C"
+{
+#include "Scierror.h"
+#include "localization.h"
+}
+#endif /* ! __API_SCILAB_HXX__ */
+
diff --git a/scilab/modules/api_scilab/includes/api_sparse.hxx b/scilab/modules/api_scilab/includes/api_sparse.hxx
new file mode 100644 (file)
index 0000000..777ae27
--- /dev/null
@@ -0,0 +1,79 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ */
+
+#ifdef _MSC_VER
+#pragma warning( disable : 4275 )
+#endif
+
+#ifndef __API_SPARSE_HXX__
+#define __API_SPARSE_HXX__
+
+#include "sparse.hxx"
+#include "api_double.hxx"
+#include "api_variable.hxx"
+
+namespace api_scilab
+{
+class API_SCILAB_IMPEXP Sparse : public Variable
+{
+private :
+    types::Sparse* data;
+    //internal constructor for existing variable
+    Sparse(types::Sparse& _sp)
+    {
+        data = &_sp;
+        created = false;
+    }
+
+public :
+    Sparse(Double& _pdbl);
+    Sparse(int _iRows, int _iCols, bool _bComplex = false);
+    Sparse(Double& _dblAadj, Double& _dblAdjncy, Double& _dblSrc, std::size_t _iRows, std::size_t _iCols);
+    virtual ~Sparse()
+    {
+        if (created)
+        {
+            delete data;
+        }
+    };
+    void* getReturnVariable()
+    {
+        return (void*)data;
+    }
+    types::InternalType::ScilabType getType()
+    {
+        return types::InternalType::ScilabSparse;
+    }
+    static Sparse* getAsSparse(types::InternalType* _pIT);
+
+    int getSize();
+    int getRows();
+    int getCols();
+
+    bool isScalar();
+    void setComplex(bool _bComplex);
+    bool isComplex();
+
+    double getReal(int _iRows, int _iCols) const;
+    double getReal(int _iIndex) const;
+    double get(int _iRows, int _iCols) const;
+    double get(int _iIndex) const;
+    std::complex<double> getImg(int _iRows, int _iCols) const;
+    std::complex<double> getImg(int _iIndex) const;
+
+    int* getNbItemByRow(int* _piNbItemByRows);
+    int* getColPos(int* _piColPos);
+    int nonZeros() const;
+
+};
+}
+
+#endif /* !__API_SPARSE_HXX__ */
\ No newline at end of file
diff --git a/scilab/modules/api_scilab/includes/api_string.hxx b/scilab/modules/api_scilab/includes/api_string.hxx
new file mode 100644 (file)
index 0000000..53b92e2
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ */
+
+#ifdef _MSC_VER
+#pragma warning( disable : 4275 )
+#endif
+
+#ifndef __API_STRING_HXX__
+#define __API_STRING_HXX__
+
+#include "string.hxx"
+#include "api_variable.hxx"
+
+namespace api_scilab
+{
+class API_SCILAB_IMPEXP String : public MatrixT<wchar_t*, types::String>
+{
+private :
+    //internal constructor for existing variable
+    String(types::String& _pdbl)
+    {
+        data = &_pdbl;
+        created = false;
+    }
+
+public :
+    String(int _iRows, int _iCols);
+    String(int _iDims, int* _piDims);
+    String(int _iRows, int _iCols, wchar_t** _pstData);
+    String(const wchar_t *_pstData);
+    String(const char *_pstData);
+
+    virtual ~String()
+    {
+        if (created)
+        {
+            delete data;
+        }
+    };
+
+    static String* getAsString(types::InternalType* _pdbl);
+
+    types::InternalType::ScilabType getType()
+    {
+        return types::InternalType::ScilabString;
+    }
+};
+}
+
+#ifdef _MSC_VER
+template class api_scilab::MatrixT<wchar_t*, types::String>;
+#endif
+
+#endif /* !__API_STRING_HXX__ */
\ No newline at end of file
diff --git a/scilab/modules/api_scilab/includes/api_variable.hxx b/scilab/modules/api_scilab/includes/api_variable.hxx
new file mode 100644 (file)
index 0000000..953d0bf
--- /dev/null
@@ -0,0 +1,349 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution.  The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*/
+
+
+#ifndef __API_VARIABLE_HXX__
+#define __API_VARIABLE_HXX__
+
+#include "dynlib_api_scilab.h"
+#include "internal.hxx"
+
+namespace api_scilab
+{
+class Variable
+{
+private :
+protected :
+    bool created;
+public :
+    Variable() {};
+    virtual ~Variable() {};
+
+    virtual types::InternalType::ScilabType getType() = 0;
+    void setReturnVariable()
+    {
+        created = false;
+    }
+
+    virtual void* getReturnVariable() = 0;
+    virtual int getSize() = 0;
+};
+
+class Matrix : public Variable
+{
+public :
+    Matrix() {};
+    virtual ~Matrix() {};
+
+    virtual int getDims() = 0;
+    virtual int* getDimsArray() = 0;
+    virtual int getRows() = 0;
+    virtual int getCols() = 0;
+    virtual int getSize() = 0;
+    virtual bool isScalar() = 0;
+    virtual bool isVector() = 0;
+    virtual bool isRowVector() = 0;
+    virtual bool isColVector() = 0;
+    virtual bool isHypermatrix() = 0;
+};
+
+template<class XType> //XType is types::Double for example
+class VariableT : public Matrix
+{
+protected :
+    XType* data;
+
+public :
+    VariableT() {};
+    virtual ~VariableT() {};
+
+    virtual void* getReturnVariable()
+    {
+        return (void*)data;
+    }
+
+};
+
+template<class Type, class XType> //Type is double and XType is Double
+class MatrixT : public VariableT<XType>
+{
+public :
+    virtual Type* getReal()
+    {
+        return get();
+    }
+    virtual Type* get()
+    {
+        if (this->data)
+        {
+            return this->data->get();
+        }
+
+        return NULL;
+    }
+
+    virtual Type* getImg()
+    {
+        if (this->data)
+        {
+            return this->data->getImg();
+        }
+
+        return NULL;
+    }
+
+    virtual Type getReal(int _iIndex)
+    {
+        return get(_iIndex);
+    }
+    virtual Type get(int _iIndex)
+    {
+        if (this->data)
+        {
+            return this->data->get(_iIndex);
+        }
+
+        return 0;
+    }
+
+
+    virtual Type getImg(int _iIndex)
+    {
+        if (this->data)
+        {
+            return this->data->getImg(_iIndex);
+        }
+
+        return 0;
+    }
+
+    virtual Type getReal(int* _piCoordinates)
+    {
+        return get(_piCoordinates);
+    }
+    virtual Type get(int* _piCoordinates)
+    {
+        if (this->data)
+        {
+            int index = this->data->getIndex(_piCoordinates);
+            return this->data->get(index);
+        }
+
+        return 0;
+    }
+
+    virtual Type getImg(int* _piCoordinates)
+    {
+        if (this->data)
+        {
+            int index = this->data->getIndex(_piCoordinates);
+            return this->data->getImg(index);
+        }
+
+        return 0;
+    }
+
+    virtual void setReal(int _iIndex, Type _dbl)
+    {
+        set(_iIndex, _dbl);
+    }
+    virtual void set(int _iIndex, Type _dbl)
+    {
+        if (this->data)
+        {
+            this->data->set(_iIndex, _dbl);
+        }
+    }
+
+    virtual void setImg(int _iIndex, Type _dbl)
+    {
+        if (this->data)
+        {
+            this->data->setImg(_iIndex, _dbl);
+        }
+    }
+
+    virtual void setReal(int* _piCoordinates, Type _dbl)
+    {
+        set(_piCoordinates, _dbl);
+    }
+    virtual void set(int* _piCoordinates, Type _dbl)
+    {
+        if (this->data)
+        {
+            int index = this->data->getIndex(_piCoordinates);
+            this->data->set(index, _dbl);
+        }
+    }
+
+    virtual void setImg(int* _piCoordinates, Type _dbl)
+    {
+        if (this->data)
+        {
+            int index = this->data->getIndex(_piCoordinates);
+            this->data->setImg(index, _dbl);
+        }
+    }
+
+    virtual void setReal(Type* _pdblCopy)
+    {
+        set(_pdblCopy);
+    }
+    virtual void set(Type* _pdblCopy)
+    {
+        if (this->data)
+        {
+            this->data->set(_pdblCopy);
+        }
+    }
+
+    virtual void setImg(Type* _pdblCopy)
+    {
+        if (this->data)
+        {
+            this->data->setImg(_pdblCopy);
+        }
+    }
+
+    virtual int getDims()
+    {
+        if (this->data)
+        {
+            return this->data->getDims();
+        }
+
+        return 0;
+    }
+
+    virtual int* getDimsArray()
+    {
+        if (this->data)
+        {
+            return this->data->getDimsArray();
+        }
+
+        return NULL;
+    }
+
+    virtual int getRows()
+    {
+        if (this->data)
+        {
+            return this->data->getRows();
+        }
+
+        return 0;
+    }
+
+    virtual int getCols()
+    {
+        if (this->data)
+        {
+            return this->data->getCols();
+        }
+
+        return 0;
+    }
+
+    virtual int getSize()
+    {
+        if (this->data)
+        {
+            return this->data->getSize();
+        }
+
+        return 0;
+    }
+
+    virtual bool isScalar()
+    {
+        if (this->data)
+        {
+            return this->data->getSize() == 1;
+        }
+
+        return false;
+    }
+
+    virtual bool isVector()
+    {
+        if (this->data)
+        {
+            return this->data->isVector();
+        }
+
+        return false;
+    }
+
+    virtual bool isRowVector()
+    {
+        if (this->data)
+        {
+            if (this->data->isVector() && this->data->getDimsArray()[0] != 1)
+            {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    virtual bool isColVector()
+    {
+        if (this->data)
+        {
+            if (this->data->isVector() && this->data->getDimsArray()[1] != 1)
+            {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    virtual bool isHypermatrix()
+    {
+        if (this->data)
+        {
+            return this->data->getDims() > 2;
+        }
+
+        return false;
+    }
+
+    virtual bool isComplex()
+    {
+        if (this->data)
+        {
+            return this->data->isComplex();
+        }
+
+        return false;
+    }
+
+    virtual void setComplex(bool _bComplex)
+    {
+        if (this->data)
+        {
+            return this->data->setComplex(_bComplex);
+        }
+    }
+
+};
+
+template <class XType>
+class Container : public VariableT<XType>
+{
+
+};
+}
+#endif /* ! __API_VARIABLE_HXX__ */
+
diff --git a/scilab/modules/api_scilab/src/cpp/api_boolean_cpp.cpp b/scilab/modules/api_scilab/src/cpp/api_boolean_cpp.cpp
new file mode 100644 (file)
index 0000000..89ac834
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ */
+
+#include "api_boolean.hxx"
+
+namespace api_scilab
+{
+Bool::Bool(bool _bVal)
+{
+    data = new types::Bool(_bVal ? 1 : 0);
+    created = true;
+}
+
+Bool::Bool(int _bVal)
+{
+    data = new types::Bool(_bVal);
+    created = true;
+}
+
+Bool::Bool(int _iRows, int _iCols)
+{
+    data = new types::Bool(_iRows, _iCols);
+    created = true;
+}
+
+Bool::Bool(int _iDims, int* _piDims)
+{
+    data = new types::Bool(_iDims, _piDims);
+    created = true;
+}
+
+Bool::Bool(int _iRows, int _iCols, int **_piData)
+{
+    data = new types::Bool(_iRows, _iCols, _piData);
+    created = true;
+}
+
+Bool* Bool::getAsBool(types::InternalType* _pIT)
+{
+    if (_pIT && _pIT->isBool())
+    {
+        return new Bool(*_pIT->getAs<types::Bool>());
+    }
+
+    return NULL;
+}
+}
index 5fe265e..1ce638c 100644 (file)
@@ -476,69 +476,69 @@ SciErr getVarType(void *_pvCtx, int *_piAddress, int *_piType)
 
     switch (((InternalType*)_piAddress)->getType())
     {
-        case GenericType::RealDouble :
+        case GenericType::ScilabDouble :
             *_piType = sci_matrix;
             break;
-        case GenericType::RealPoly :
+        case GenericType::ScilabPolynom :
             *_piType = sci_poly;
             break;
-        case GenericType::RealBool :
+        case GenericType::ScilabBool :
             *_piType = sci_boolean;
             break;
-        case GenericType::RealSparse :
+        case GenericType::ScilabSparse :
             *_piType = sci_sparse;
             break;
-        case GenericType::RealSparseBool :
+        case GenericType::ScilabSparseBool :
             *_piType = sci_boolean_sparse;
             break;
             //case GenericType::RealMatlabSparse :
             //    *_piType = sci_matlab_sparse;
             //    break;
-        case GenericType::RealInt8 :
-        case GenericType::RealUInt8 :
-        case GenericType::RealInt16 :
-        case GenericType::RealUInt16 :
-        case GenericType::RealInt32 :
-        case GenericType::RealUInt32 :
-        case GenericType::RealInt64 :
-        case GenericType::RealUInt64 :
+        case GenericType::ScilabInt8 :
+        case GenericType::ScilabUInt8 :
+        case GenericType::ScilabInt16 :
+        case GenericType::ScilabUInt16 :
+        case GenericType::ScilabInt32 :
+        case GenericType::ScilabUInt32 :
+        case GenericType::ScilabInt64 :
+        case GenericType::ScilabUInt64 :
             *_piType = sci_ints;
             break;
-        case GenericType::RealHandle :
+        case GenericType::ScilabHandle :
             *_piType = sci_handles;
             break;
-        case GenericType::RealString :
+        case GenericType::ScilabString :
             *_piType = sci_strings;
             break;
-        case GenericType::RealMacroFile :
+        case GenericType::ScilabMacroFile :
             *_piType = sci_u_function;
             break;
-        case GenericType::RealMacro :
+        case GenericType::ScilabMacro :
             *_piType = sci_c_function;
             break;
-        case GenericType::RealList :
+        case GenericType::ScilabList :
             *_piType = sci_list;
             break;
-        case GenericType::RealCell :
+        case GenericType::ScilabCell :
             *_piType = sci_mlist;
             break;
-        case GenericType::RealTList :
+        case GenericType::ScilabTList :
             *_piType = sci_tlist;
             break;
-        case GenericType::RealMList :
+        case GenericType::ScilabMList :
             *_piType = sci_mlist;
             break;
-        case GenericType::RealStruct :
+        case GenericType::ScilabStruct :
             // Scilab < 6 compatibility... Struct have type 17;
             *_piType = sci_mlist;
             break;
-        case GenericType::RealUserType :
+        case GenericType::ScilabUserType :
             *_piType = sci_pointer;
             break;
-        case GenericType::RealImplicitList :
+        case GenericType::ScilabImplicitList :
             *_piType = sci_implicit_poly;
             break;
-        case GenericType::RealFunction :
+        case GenericType::ScilabFunction :
             *_piType = sci_intrinsic_function;
             break;
         default :
diff --git a/scilab/modules/api_scilab/src/cpp/api_common_cpp.cpp b/scilab/modules/api_scilab/src/cpp/api_common_cpp.cpp
new file mode 100644 (file)
index 0000000..e818364
--- /dev/null
@@ -0,0 +1,431 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ */
+
+#include "api_common.hxx"
+
+namespace api_scilab
+{
+types::InternalType::ScilabType getType(types::InternalType* _pIT)
+{
+    if (_pIT)
+    {
+        return _pIT->getType();
+    }
+
+    return types::InternalType::ScilabNull;
+}
+
+types::InternalType* getReturnVariable(Variable* _pVar)
+{
+    _pVar->setReturnVariable();
+    return (types::InternalType*)_pVar->getReturnVariable();
+}
+
+Variable* getAsVariable(types::InternalType* _pIT)
+{
+    Variable* pOut = NULL;
+
+    switch (_pIT->getType())
+    {
+        case types::InternalType::ScilabDouble :
+        {
+            return getAsDouble(_pIT);
+        }
+        case types::InternalType::ScilabString :
+        {
+            return getAsString(_pIT);
+        }
+        case types::InternalType::ScilabBool :
+        {
+            return getAsBoolean(_pIT);
+        }
+        case types::InternalType::ScilabSparse :
+        {
+            return getAsSparse(_pIT);
+        }
+        case types::InternalType::ScilabSparseBool :
+        {
+            //return getAsSparseBool(_pIT);
+            return NULL;
+        }
+        case types::InternalType::ScilabHandle :
+        {
+            return getAsHandle(_pIT);
+        }
+        case types::InternalType::ScilabUserType :
+        {
+            return getAsPointer(_pIT);
+        }
+        case types::InternalType::ScilabList :
+        {
+            return getAsList(_pIT);
+        }
+        case types::InternalType::ScilabMList :
+        {
+            return getAsMList(_pIT);
+        }
+        case types::InternalType::ScilabTList :
+        {
+            return getAsTList(_pIT);
+        }
+        case types::InternalType::ScilabPolynom :
+        {
+            //return getAsPolynom(_pIT);
+            return NULL;
+        }
+        case types::InternalType::ScilabStruct :
+        {
+            //return getAsStruct(_pIT);
+            return NULL;
+        }
+        default:
+        {
+            return NULL;
+        }
+    }
+
+    return NULL;
+}
+
+bool isMatrix(types::InternalType* _pIT)
+{
+    switch (_pIT->getType())
+    {
+        case types::InternalType::ScilabDouble :
+        case types::InternalType::ScilabString :
+        case types::InternalType::ScilabBool :
+        case types::InternalType::ScilabInt8 :
+        case types::InternalType::ScilabUInt8 :
+        case types::InternalType::ScilabInt16 :
+        case types::InternalType::ScilabUInt16 :
+        case types::InternalType::ScilabInt32 :
+        case types::InternalType::ScilabUInt32 :
+        case types::InternalType::ScilabInt64 :
+        case types::InternalType::ScilabUInt64 :
+        case types::InternalType::ScilabSparse :
+        case types::InternalType::ScilabSparseBool :
+        case types::InternalType::ScilabHandle :
+        {
+            return true;
+        }
+        default :
+        {
+            return false;
+        }
+    }
+}
+
+Matrix* getAsMatrix(types::InternalType* _pIT)
+{
+    if (isMatrix(_pIT))
+    {
+        return dynamic_cast<Matrix*>(getAsVariable(_pIT));
+    }
+
+    return NULL;
+}
+
+/* Double */
+bool isDouble(types::InternalType* _pIT)
+{
+    return _pIT->isDouble();
+}
+
+Double* getAsDouble(types::InternalType* _pIT)
+{
+    if (_pIT->isDouble())
+    {
+        return Double::getAsDouble(_pIT);
+    }
+
+    return NULL;
+}
+
+/* String */
+bool isString(types::InternalType* _pIT)
+{
+    return _pIT->isString();
+}
+
+String* getAsString(types::InternalType* _pIT)
+{
+    if (_pIT->isString())
+    {
+        return String::getAsString(_pIT);
+    }
+
+    return NULL;
+}
+
+/* Boolean */
+bool isBoolean(types::InternalType* _pIT)
+{
+    return _pIT->isBool();
+}
+
+bool isBool(types::InternalType* _pIT)
+{
+    return _pIT->isBool();
+}
+
+Bool* getAsBoolean(types::InternalType* _pIT)
+{
+    if (_pIT->isBool())
+    {
+        return Bool::getAsBool(_pIT);
+    }
+
+    return NULL;
+}
+
+Bool* getAsBool(types::InternalType* _pIT)
+{
+    if (_pIT->isBool())
+    {
+        return Bool::getAsBool(_pIT);
+    }
+
+    return NULL;
+}
+
+/* Int */
+bool isInt(types::InternalType* _pIT)
+{
+    return _pIT->isInt();
+}
+
+bool isInt8(types::InternalType* _pIT)
+{
+    return _pIT->isInt8();
+}
+
+bool isUInt8(types::InternalType* _pIT)
+{
+    return _pIT->isUInt8();
+}
+
+bool isInt16(types::InternalType* _pIT)
+{
+    return _pIT->isInt16();
+}
+
+bool isUInt16(types::InternalType* _pIT)
+{
+    return _pIT->isUInt16();
+}
+
+bool isInt32(types::InternalType* _pIT)
+{
+    return _pIT->isInt32();
+}
+
+bool isUInt32(types::InternalType* _pIT)
+{
+    return _pIT->isUInt32();
+}
+
+bool isInt64(types::InternalType* _pIT)
+{
+    return _pIT->isInt64();
+}
+
+bool isUInt64(types::InternalType* _pIT)
+{
+    return _pIT->isUInt64();
+}
+
+Int8* getAsInt8(types::InternalType* _pIT)
+{
+    if (_pIT->isInt8())
+    {
+        return Int8::getAsInt8(_pIT);
+    }
+
+    return NULL;
+}
+
+UInt8* getAsUInt8(types::InternalType* _pIT)
+{
+    if (_pIT->isUInt8())
+    {
+        return UInt8::getAsUInt8(_pIT);
+    }
+
+    return NULL;
+}
+
+Int16* getAsInt16(types::InternalType* _pIT)
+{
+    if (_pIT->isInt16())
+    {
+        return Int16::getAsInt16(_pIT);
+    }
+
+    return NULL;
+}
+
+UInt16* getAsUInt16(types::InternalType* _pIT)
+{
+    if (_pIT->isUInt16())
+    {
+        return UInt16::getAsUInt16(_pIT);
+    }
+
+    return NULL;
+}
+
+Int32* getAsInt32(types::InternalType* _pIT)
+{
+    if (_pIT->isInt32())
+    {
+        return Int32::getAsInt32(_pIT);
+    }
+
+    return NULL;
+}
+
+UInt32* getAsUInt32(types::InternalType* _pIT)
+{
+    if (_pIT->isUInt32())
+    {
+        return UInt32::getAsUInt32(_pIT);
+    }
+
+    return NULL;
+}
+
+Int64* getAsInt64(types::InternalType* _pIT)
+{
+    if (_pIT->isInt64())
+    {
+        return Int64::getAsInt64(_pIT);
+    }
+
+    return NULL;
+}
+
+UInt64* getAsUInt64(types::InternalType* _pIT)
+{
+    if (_pIT->isUInt64())
+    {
+        return UInt64::getAsUInt64(_pIT);
+    }
+
+    return NULL;
+}
+
+/* Sparse */
+bool isSparse(types::InternalType* _pIT)
+{
+    return _pIT->isSparse();
+}
+
+Sparse* getAsSparse(types::InternalType* _pIT)
+{
+    if (_pIT->isSparse())
+    {
+        return Sparse::getAsSparse(_pIT);
+    }
+
+    return NULL;
+}
+
+bool isHandle(types::InternalType* _pIT)
+{
+    return _pIT->isHandle();
+}
+
+bool isGraphicHandle(types::InternalType* _pIT)
+{
+    return _pIT->isHandle();
+}
+
+GraphicHandle* getAsHandle(types::InternalType* _pIT)
+{
+    if (_pIT->isHandle())
+    {
+        return GraphicHandle::getAsGraphicHandle(_pIT);
+    }
+
+    return NULL;
+}
+
+GraphicHandle* getAsGraphicHandle(types::InternalType* _pIT)
+{
+    if (_pIT->isHandle())
+    {
+        return GraphicHandle::getAsGraphicHandle(_pIT);
+    }
+
+    return NULL;
+}
+
+bool isPointer(types::InternalType* _pIT)
+{
+    return _pIT->isPointer();
+}
+
+Pointer* getAsPointer(types::InternalType* _pIT)
+{
+    if (_pIT->isPointer())
+    {
+        return Pointer::getAsPointer(_pIT);
+    }
+
+    return NULL;
+}
+
+bool isList(types::InternalType* _pIT)
+{
+    return _pIT->isList();
+}
+
+List* getAsList(types::InternalType* _pIT)
+{
+    if (_pIT->isList())
+    {
+        return List::getAsList(_pIT);
+    }
+
+    return NULL;
+}
+
+bool isTList(types::InternalType* _pIT)
+{
+    return _pIT->isTList();
+}
+
+TList* getAsTList(types::InternalType* _pIT)
+{
+    if (_pIT->isTList())
+    {
+        return TList::getAsTList(_pIT);
+    }
+
+    return NULL;
+}
+
+bool isMList(types::InternalType* _pIT)
+{
+    return _pIT->isMList();
+}
+
+MList* getAsMList(types::InternalType* _pIT)
+{
+    if (_pIT->isMList())
+    {
+        return MList::getAsMList(_pIT);
+    }
+
+    return NULL;
+}
+
+}
diff --git a/scilab/modules/api_scilab/src/cpp/api_double_cpp.cpp b/scilab/modules/api_scilab/src/cpp/api_double_cpp.cpp
new file mode 100644 (file)
index 0000000..9f3390d
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ */
+
+#include "api_double.hxx"
+
+namespace api_scilab
+{
+Double::Double(double _dbl)
+{
+    data = new types::Double(_dbl);
+    created = true;
+}
+
+Double::Double(double _dblR, double _dblI)
+{
+    data = new types::Double(_dblR, _dblI);
+    created = true;
+}
+
+Double::Double(int _iRows, int _iCols, bool _bComplex)
+{
+    data = new types::Double(_iRows, _iCols, _bComplex);
+    created = true;
+}
+
+Double::Double(int _iRows, int _iCols, double** _pdbl)
+{
+    data = new types::Double(_iRows, _iCols, _pdbl);
+    created = true;
+}
+
+Double::Double(int _iRows, int _iCols, double** _pdblR, double** _pdblI)
+{
+    data = new types::Double(_iRows, _iCols, _pdblR, _pdblI);
+    created = true;
+}
+
+Double::Double(int _iDims, int* _piDims, bool _bComplex)
+{
+    data = new types::Double(_iDims, _piDims, _bComplex);
+    created = true;
+}
+
+Double* Double::getAsDouble(types::InternalType* _pIT)
+{
+    if (_pIT && _pIT->isDouble())
+    {
+        return new Double(*_pIT->getAs<types::Double>());
+    }
+
+    return NULL;
+}
+}
diff --git a/scilab/modules/api_scilab/src/cpp/api_handle_cpp.cpp b/scilab/modules/api_scilab/src/cpp/api_handle_cpp.cpp
new file mode 100644 (file)
index 0000000..9101561
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ */
+
+#include "api_handle.hxx"
+
+namespace api_scilab
+{
+GraphicHandle::GraphicHandle(long long _handle)
+{
+    data = new types::GraphicHandle(_handle);
+    created = true;
+}
+
+GraphicHandle::GraphicHandle(int _iRows, int _iCols)
+{
+    data = new types::GraphicHandle(_iRows, _iCols);
+    created = true;
+}
+
+GraphicHandle::GraphicHandle(int _iDims, int* _piDims)
+{
+    data = new types::GraphicHandle(_iDims, _piDims);
+    created = true;
+}
+
+GraphicHandle* GraphicHandle::getAsGraphicHandle(types::InternalType* _pIT)
+{
+    if (_pIT && _pIT->isHandle())
+    {
+        return new GraphicHandle(*_pIT->getAs<types::GraphicHandle>());
+    }
+
+    return NULL;
+}
+}
index 8bebf60..cfe755e 100644 (file)
@@ -49,28 +49,28 @@ SciErr getMatrixOfIntegerPrecision(void* _pvCtx, int* _piAddress, int* _piPrecis
 
     switch (((InternalType*)_piAddress)->getType())
     {
-        case GenericType::RealInt8 :
+        case GenericType::ScilabInt8 :
             *_piPrecision = SCI_INT8;
             break;
-        case GenericType::RealUInt8 :
+        case GenericType::ScilabUInt8 :
             *_piPrecision = SCI_UINT8;
             break;
-        case GenericType::RealInt16 :
+        case GenericType::ScilabInt16 :
             *_piPrecision = SCI_INT16;
             break;
-        case GenericType::RealUInt16 :
+        case GenericType::ScilabUInt16 :
             *_piPrecision = SCI_UINT16;
             break;
-        case GenericType::RealInt32 :
+        case GenericType::ScilabInt32 :
             *_piPrecision = SCI_INT32;
             break;
-        case GenericType::RealUInt32 :
+        case GenericType::ScilabUInt32 :
             *_piPrecision = SCI_UINT32;
             break;
-        case GenericType::RealInt64 :
+        case GenericType::ScilabInt64 :
             *_piPrecision = SCI_INT64;
             break;
-        case GenericType::RealUInt64 :
+        case GenericType::ScilabUInt64 :
             *_piPrecision = SCI_UINT64;
             break;
     }
@@ -154,28 +154,28 @@ SciErr getCommonMatrixOfInteger(void* _pvCtx, int* _piAddress, int _iPrecision,
 
     switch (((InternalType*)_piAddress)->getType())
     {
-        case GenericType::RealInt8 :
+        case GenericType::ScilabInt8 :
             *_piData   = (void*)((InternalType*)_piAddress)->getAs<types::Int8>()->get();
             break;
-        case GenericType::RealUInt8 :
+        case GenericType::ScilabUInt8 :
             *_piData   = (void*)((InternalType*)_piAddress)->getAs<types::UInt8>()->get();
             break;
-        case GenericType::RealInt16 :
+        case GenericType::ScilabInt16 :
             *_piData   = (void*)((InternalType*)_piAddress)->getAs<types::Int16>()->get();
             break;
-        case GenericType::RealUInt16 :
+        case GenericType::ScilabUInt16 :
             *_piData   = (void*)((InternalType*)_piAddress)->getAs<types::UInt16>()->get();
             break;
-        case GenericType::RealInt32 :
+        case GenericType::ScilabInt32 :
             *_piData   = (void*)((InternalType*)_piAddress)->getAs<types::Int32>()->get();
             break;
-        case GenericType::RealUInt32 :
+        case GenericType::ScilabUInt32 :
             *_piData   = (void*)((InternalType*)_piAddress)->getAs<types::UInt32>()->get();
             break;
-        case GenericType::RealInt64 :
+        case GenericType::ScilabInt64 :
             *_piData   = (void*)((InternalType*)_piAddress)->getAs<types::Int64>()->get();
             break;
-        case GenericType::RealUInt64 :
+        case GenericType::ScilabUInt64 :
             *_piData   = (void*)((InternalType*)_piAddress)->getAs<types::UInt64>()->get();
             break;
     }
@@ -832,28 +832,28 @@ SciErr getNamedMatrixOfIntegerPrecision(void* _pvCtx, const char* _pstName, int*
 
     switch (pIT->getType())
     {
-        case InternalType::RealInt8 :
+        case InternalType::ScilabInt8 :
             *_piPrecision = sci_int8;
             break;
-        case InternalType::RealUInt8 :
+        case InternalType::ScilabUInt8 :
             *_piPrecision = sci_uint8;
             break;
-        case InternalType::RealInt16 :
+        case InternalType::ScilabInt16 :
             *_piPrecision = sci_int16;
             break;
-        case InternalType::RealUInt16 :
+        case InternalType::ScilabUInt16 :
             *_piPrecision = sci_uint16;
             break;
-        case InternalType::RealInt32 :
+        case InternalType::ScilabInt32 :
             *_piPrecision = sci_int32;
             break;
-        case InternalType::RealUInt32 :
+        case InternalType::ScilabUInt32 :
             *_piPrecision = sci_uint32;
             break;
-        case InternalType::RealInt64 :
+        case InternalType::ScilabInt64 :
             *_piPrecision = sci_int64;
             break;
-        case InternalType::RealUInt64 :
+        case InternalType::ScilabUInt64 :
             *_piPrecision = sci_uint64;
             break;
         default :
diff --git a/scilab/modules/api_scilab/src/cpp/api_int_cpp.cpp b/scilab/modules/api_scilab/src/cpp/api_int_cpp.cpp
new file mode 100644 (file)
index 0000000..d2b4a7d
--- /dev/null
@@ -0,0 +1,287 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ */
+
+#include "api_int.hxx"
+
+namespace api_scilab
+{
+Int8::Int8(char _cVal)
+{
+    data = new types::Int8(_cVal);
+    created = true;
+}
+
+Int8::Int8(int _iRows, int _iCols)
+{
+    data = new types::Int8(_iRows, _iCols);
+    created = true;
+}
+
+Int8::Int8(int _iDims, int* _piDims)
+{
+    data = new types::Int8(_iDims, _piDims);
+    created = true;
+}
+
+Int8::Int8(int _iRows, int _iCols, char** _pcData)
+{
+    data = new types::Int8(_iRows, _iCols, _pcData);
+    created = true;
+}
+
+Int8* Int8::getAsInt8(types::InternalType* _pIT)
+{
+    if (_pIT && _pIT->isInt8())
+    {
+        return new Int8(*_pIT->getAs<types::Int8>());
+    }
+
+    return NULL;
+}
+
+UInt8::UInt8(unsigned char _ucVal)
+{
+    data = new types::UInt8(_ucVal);
+    created = true;
+}
+
+UInt8::UInt8(int _iRows, int _iCols)
+{
+    data = new types::UInt8(_iRows, _iCols);
+    created = true;
+}
+
+UInt8::UInt8(int _iDims, int* _piDims)
+{
+    data = new types::UInt8(_iDims, _piDims);
+    created = true;
+}
+
+UInt8::UInt8(int _iRows, int _iCols, unsigned char** _pucData)
+{
+    data = new types::UInt8(_iRows, _iCols, _pucData);
+    created = true;
+}
+
+UInt8* UInt8::getAsUInt8(types::InternalType* _pIT)
+{
+    if (_pIT && _pIT->isUInt8())
+    {
+        return new UInt8(*_pIT->getAs<types::UInt8>());
+    }
+
+    return NULL;
+}
+
+Int16::Int16(short _sVal)
+{
+    data = new types::Int16(_sVal);
+    created = true;
+}
+
+Int16::Int16(int _iRows, int _iCols)
+{
+    data = new types::Int16(_iRows, _iCols);
+    created = true;
+}
+
+Int16::Int16(int _iDims, int* _piDims)
+{
+    data = new types::Int16(_iDims, _piDims);
+    created = true;
+}
+
+Int16::Int16(int _iRows, int _iCols, short** _psData)
+{
+    data = new types::Int16(_iRows, _iCols, _psData);
+    created = true;
+}
+
+Int16* Int16::getAsInt16(types::InternalType* _pIT)
+{
+    if (_pIT && _pIT->isInt16())
+    {
+        return new Int16(*_pIT->getAs<types::Int16>());
+    }
+
+    return NULL;
+}
+
+UInt16::UInt16(unsigned short _usVal)
+{
+    data = new types::UInt16(_usVal);
+    created = true;
+}
+
+UInt16::UInt16(int _iRows, int _iCols)
+{
+    data = new types::UInt16(_iRows, _iCols);
+    created = true;
+}
+
+UInt16::UInt16(int _iDims, int* _piDims)
+{
+    data = new types::UInt16(_iDims, _piDims);
+    created = true;
+}
+
+UInt16::UInt16(int _iRows, int _iCols, unsigned short** _pusData)
+{
+    data = new types::UInt16(_iRows, _iCols, _pusData);
+    created = true;
+}
+
+UInt16* UInt16::getAsUInt16(types::InternalType* _pIT)
+{
+    if (_pIT && _pIT->isUInt16())
+    {
+        return new UInt16(*_pIT->getAs<types::UInt16>());
+    }
+
+    return NULL;
+}
+
+Int32::Int32(int _iVal)
+{
+    data = new types::Int32(_iVal);
+    created = true;
+}
+
+Int32::Int32(int _iRows, int _iCols)
+{
+    data = new types::Int32(_iRows, _iCols);
+    created = true;
+}
+
+Int32::Int32(int _iDims, int* _piDims)
+{
+    data = new types::Int32(_iDims, _piDims);
+    created = true;
+}
+
+Int32::Int32(int _iRows, int _iCols, int** _piData)
+{
+    data = new types::Int32(_iRows, _iCols, _piData);
+    created = true;
+}
+
+Int32* Int32::getAsInt32(types::InternalType* _pIT)
+{
+    if (_pIT && _pIT->isInt32())
+    {
+        return new Int32(*_pIT->getAs<types::Int32>());
+    }
+
+    return NULL;
+}
+
+UInt32::UInt32(unsigned int _uiVal)
+{
+    data = new types::UInt32(_uiVal);
+    created = true;
+}
+
+UInt32::UInt32(int _iRows, int _iCols)
+{
+    data = new types::UInt32(_iRows, _iCols);
+    created = true;
+}
+
+UInt32::UInt32(int _iDims, int* _piDims)
+{
+    data = new types::UInt32(_iDims, _piDims);
+    created = true;
+}
+
+UInt32::UInt32(int _iRows, int _iCols, unsigned int** _puiData)
+{
+    data = new types::UInt32(_iRows, _iCols, _puiData);
+    created = true;
+}
+
+UInt32* UInt32::getAsUInt32(types::InternalType* _pIT)
+{
+    if (_pIT && _pIT->isUInt32())
+    {
+        return new UInt32(*_pIT->getAs<types::UInt32>());
+    }
+
+    return NULL;
+}
+
+Int64::Int64(long long _llVal)
+{
+    data = new types::Int64(_llVal);
+    created = true;
+}
+
+Int64::Int64(int _iRows, int _iCols)
+{
+    data = new types::Int64(_iRows, _iCols);
+    created = true;
+}
+
+Int64::Int64(int _iDims, int* _piDims)
+{
+    data = new types::Int64(_iDims, _piDims);
+    created = true;
+}
+
+Int64::Int64(int _iRows, int _iCols, long long** _pllData)
+{
+    data = new types::Int64(_iRows, _iCols, _pllData);
+    created = true;
+}
+
+Int64* Int64::getAsInt64(types::InternalType* _pIT)
+{
+    if (_pIT && _pIT->isInt64())
+    {
+        return new Int64(*_pIT->getAs<types::Int64>());
+    }
+
+    return NULL;
+}
+
+UInt64::UInt64(unsigned long long _ullVal)
+{
+    data = new types::UInt64(_ullVal);
+    created = true;
+}
+
+UInt64::UInt64(int _iRows, int _iCols)
+{
+    data = new types::UInt64(_iRows, _iCols);
+    created = true;
+}
+
+UInt64::UInt64(int _iDims, int* _piDims)
+{
+    data = new types::UInt64(_iDims, _piDims);
+    created = true;
+}
+
+UInt64::UInt64(int _iRows, int _iCols, unsigned long long** _pullData)
+{
+    data = new types::UInt64(_iRows, _iCols, _pullData);
+    created = true;
+}
+
+UInt64* UInt64::getAsUInt64(types::InternalType* _pIT)
+{
+    if (_pIT && _pIT->isUInt64())
+    {
+        return new UInt64(*_pIT->getAs<types::UInt64>());
+    }
+
+    return NULL;
+}
+}
diff --git a/scilab/modules/api_scilab/src/cpp/api_list_cpp.cpp b/scilab/modules/api_scilab/src/cpp/api_list_cpp.cpp
new file mode 100644 (file)
index 0000000..47f9b5b
--- /dev/null
@@ -0,0 +1,145 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ */
+
+#include "api_list.hxx"
+#include "api_common.hxx"
+
+namespace api_scilab
+{
+List::List()
+{
+    data = new types::List();
+    created = true;
+}
+
+List* List::getAsList(types::InternalType* _pIT)
+{
+    if (_pIT && _pIT->isList())
+    {
+        return new List(*_pIT->getAs<types::List>());
+    }
+
+    return NULL;
+}
+
+int List::getSize()
+{
+    if (data)
+    {
+        return data->getSize();
+    }
+
+    return 0;
+}
+
+Variable* List::get(const int _iIndex)
+{
+    if (data)
+    {
+        return getAsVariable(data->get(_iIndex));
+    }
+
+    return NULL;
+}
+
+bool List::set(const int _iIndex, Variable* _pV)
+{
+    if (data)
+    {
+        data->set(_iIndex, (types::InternalType*)_pV->getReturnVariable());
+    }
+
+    return false;
+}
+
+TList::TList()
+{
+    data = new types::TList();
+    created = true;
+}
+
+TList* TList::getAsTList(types::InternalType* _pIT)
+{
+    if (_pIT && _pIT->isTList())
+    {
+        return new TList(*_pIT->getAs<types::TList>());
+    }
+
+    return NULL;
+}
+
+bool TList::exists(const std::wstring& _sKey)
+{
+    if (data)
+    {
+        return ((types::TList*)data)->exists(_sKey);
+    }
+
+    return false;
+}
+
+Variable* TList::getField(const std::wstring& _sKey)
+{
+    if (data)
+    {
+        return getAsVariable(((types::TList*)data)->getField(_sKey));
+    }
+
+    return NULL;
+}
+
+int TList::getIndexFromString(const std::wstring& _sKey)
+{
+    if (data)
+    {
+        return ((types::TList*)data)->getIndexFromString(_sKey);
+    }
+
+    return -1;
+}
+
+bool TList::set(const std::wstring& _sKey, Variable* _pV)
+{
+    if (data)
+    {
+        return ((types::TList*)data)->set(_sKey, (types::InternalType*)_pV->getReturnVariable());
+    }
+
+    return false;
+}
+
+String* TList::getFieldNames()
+{
+    if (data)
+    {
+        return getAsString(((types::TList*)data)->getFieldNames());
+    }
+
+    return NULL;
+}
+
+
+MList::MList()
+{
+    data = new types::MList();
+    created = true;
+}
+
+MList* MList::getAsMList(types::InternalType* _pIT)
+{
+    if (_pIT && _pIT->isMList())
+    {
+        return new MList(*_pIT->getAs<types::MList>());
+    }
+
+    return NULL;
+}
+}
\ No newline at end of file
diff --git a/scilab/modules/api_scilab/src/cpp/api_pointer_cpp.cpp b/scilab/modules/api_scilab/src/cpp/api_pointer_cpp.cpp
new file mode 100644 (file)
index 0000000..bf88739
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ */
+
+#include "api_pointer.hxx"
+
+namespace api_scilab
+{
+Pointer::Pointer()
+{
+    data = new types::Pointer();
+    created = true;
+}
+
+Pointer::Pointer(void* _p)
+{
+    data = new types::Pointer(_p);
+    created = true;
+}
+
+Pointer* Pointer::getAsPointer(types::InternalType* _pIT)
+{
+    if (_pIT && _pIT->isPointer())
+    {
+        return new Pointer(*_pIT->getAs<types::Pointer>());
+    }
+
+    return NULL;
+}
+
+int Pointer::getSize()
+{
+    return 1;
+}
+
+void* Pointer::get()
+{
+    if (data)
+    {
+        return data->get();
+    }
+
+    return NULL;
+}
+
+void Pointer::set(void* _p)
+{
+    if (data)
+    {
+        return data->set(_p);
+    }
+}
+}
diff --git a/scilab/modules/api_scilab/src/cpp/api_sparse_cpp.cpp b/scilab/modules/api_scilab/src/cpp/api_sparse_cpp.cpp
new file mode 100644 (file)
index 0000000..a9fc207
--- /dev/null
@@ -0,0 +1,210 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ */
+
+#include "api_sparse.hxx"
+#include "double.hxx"
+
+namespace api_scilab
+{
+Sparse::Sparse(Double& _pdbl)
+{
+    types::Double* pdbl = (types::Double*)_pdbl.getReturnVariable();
+    if (pdbl)
+    {
+        data = new types::Sparse(*pdbl);
+    }
+    else
+    {
+        data = new types::Sparse(1, 1);
+        data->set(0, 0);
+    }
+
+    created = true;
+}
+
+Sparse::Sparse(int _iRows, int _iCols, bool _bComplex)
+{
+    data = new types::Sparse(_iRows, _iCols, _bComplex);
+    created = true;
+}
+
+Sparse::Sparse(Double& _dblAadj, Double& _dblAdjncy, Double& _dblSrc, std::size_t _iRows, std::size_t _iCols)
+{
+    types::Double* pdblAadj = (types::Double*)_dblAadj.getReturnVariable();
+    types::Double* pdblAdjncy = (types::Double*)_dblAdjncy.getReturnVariable();
+    types::Double* pdblSrc = (types::Double*)_dblSrc.getReturnVariable();
+
+    if (pdblAadj && pdblAdjncy && pdblSrc)
+    {
+        data = new types::Sparse(*pdblAadj, *pdblAdjncy, *pdblSrc, _iRows, _iCols);
+    }
+    else
+    {
+        data = new types::Sparse(1, 1);
+        data->set(0, 0);
+    }
+    created = true;
+}
+
+Sparse* Sparse::getAsSparse(types::InternalType* _pIT)
+{
+    if (_pIT && _pIT->isSparse())
+    {
+        return new Sparse(*_pIT->getAs<types::Sparse>());
+    }
+
+    return NULL;
+}
+
+int Sparse::getSize()
+{
+    return data->getSize();
+}
+
+int Sparse::getRows()
+{
+    if (data)
+    {
+        return data->getRows();
+    }
+
+    return 0;
+}
+
+int Sparse::getCols()
+{
+    if (data)
+    {
+        return data->getCols();
+    }
+
+    return 0;
+}
+
+bool Sparse::isScalar()
+{
+    if (data)
+    {
+        return data->isScalar();
+    }
+
+    return false;
+}
+
+bool Sparse::isComplex()
+{
+    if (data)
+    {
+        return data->isComplex();
+    }
+
+    return false;
+}
+
+double Sparse::getReal(int _iRows, int _iCols) const
+{
+    if (data)
+    {
+        return data->getReal(_iRows, _iCols);
+    }
+
+    return 0;
+}
+
+double Sparse::getReal(int _iIndex) const
+{
+    if (data)
+    {
+        return data->getReal(_iIndex);
+    }
+
+    return 0;
+}
+
+double Sparse::get(int _iRows, int _iCols) const
+{
+    if (data)
+    {
+        return data->get(_iRows, _iCols);
+    }
+
+    return 0;
+}
+
+double Sparse::get(int _iIndex) const
+{
+    if (data)
+    {
+        return data->get(_iIndex);
+    }
+
+    return 0;
+}
+
+std::complex<double> Sparse::getImg(int _iRows, int _iCols) const
+{
+    if (data)
+    {
+        return data->getImg(_iRows, _iCols);
+    }
+
+    return 0;
+}
+
+std::complex<double> Sparse::getImg(int _iIndex) const
+{
+    if (data)
+    {
+        return data->getImg(_iIndex);
+    }
+
+    return 0;
+}
+
+void Sparse::setComplex(bool _bComplex)
+{
+    if (data && data->isComplex() == false)
+    {
+        data->toComplex();
+    }
+}
+
+int* Sparse::getNbItemByRow(int* _piNbItemByRows)
+{
+    if (data)
+    {
+        return data->getNbItemByRow(_piNbItemByRows);
+    }
+
+    return NULL;
+}
+
+int* Sparse::getColPos(int* _piColPos)
+{
+    if (data)
+    {
+        return data->getColPos(_piColPos);
+    }
+
+    return NULL;
+}
+
+int Sparse::nonZeros() const
+{
+    if (data)
+    {
+        return (int)data->nonZeros();
+    }
+
+    return 0;
+}
+
+}
diff --git a/scilab/modules/api_scilab/src/cpp/api_string_cpp.cpp b/scilab/modules/api_scilab/src/cpp/api_string_cpp.cpp
new file mode 100644 (file)
index 0000000..d7664a0
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ */
+
+#include "api_string.hxx"
+
+namespace api_scilab
+{
+String::String(int _iRows, int _iCols)
+{
+    data = new types::String(_iRows, _iRows);
+    created = true;
+}
+
+String::String(int _iDims, int* _piDims)
+{
+    data = new types::String(_iDims, _piDims);
+    created = true;
+}
+
+String::String(int _iRows, int _iCols, wchar_t** _pwstData)
+{
+    data = new types::String(_iRows, _iRows, _pwstData);
+    created = true;
+}
+
+String::String(const wchar_t *_pwstData)
+{
+    data = new types::String(_pwstData);
+    created = true;
+}
+
+String::String(const char *_pstData)
+{
+    data = new types::String(_pstData);
+    created = true;
+}
+
+String* String::getAsString(types::InternalType* _pIT)
+{
+    if (_pIT && _pIT->isString())
+    {
+        return new String(*_pIT->getAs<types::String>());
+    }
+
+    return NULL;
+}
+}
index 62b7704..d6db171 100644 (file)
@@ -261,43 +261,43 @@ void RunVisitorT<T>::visitprivate(const CallExp &e)
 
             switch (pIT->getType())
             {
-                case types::InternalType::RealDouble :
+                case types::InternalType::ScilabDouble :
                     pOut = pIT->getAs<types::Double>()->extract(pArgs);
                     break;
-                case types::InternalType::RealString :
+                case types::InternalType::ScilabString :
                     pOut = pIT->getAs<types::String>()->extract(pArgs);
                     break;
-                case types::InternalType::RealBool :
+                case types::InternalType::ScilabBool :
                     pOut = pIT->getAs<types::Bool>()->extract(pArgs);
                     break;
-                case types::InternalType::RealPoly :
+                case types::InternalType::ScilabPolynom :
                     pOut = pIT->getAs<types::Polynom>()->extract(pArgs);
                     break;
-                case types::InternalType::RealInt8 :
+                case types::InternalType::ScilabInt8 :
                     pOut = pIT->getAs<types::Int8>()->extract(pArgs);
                     break;
-                case types::InternalType::RealUInt8 :
+                case types::InternalType::ScilabUInt8 :
                     pOut = pIT->getAs<types::UInt8>()->extract(pArgs);
                     break;
-                case types::InternalType::RealInt16 :
+                case types::InternalType::ScilabInt16 :
                     pOut = pIT->getAs<types::Int16>()->extract(pArgs);
                     break;
-                case types::InternalType::RealUInt16 :
+                case types::InternalType::ScilabUInt16 :
                     pOut = pIT->getAs<types::UInt16>()->extract(pArgs);
                     break;
-                case types::InternalType::RealInt32 :
+                case types::InternalType::ScilabInt32 :
                     pOut = pIT->getAs<types::Int32>()->extract(pArgs);
                     break;
-                case types::InternalType::RealUInt32 :
+                case types::InternalType::ScilabUInt32 :
                     pOut = pIT->getAs<types::UInt32>()->extract(pArgs);
                     break;
-                case types::InternalType::RealInt64 :
+                case types::InternalType::ScilabInt64 :
                     pOut = pIT->getAs<types::Int64>()->extract(pArgs);
                     break;
-                case types::InternalType::RealUInt64 :
+                case types::InternalType::ScilabUInt64 :
                     pOut = pIT->getAs<types::UInt64>()->extract(pArgs);
                     break;
-                case types::InternalType::RealList :
+                case types::InternalType::ScilabList :
                 {
                     ResultList = pIT->getAs<types::List>()->extract(pArgs);
 
@@ -320,7 +320,7 @@ void RunVisitorT<T>::visitprivate(const CallExp &e)
                     }
                 }
                 break;
-                case InternalType::RealTList :
+                case InternalType::ScilabTList :
                 {
                     Function::ReturnValue ret = Function::OK;
                     bool bCallOverLoad = false;
@@ -429,7 +429,7 @@ void RunVisitorT<T>::visitprivate(const CallExp &e)
                     }
                     break;
                 }
-                case InternalType::RealMList :
+                case InternalType::ScilabMList :
                 {
                     Function::ReturnValue ret = Function::OK;
                     bool bCallOverLoad = false;
@@ -525,16 +525,16 @@ void RunVisitorT<T>::visitprivate(const CallExp &e)
                     }
                     break;
                 }
-                case InternalType::RealCell :
+                case InternalType::ScilabCell :
                     pOut = pIT->getAs<Cell>()->extract(pArgs);
                     break;
-                case types::InternalType::RealSparse :
+                case types::InternalType::ScilabSparse :
                     pOut = pIT->getAs<types::Sparse>()->extract(pArgs);
                     break;
-                case types::InternalType::RealSparseBool :
+                case types::InternalType::ScilabSparseBool :
                     pOut = pIT->getAs<types::SparseBool>()->extract(pArgs);
                     break;
-                case types::InternalType::RealStruct :
+                case types::InternalType::ScilabStruct :
                 {
                     types::Struct* pStr = pIT->getAs<types::Struct>();
                     if (pArgs->size() == 1 && (*pArgs)[0]->isString())
@@ -581,7 +581,7 @@ void RunVisitorT<T>::visitprivate(const CallExp &e)
                     }
                     break;
                 }
-                case types::InternalType::RealHandle :
+                case types::InternalType::ScilabHandle :
                 {
                     if (pArgs->size() == 1 && (*pArgs)[0]->isString())
                     {
index 642f6c8..6b9e734 100644 (file)
@@ -39,7 +39,7 @@ void RunVisitorT<T>::visitprivate(const OpExp &e)
             throw ScilabError(os.str(), 999, e.right_get().location_get());
         }
 
-        if (pITL->getType() == GenericType::RealImplicitList)
+        if (pITL->getType() == GenericType::ScilabImplicitList)
         {
             ImplicitList* pIL = pITL->getAs<ImplicitList>();
             if (pIL->isComputable())
@@ -48,7 +48,7 @@ void RunVisitorT<T>::visitprivate(const OpExp &e)
             }
         }
 
-        if (pITR->getType() == GenericType::RealImplicitList)
+        if (pITR->getType() == GenericType::ScilabImplicitList)
         {
             ImplicitList* pIR = pITR->getAs<ImplicitList>();
             if (pIR->isComputable())
@@ -231,7 +231,7 @@ void RunVisitorT<T>::visitprivate(const LogicalOpExp &e)
 
         result_set(NULL);
 
-        if (pITL->getType() == GenericType::RealImplicitList)
+        if (pITL->getType() == GenericType::ScilabImplicitList)
         {
             ImplicitList* pIL = pITL->getAs<ImplicitList>();
             if (pIL->isComputable())
@@ -267,7 +267,7 @@ void RunVisitorT<T>::visitprivate(const LogicalOpExp &e)
                     throw ScilabError(os.str(), 999, e.right_get().location_get());
                 }
 
-                if (pITR->getType() == GenericType::RealImplicitList)
+                if (pITR->getType() == GenericType::ScilabImplicitList)
                 {
                     ImplicitList* pIR = pITR->getAs<ImplicitList>();
                     if (pIR->isComputable())
@@ -301,7 +301,7 @@ void RunVisitorT<T>::visitprivate(const LogicalOpExp &e)
                     throw ScilabError(os.str(), 999, e.right_get().location_get());
                 }
 
-                if (pITR->getType() == GenericType::RealImplicitList)
+                if (pITR->getType() == GenericType::ScilabImplicitList)
                 {
                     ImplicitList* pIR = pITR->getAs<ImplicitList>();
                     if (pIR->isComputable())
index 49e63b6..89b4cc7 100644 (file)
@@ -978,28 +978,28 @@ void RunVisitorT<T>::visitprivate(const NotExp &e)
         InternalType* pIT = result_get();
         switch (result_get()->getType())
         {
-            case InternalType::RealInt8 :
+            case InternalType::ScilabInt8 :
                 pReturn = notInt< Int8, char >(pIT->getAs<Int8>());
                 break;
-            case InternalType::RealUInt8 :
+            case InternalType::ScilabUInt8 :
                 pReturn = notInt<UInt8, unsigned char>(pIT->getAs<UInt8>());
                 break;
-            case InternalType::RealInt16 :
+            case InternalType::ScilabInt16 :
                 pReturn = notInt< Int16, short >(pIT->getAs<Int16>());
                 break;
-            case InternalType::RealUInt16 :
+            case InternalType::ScilabUInt16 :
                 pReturn = notInt<UInt16, unsigned short>(pIT->getAs<UInt16>());
                 break;
-            case InternalType::RealInt32 :
+            case InternalType::ScilabInt32 :
                 pReturn = notInt<Int32, int>(pIT->getAs<Int32>());
                 break;
-            case InternalType::RealUInt32 :
+            case InternalType::ScilabUInt32 :
                 pReturn = notInt<UInt32, unsigned int>(pIT->getAs<UInt32>());
                 break;
-            case InternalType::RealInt64 :
+            case InternalType::ScilabInt64 :
                 pReturn = notInt<Int64, long long>(pIT->getAs<Int64>());
                 break;
-            case InternalType::RealUInt64 :
+            case InternalType::ScilabUInt64 :
                 pReturn = notInt<UInt64, unsigned long long>(pIT->getAs<UInt64>());
                 break;
             default :
@@ -1177,7 +1177,7 @@ void RunVisitorT<T>::visitprivate(const TransposeExp &e)
 
         switch (pVar->getType())
         {
-            case types::InternalType::RealInt8 :
+            case types::InternalType::ScilabInt8 :
             {
                 types::Int8* pIntIn  = pVar->getAs<types::Int8>();
                 types::Int8* pIntOut = new types::Int8(pIntIn->getCols(), pIntIn->getRows());
@@ -1187,7 +1187,7 @@ void RunVisitorT<T>::visitprivate(const TransposeExp &e)
                 pReturn = pIntOut;
                 break;
             }
-            case types::InternalType::RealUInt8 :
+            case types::InternalType::ScilabUInt8 :
             {
                 types::UInt8* pIntIn  = pVar->getAs<types::UInt8>();
                 types::UInt8* pIntOut = new types::UInt8(pIntIn->getCols(), pIntIn->getRows());
@@ -1197,7 +1197,7 @@ void RunVisitorT<T>::visitprivate(const TransposeExp &e)
                 pReturn = pIntOut;
                 break;
             }
-            case types::InternalType::RealInt16 :
+            case types::InternalType::ScilabInt16 :
             {
                 types::Int16* pIntIn  = pVar->getAs<types::Int16>();
                 types::Int16* pIntOut = new types::Int16(pIntIn->getCols(), pIntIn->getRows());
@@ -1207,7 +1207,7 @@ void RunVisitorT<T>::visitprivate(const TransposeExp &e)
                 pReturn = pIntOut;
                 break;
             }
-            case types::InternalType::RealUInt16 :
+            case types::InternalType::ScilabUInt16 :
             {
                 types::UInt16* pIntIn  = pVar->getAs<types::UInt16>();
                 types::UInt16* pIntOut = new types::UInt16(pIntIn->getCols(), pIntIn->getRows());
@@ -1217,7 +1217,7 @@ void RunVisitorT<T>::visitprivate(const TransposeExp &e)
                 pReturn = pIntOut;
                 break;
             }
-            case types::InternalType::RealInt32 :
+            case types::InternalType::ScilabInt32 :
             {
                 types::Int32* pIntIn  = pVar->getAs<types::Int32>();
                 types::Int32* pIntOut = new types::Int32(pIntIn->getCols(), pIntIn->getRows());
@@ -1227,7 +1227,7 @@ void RunVisitorT<T>::visitprivate(const TransposeExp &e)
                 pReturn = pIntOut;
                 break;
             }
-            case types::InternalType::RealUInt32 :
+            case types::InternalType::ScilabUInt32 :
             {
                 types::UInt32* pIntIn  = pVar->getAs<types::UInt32>();
                 types::UInt32* pIntOut = new types::UInt32(pIntIn->getCols(), pIntIn->getRows());
@@ -1237,7 +1237,7 @@ void RunVisitorT<T>::visitprivate(const TransposeExp &e)
                 pReturn = pIntOut;
                 break;
             }
-            case types::InternalType::RealInt64 :
+            case types::InternalType::ScilabInt64 :
             {
                 types::Int64* pIntIn  = pVar->getAs<types::Int64>();
                 types::Int64* pIntOut = new types::Int64(pIntIn->getCols(), pIntIn->getRows());
@@ -1247,7 +1247,7 @@ void RunVisitorT<T>::visitprivate(const TransposeExp &e)
                 pReturn = pIntOut;
                 break;
             }
-            case types::InternalType::RealUInt64 :
+            case types::InternalType::ScilabUInt64 :
             {
                 types::UInt64* pIntIn  = pVar->getAs<types::UInt64>();
                 types::UInt64* pIntOut = new types::UInt64(pIntIn->getCols(), pIntIn->getRows());
index 4a57c05..4b5f250 100644 (file)
@@ -95,35 +95,35 @@ static bool isIntTrue(InternalType* _pIT)
 {
     switch (_pIT->getType())
     {
-        case InternalType::RealInt8 :
+        case InternalType::ScilabInt8 :
         {
             return isIntTrue(_pIT->getAs<Int8>());
         }
-        case InternalType::RealUInt8 :
+        case InternalType::ScilabUInt8 :
         {
             return isIntTrue(_pIT->getAs<UInt8>());
         }
-        case InternalType::RealInt16 :
+        case InternalType::ScilabInt16 :
         {
             return isIntTrue(_pIT->getAs<Int16>());
         }
-        case InternalType::RealUInt16 :
+        case InternalType::ScilabUInt16 :
         {
             return isIntTrue(_pIT->getAs<UInt16>());
         }
-        case InternalType::RealInt32 :
+        case InternalType::ScilabInt32 :
         {
             return isIntTrue(_pIT->getAs<Int32>());
         }
-        case InternalType::RealUInt32 :
+        case InternalType::ScilabUInt32 :
         {
             return isIntTrue(_pIT->getAs<UInt32>());
         }
-        case InternalType::RealInt64 :
+        case InternalType::ScilabInt64 :
         {
             return isIntTrue(_pIT->getAs<Int64>());
         }
-        case InternalType::RealUInt64 :
+        case InternalType::ScilabUInt64 :
         {
             return isIntTrue(_pIT->getAs<UInt64>());
         }
@@ -142,40 +142,40 @@ types::InternalType* allocDest(types::InternalType* _poSource, int _iRows, int _
     types::InternalType* poResult = NULL;
     switch (_poSource->getType())
     {
-        case types::GenericType::RealDouble :
+        case types::GenericType::ScilabDouble :
             poResult = new types::Double(_iRows, _iCols, false);
             break;
-        case types::GenericType::RealBool :
+        case types::GenericType::ScilabBool :
             poResult = new types::Bool(_iRows, _iCols);
             break;
-        case types::GenericType::RealInt8 :
+        case types::GenericType::ScilabInt8 :
             poResult = new types::Int8(_iRows, _iCols);
             break;
-        case types::GenericType::RealUInt8 :
+        case types::GenericType::ScilabUInt8 :
             poResult = new types::UInt8(_iRows, _iCols);
             break;
-        case types::GenericType::RealInt16 :
+        case types::GenericType::ScilabInt16 :
             poResult = new types::Int16(_iRows, _iCols);
             break;
-        case types::GenericType::RealUInt16 :
+        case types::GenericType::ScilabUInt16 :
             poResult = new types::UInt16(_iRows, _iCols);
             break;
-        case types::GenericType::RealInt32 :
+        case types::GenericType::ScilabInt32 :
             poResult = new types::Int32(_iRows, _iCols);
             break;
-        case types::GenericType::RealUInt32 :
+        case types::GenericType::ScilabUInt32 :
             poResult = new types::UInt32(_iRows, _iCols);
             break;
-        case types::GenericType::RealInt64 :
+        case types::GenericType::ScilabInt64 :
             poResult = new types::Int64(_iRows, _iCols);
             break;
-        case types::GenericType::RealUInt64 :
+        case types::GenericType::ScilabUInt64 :
             poResult = new types::UInt64(_iRows, _iCols);
             break;
-        case types::GenericType::RealString :
+        case types::GenericType::ScilabString :
             poResult = new types::String(_iRows, _iCols);
             break;
-        case types::GenericType::RealPoly :
+        case types::GenericType::ScilabPolynom :
         {
             int* piRank = new int[_iRows * _iCols];
             for (int i = 0 ; i < _iRows * _iCols ; i++)
@@ -185,7 +185,7 @@ types::InternalType* allocDest(types::InternalType* _poSource, int _iRows, int _
             poResult = new types::Polynom(_poSource->getAs<types::Polynom>()->getVariableName(), _iRows, _iCols, piRank);
             break;
         }
-        case types::InternalType::RealImplicitList :
+        case types::InternalType::ScilabImplicitList :
             poResult = new types::ImplicitList();
             break;
         default :
@@ -198,8 +198,8 @@ types::InternalType* allocDest(types::InternalType* _poSource, int _iRows, int _
 types::InternalType* AddElementToVariableFromCol(types::InternalType* _poDest, types::InternalType* _poSource, int _iRows, int _iCols, int *_piCols)
 {
     types::InternalType *poResult                  = NULL;
-    types::InternalType::RealType TypeSource   = _poSource->getType();
-    types::InternalType::RealType TypeDest             = types::InternalType::RealInternal;
+    types::InternalType::ScilabType TypeSource = _poSource->getType();
+    types::InternalType::ScilabType TypeDest           = types::InternalType::ScilabInternal;
     int iCurRow                                 = _iRows;
     int iCurCol                                 = _iCols;
 
@@ -226,7 +226,7 @@ types::InternalType* AddElementToVariableFromCol(types::InternalType* _poDest, t
     {
         switch (TypeDest)
         {
-            case types::GenericType::RealDouble :
+            case types::GenericType::ScilabDouble :
                 if (poResult->getAs<types::Double>()->isComplex() == false && _poSource->getAs<types::Double>()->isComplex() == true)
                 {
                     poResult->getAs<types::Double>()->setComplex(true);
@@ -247,8 +247,8 @@ types::InternalType* AddElementToVariableFromCol(types::InternalType* _poDest, t
 types::InternalType* AddElementToVariableFromRow(types::InternalType* _poDest, types::InternalType* _poSource, int _iRows, int _iCols, int *_piRows)
 {
     types::InternalType *poResult                  = NULL;
-    types::InternalType::RealType TypeSource   = _poSource->getType();
-    types::InternalType::RealType TypeDest             = types::InternalType::RealInternal;
+    types::InternalType::ScilabType TypeSource = _poSource->getType();
+    types::InternalType::ScilabType TypeDest           = types::InternalType::ScilabInternal;
     int iCurRow                                 = _iRows;
     int iCurCol                                 = _iCols;
 
@@ -275,7 +275,7 @@ types::InternalType* AddElementToVariableFromRow(types::InternalType* _poDest, t
     {
         switch (TypeDest)
         {
-            case types::GenericType::RealDouble :
+            case types::GenericType::ScilabDouble :
                 if (poResult->getAs<types::Double>()->isComplex() == false && _poSource->getAs<types::Double>()->isComplex() == true)
                 {
                     poResult->getAs<types::Double>()->setComplex(true);
@@ -301,8 +301,8 @@ _iCols : Position if _poDest allready initialized else size of the matrix
 types::InternalType* AddElementToVariable(types::InternalType* _poDest, types::InternalType* _poSource, int _iRows, int _iCols)
 {
     types::InternalType *poResult      = NULL;
-    types::InternalType::RealType TypeSource   = _poSource->getType();
-    types::InternalType::RealType TypeDest             =       types::InternalType::RealInternal;
+    types::InternalType::ScilabType TypeSource = _poSource->getType();
+    types::InternalType::ScilabType TypeDest           =       types::InternalType::ScilabInternal;
     int iCurRow = _iRows;
     int iCurCol = _iCols;
 
@@ -310,46 +310,46 @@ types::InternalType* AddElementToVariable(types::InternalType* _poDest, types::I
     {
         switch (TypeSource)
         {
-            case types::GenericType::RealDouble :
+            case types::GenericType::ScilabDouble :
                 poResult = new types::Double(_iRows, _iCols, false);
                 break;
-            case types::GenericType::RealBool :
+            case types::GenericType::ScilabBool :
                 poResult = new types::Bool(_iRows, _iCols);
                 break;
-            case types::GenericType::RealInt8 :
+            case types::GenericType::ScilabInt8 :
                 poResult = new types::Int8(_iRows, _iCols);
                 break;
-            case types::GenericType::RealUInt8 :
+            case types::GenericType::ScilabUInt8 :
                 poResult = new types::UInt8(_iRows, _iCols);
                 break;
-            case types::GenericType::RealInt16 :
+            case types::GenericType::ScilabInt16 :
                 poResult = new types::Int16(_iRows, _iCols);
                 break;
-            case types::GenericType::RealUInt16 :
+            case types::GenericType::ScilabUInt16 :
                 poResult = new types::UInt16(_iRows, _iCols);
                 break;
-            case types::GenericType::RealInt32 :
+            case types::GenericType::ScilabInt32 :
                 poResult = new types::Int32(_iRows, _iCols);
                 break;
-            case types::GenericType::RealUInt32 :
+            case types::GenericType::ScilabUInt32 :
                 poResult = new types::UInt32(_iRows, _iCols);
                 break;
-            case types::GenericType::RealInt64 :
+            case types::GenericType::ScilabInt64 :
                 poResult = new types::Int64(_iRows, _iCols);
                 break;
-            case types::GenericType::RealUInt64 :
+            case types::GenericType::ScilabUInt64 :
                 poResult = new types::UInt64(_iRows, _iCols);
                 break;
-            case types::GenericType::RealString :
+            case types::GenericType::ScilabString :
                 poResult = new types::String(_iRows, _iCols);
                 break;
-            case types::GenericType::RealSparse :
+            case types::GenericType::ScilabSparse :
                 poResult = new types::Sparse(_iRows, _iCols);
                 break;
-            case types::GenericType::RealSparseBool :
+            case types::GenericType::ScilabSparseBool :
                 poResult = new types::SparseBool(_iRows, _iCols);
                 break;
-            case types::GenericType::RealPoly :
+            case types::GenericType::ScilabPolynom :
             {
                 int* piRank = new int[_iRows * _iCols];
                 for (int i = 0 ; i < _iRows * _iCols ; i++)
@@ -359,10 +359,10 @@ types::InternalType* AddElementToVariable(types::InternalType* _poDest, types::I
                 poResult = new types::Polynom(_poSource->getAs<types::Polynom>()->getVariableName(), _iRows, _iCols, piRank);
                 break;
             }
-            case types::InternalType::RealImplicitList :
+            case types::InternalType::ScilabImplicitList :
                 poResult = new types::ImplicitList();
                 break;
-            case types::GenericType::RealHandle :
+            case types::GenericType::ScilabHandle :
                 poResult = new types::GraphicHandle(_iRows, _iCols);
                 break;
             default :
@@ -385,11 +385,11 @@ types::InternalType* AddElementToVariable(types::InternalType* _poDest, types::I
         //check if source type is compatible with dest type
         switch (TypeDest)
         {
-            case types::GenericType::RealDouble :
-                if (TypeSource == types::GenericType::RealPoly)
+            case types::GenericType::ScilabDouble :
+                if (TypeSource == types::GenericType::ScilabPolynom)
                 {
                     types::Double *poDest = _poDest->getAs<types::Double>();
-                    //Convert Dest to RealPoly
+                    //Convert Dest to ScilabPolynom
                     int *piRank = new int[poDest->getSize()];
                     for (int i = 0 ; i < poDest->getSize() ; i++)
                     {
@@ -427,8 +427,8 @@ types::InternalType* AddElementToVariable(types::InternalType* _poDest, types::I
                     }
                 }
                 break;
-            case types::GenericType::RealPoly :
-                if (TypeSource == types::GenericType::RealDouble)
+            case types::GenericType::ScilabPolynom :
+                if (TypeSource == types::GenericType::ScilabDouble)
                 {
                     //Add Source like coef of the new element
                     Double* pD = _poSource->getAs<Double>();
@@ -466,8 +466,8 @@ types::InternalType* AddElementToVariable(types::InternalType* _poDest, types::I
                     }
                 }
                 break;
-            case types::GenericType::RealSparse :
-                if (TypeSource == types::GenericType::RealDouble)
+            case types::GenericType::ScilabSparse :
+                if (TypeSource == types::GenericType::ScilabDouble)
                 {
                     types::Double* poSource = _poSource->getAs<types::Double>();
                     types::Sparse* spResult = poResult->getAs<types::Sparse>();
@@ -530,8 +530,8 @@ types::InternalType* AddElementToVariable(types::InternalType* _poDest, types::I
                     }
                 }
                 break;
-            case types::GenericType::RealSparseBool :
-                if (TypeSource == types::GenericType::RealBool)
+            case types::GenericType::ScilabSparseBool :
+                if (TypeSource == types::GenericType::ScilabBool)
                 {
                     types::Bool* poSource = _poSource->getAs<types::Bool>();
                     types::SparseBool* spResult = poResult->getAs<types::SparseBool>();
@@ -560,54 +560,54 @@ types::InternalType* AddElementToVariable(types::InternalType* _poDest, types::I
         //Just add the new value in the current item
         switch (TypeDest)
         {
-            case types::GenericType::RealDouble :
+            case types::GenericType::ScilabDouble :
                 ((Double*)poResult)->append(iCurRow, iCurCol, (Double*)_poSource);
                 break;
-            case types::GenericType::RealPoly :
+            case types::GenericType::ScilabPolynom :
                 poResult->getAs<types::Polynom>()->append(iCurRow, iCurCol, _poSource->getAs<types::Polynom>());
                 break;
-            case types::GenericType::RealBool:
+            case types::GenericType::ScilabBool:
                 poResult->getAs<types::Bool>()->append(iCurRow, iCurCol, _poSource->getAs<types::Bool>());
                 break;
-            case types::GenericType::RealInt8 :
+            case types::GenericType::ScilabInt8 :
                 poResult->getAs<types::Int8>()->append(iCurRow, iCurCol, _poSource->getAs<types::Int8>());
                 break;
-            case types::GenericType::RealUInt8 :
+            case types::GenericType::ScilabUInt8 :
                 poResult->getAs<types::UInt8>()->append(iCurRow, iCurCol, _poSource->getAs<types::UInt8>());
                 break;
-            case types::GenericType::RealInt16 :
+            case types::GenericType::ScilabInt16 :
                 poResult->getAs<types::Int16>()->append(iCurRow, iCurCol, _poSource->getAs<types::Int16>());
                 break;
-            case types::GenericType::RealUInt16 :
+            case types::GenericType::ScilabUInt16 :
                 poResult->getAs<types::UInt16>()->append(iCurRow, iCurCol, _poSource->getAs<types::UInt16>());
                 break;
-            case types::GenericType::RealInt32 :
+            case types::GenericType::ScilabInt32 :
                 poResult->getAs<types::Int32>()->append(iCurRow, iCurCol, _poSource->getAs<types::Int32>());
                 break;
-            case types::GenericType::RealUInt32 :
+            case types::GenericType::ScilabUInt32 :
                 poResult->getAs<types::UInt32>()->append(iCurRow, iCurCol, _poSource->getAs<types::UInt32>());
                 break;
-            case types::GenericType::RealInt64 :
+            case types::GenericType::ScilabInt64 :
                 poResult->getAs<types::Int64>()->append(iCurRow, iCurCol, _poSource->getAs<types::Int64>());
                 break;
-            case types::GenericType::RealUInt64 :
+            case types::GenericType::ScilabUInt64 :
                 poResult->getAs<types::UInt64>()->append(iCurRow, iCurCol, _poSource->getAs<types::UInt64>());
                 break;
-            case types::GenericType::RealSparse :
+            case types::GenericType::ScilabSparse :
                 poResult->getAs<types::Sparse>()->append(iCurRow, iCurCol, _poSource->getAs<types::Sparse>());
                 break;
-            case types::GenericType::RealSparseBool :
+            case types::GenericType::ScilabSparseBool :
                 poResult->getAs<types::SparseBool>()->append(iCurRow, iCurCol, _poSource->getAs<types::SparseBool>());
                 break;
-            case types::GenericType::RealString :
+            case types::GenericType::ScilabString :
             {
                 types::String* pSource = _poSource->getAs<types::String>();
                 poResult->getAs<types::String>()->append(iCurRow, iCurCol, pSource);
             }
             break;
-            case types::GenericType::RealImplicitList :
+            case types::GenericType::ScilabImplicitList :
             {
-                if (_poSource->getAs<ImplicitList>()->getStartType() == types::InternalType::RealPoly)
+                if (_poSource->getAs<ImplicitList>()->getStartType() == types::InternalType::ScilabPolynom)
                 {
                     poResult->getAs<ImplicitList>()->setStart(_poSource->getAs<ImplicitList>()->getStart());
                 }
@@ -616,7 +616,7 @@ types::InternalType* AddElementToVariable(types::InternalType* _poDest, types::I
                     poResult->getAs<ImplicitList>()->setStart(_poSource->getAs<ImplicitList>()->getStart());
                 }
 
-                if (_poSource->getAs<ImplicitList>()->getStepType() == types::InternalType::RealPoly)
+                if (_poSource->getAs<ImplicitList>()->getStepType() == types::InternalType::ScilabPolynom)
                 {
                     poResult->getAs<ImplicitList>()->setStep(_poSource->getAs<ImplicitList>()->getStep());
                 }
@@ -625,7 +625,7 @@ types::InternalType* AddElementToVariable(types::InternalType* _poDest, types::I
                     poResult->getAs<ImplicitList>()->setStep(_poSource->getAs<ImplicitList>()->getStep());
                 }
 
-                if (_poSource->getAs<ImplicitList>()->getEndType() == types::InternalType::RealPoly)
+                if (_poSource->getAs<ImplicitList>()->getEndType() == types::InternalType::ScilabPolynom)
                 {
                     poResult->getAs<ImplicitList>()->setEnd(_poSource->getAs<ImplicitList>()->getEnd());
                 }
@@ -635,7 +635,7 @@ types::InternalType* AddElementToVariable(types::InternalType* _poDest, types::I
                 }
                 break;
             }
-            case types::GenericType::RealHandle :
+            case types::GenericType::ScilabHandle :
                 poResult->getAs<types::GraphicHandle>()->append(iCurRow, iCurCol, _poSource->getAs<types::GraphicHandle>());
                 break;
             default:
@@ -1620,49 +1620,49 @@ InternalType* insertionCall(const Exp& e, typed_list* _pArgs, InternalType* _pVa
         {
             switch (_pInsert->getType())
             {
-                case InternalType::RealDouble :
+                case InternalType::ScilabDouble :
                     pOut = Double::insertNew(_pArgs, _pInsert);
                     break;
-                case InternalType::RealString :
+                case InternalType::ScilabString :
                     pOut = String::insertNew(_pArgs, _pInsert);
                     break;
-                case InternalType::RealCell :
+                case InternalType::ScilabCell :
                     pOut = Cell::insertNew(_pArgs, _pInsert);
                     break;
-                case InternalType::RealBool :
+                case InternalType::ScilabBool :
                     pOut = Bool::insertNew(_pArgs, _pInsert);
                     break;
-                case InternalType::RealPoly :
+                case InternalType::ScilabPolynom :
                     pOut = Polynom::insertNew(_pArgs, _pInsert);
                     break;
-                case InternalType::RealInt8 :
+                case InternalType::ScilabInt8 :
                     pOut = Int8::insertNew(_pArgs, _pInsert);
                     break;
-                case InternalType::RealUInt8 :
+                case InternalType::ScilabUInt8 :
                     pOut = UInt8::insertNew(_pArgs, _pInsert);
                     break;
-                case InternalType::RealInt16 :
+                case InternalType::ScilabInt16 :
                     pOut = Int16::insertNew(_pArgs, _pInsert);
                     break;
-                case InternalType::RealUInt16 :
+                case InternalType::ScilabUInt16 :
                     pOut = UInt16::insertNew(_pArgs, _pInsert);
                     break;
-                case InternalType::RealInt32 :
+                case InternalType::ScilabInt32 :
                     pOut = Int32::insertNew(_pArgs, _pInsert);
                     break;
-                case InternalType::RealUInt32 :
+                case InternalType::ScilabUInt32 :
                     pOut = UInt32::insertNew(_pArgs, _pInsert);
                     break;
-                case InternalType::RealInt64 :
+                case InternalType::ScilabInt64 :
                     pOut = Int64::insertNew(_pArgs, _pInsert);
                     break;
-                case InternalType::RealUInt64 :
+                case InternalType::ScilabUInt64 :
                     pOut = UInt64::insertNew(_pArgs, _pInsert);
                     break;
-                case InternalType::RealSparse :
+                case InternalType::ScilabSparse :
                     pOut = Sparse::insertNew(_pArgs, _pInsert);
                     break;
-                case InternalType::RealSparseBool :
+                case InternalType::ScilabSparseBool :
                     pOut = SparseBool::insertNew(_pArgs, _pInsert);
                     break;
                 default :
index bdc7426..11eec27 100644 (file)
@@ -47,7 +47,7 @@ types::Function::ReturnValue sci_definedfields(types::typed_list &in, int _iRetC
     for (int i = 0 ; i < pL->getSize() ; i++)
     {
         types::InternalType* pIT = pL->get(i);
-        if (pIT->getType() != types::InternalType::RealListUndefinedOperation)
+        if (pIT->getType() != types::InternalType::ScilabListUndefinedOperation)
         {
             res[idx++] = i + 1;
         }
index 4a70813..0863ad8 100644 (file)
@@ -77,7 +77,7 @@ function libn = ilib_compile(lib_name, ..
         // Source tree version
         // Headers are dispatched in the source tree
         if isdir(SCI+"/modules/core/includes/") then
-            defaultModulesCHeader=[ "core", "mexlib","api_scilab","output_stream","localization", "operations", "symbol", "types", "ast",  "dynamic_link"];
+            defaultModulesCHeader=[ "core", "mexlib","api_scilab","output_stream","localization", "operations", "symbol", "types", "ast",  "dynamic_link", "../lib/Eigen"];
             defaultModulesFHeader=[ "core" ];
             ScilabTreeFound=%t
 
index 847c7d1..e5c2a0b 100644 (file)
@@ -27,6 +27,7 @@ function scilabincludeslist = dlwGetScilabIncludes()
     "$(SCIDIR)/modules/types/includes"; ..
     "$(SCIDIR)/modules/operations/includes"; ..
     "$(SCIDIR)/modules/ast/includes"; ..
-    "$(SCIDIR)/modules/ast/includes/exps"];
+    "$(SCIDIR)/modules/ast/includes/exps"; ..
+    "$(SCIDIR)/libs/Eigen/includes"];
 endfunction
-//=============================================================================
\ No newline at end of file
+//=============================================================================
index 256aa8a..4b2d047 100644 (file)
@@ -12,8 +12,8 @@
  */
 /*--------------------------------------------------------------------------*/
 #include "elem_func_gw.hxx"
+#include "api_scilab.hxx"
 #include "function.hxx"
-#include "double.hxx"
 #include "overload.hxx"
 #include "execvisitor.hxx"
 
@@ -42,8 +42,8 @@ types::Function::ReturnValue sci_abs(types::typed_list &in, int _iRetCount, type
 
     if (in[0]->isDouble())
     {
-        types::Double* pDblIn  = in[0]->getAs<types::Double>();
-        types::Double* pDblOut = new types::Double(pDblIn->getDims(), pDblIn->getDimsArray());
+        api_scilab::Double* pDblIn  = api_scilab::getAsDouble(in[0]);
+        api_scilab::Double* pDblOut = new api_scilab::Double(pDblIn->getDims(), pDblIn->getDimsArray());
 
         double* pdblInR = pDblIn->get();
         double* pdblInI = pDblIn->getImg();
@@ -82,7 +82,7 @@ types::Function::ReturnValue sci_abs(types::typed_list &in, int _iRetCount, type
             }
         }
 
-        out.push_back(pDblOut);
+        out.push_back(api_scilab::getReturnVariable(pDblOut));
     }
     else if (in[0]->isPoly())
     {
index c3f46fa..9dcde44 100644 (file)
@@ -83,31 +83,31 @@ types::Function::ReturnValue sci_ones(types::typed_list &in, int _iRetCount, typ
 
             switch (in[i]->getType())
             {
-                case types::InternalType::RealDouble :
+                case types::InternalType::ScilabDouble :
                     piDims[i] = static_cast<int>(in[i]->getAs<types::Double>()->get()[0]);
                     break;
-                case types::InternalType::RealInt8 :
+                case types::InternalType::ScilabInt8 :
                     piDims[i] = static_cast<int>(in[i]->getAs<types::Int8>()->get()[0]);
                     break;
-                case types::InternalType::RealUInt8 :
+                case types::InternalType::ScilabUInt8 :
                     piDims[i] = static_cast<int>(in[i]->getAs<types::UInt8>()->get()[0]);
                     break;
-                case types::InternalType::RealInt16 :
+                case types::InternalType::ScilabInt16 :
                     piDims[i] = static_cast<int>(in[i]->getAs<types::Int16>()->get()[0]);
                     break;
-                case types::InternalType::RealUInt16 :
+                case types::InternalType::ScilabUInt16 :
                     piDims[i] = static_cast<int>(in[i]->getAs<types::UInt16>()->get()[0]);
                     break;
-                case types::InternalType::RealInt32 :
+                case types::InternalType::ScilabInt32 :
                     piDims[i] = in[i]->getAs<types::Int32>()->get()[0];
                     break;
-                case types::InternalType::RealUInt32 :
+                case types::InternalType::ScilabUInt32 :
                     piDims[i] = static_cast<int>(in[i]->getAs<types::UInt32>()->get()[0]);
                     break;
-                case types::InternalType::RealInt64 :
+                case types::InternalType::ScilabInt64 :
                     piDims[i] = static_cast<int>(in[i]->getAs<types::Int64>()->get()[0]);
                     break;
-                case types::InternalType::RealUInt64 :
+                case types::InternalType::ScilabUInt64 :
                     piDims[i] = static_cast<int>(in[i]->getAs<types::UInt64>()->get()[0]);
                     break;
                 default :
index ba23b0f..cc90af8 100644 (file)
@@ -39,13 +39,13 @@ Function::ReturnValue sci_size(types::typed_list &in, int _iRetCount, types::typ
     switch (in[0]->getType())
     {
             // Dedicated case for lists.
-        case InternalType::RealMList:
+        case InternalType::ScilabMList:
         {
             std::wstring wstFuncName = L"%"  + in[0]->getShortTypeStr() + L"_size";
             Overload::call(wstFuncName, in, _iRetCount, out, new ast::ExecVisitor());
             break;
         }
-        case InternalType::RealTList:
+        case InternalType::ScilabTList:
         {
             // calls the overload if it exists.
             std::wstring wstFuncName = L"%"  + in[0]->getTypeStr() + L"_size";
@@ -55,7 +55,7 @@ Function::ReturnValue sci_size(types::typed_list &in, int _iRetCount, types::typ
                 return Overload::call(wstFuncName, in, _iRetCount, out, new ast::ExecVisitor());
             }
         }
-        case InternalType::RealList:
+        case InternalType::ScilabList:
         {
             if (in.size() > 1)
             {
index 33adc34..e9c3c02 100644 (file)
  */
 /*--------------------------------------------------------------------------*/
 #include "elem_func_gw.hxx"
-#include "function.hxx"
-#include "double.hxx"
+#include "api_scilab.hxx"
 
 extern "C"
 {
-#include "Scierror.h"
-#include "localization.h"
 #include "charEncoding.h"
 }
 
-using namespace types;
-
 /*--------------------------------------------------------------------------*/
-Function::ReturnValue sci_zeros(types::typed_list &in, int _iRetCount, types::typed_list &out)
+types::Function::ReturnValue sci_zeros(types::typed_list &in, int _iRetCount, types::typed_list &out)
 {
-    Double* pOut = NULL;
+    api_scilab::Double* pOut = NULL;
     if (in.size() == 0)
     {
-        pOut = new Double(0);
+        pOut = new api_scilab::Double(0);
     }
     else if (in.size() == 1)
     {
-        if (in[0]->isGenericType() == false || in[0]->isContainer())
+        if (api_scilab::isMatrix(in[0]) == false)
         {
             Scierror(999, _("%s: Wrong type for input argument #%d: Matrix expected.\n"), "zeros", 1);
-            return Function::Error;
+            return types::Function::Error;
         }
 
-        Double* pIn = in[0]->getAs<Double>();
+        api_scilab::Matrix* pIn = api_scilab::getAsMatrix(in[0]);
         int iDims = pIn->getDims();
         int* piDims = pIn->getDimsArray();
 
@@ -48,19 +43,20 @@ Function::ReturnValue sci_zeros(types::typed_list &in, int _iRetCount, types::ty
         if (pIn->getRows() == -1 && pIn->getCols() == -1)
         {
             Scierror(21, _("Invalid index.\n"));
-            return Function::Error;
+            return types::Function::Error;
         }
 
-        pOut = new Double(iDims, piDims);
+        pOut = new api_scilab::Double(iDims, piDims);
+        delete pIn;
     }
     else //size > 1
     {
         for (int i = 0 ; i < in.size() ; i++)
         {
-            if (in[i]->isDouble() == false)
+            if (api_scilab::isDouble(in[i]) == false)
             {
                 Scierror(999, _("%s: Wrong type for input argument #%d: Matrix expected.\n"), "zeros", i + 1);
-                return Function::Error;
+                return types::Function::Error;
             }
         }
 
@@ -68,21 +64,23 @@ Function::ReturnValue sci_zeros(types::typed_list &in, int _iRetCount, types::ty
         int* piDims = new int[iDims];
         for (int i = 0 ; i < iDims ; i++)
         {
-            Double* pIn = in[i]->getAs<Double>();
+            api_scilab::Double* pIn = api_scilab::getAsDouble(in[i]);
             if (pIn->isScalar() == false || pIn->isComplex())
             {
+                delete pIn;
                 Scierror(999, _("%s: Wrong type for input argument #%d: Real scalar expected.\n"), "zeros", i + 1);
-                return Function::Error;
+                return types::Function::Error;
             }
             piDims[i] = static_cast<int>(pIn->getReal()[0]);
+            delete pIn;
         }
-        pOut = new Double(iDims, piDims);
+        pOut = new api_scilab::Double(iDims, piDims);
         delete[] piDims;
     }
 
-    pOut->setZeros();
+    memset(pOut->get(), 0x00, pOut->getSize() * sizeof(double));
 
-    out.push_back(pOut);
-    return Function::OK;
+    out.push_back(api_scilab::getReturnVariable(pOut));
+    return types::Function::OK;
 }
 /*--------------------------------------------------------------------------*/
index 14b5bc7..9f88f18 100644 (file)
@@ -182,7 +182,7 @@ int cumprod(types::Polynom* pIn, int iOrientation, types::Polynom* pOut)
 
                 pSP = new types::SinglePoly(&pdRData, iOutRank);
                 pSP->getCoef()->setZeros();
-                iMultiRealPolyByRealPoly(pdblReal, iRank, pdblLastReal, iLastRank, pdRData, iOutRank);
+                iMultiScilabPolynomByScilabPolynom(pdblReal, iRank, pdblLastReal, iLastRank, pdRData, iOutRank);
 
                 pOut->set(i, pSP);
                 pdblLastReal = pdRData;
@@ -275,7 +275,7 @@ int cumprod(types::Polynom* pIn, int iOrientation, types::Polynom* pOut)
                         iOutRank = iLastRank + iRank - 1;
                         pSP = new types::SinglePoly(&pdRData, iOutRank);
 
-                        iMultiRealPolyByRealPoly(pdblReal, iRank, pdblLastReal, iLastRank, pdRData, iOutRank);
+                        iMultiScilabPolynomByScilabPolynom(pdblReal, iRank, pdblLastReal, iLastRank, pdRData, iOutRank);
 
                         pOut->set(i, pSP);
                         delete pSP;
index cb04abe..3c4253f 100644 (file)
@@ -203,9 +203,9 @@ types::Polynom* prod(types::Polynom* pIn, int iOrientation)
             {
                 double* pdblRealIn = pIn->get(i)->getCoef()->getReal();
                 memcpy(pdblTempReal, pdblRealOut, iRankMax * sizeof(double));
-                iMultiRealPolyByRealPoly(pdblTempReal, iRankMax,
-                                         pdblRealIn, piRanks[i],
-                                         pdblRealOut, iRankMax);
+                iMultiScilabPolynomByScilabPolynom(pdblTempReal, iRankMax,
+                                                   pdblRealIn, piRanks[i],
+                                                   pdblRealOut, iRankMax);
             }
 
             delete pdblTempReal;
@@ -346,9 +346,9 @@ types::Polynom* prod(types::Polynom* pIn, int iOrientation)
                 double* pdblRealIn = pIn->get(i)->getCoef()->getReal();
                 double* pdblRealOut = pOut->get(iIndex)->getCoef()->getReal();
                 memcpy(pdblTempReal, pdblRealOut, piRankMax[iIndex] * sizeof(double));
-                iMultiRealPolyByRealPoly(pdblTempReal, piRankMax[iIndex],
-                                         pdblRealIn, piRanks[i],
-                                         pdblRealOut, piRankMax[iIndex]);
+                iMultiScilabPolynomByScilabPolynom(pdblTempReal, piRankMax[iIndex],
+                                                   pdblRealIn, piRanks[i],
+                                                   pdblRealOut, piRankMax[iIndex]);
             }
 
             delete pdblTempReal;
index f5eadf8..20ea099 100644 (file)
@@ -257,7 +257,7 @@ types::Function::ReturnValue sci_mfscanf(types::typed_list &in, int _iRetCount,
                     {
                         switch (pITTemp->back()->getType())
                         {
-                            case types::InternalType::RealString :
+                            case types::InternalType::ScilabString :
                             {
                                 int iRows               = pITTemp->back()->getAs<types::String>()->getRows();
                                 int iCols               = pITTemp->back()->getAs<types::String>()->getCols();
@@ -277,7 +277,7 @@ types::Function::ReturnValue sci_mfscanf(types::typed_list &in, int _iRetCount,
                                 pITTemp->push_back(pType);
                             }
                             break;
-                            case types::InternalType::RealDouble :
+                            case types::InternalType::ScilabDouble :
                             {
                                 int iRows               = pITTemp->back()->getAs<types::Double>()->getRows();
                                 int iCols               = pITTemp->back()->getAs<types::Double>()->getCols();
index d7829cd..d2194bf 100644 (file)
@@ -224,7 +224,7 @@ types::Function::ReturnValue sci_mscanf(types::typed_list &in, int _iRetCount, t
                     {
                         switch (pITTemp->back()->getType())
                         {
-                            case types::InternalType::RealString :
+                            case types::InternalType::ScilabString :
                             {
                                 int iRows               = pITTemp->back()->getAs<types::String>()->getRows();
                                 int iCols               = pITTemp->back()->getAs<types::String>()->getCols();
@@ -243,7 +243,7 @@ types::Function::ReturnValue sci_mscanf(types::typed_list &in, int _iRetCount, t
                                 pITTemp->push_back(pType);
                             }
                             break;
-                            case types::InternalType::RealDouble :
+                            case types::InternalType::ScilabDouble :
                             {
                                 int iRows               = pITTemp->back()->getAs<types::Double>()->getRows();
                                 int iCols               = pITTemp->back()->getAs<types::Double>()->getCols();
index 5f5172a..1216354 100644 (file)
@@ -225,7 +225,7 @@ types::Function::ReturnValue sci_msscanf(types::typed_list &in, int _iRetCount,
                     {
                         switch (pITTemp->back()->getType())
                         {
-                            case types::InternalType::RealString :
+                            case types::InternalType::ScilabString :
                             {
                                 int iRows               = pITTemp->back()->getAs<types::String>()->getRows();
                                 int iCols               = pITTemp->back()->getAs<types::String>()->getCols();
@@ -244,7 +244,7 @@ types::Function::ReturnValue sci_msscanf(types::typed_list &in, int _iRetCount,
                                 pITTemp->push_back(pType);
                             }
                             break;
-                            case types::InternalType::RealDouble :
+                            case types::InternalType::ScilabDouble :
                             {
                                 int iRows               = pITTemp->back()->getAs<types::Double>()->getRows();
                                 int iCols               = pITTemp->back()->getAs<types::Double>()->getCols();
index 578a30a..44c58e4 100644 (file)
@@ -53,12 +53,12 @@ Function::ReturnValue sci_macrovar(types::typed_list &in, int _iRetCount, types:
     Macro* pM = NULL;
     switch (in[0]->getType())
     {
-        case InternalType::RealMacro :
+        case InternalType::ScilabMacro :
         {
             pM = in[0]->getAs<Macro>();
             break;
         }
-        case InternalType::RealMacroFile :
+        case InternalType::ScilabMacroFile :
         {
             MacroFile* pMF = in[0]->getAs<MacroFile>();
             pM = pMF->getMacro();
index 43f828f..7bdebf1 100644 (file)
@@ -68,9 +68,9 @@ Function::ReturnValue sci_whereis(types::typed_list &in, int _iRetCount, types::
 
     switch (pIT->getType())
     {
-        case InternalType::RealFunction :
-        case InternalType::RealMacro :
-        case InternalType::RealMacroFile :
+        case InternalType::ScilabFunction :
+        case InternalType::ScilabMacro :
+        case InternalType::ScilabMacroFile :
             stModule = pIT->getAs<Callable>()->getModule();
             break;
         default :
index 96a6f14..55c4f60 100644 (file)
@@ -44,11 +44,11 @@ types::Callable::ReturnValue sci_double(types::typed_list &in, int _iRetCount, t
         return types::Function::Error;
     }
 
-    types::InternalType::RealType type = in[0]->getType();
+    types::InternalType::ScilabType type = in[0]->getType();
 
     switch (type)
     {
-        case types::InternalType::RealBool :
+        case types::InternalType::ScilabBool :
         {
             types::Bool* pInt = in[0]->getAs<types::Bool>();
             pOut = new types::Double(pInt->getDims(), pInt->getDimsArray());
@@ -59,7 +59,7 @@ types::Callable::ReturnValue sci_double(types::typed_list &in, int _iRetCount, t
             break;
         }
 
-        case types::InternalType::RealInt8 :
+        case types::InternalType::ScilabInt8 :
         {
             types::Int8* pInt = in[0]->getAs<types::Int8>();
             pOut = new types::Double(pInt->getDims(), pInt->getDimsArray());
@@ -70,7 +70,7 @@ types::Callable::ReturnValue sci_double(types::typed_list &in, int _iRetCount, t
             break;
         }
 
-        case types::InternalType::RealUInt8 :
+        case types::InternalType::ScilabUInt8 :
         {
             types::UInt8* pInt = in[0]->getAs<types::UInt8>();
             pOut = new types::Double(pInt->getDims(), pInt->getDimsArray());
@@ -81,7 +81,7 @@ types::Callable::ReturnValue sci_double(types::typed_list &in, int _iRetCount, t
             break;
         }
 
-        case types::InternalType::RealInt16 :
+        case types::InternalType::ScilabInt16 :
         {
             types::Int16* pInt = in[0]->getAs<types::Int16>();
             pOut = new types::Double(pInt->getDims(), pInt->getDimsArray());
@@ -92,7 +92,7 @@ types::Callable::ReturnValue sci_double(types::typed_list &in, int _iRetCount, t
             break;
         }
 
-        case types::InternalType::RealUInt16 :
+        case types::InternalType::ScilabUInt16 :
         {
             types::UInt16* pInt = in[0]->getAs<types::UInt16>();
             pOut = new types::Double(pInt->getDims(), pInt->getDimsArray());
@@ -103,7 +103,7 @@ types::Callable::ReturnValue sci_double(types::typed_list &in, int _iRetCount, t
             break;
         }
 
-        case types::InternalType::RealInt32 :
+        case types::InternalType::ScilabInt32 :
         {
             types::Int32* pInt = in[0]->getAs<types::Int32>();
             pOut = new types::Double(pInt->getDims(), pInt->getDimsArray());
@@ -114,7 +114,7 @@ types::Callable::ReturnValue sci_double(types::typed_list &in, int _iRetCount, t
             break;
         }
 
-        case types::InternalType::RealUInt32 :
+        case types::InternalType::ScilabUInt32 :
         {
             types::UInt32* pInt = in[0]->getAs<types::UInt32>();
             pOut = new types::Double(pInt->getDims(), pInt->getDimsArray());
@@ -125,7 +125,7 @@ types::Callable::ReturnValue sci_double(types::typed_list &in, int _iRetCount, t
             break;
         }
 
-        case types::InternalType::RealInt64 :
+        case types::InternalType::ScilabInt64 :
         {
             types::Int64* pInt = in[0]->getAs<types::Int64>();
             pOut = new types::Double(pInt->getDims(), pInt->getDimsArray());
@@ -136,7 +136,7 @@ types::Callable::ReturnValue sci_double(types::typed_list &in, int _iRetCount, t
             break;
         }
 
-        case types::InternalType::RealUInt64 :
+        case types::InternalType::ScilabUInt64 :
         {
             types::UInt64* pInt = in[0]->getAs<types::UInt64>();
             pOut = new types::Double(pInt->getDims(), pInt->getDimsArray());
index aa03f6e..04ac84d 100644 (file)
@@ -35,61 +35,61 @@ void convertInt(types::InternalType* _pIn, T* _pOut)
 {
     switch (_pIn->getType())
     {
-        case types::InternalType::RealBool :
+        case types::InternalType::ScilabBool :
         {
             types::Bool* pBool = _pIn->getAs<types::Bool>();
             convert_int(pBool->get(), pBool->getSize(), _pOut->get());
             break;
         }
-        case types::InternalType::RealDouble :
+        case types::InternalType::ScilabDouble :
         {
             types::Double* pD = _pIn->getAs<types::Double>();
             convert_int(pD->get(), pD->getSize(), _pOut->get());
             break;
         }
-        case types::InternalType::RealInt8 :
+        case types::InternalType::ScilabInt8 :
         {
             types::Int8* pD = _pIn->getAs<types::Int8>();
             convert_int(pD->get(), pD->getSize(), _pOut->get());
             break;
         }
-        case types::InternalType::RealUInt8 :
+        case types::InternalType::ScilabUInt8 :
         {
             types::UInt8* pD = _pIn->getAs<types::UInt8>();
             convert_int(pD->get(), pD->getSize(), _pOut->get());
             break;
         }
-        case types::InternalType::RealInt16 :
+        case types::InternalType::ScilabInt16 :
         {
             types::Int16* pD = _pIn->getAs<types::Int16>();
             convert_int(pD->get(), pD->getSize(), _pOut->get());
             break;
         }
-        case types::InternalType::RealUInt16 :
+        case types::InternalType::ScilabUInt16 :
         {
             types::UInt16* pD = _pIn->getAs<types::UInt16>();
             convert_int(pD->get(), pD->getSize(), _pOut->get());
             break;
         }
-        case types::InternalType::RealInt32 :
+        case types::InternalType::ScilabInt32 :
         {
             types::Int32* pD = _pIn->getAs<types::Int32>();
             convert_int(pD->get(), pD->getSize(), _pOut->get());
             break;
         }
-        case types::InternalType::RealUInt32 :
+        case types::InternalType::ScilabUInt32 :
         {
             types::UInt32* pD = _pIn->getAs<types::UInt32>();
             convert_int(pD->get(), pD->getSize(), _pOut->get());
             break;
         }
-        case types::InternalType::RealInt64 :
+        case types::InternalType::ScilabInt64 :
         {
             types::Int64* pD = _pIn->getAs<types::Int64>();
             convert_int(pD->get(), pD->getSize(), _pOut->get());
             break;
         }
-        case types::InternalType::RealUInt64 :
+        case types::InternalType::ScilabUInt64 :
         {
             types::UInt64* pD = _pIn->getAs<types::UInt64>();
             convert_int(pD->get(), pD->getSize(), _pOut->get());
index 0486d03..876c31d 100644 (file)
@@ -43,31 +43,31 @@ Function::ReturnValue sci_inttype(typed_list &in, int _piRetCount, typed_list &o
     Double *pRetVal = NULL;
     switch (pitValue->getType())
     {
-        case InternalType::RealDouble :
+        case InternalType::ScilabDouble :
             pRetVal = new Double(0);
             break;
-        case InternalType::RealInt8 :
+        case InternalType::ScilabInt8 :
             pRetVal = new Double(SCI_INT8);
             break;
-        case InternalType::RealUInt8 :
+        case InternalType::ScilabUInt8 :
             pRetVal = new Double(SCI_UINT8);
             break;
-        case InternalType::RealInt16 :
+        case InternalType::ScilabInt16 :
             pRetVal = new Double(SCI_INT16);
             break;
-        case InternalType::RealUInt16 :
+        case InternalType::ScilabUInt16 :
             pRetVal = new Double(SCI_UINT16);
             break;
-        case InternalType::RealInt32 :
+        case InternalType::ScilabInt32 :
             pRetVal = new Double(SCI_INT32);
             break;
-        case InternalType::RealUInt32 :
+        case InternalType::ScilabUInt32 :
             pRetVal = new Double(SCI_UINT32);
             break;
-        case InternalType::RealInt64 :
+        case InternalType::ScilabInt64 :
             pRetVal = new Double(SCI_INT64);
             break;
-        case InternalType::RealUInt64 :
+        case InternalType::ScilabUInt64 :
             pRetVal = new Double(SCI_UINT64);
             break;
     }
index 2aa83c0..92d990e 100644 (file)
@@ -101,39 +101,39 @@ mxClassID mxGetClassID(const mxArray *ptr)
     {
         return mxUNKNOWN_CLASS;
     }
-    types::InternalType::RealType type = pIT->getType();
+    types::InternalType::ScilabType type = pIT->getType();
 
     switch (type)
     {
-        case types::InternalType::RealInt8:
+        case types::InternalType::ScilabInt8:
             return mxINT8_CLASS;
-        case types::InternalType::RealUInt8:
+        case types::InternalType::ScilabUInt8:
             return mxUINT8_CLASS;
-        case types::InternalType::RealInt16:
+        case types::InternalType::ScilabInt16:
             return mxINT16_CLASS;
-        case types::InternalType::RealUInt16:
+        case types::InternalType::ScilabUInt16:
             return mxUINT16_CLASS;
-        case types::InternalType::RealInt32:
+        case types::InternalType::ScilabInt32:
             return mxINT32_CLASS;
-        case types::InternalType::RealUInt32:
+        case types::InternalType::ScilabUInt32:
             return mxUINT32_CLASS;
-        case types::InternalType::RealInt64:
+        case types::InternalType::ScilabInt64:
             return mxINT64_CLASS;
-        case types::InternalType::RealUInt64:
+        case types::InternalType::ScilabUInt64:
             return mxUINT64_CLASS;
-        case types::InternalType::RealString:
+        case types::InternalType::ScilabString:
             return mxCHAR_CLASS;
-        case types::InternalType::RealDouble:
+        case types::InternalType::ScilabDouble:
             return mxDOUBLE_CLASS;
-        case types::InternalType::RealBool:
+        case types::InternalType::ScilabBool:
             return mxLOGICAL_CLASS;
-        case types::InternalType::RealFloat:
+        case types::InternalType::ScilabFloat:
             return mxSINGLE_CLASS;
-        case types::InternalType::RealStruct:
+        case types::InternalType::ScilabStruct:
             return mxSTRUCT_CLASS;
-        case types::InternalType::RealCell:
+        case types::InternalType::ScilabCell:
             return mxCELL_CLASS;
-        case types::InternalType::RealFunction:
+        case types::InternalType::ScilabFunction:
             return mxFUNCTION_CLASS;
         default:
             return mxUNKNOWN_CLASS;
@@ -321,9 +321,9 @@ int *mxGetDimensions(const mxArray *ptr)
 
     switch (pIT->getType())
     {
-        case types::InternalType::RealList:
-        case types::InternalType::RealMList:
-        case types::InternalType::RealTList:
+        case types::InternalType::ScilabList:
+        case types::InternalType::ScilabMList:
+        case types::InternalType::ScilabTList:
         {
             int *piDims = (int *) MALLOC(sizeof(int));
 
@@ -475,20 +475,20 @@ bool mxIsEmpty(const mxArray *ptr)
 
     switch (pIT->getType())
     {
-        case types::InternalType::RealDouble:
+        case types::InternalType::ScilabDouble:
         {
             types::Double *pD = pIT->getAs<types::Double>();
             return pD->getSize() == 0;
         }
-        case types::InternalType::RealCell:
+        case types::InternalType::ScilabCell:
         {
             types::Cell *pC = pIT->getAs<types::Cell>();
             return pC->getSize() == 0;
         }
-        case types::InternalType::RealContainer:
-        case types::InternalType::RealList:
-        case types::InternalType::RealMList:
-        case types::InternalType::RealTList:
+        case types::InternalType::ScilabContainer:
+        case types::InternalType::ScilabList:
+        case types::InternalType::ScilabMList:
+        case types::InternalType::ScilabTList:
         {
             types::Container *pC = pIT->getAs<types::Container>();
             return pC->getSize() == 0;
@@ -572,52 +572,52 @@ double mxGetScalar(const mxArray *ptr)
 
     switch (pIT->getType())
     {
-        case types::InternalType::RealDouble:
+        case types::InternalType::ScilabDouble:
         {
             types::Double *pD = pIT->getAs<types::Double>();
             return pD->get(0);
         }
-        case types::InternalType::RealBool:
+        case types::InternalType::ScilabBool:
         {
             types::Bool *pB = pIT->getAs<types::Bool>();
             return (double) pB->get(0);
         }
-        case types::InternalType::RealInt8:
+        case types::InternalType::ScilabInt8:
         {
             types::Int8 *pI = pIT->getAs<types::Int8>();
             return (double) pI->get(0);
         }
-        case types::InternalType::RealUInt8:
+        case types::InternalType::ScilabUInt8:
         {
             types::UInt8 *pI = pIT->getAs<types::UInt8>();
             return (double) pI->get(0);
         }
-        case types::InternalType::RealInt16:
+        case types::InternalType::ScilabInt16:
         {
             types::Int16 *pI = pIT->getAs<types::Int16>();
             return (double) pI->get(0);
         }
-        case types::InternalType::RealUInt16:
+        case types::InternalType::ScilabUInt16:
         {
             types::UInt16 *pI = pIT->getAs<types::UInt16>();
             return (double) pI->get(0);
         }
-        case types::InternalType::RealInt32:
+        case types::InternalType::ScilabInt32:
         {
             types::Int32 *pI = pIT->getAs<types::Int32>();
             return (double) pI->get(0);
         }
-        case types::InternalType::RealUInt32:
+        case types::InternalType::ScilabUInt32:
         {
             types::UInt32 *pI = pIT->getAs<types::UInt32>();
             return (double) pI->get(0);
         }
-        case types::InternalType::RealInt64:
+        case types::InternalType::ScilabInt64:
         {
             types::Int64 *pI = pIT->getAs<types::Int64>();
             return (double) pI->get(0);
         }
-        case types::InternalType::RealUInt64:
+        case types::InternalType::ScilabUInt64:
         {
             types::UInt64 *pI = pIT->getAs<types::UInt64>();
             return (double) pI->get(0);
@@ -637,52 +637,52 @@ void *mxGetData(const mxArray *ptr)
 
     switch (pIT->getType())
     {
-        case types::InternalType::RealDouble:
+        case types::InternalType::ScilabDouble:
         {
             types::Double *pD = pIT->getAs<types::Double>();
             return pD->get();
         }
-        case types::InternalType::RealBool:
+        case types::InternalType::ScilabBool:
         {
             types::Bool *pB = pIT->getAs<types::Bool>();
             return pB->get();
         }
-        case types::InternalType::RealInt8:
+        case types::InternalType::ScilabInt8:
         {
             types::Int8 *pI = pIT->getAs<types::Int8>();
             return pI->get();
         }
-        case types::InternalType::RealUInt8:
+        case types::InternalType::ScilabUInt8:
         {
             types::UInt8 *pI = pIT->getAs<types::UInt8>();
             return pI->get();
         }
-        case types::InternalType::RealInt16:
+        case types::InternalType::ScilabInt16:
         {
             types::Int16 *pI = pIT->getAs<types::Int16>();
             return pI->get();
         }
-        case types::InternalType::RealUInt16:
+        case types::InternalType::ScilabUInt16:
         {
             types::UInt16 *pI = pIT->getAs<types::UInt16>();
             return pI->get();
         }
-        case types::InternalType::RealInt32:
+        case types::InternalType::ScilabInt32:
         {
             types::Int32 *pI = pIT->getAs<types::Int32>();
             return pI->get();
         }
-        case types::InternalType::RealUInt32:
+        case types::InternalType::ScilabUInt32:
         {
             types::UInt32 *pI = pIT->getAs<types::UInt32>();
             return pI->get();
         }
-        case types::InternalType::RealInt64:
+        case types::InternalType::ScilabInt64:
         {
             types::Int64 *pI = pIT->getAs<types::Int64>();
             return pI->get();
         }
-        case types::InternalType::RealUInt64:
+        case types::InternalType::ScilabUInt64:
         {
             types::UInt64 *pI = pIT->getAs<types::UInt64>();
             return pI->get();
@@ -702,52 +702,52 @@ void *mxGetImagData(const mxArray *ptr)
 
     switch (pIT->getType())
     {
-        case types::InternalType::RealDouble:
+        case types::InternalType::ScilabDouble:
         {
             types::Double *pD = pIT->getAs<types::Double>();
             return pD->getImg();
         }
-        case types::InternalType::RealBool:
+        case types::InternalType::ScilabBool:
         {
             types::Bool *pB = pIT->getAs<types::Bool>();
             return pB->getImg();
         }
-        case types::InternalType::RealInt8:
+        case types::InternalType::ScilabInt8:
         {
             types::Int8 *pI = pIT->getAs<types::Int8>();
             return pI->getImg();
         }
-        case types::InternalType::RealUInt8:
+        case types::InternalType::ScilabUInt8:
         {
             types::UInt8 *pI = pIT->getAs<types::UInt8>();
             return pI->getImg();
         }
-        case types::InternalType::RealInt16:
+        case types::InternalType::ScilabInt16:
         {
             types::Int16 *pI = pIT->getAs<types::Int16>();
             return pI->getImg();
         }
-        case types::InternalType::RealUInt16:
+        case types::InternalType::ScilabUInt16:
         {
             types::UInt16 *pI = pIT->getAs<types::UInt16>();
             return pI->getImg();
         }
-        case types::InternalType::RealInt32:
+        case types::InternalType::ScilabInt32:
         {
             types::Int32 *pI = pIT->getAs<types::Int32>();
             return pI->getImg();
         }
-        case types::InternalType::RealUInt32:
+        case types::InternalType::ScilabUInt32:
         {
             types::UInt32 *pI = pIT->getAs<types::UInt32>();
             return pI->getImg();
         }
-        case types::InternalType::RealInt64:
+        case types::InternalType::ScilabInt64:
         {
             types::Int64 *pI = pIT->getAs<types::Int64>();
             return pI->getImg();
         }
-        case types::InternalType::RealUInt64:
+        case types::InternalType::ScilabUInt64:
         {
             types::UInt64 *pI = pIT->getAs<types::UInt64>();
             return pI->getImg();
index e5c909c..330a47e 100644 (file)
@@ -30,8 +30,8 @@ EXTERN_OP int iAddComplexIdentityToComplexMatrix(double _dblReal1, double _dblIm
 
 
 
-EXTERN_OP int iAddRealPolyToRealPoly(double* _pCoef1, int _iRank1, double* _pCoef2, int _iRank2, double* _pCoefOut, int _iRanOut);
-EXTERN_OP int iAddRealPolyToComplexPoly(double* _pCoef1, int _iRank1, double* _pCoefR2, double* _pCoef2I, int _iRank2, double* _pCoefOutR, double* _pCoefOutI, int _iRanOut);
+EXTERN_OP int iAddScilabPolynomToScilabPolynom(double* _pCoef1, int _iRank1, double* _pCoef2, int _iRank2, double* _pCoefOut, int _iRanOut);
+EXTERN_OP int iAddScilabPolynomToComplexPoly(double* _pCoef1, int _iRank1, double* _pCoefR2, double* _pCoef2I, int _iRank2, double* _pCoefOutR, double* _pCoefOutI, int _iRanOut);
 EXTERN_OP int iAddComplexPolyToComplexPoly(double* _pCoef1R, double* _pCoef1I, int _iRank1, double* _pCoef2R, double* _pCoef2I, int _iRank2, double* _pCoefOutR, double* _pCoefOutI, int _iRanOut);
 
 
index affa819..7f4019a 100644 (file)
@@ -57,17 +57,17 @@ EXTERN_OP int iMultiComplexScalarByComplexMatrix(
 
 
 /*polynomial multiplications*/
-EXTERN_OP int iMultiRealPolyByRealPoly(
+EXTERN_OP int iMultiScilabPolynomByScilabPolynom(
     double *_pdblReal1,        int _iRank1,
     double *_pdblReal2,        int _iRank2,
     double *_pdblRealOut, int _iRankOut);
 
-EXTERN_OP int iMultiComplexPolyByRealPoly(
+EXTERN_OP int iMultiComplexPolyByScilabPolynom(
     double *_pdblReal1,        double *_pdblImg1, int _iRank1,
     double *_pdblReal2,        int _iRank2,
     double *_pdblRealOut, double *_pdblImgOut, int _iRankOut);
 
-EXTERN_OP int iMultiRealPolyByComplexPoly(
+EXTERN_OP int iMultiScilabPolynomByComplexPoly(
     double *_pdblReal1,        int _iRank1,
     double *_pdblReal2,        double *_pdblImg2, int _iRank2,
     double *_pdblRealOut, double *_pdblImgOut, int _iRankOut);
index 8b7e74b..3fbf4de 100644 (file)
@@ -129,7 +129,7 @@ int iAddComplexMatrixToComplexMatrix(double* _pdblReal1, double* _pdblImg1, doub
 }
 
 /* SinglePoly + SinglePoly*/
-int iAddRealPolyToRealPoly(double* _pCoef1R, int _iRank1, double* _pCoef2R, int _iRank2, double* _pCoefOutR, int _iRanOut)
+int iAddScilabPolynomToScilabPolynom(double* _pCoef1R, int _iRank1, double* _pCoef2R, int _iRank2, double* _pCoefOutR, int _iRanOut)
 {
     int iRankMin                       = Min(_iRank1, _iRank2);
     int iRankMax                       = Max(_iRank1, _iRank2);
@@ -148,7 +148,7 @@ int iAddRealPolyToRealPoly(double* _pCoef1R, int _iRank1, double* _pCoef2R, int
     return 0;
 }
 
-int iAddRealPolyToComplexPoly(double* _pCoef1R, int _iRank1, double* _pCoef2R, double* _pCoef2I, int _iRank2, double* _pCoefOutR, double* _pCoefOutI, int _iRanOut)
+int iAddScilabPolynomToComplexPoly(double* _pCoef1R, int _iRank1, double* _pCoef2R, double* _pCoef2I, int _iRank2, double* _pCoefOutR, double* _pCoefOutI, int _iRanOut)
 {
     int iRankMin                       = Min(_iRank1, _iRank2);
     int iRankMax                       = Max(_iRank1, _iRank2);
index b93df2b..da41d12 100644 (file)
@@ -149,7 +149,7 @@ int iMultiComplexScalarByComplexMatrix(
 
 
 /* (a1 + a2 * %s + ... ) * (a1 + a2 * %s + ... )*/
-EXTERN_OP int iMultiRealPolyByRealPoly(
+EXTERN_OP int iMultiScilabPolynomByScilabPolynom(
     double *_pdblReal1,        int _iRank1,
     double *_pdblReal2,        int _iRank2,
     double *_pdblRealOut, int _iRankOut)
@@ -169,7 +169,7 @@ EXTERN_OP int iMultiRealPolyByRealPoly(
 }
 
 /* ((a1 +ib1) + (a2+ib2) * %s + ... ) (a1 + a2 * %s + ... ) */
-EXTERN_OP int iMultiComplexPolyByRealPoly(
+EXTERN_OP int iMultiComplexPolyByScilabPolynom(
     double *_pdblReal1,        double *_pdblImg1, int _iRank1,
     double *_pdblReal2,        int _iRank2,
     double *_pdblRealOut, double *_pdblImgOut, int _iRankOut)
@@ -191,12 +191,12 @@ EXTERN_OP int iMultiComplexPolyByRealPoly(
 }
 
 /* (a1 + a2 * %s + ... ) * ((a1 +ib1) + (a2+ib2) * %s + ... )*/
-EXTERN_OP int iMultiRealPolyByComplexPoly(
+EXTERN_OP int iMultiScilabPolynomByComplexPoly(
     double *_pdblReal1,        int _iRank1,
     double *_pdblReal2,        double *_pdblImg2, int _iRank2,
     double *_pdblRealOut, double *_pdblImgOut, int _iRankOut)
 {
-    return iMultiComplexPolyByRealPoly(
+    return iMultiComplexPolyByScilabPolynom(
                _pdblReal2, _pdblImg2, _iRank2,
                _pdblReal1, _iRank1,
                _pdblRealOut, _pdblImgOut, _iRankOut);
index 77365f9..5cd9ee1 100644 (file)
@@ -61,7 +61,7 @@ InternalType *GenericPlus(InternalType *_pLeftOperand, InternalType *_pRightOper
     }
 
     // FIXME: Overload or dedicated function.
-    //    else if(TypeL == GenericType::RealBool && TypeR == GenericType::RealBool)
+    //    else if(TypeL == GenericType::ScilabBool && TypeR == GenericType::ScilabBool)
     //    {
     //        //nothing to do, all in macro : %b_+_b
     //    }
@@ -86,7 +86,7 @@ InternalType *GenericPlus(InternalType *_pLeftOperand, InternalType *_pRightOper
     }
 
     // FIXME: Overload or dedicated function.
-    //    else if(TypeL == GenericType::RealInt && TypeR == GenericType::RealInt)
+    //    else if(TypeL == GenericType::ScilabInt && TypeR == GenericType::ScilabInt)
     //    {
     //    }
 
@@ -853,7 +853,7 @@ int AddPolyToPoly(Polynom* _pPoly1, Polynom* _pPoly2, Polynom ** _pPolyOut)
     {
         for (int i = 0 ; i < _pPoly1->getSize() ; i++)
         {
-            iAddRealPolyToRealPoly(
+            iAddScilabPolynomToScilabPolynom(
                 _pPoly1->get(i)->getCoef()->getReal(), pRank1[i],
                 _pPoly2->get(i)->getCoef()->getReal(), pRank2[i],
                 (*_pPolyOut)->get(i)->getCoef()->getReal(), pRank[i]);
@@ -863,7 +863,7 @@ int AddPolyToPoly(Polynom* _pPoly1, Polynom* _pPoly2, Polynom ** _pPolyOut)
     {
         for (int i = 0 ; i < _pPoly1->getSize() ; i++)
         {
-            iAddRealPolyToComplexPoly(
+            iAddScilabPolynomToComplexPoly(
                 _pPoly1->get(i)->getCoef()->getReal(), pRank1[i],
                 _pPoly2->get(i)->getCoef()->getReal(), _pPoly2->get(i)->getCoef()->getImg(), pRank2[i],
                 (*_pPolyOut)->get(i)->getCoef()->getReal(), (*_pPolyOut)->get(i)->getCoef()->getImg(), pRank[i]);
@@ -873,7 +873,7 @@ int AddPolyToPoly(Polynom* _pPoly1, Polynom* _pPoly2, Polynom ** _pPolyOut)
     {
         for (int i = 0 ; i < _pPoly1->getSize() ; i++)
         {
-            iAddRealPolyToComplexPoly(
+            iAddScilabPolynomToComplexPoly(
                 _pPoly2->get(i)->getCoef()->getReal(), pRank2[i],
                 _pPoly1->get(i)->getCoef()->getReal(), _pPoly1->get(i)->getCoef()->getImg(), pRank1[i],
                 (*_pPolyOut)->get(i)->getCoef()->getReal(), (*_pPolyOut)->get(i)->getCoef()->getImg(), pRank[i]);
index cc61e55..b7c0654 100644 (file)
@@ -30,8 +30,8 @@ template <class T> static int EqualToArrayAndArray(T* _pL, T* _pR, GenericType**
 
 InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *_pRightOperand)
 {
-    GenericType::RealType TypeL = _pLeftOperand->getType();
-    GenericType::RealType TypeR = _pRightOperand->getType();
+    GenericType::ScilabType TypeL = _pLeftOperand->getType();
+    GenericType::ScilabType TypeR = _pRightOperand->getType();
 
     InternalType* pIL = _pLeftOperand;
     InternalType* pIR = _pRightOperand;
@@ -43,9 +43,9 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** [] == ??
     */
-    if (TypeL == GenericType::RealDouble && pIL->getAs<Double>()->getSize() == 0)
+    if (TypeL == GenericType::ScilabDouble && pIL->getAs<Double>()->getSize() == 0)
     {
-        if (TypeR != InternalType::RealDouble)
+        if (TypeR != InternalType::ScilabDouble)
         {
             return new Bool(false);
         }
@@ -54,21 +54,21 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** ?? == []
     */
-    if (TypeR == GenericType::RealDouble && pIR->getAs<Double>()->getSize() == 0)
+    if (TypeR == GenericType::ScilabDouble && pIR->getAs<Double>()->getSize() == 0)
     {
-        if (TypeL != InternalType::RealDouble)
+        if (TypeL != InternalType::ScilabDouble)
         {
             return new Bool(false);
         }
     }
 
-    if (TypeL == GenericType::RealColon && TypeR == GenericType::RealColon)
+    if (TypeL == GenericType::ScilabColon && TypeR == GenericType::ScilabColon)
     {
         //: == :
         return new Bool(true);
     }
 
-    if (TypeL == GenericType::RealColon)
+    if (TypeL == GenericType::ScilabColon)
     {
         // : == x
         if (pIR->isGenericType())
@@ -76,7 +76,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
             //transform left operand in a identity matrix with same dimension of right operand
             GenericType* pGT = pIR->getAs<GenericType>();
             pIL = Double::Identity(pGT->getDims(), pGT->getDimsArray());;
-            TypeL = GenericType::RealDouble;
+            TypeL = GenericType::ScilabDouble;
             bAllocL = true;
         }
         else
@@ -85,7 +85,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
         }
     }
 
-    if (TypeR == GenericType::RealColon)
+    if (TypeR == GenericType::ScilabColon)
     {
         // x == :
         if (pIL->isGenericType())
@@ -93,7 +93,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
             //transform right operand in a identity matrix with same dimensions of left operand
             GenericType* pGT = pIL->getAs<GenericType>();
             pIR = Double::Identity(pGT->getDims(), pGT->getDimsArray());;
-            TypeR = GenericType::RealDouble;
+            TypeR = GenericType::ScilabDouble;
             bAllocR = true;
         }
         else
@@ -105,7 +105,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** DOUBLE == DOUBLE
     */
-    if (TypeL == GenericType::RealDouble && TypeR == GenericType::RealDouble)
+    if (TypeL == GenericType::ScilabDouble && TypeR == GenericType::ScilabDouble)
     {
         Double *pL   = pIL->getAs<Double>();
         Double *pR   = pIR->getAs<Double>();
@@ -124,7 +124,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** STRING == STRING
     */
-    if (TypeL == GenericType::RealString && TypeR == GenericType::RealString)
+    if (TypeL == GenericType::ScilabString && TypeR == GenericType::ScilabString)
     {
         String *pL   = pIL->getAs<String>();
         String *pR   = pIR->getAs<String>();
@@ -192,7 +192,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** BOOL == BOOL
     */
-    if (TypeL == GenericType::RealBool && TypeR == GenericType::RealBool)
+    if (TypeL == GenericType::ScilabBool && TypeR == GenericType::ScilabBool)
     {
         Bool *pL   = pIL->getAs<Bool>();
         Bool *pR   = pIR->getAs<Bool>();
@@ -261,7 +261,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** POLY == POLY
     */
-    if (TypeL == GenericType::RealPoly && TypeR == GenericType::RealPoly)
+    if (TypeL == GenericType::ScilabPolynom && TypeR == GenericType::ScilabPolynom)
     {
         Polynom *pL   = pIL->getAs<Polynom>();
         Polynom *pR   = pIR->getAs<Polynom>();
@@ -326,7 +326,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** DOUBLE == POLY
     */
-    if (TypeL == GenericType::RealDouble && TypeR == GenericType::RealPoly)
+    if (TypeL == GenericType::ScilabDouble && TypeR == GenericType::ScilabPolynom)
     {
         Double *pL  = pIL->getAs<Double>();
         Polynom *pR = pIR->getAs<Polynom>();
@@ -545,7 +545,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** POLY == DOUBLE
     */
-    if (TypeL == GenericType::RealPoly && TypeR == GenericType::RealDouble)
+    if (TypeL == GenericType::ScilabPolynom && TypeR == GenericType::ScilabDouble)
     {
         return GenericComparisonEqual(_pRightOperand, _pLeftOperand);
     }
@@ -553,7 +553,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** LIST == LIST
     */
-    if (TypeL == GenericType::RealList && TypeR == GenericType::RealList)
+    if (TypeL == GenericType::ScilabList && TypeR == GenericType::ScilabList)
     {
         List* pLL = pIL->getAs<List>();
         List* pLR = pIR->getAs<List>();
@@ -584,7 +584,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** CELL == CELL
     */
-    if (TypeL == GenericType::RealCell && TypeR == GenericType::RealCell)
+    if (TypeL == GenericType::ScilabCell && TypeR == GenericType::ScilabCell)
     {
         Cell* pCL = pIL->getAs<Cell>();
         Cell* pCR = pIR->getAs<Cell>();
@@ -628,7 +628,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** STRUCT == STRUCT
     */
-    if (TypeL == GenericType::RealStruct && TypeR == GenericType::RealStruct)
+    if (TypeL == GenericType::ScilabStruct && TypeR == GenericType::ScilabStruct)
     {
         Struct* pStL = pIL->getAs<Struct>();
         Struct* pStR = pIR->getAs<Struct>();
@@ -671,7 +671,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** DOUBLE == STRING
     */
-    if (TypeL == GenericType::RealDouble && TypeR == GenericType::RealString)
+    if (TypeL == GenericType::ScilabDouble && TypeR == GenericType::ScilabString)
     {
         clearAlloc(bAllocL, pIL, bAllocR, pIR);
         return new Bool(0);
@@ -680,7 +680,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** STRING == DOUBLE
     */
-    if (TypeL == GenericType::RealString && TypeR == GenericType::RealDouble)
+    if (TypeL == GenericType::ScilabString && TypeR == GenericType::ScilabDouble)
     {
         clearAlloc(bAllocL, pIL, bAllocR, pIR);
         return new Bool(0);
@@ -689,7 +689,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** SPARSE == SPARSE
     */
-    if (TypeL == GenericType::RealSparse && TypeR == GenericType::RealSparse)
+    if (TypeL == GenericType::ScilabSparse && TypeR == GenericType::ScilabSparse)
     {
         Sparse* pL = pIL->getAs<Sparse>();
         Sparse* pR = pIR->getAs<Sparse>();
@@ -708,7 +708,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** SPARSE == DOUBLE
     */
-    if (TypeL == GenericType::RealSparse && TypeR == GenericType::RealDouble)
+    if (TypeL == GenericType::ScilabSparse && TypeR == GenericType::ScilabDouble)
     {
         Sparse* pL = pIL->getAs<Sparse>();
         Double* pR = pIR->getAs<Double>();
@@ -727,7 +727,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** DOUBLE == SPARSE
     */
-    if (TypeL == GenericType::RealDouble && TypeR == GenericType::RealSparse)
+    if (TypeL == GenericType::ScilabDouble && TypeR == GenericType::ScilabSparse)
     {
         Double* pL = pIL->getAs<Double>();
         Sparse* pR = pIR->getAs<Sparse>();
@@ -746,7 +746,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** SPARSE BOOL == SPARSE BOOL
     */
-    if (TypeL == GenericType::RealSparseBool && TypeR == GenericType::RealSparseBool)
+    if (TypeL == GenericType::ScilabSparseBool && TypeR == GenericType::ScilabSparseBool)
     {
         SparseBool* pL = pIL->getAs<SparseBool>();
         SparseBool* pR = pIR->getAs<SparseBool>();
@@ -765,7 +765,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** SPARSE BOOL == BOOL
     */
-    if (TypeL == GenericType::RealSparseBool && TypeR == GenericType::RealBool)
+    if (TypeL == GenericType::ScilabSparseBool && TypeR == GenericType::ScilabBool)
     {
         SparseBool* pL = pIL->getAs<SparseBool>();
         Bool* pR = pIR->getAs<Bool>();
@@ -784,7 +784,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** BOOL == SPARSE BOOL
     */
-    if (TypeL == GenericType::RealBool && TypeR == GenericType::RealSparseBool)
+    if (TypeL == GenericType::ScilabBool && TypeR == GenericType::ScilabSparseBool)
     {
         Bool* pL = pIL->getAs<Bool>();
         SparseBool* pR = pIR->getAs<SparseBool>();
@@ -844,7 +844,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** TList == TList
     */
-    if (TypeL == GenericType::RealTList && TypeR == GenericType::RealTList)
+    if (TypeL == GenericType::ScilabTList && TypeR == GenericType::ScilabTList)
     {
         TList* pLL = pIL->getAs<TList>();
         TList* pLR = pIR->getAs<TList>();
@@ -876,7 +876,7 @@ InternalType *GenericComparisonEqual(InternalType *_pLeftOperand, InternalType *
     /*
     ** MList == MList
     */
-    if (TypeL == GenericType::RealMList && TypeR == GenericType::RealMList)
+    if (TypeL == GenericType::ScilabMList && TypeR == GenericType::ScilabMList)
     {
         MList* pLL = pIL->getAs<MList>();
         MList* pLR = pIR->getAs<MList>();
@@ -1238,35 +1238,35 @@ int EqualToIntAndInt(InternalType* _pL, InternalType*  _pR, GenericType** _pOut)
 {
     switch (_pL->getType())
     {
-        case InternalType::RealInt8 :
+        case InternalType::ScilabInt8 :
         {
             return EqualToArrayAndArray(_pL->getAs<Int8>(), _pR->getAs<Int8>(), _pOut);
         }
-        case InternalType::RealUInt8 :
+        case InternalType::ScilabUInt8 :
         {
             return EqualToArrayAndArray(_pL->getAs<UInt8>(), _pR->getAs<UInt8>(), _pOut);
         }
-        case InternalType::RealInt16 :
+        case InternalType::ScilabInt16 :
         {
             return EqualToArrayAndArray(_pL->getAs<Int16>(), _pR->getAs<Int16>(), _pOut);
         }
-        case InternalType::RealUInt16 :
+        case InternalType::ScilabUInt16 :
         {
             return EqualToArrayAndArray(_pL->getAs<UInt16>(), _pR->getAs<UInt16>(), _pOut);
         }
-        case InternalType::RealInt32 :
+        case InternalType::ScilabInt32 :
         {
             return EqualToArrayAndArray(_pL->getAs<Int32>(), _pR->getAs<Int32>(), _pOut);
         }
-        case InternalType::RealUInt32 :
+        case InternalType::ScilabUInt32 :
         {
             return EqualToArrayAndArray(_pL->getAs<UInt32>(), _pR->getAs<UInt32>(), _pOut);
         }
-        case InternalType::RealInt64 :
+        case InternalType::ScilabInt64 :
         {
             return EqualToArrayAndArray(_pL->getAs<Int64>(), _pR->getAs<Int64>(), _pOut);
         }
-        case InternalType::RealUInt64 :
+        case InternalType::ScilabUInt64 :
         {
             return EqualToArrayAndArray(_pL->getAs<UInt64>(), _pR->getAs<UInt64>(), _pOut);
         }
index 7a07e21..e1f3738 100644 (file)
@@ -523,35 +523,35 @@ int IntLessInt(types::InternalType* _pL, types::InternalType*  _pR, types::Gener
 {
     switch (_pL->getType())
     {
-        case InternalType::RealInt8 :
+        case InternalType::ScilabInt8 :
         {
             return IntLessInt(_pL->getAs<Int8>(), _pR->getAs<Int8>(), _pOut);
         }
-        case InternalType::RealUInt8 :
+        case InternalType::ScilabUInt8 :
         {
             return IntLessInt(_pL->getAs<UInt8>(), _pR->getAs<UInt8>(), _pOut);
         }
-        case InternalType::RealInt16 :
+        case InternalType::ScilabInt16 :
         {
             return IntLessInt(_pL->getAs<Int16>(), _pR->getAs<Int16>(), _pOut);
         }
-        case InternalType::RealUInt16 :
+        case InternalType::ScilabUInt16 :
         {
             return IntLessInt(_pL->getAs<UInt16>(), _pR->getAs<UInt16>(), _pOut);
         }
-        case InternalType::RealInt32 :
+        case InternalType::ScilabInt32 :
         {
             return IntLessInt(_pL->getAs<Int32>(), _pR->getAs<Int32>(), _pOut);
         }
-        case InternalType::RealUInt32 :
+        case InternalType::ScilabUInt32 :
         {
             return IntLessInt(_pL->getAs<UInt32>(), _pR->getAs<UInt32>(), _pOut);
         }
-        case InternalType::RealInt64 :
+        case InternalType::ScilabInt64 :
         {
             return IntLessInt(_pL->getAs<Int64>(), _pR->getAs<Int64>(), _pOut);
         }
-        case InternalType::RealUInt64 :
+        case InternalType::ScilabUInt64 :
         {
             return IntLessInt(_pL->getAs<UInt64>(), _pR->getAs<UInt64>(), _pOut);
         }
@@ -623,35 +623,35 @@ int IntLessEqualInt(types::InternalType* _pL, types::InternalType* _pR, types::G
 {
     switch (_pL->getType())
     {
-        case InternalType::RealInt8 :
+        case InternalType::ScilabInt8 :
         {
             return IntLessEqualInt(_pL->getAs<Int8>(), _pR->getAs<Int8>(), _pOut);
         }
-        case InternalType::RealUInt8 :
+        case InternalType::ScilabUInt8 :
         {
             return IntLessEqualInt(_pL->getAs<UInt8>(), _pR->getAs<UInt8>(), _pOut);
         }
-        case InternalType::RealInt16 :
+        case InternalType::ScilabInt16 :
         {
             return IntLessEqualInt(_pL->getAs<Int16>(), _pR->getAs<Int16>(), _pOut);
         }
-        case InternalType::RealUInt16 :
+        case InternalType::ScilabUInt16 :
         {
             return IntLessEqualInt(_pL->getAs<UInt16>(), _pR->getAs<UInt16>(), _pOut);
         }
-        case InternalType::RealInt32 :
+        case InternalType::ScilabInt32 :
         {
             return IntLessEqualInt(_pL->getAs<Int32>(), _pR->getAs<Int32>(), _pOut);
         }
-        case InternalType::RealUInt32 :
+        case InternalType::ScilabUInt32 :
         {
             return IntLessEqualInt(_pL->getAs<UInt32>(), _pR->getAs<UInt32>(), _pOut);
         }
-        case InternalType::RealInt64 :
+        case InternalType::ScilabInt64 :
         {
             return IntLessEqualInt(_pL->getAs<Int64>(), _pR->getAs<Int64>(), _pOut);
         }
-        case InternalType::RealUInt64 :
+        case InternalType::ScilabUInt64 :
         {
             return IntLessEqualInt(_pL->getAs<UInt64>(), _pR->getAs<UInt64>(), _pOut);
         }
index 0e59594..9ecbeb3 100644 (file)
@@ -30,8 +30,8 @@ using namespace types;
 InternalType *GenericRDivide(InternalType *_pLeftOperand, InternalType *_pRightOperand)
 {
     InternalType *pResult       = NULL;
-    GenericType::RealType TypeL = _pLeftOperand->getType();
-    GenericType::RealType TypeR = _pRightOperand->getType();
+    GenericType::ScilabType TypeL = _pLeftOperand->getType();
+    GenericType::ScilabType TypeR = _pRightOperand->getType();
 
     int iResult = 0;
 
@@ -48,7 +48,7 @@ InternalType *GenericRDivide(InternalType *_pLeftOperand, InternalType *_pRightO
     /*
     ** DOUBLE / DOUBLE
     */
-    if (TypeL == GenericType::RealDouble && TypeR == GenericType::RealDouble)
+    if (TypeL == GenericType::ScilabDouble && TypeR == GenericType::ScilabDouble)
     {
         Double *pL  = _pLeftOperand->getAs<Double>();
         Double *pR  = _pRightOperand->getAs<Double>();
@@ -59,7 +59,7 @@ InternalType *GenericRDivide(InternalType *_pLeftOperand, InternalType *_pRightO
     /*
     ** POLY / DOUBLE
     */
-    else if (TypeL == GenericType::RealPoly && TypeR == GenericType::RealDouble)
+    else if (TypeL == GenericType::ScilabPolynom && TypeR == GenericType::ScilabDouble)
     {
         Polynom *pL = _pLeftOperand->getAs<types::Polynom>();
         Double *pR  = _pRightOperand->getAs<Double>();
@@ -70,7 +70,7 @@ InternalType *GenericRDivide(InternalType *_pLeftOperand, InternalType *_pRightO
     /*
     ** DOUBLE / POLY
     */
-    else if (TypeL == GenericType::RealDouble && TypeR == GenericType::RealPoly)
+    else if (TypeL == GenericType::ScilabDouble && TypeR == GenericType::ScilabPolynom)
     {
         Double *pL  = _pLeftOperand->getAs<Double>();
         Polynom *pR = _pRightOperand->getAs<types::Polynom>();
@@ -110,8 +110,8 @@ InternalType *GenericRDivide(InternalType *_pLeftOperand, InternalType *_pRightO
 InternalType *GenericDotRDivide(InternalType *_pLeftOperand, InternalType *_pRightOperand)
 {
     InternalType *pResult       = NULL;
-    GenericType::RealType TypeL = _pLeftOperand->getType();
-    GenericType::RealType TypeR = _pRightOperand->getType();
+    GenericType::ScilabType TypeL = _pLeftOperand->getType();
+    GenericType::ScilabType TypeR = _pRightOperand->getType();
 
     int iResult = 0;
 
@@ -128,7 +128,7 @@ InternalType *GenericDotRDivide(InternalType *_pLeftOperand, InternalType *_pRig
     /*
     ** DOUBLE ./ DOUBLE
     */
-    if (TypeL == GenericType::RealDouble && TypeR == GenericType::RealDouble)
+    if (TypeL == GenericType::ScilabDouble && TypeR == GenericType::ScilabDouble)
     {
         Double *pL  = _pLeftOperand->getAs<Double>();
         Double *pR  = _pRightOperand->getAs<Double>();
@@ -136,13 +136,13 @@ InternalType *GenericDotRDivide(InternalType *_pLeftOperand, InternalType *_pRig
         iResult = DotRDivideDoubleByDouble(pL, pR, (Double**)&pResult);
     }
 
-    if (TypeL == GenericType::RealPoly && TypeR == GenericType::RealDouble)
+    if (TypeL == GenericType::ScilabPolynom && TypeR == GenericType::ScilabDouble)
     {
         Polynom *pL = _pLeftOperand->getAs<Polynom>();
         Double *pR  = _pRightOperand->getAs<Double>();
 
         // ou exclusif
-        if(pL->isScalar() ^ pR->isScalar())
+        if (pL->isScalar() ^ pR->isScalar())
         {
             // call overload
             return NULL;
@@ -696,7 +696,7 @@ int DotRDividePolyByDouble(Polynom* _pPoly1, Double* _pDouble2, Polynom** _pPoly
 
     // compute output ranks
     int* piRanks = new int[iSizePoly];
-    for(int i = 0; i < iSizePoly; i++)
+    for (int i = 0; i < iSizePoly; i++)
     {
         piRanks[i] = iMaxRank;
     }
@@ -710,7 +710,7 @@ int DotRDividePolyByDouble(Polynom* _pPoly1, Double* _pDouble2, Polynom** _pPoly
 
     int iZero = 0;
     double* pdbl = _pDouble2->get();
-    for(int i = 0; i < iSizePoly; i++)
+    for (int i = 0; i < iSizePoly; i++)
     {
         C2F(dcopy)(&iMaxRank, pdbl + i, &iZero, pdblCoef2 + i, &iSizePoly);
     }
@@ -731,10 +731,10 @@ int DotRDividePolyByDouble(Polynom* _pPoly1, Double* _pDouble2, Polynom** _pPoly
     else if (bComplex1 == false && bComplex2 == true)
     {
         // r ./ C
-//        iErr = iRightDivisionRealMatrixByComplexMatrix(
-//                   _pDouble1->getReal(), iInc1,
-//                   _pDouble2->getReal(), _pDouble2->getImg(), iInc2,
-//                   (*_pDoubleOut)->getReal(), (*_pDoubleOut)->getImg(), iIncOut, iSizeResult);
+        //        iErr = iRightDivisionRealMatrixByComplexMatrix(
+        //                   _pDouble1->getReal(), iInc1,
+        //                   _pDouble2->getReal(), _pDouble2->getImg(), iInc2,
+        //                   (*_pDoubleOut)->getReal(), (*_pDoubleOut)->getImg(), iIncOut, iSizeResult);
 
         // waiting for polynom rewrite about complex
         iErr = 10;
@@ -742,10 +742,10 @@ int DotRDividePolyByDouble(Polynom* _pPoly1, Double* _pDouble2, Polynom** _pPoly
     else if (bComplex1 == true && bComplex2 == false)
     {
         // c ./ R
-//        iErr = iRightDivisionComplexMatrixByRealMatrix(
-//                   _pDouble1->getReal(), _pDouble1->getImg(), iInc1,
-//                   _pDouble2->getReal(), iInc2,
-//                   (*_pDoubleOut)->getReal(), (*_pDoubleOut)->getImg(), iIncOut, iSizeResult);
+        //        iErr = iRightDivisionComplexMatrixByRealMatrix(
+        //                   _pDouble1->getReal(), _pDouble1->getImg(), iInc1,
+        //                   _pDouble2->getReal(), iInc2,
+        //                   (*_pDoubleOut)->getReal(), (*_pDoubleOut)->getImg(), iIncOut, iSizeResult);
 
         // waiting for polynom rewrite about complex
         iErr = 10;
@@ -753,10 +753,10 @@ int DotRDividePolyByDouble(Polynom* _pPoly1, Double* _pDouble2, Polynom** _pPoly
     else if (bComplex1 == true && bComplex2 == true)
     {
         // c ./ C
-//        iErr = iRightDivisionComplexMatrixByComplexMatrix(
-//                   _pDouble1->getReal(), _pDouble1->getImg(), iInc1,
-//                   _pDouble2->getReal(), _pDouble2->getImg(), iInc2,
-//                   (*_pDoubleOut)->getReal(), (*_pDoubleOut)->getImg(), iIncOut, iSizeResult);
+        //        iErr = iRightDivisionComplexMatrixByComplexMatrix(
+        //                   _pDouble1->getReal(), _pDouble1->getImg(), iInc1,
+        //                   _pDouble2->getReal(), _pDouble2->getImg(), iInc2,
+        //                   (*_pDoubleOut)->getReal(), (*_pDoubleOut)->getImg(), iIncOut, iSizeResult);
 
         // waiting for polynom rewrite about complex
         iErr = 10;
index 2a32b07..b203236 100644 (file)
@@ -20,10 +20,10 @@ extern "C" {
 types::InternalType *GenericKrontimes(types::InternalType *_pLeftOperand, types::InternalType *_pRightOperand)
 {
     types::Double *pResult = NULL;
-    types::GenericType::RealType TypeL = _pLeftOperand->getType();
-    types::GenericType::RealType TypeR = _pRightOperand->getType();
+    types::GenericType::ScilabType TypeL = _pLeftOperand->getType();
+    types::GenericType::ScilabType TypeR = _pRightOperand->getType();
 
-    if (TypeL == types::GenericType::RealDouble && TypeR == types::GenericType::RealDouble)
+    if (TypeL == types::GenericType::ScilabDouble && TypeR == types::GenericType::ScilabDouble)
     {
         types::Double *pL = _pLeftOperand->getAs<types::Double>();
         types::Double *pR = _pRightOperand->getAs<types::Double>();
@@ -93,10 +93,10 @@ int KroneckerMultiplyDoubleByDouble(types::Double* _pDouble1, types::Double* _pD
 types::InternalType *GenericKronrdivide(types::InternalType *_pLeftOperand, types::InternalType *_pRightOperand)
 {
     types::Double *pResult = NULL;
-    types::GenericType::RealType TypeL = _pLeftOperand->getType();
-    types::GenericType::RealType TypeR = _pRightOperand->getType();
+    types::GenericType::ScilabType TypeL = _pLeftOperand->getType();
+    types::GenericType::ScilabType TypeR = _pRightOperand->getType();
 
-    if (TypeL == types::GenericType::RealDouble && TypeR == types::GenericType::RealDouble)
+    if (TypeL == types::GenericType::ScilabDouble && TypeR == types::GenericType::ScilabDouble)
     {
         types::Double *pL = _pLeftOperand->getAs<types::Double>();
         types::Double *pR = _pRightOperand->getAs<types::Double>();
@@ -152,10 +152,10 @@ int KroneckerRDivideDoubleByDouble(types::Double* _pDouble1, types::Double* _pDo
 types::InternalType *GenericKronldivide(types::InternalType *_pLeftOperand, types::InternalType *_pRightOperand)
 {
     types::Double *pResult = NULL;
-    types::GenericType::RealType TypeL = _pLeftOperand->getType();
-    types::GenericType::RealType TypeR = _pRightOperand->getType();
+    types::GenericType::ScilabType TypeL = _pLeftOperand->getType();
+    types::GenericType::ScilabType TypeR = _pRightOperand->getType();
 
-    if (TypeL == types::GenericType::RealDouble && TypeR == types::GenericType::RealDouble)
+    if (TypeL == types::GenericType::ScilabDouble && TypeR == types::GenericType::ScilabDouble)
     {
         types::Double *pL = _pLeftOperand->getAs<types::Double>();
         types::Double *pR = _pRightOperand->getAs<types::Double>();
index 8588fe7..bd7cce9 100644 (file)
@@ -29,8 +29,8 @@ using namespace types;
 InternalType *GenericLDivide(InternalType *_pLeftOperand, InternalType *_pRightOperand)
 {
     InternalType *pResult       = NULL;
-    GenericType::RealType TypeL = _pLeftOperand->getType();
-    GenericType::RealType TypeR = _pRightOperand->getType();
+    GenericType::ScilabType TypeL = _pLeftOperand->getType();
+    GenericType::ScilabType TypeR = _pRightOperand->getType();
 
     int iResult = 0;
 
@@ -47,7 +47,7 @@ InternalType *GenericLDivide(InternalType *_pLeftOperand, InternalType *_pRightO
     /*
     ** DOUBLE \ DOUBLE
     */
-    if (TypeL == GenericType::RealDouble && TypeR == GenericType::RealDouble)
+    if (TypeL == GenericType::ScilabDouble && TypeR == GenericType::ScilabDouble)
     {
         Double *pL  = _pLeftOperand->getAs<Double>();
         Double *pR  = _pRightOperand->getAs<Double>();
@@ -83,8 +83,8 @@ InternalType *GenericLDivide(InternalType *_pLeftOperand, InternalType *_pRightO
 InternalType *GenericDotLDivide(InternalType *_pLeftOperand, InternalType *_pRightOperand)
 {
     InternalType *pResult       = NULL;
-    GenericType::RealType TypeL = _pLeftOperand->getType();
-    GenericType::RealType TypeR = _pRightOperand->getType();
+    GenericType::ScilabType TypeL = _pLeftOperand->getType();
+    GenericType::ScilabType TypeR = _pRightOperand->getType();
 
     int iResult = 0;
 
@@ -101,7 +101,7 @@ InternalType *GenericDotLDivide(InternalType *_pLeftOperand, InternalType *_pRig
     /*
     ** DOUBLE .\ DOUBLE
     */
-    if (TypeL == GenericType::RealDouble && TypeR == GenericType::RealDouble)
+    if (TypeL == GenericType::ScilabDouble && TypeR == GenericType::ScilabDouble)
     {
         Double *pL  = _pLeftOperand->getAs<Double>();
         Double *pR  = _pRightOperand->getAs<Double>();
index ec6903d..145d7bc 100644 (file)
@@ -171,15 +171,15 @@ InternalType *GenericDotTimes(InternalType *_pLeftOperand, InternalType *_pRight
 InternalType *GenericTimes(InternalType *_pLeftOperand, InternalType *_pRightOperand)
 {
     InternalType *pResult = NULL;
-    GenericType::RealType TypeL = _pLeftOperand->getType();
-    GenericType::RealType TypeR = _pRightOperand->getType();
+    GenericType::ScilabType TypeL = _pLeftOperand->getType();
+    GenericType::ScilabType TypeR = _pRightOperand->getType();
 
-    if (TypeL == GenericType::RealDouble && _pLeftOperand->getAs<Double>()->isEmpty())
+    if (TypeL == GenericType::ScilabDouble && _pLeftOperand->getAs<Double>()->isEmpty())
     {
         return Double::Empty();
     }
 
-    if (TypeR == GenericType::RealDouble && _pRightOperand->getAs<Double>()->isEmpty())
+    if (TypeR == GenericType::ScilabDouble && _pRightOperand->getAs<Double>()->isEmpty())
     {
         return Double::Empty();
     }
@@ -187,7 +187,7 @@ InternalType *GenericTimes(InternalType *_pLeftOperand, InternalType *_pRightOpe
     /*
     ** DOUBLE * DOUBLE
     */
-    if (TypeL == GenericType::RealDouble && TypeR == GenericType::RealDouble)
+    if (TypeL == GenericType::ScilabDouble && TypeR == GenericType::ScilabDouble)
     {
         Double *pL   = _pLeftOperand->getAs<Double>();
         Double *pR   = _pRightOperand->getAs<Double>();
@@ -204,7 +204,7 @@ InternalType *GenericTimes(InternalType *_pLeftOperand, InternalType *_pRightOpe
     /*
     ** DOUBLE * POLY
     */
-    else if (TypeL == InternalType::RealDouble && TypeR == InternalType::RealPoly)
+    else if (TypeL == InternalType::ScilabDouble && TypeR == InternalType::ScilabPolynom)
     {
         Double *pL   = _pLeftOperand->getAs<Double>();
         Polynom *pR     = _pRightOperand->getAs<types::Polynom>();
@@ -221,7 +221,7 @@ InternalType *GenericTimes(InternalType *_pLeftOperand, InternalType *_pRightOpe
     /*
     ** POLY * DOUBLE
     */
-    else if (TypeL == InternalType::RealPoly && TypeR == InternalType::RealDouble)
+    else if (TypeL == InternalType::ScilabPolynom && TypeR == InternalType::ScilabDouble)
     {
         Polynom *pL          = _pLeftOperand->getAs<types::Polynom>();
         Double *pR              = _pRightOperand->getAs<Double>();
@@ -238,7 +238,7 @@ InternalType *GenericTimes(InternalType *_pLeftOperand, InternalType *_pRightOpe
     /*
     ** POLY * POLY
     */
-    else if (TypeL == InternalType::RealPoly && TypeR == InternalType::RealPoly)
+    else if (TypeL == InternalType::ScilabPolynom && TypeR == InternalType::ScilabPolynom)
     {
         Polynom *pL          = _pLeftOperand->getAs<types::Polynom>();
         Polynom *pR          = _pRightOperand->getAs<types::Polynom>();
@@ -255,7 +255,7 @@ InternalType *GenericTimes(InternalType *_pLeftOperand, InternalType *_pRightOpe
     /*
     ** SPARSE * SPARSE
     */
-    if (TypeL == GenericType::RealSparse && TypeR == GenericType::RealSparse)
+    if (TypeL == GenericType::ScilabSparse && TypeR == GenericType::ScilabSparse)
     {
         Sparse *pL   = _pLeftOperand->getAs<Sparse>();
         Sparse *pR   = _pRightOperand->getAs<Sparse>();
@@ -272,7 +272,7 @@ InternalType *GenericTimes(InternalType *_pLeftOperand, InternalType *_pRightOpe
     /*
     ** DOUBLE * SPARSE
     */
-    if (TypeL == GenericType::RealDouble && TypeR == GenericType::RealSparse)
+    if (TypeL == GenericType::ScilabDouble && TypeR == GenericType::ScilabSparse)
     {
         Double *pL   = _pLeftOperand->getAs<Double>();
         Sparse *pR   = _pRightOperand->getAs<Sparse>();
@@ -289,7 +289,7 @@ InternalType *GenericTimes(InternalType *_pLeftOperand, InternalType *_pRightOpe
     /*
     ** SPARSE * DOUBLE
     */
-    if (TypeL == GenericType::RealSparse && TypeR == GenericType::RealDouble)
+    if (TypeL == GenericType::ScilabSparse && TypeR == GenericType::ScilabDouble)
     {
         Sparse *pL   = _pLeftOperand->getAs<Sparse>();
         Double *pR   = _pRightOperand->getAs<Double>();
@@ -868,7 +868,7 @@ int MultiplyPolyByPoly(Polynom* _pPoly1, Polynom* _pPoly2, Polynom** _pPolyOut)
 
             pPolyOut->getCoef()->setZeros();
 
-            iMultiRealPolyByRealPoly(
+            iMultiScilabPolynomByScilabPolynom(
                 pPoly1->getCoef()->get(), pPoly1->getRank(),
                 pPoly2->getCoef()->get(), pPoly2->getRank(),
                 pPolyOut->getCoef()->get(), pPolyOut->getRank());
@@ -881,7 +881,7 @@ int MultiplyPolyByPoly(Polynom* _pPoly1, Polynom* _pPoly2, Polynom** _pPolyOut)
 
             pPolyOut->getCoef()->setZeros();
 
-            iMultiRealPolyByComplexPoly(
+            iMultiScilabPolynomByComplexPoly(
                 pPoly1->getCoef()->get(), pPoly1->getRank(),
                 pPoly2->getCoef()->get(), pPoly2->getCoef()->getImg(), pPoly2->getRank(),
                 pPolyOut->getCoef()->get(), pPolyOut->getCoef()->getImg(), pPolyOut->getRank());
@@ -894,7 +894,7 @@ int MultiplyPolyByPoly(Polynom* _pPoly1, Polynom* _pPoly2, Polynom** _pPolyOut)
 
             pPolyOut->getCoef()->setZeros();
 
-            iMultiComplexPolyByRealPoly(
+            iMultiComplexPolyByScilabPolynom(
                 pPoly1->getCoef()->get(), pPoly1->getCoef()->getImg(), pPoly1->getRank(),
                 pPoly2->getCoef()->get(), pPoly2->getRank(),
                 pPolyOut->getCoef()->get(), pPolyOut->getCoef()->getImg(), pPolyOut->getRank());
@@ -947,7 +947,7 @@ int MultiplyPolyByPoly(Polynom* _pPoly1, Polynom* _pPoly2, Polynom** _pPolyOut)
 
                 pPolyOut->getCoef()->setZeros();
 
-                iMultiRealPolyByRealPoly(
+                iMultiScilabPolynomByScilabPolynom(
                     pPoly1->getCoef()->get(), pPoly1->getRank(),
                     pPoly2->getCoef()->get(), pPoly2->getRank(),
                     pPolyOut->getCoef()->get(), pPolyOut->getRank());
@@ -962,7 +962,7 @@ int MultiplyPolyByPoly(Polynom* _pPoly1, Polynom* _pPoly2, Polynom** _pPolyOut)
 
                 pPolyOut->getCoef()->setZeros();
 
-                iMultiRealPolyByComplexPoly(
+                iMultiScilabPolynomByComplexPoly(
                     pPoly1->getCoef()->get(), pPoly1->getRank(),
                     pPoly2->getCoef()->get(), pPoly2->getCoef()->getImg(), pPoly2->getRank(),
                     pPolyOut->getCoef()->get(), pPolyOut->getCoef()->getImg(), pPolyOut->getRank());
@@ -977,7 +977,7 @@ int MultiplyPolyByPoly(Polynom* _pPoly1, Polynom* _pPoly2, Polynom** _pPolyOut)
 
                 pPolyOut->getCoef()->setZeros();
 
-                iMultiComplexPolyByRealPoly(
+                iMultiComplexPolyByScilabPolynom(
                     pPoly1->getCoef()->get(), pPoly1->getCoef()->getImg(), pPoly1->getRank(),
                     pPoly2->getCoef()->get(), pPoly2->getRank(),
                     pPolyOut->getCoef()->get(), pPolyOut->getCoef()->getImg(), pPolyOut->getRank());
@@ -1032,7 +1032,7 @@ int MultiplyPolyByPoly(Polynom* _pPoly1, Polynom* _pPoly2, Polynom** _pPolyOut)
 
                 pPolyOut->getCoef()->setZeros();
 
-                iMultiRealPolyByRealPoly(
+                iMultiScilabPolynomByScilabPolynom(
                     pPoly1->getCoef()->get(), pPoly1->getRank(),
                     pPoly2->getCoef()->get(), pPoly2->getRank(),
                     pPolyOut->getCoef()->get(), pPolyOut->getRank());
@@ -1047,7 +1047,7 @@ int MultiplyPolyByPoly(Polynom* _pPoly1, Polynom* _pPoly2, Polynom** _pPolyOut)
 
                 pPolyOut->getCoef()->setZeros();
 
-                iMultiRealPolyByComplexPoly(
+                iMultiScilabPolynomByComplexPoly(
                     pPoly1->getCoef()->get(), pPoly1->getRank(),
                     pPoly2->getCoef()->get(), pPoly2->getCoef()->getImg(), pPoly2->getRank(),
                     pPolyOut->getCoef()->get(), pPolyOut->getCoef()->getImg(), pPolyOut->getRank());
@@ -1062,7 +1062,7 @@ int MultiplyPolyByPoly(Polynom* _pPoly1, Polynom* _pPoly2, Polynom** _pPolyOut)
 
                 pPolyOut->getCoef()->setZeros();
 
-                iMultiComplexPolyByRealPoly(
+                iMultiComplexPolyByScilabPolynom(
                     pPoly1->getCoef()->get(), pPoly1->getCoef()->getImg(), pPoly1->getRank(),
                     pPoly2->getCoef()->get(), pPoly2->getRank(),
                     pPolyOut->getCoef()->get(), pPolyOut->getCoef()->getImg(), pPolyOut->getRank());
@@ -1131,12 +1131,12 @@ int MultiplyPolyByPoly(Polynom* _pPoly1, Polynom* _pPoly2, Polynom** _pPolyOut)
 
                     pTemp->getCoef()->setZeros();
 
-                    iMultiRealPolyByRealPoly(
+                    iMultiScilabPolynomByScilabPolynom(
                         pL->getCoef()->get(), pL->getRank(),
                         pR->getCoef()->get(), pR->getRank(),
                         pTemp->getCoef()->get(), pL->getRank() + pR->getRank() - 1);
 
-                    iAddRealPolyToRealPoly(
+                    iAddScilabPolynomToScilabPolynom(
                         pResult->getCoef()->get(), pResult->getRank(),
                         pTemp->getCoef()->get(), pResult->getRank(),
                         pResult->getCoef()->get(), pResult->getRank());
@@ -1164,7 +1164,7 @@ int MultiplyPolyByPoly(Polynom* _pPoly1, Polynom* _pPoly2, Polynom** _pPolyOut)
 
                     pTemp->getCoef()->setZeros();
 
-                    iMultiRealPolyByComplexPoly(
+                    iMultiScilabPolynomByComplexPoly(
                         pL->getCoef()->get(), pL->getRank(),
                         pR->getCoef()->get(), pR->getCoef()->getImg(), pR->getRank(),
                         pTemp->getCoef()->get(), pTemp->getCoef()->getImg(), pL->getRank() + pR->getRank() - 1);
@@ -1197,7 +1197,7 @@ int MultiplyPolyByPoly(Polynom* _pPoly1, Polynom* _pPoly2, Polynom** _pPolyOut)
 
                     pTemp->getCoef()->setZeros();
 
-                    iMultiRealPolyByComplexPoly(
+                    iMultiScilabPolynomByComplexPoly(
                         pR->getCoef()->get(), pR->getRank(),
                         pL->getCoef()->get(), pL->getCoef()->getImg(), pL->getRank(),
                         pTemp->getCoef()->get(), pTemp->getCoef()->getImg(), pL->getRank() + pR->getRank() - 1);
@@ -1747,7 +1747,7 @@ int DotMultiplyPolyByPoly(Polynom* _pPoly1, Polynom* _pPoly2, Polynom** _pPolyOu
 
                 pSPOut->getCoef()->setZeros();
 
-                iMultiComplexPolyByRealPoly(
+                iMultiComplexPolyByScilabPolynom(
                     pSP1->getCoef()->get(), pSP1->getCoef()->getImg(), pSP1->getRank(),
                     pSP2->getCoef()->get(), pSP2->getRank(),
                     pSPOut->getCoef()->get(), pSPOut->getCoef()->getImg(), pSPOut->getRank());
@@ -1764,7 +1764,7 @@ int DotMultiplyPolyByPoly(Polynom* _pPoly1, Polynom* _pPoly2, Polynom** _pPolyOu
 
                 pSPOut->getCoef()->setZeros();
 
-                iMultiRealPolyByComplexPoly(
+                iMultiScilabPolynomByComplexPoly(
                     pSP1->getCoef()->get(), pSP1->getRank(),
                     pSP2->getCoef()->get(), pSP2->getCoef()->getImg(), pSP2->getRank(),
                     pSPOut->getCoef()->get(), pSPOut->getCoef()->getImg(), pSPOut->getRank());
@@ -1780,7 +1780,7 @@ int DotMultiplyPolyByPoly(Polynom* _pPoly1, Polynom* _pPoly2, Polynom** _pPolyOu
 
                 pSPOut->getCoef()->setZeros();
 
-                iMultiRealPolyByRealPoly(
+                iMultiScilabPolynomByScilabPolynom(
                     pSP1->getCoef()->get(), pSP1->getRank(),
                     pSP2->getCoef()->get(), pSP2->getRank(),
                     pSPOut->getCoef()->get(), pSPOut->getRank());
index 8d81da6..ac94a77 100644 (file)
@@ -225,35 +225,35 @@ int IntOrInt(InternalType* _pL, Bool** _pOut)
 {
     switch (_pL->getType())
     {
-        case InternalType::RealInt8 :
+        case InternalType::ScilabInt8 :
         {
             return IntOrInt(_pL->getAs<Int8>(), _pOut);
         }
-        case InternalType::RealUInt8 :
+        case InternalType::ScilabUInt8 :
         {
             return IntOrInt(_pL->getAs<UInt8>(), _pOut);
         }
-        case InternalType::RealInt16 :
+        case InternalType::ScilabInt16 :
         {
             return IntOrInt(_pL->getAs<Int16>(), _pOut);
         }
-        case InternalType::RealUInt16 :
+        case InternalType::ScilabUInt16 :
         {
             return IntOrInt(_pL->getAs<UInt16>(), _pOut);
         }
-        case InternalType::RealInt32 :
+        case InternalType::ScilabInt32 :
         {
             return IntOrInt(_pL->getAs<Int32>(), _pOut);
         }
-        case InternalType::RealUInt32 :
+        case InternalType::ScilabUInt32 :
         {
             return IntOrInt(_pL->getAs<UInt32>(), _pOut);
         }
-        case InternalType::RealInt64 :
+        case InternalType::ScilabInt64 :
         {
             return IntOrInt(_pL->getAs<Int64>(), _pOut);
         }
-        case InternalType::RealUInt64 :
+        case InternalType::ScilabUInt64 :
         {
             return IntOrInt(_pL->getAs<UInt64>(), _pOut);
         }
@@ -284,35 +284,35 @@ int IntAndInt(InternalType* _pL, Bool** _pOut)
 {
     switch (_pL->getType())
     {
-        case InternalType::RealInt8 :
+        case InternalType::ScilabInt8 :
         {
             return IntAndInt(_pL->getAs<Int8>(), _pOut);
         }
-        case InternalType::RealUInt8 :
+        case InternalType::ScilabUInt8 :
         {
             return IntAndInt(_pL->getAs<UInt8>(), _pOut);
         }
-        case InternalType::RealInt16 :
+        case InternalType::ScilabInt16 :
         {
             return IntAndInt(_pL->getAs<Int16>(), _pOut);
         }
-        case InternalType::RealUInt16 :
+        case InternalType::ScilabUInt16 :
         {
             return IntAndInt(_pL->getAs<UInt16>(), _pOut);
         }
-        case InternalType::RealInt32 :
+        case InternalType::ScilabInt32 :
         {
             return IntAndInt(_pL->getAs<Int32>(), _pOut);
         }
-        case InternalType::RealUInt32 :
+        case InternalType::ScilabUInt32 :
         {
             return IntAndInt(_pL->getAs<UInt32>(), _pOut);
         }
-        case InternalType::RealInt64 :
+        case InternalType::ScilabInt64 :
         {
             return IntAndInt(_pL->getAs<Int64>(), _pOut);
         }
-        case InternalType::RealUInt64 :
+        case InternalType::ScilabUInt64 :
         {
             return IntAndInt(_pL->getAs<UInt64>(), _pOut);
         }
@@ -382,35 +382,35 @@ int IntLogicalAndInt(InternalType* _pL, InternalType*  _pR, InternalType** _pOut
 {
     switch (_pL->getType())
     {
-        case InternalType::RealInt8 :
+        case InternalType::ScilabInt8 :
         {
             return IntLogicalAndInt(_pL->getAs<Int8>(), _pR->getAs<Int8>(), _pOut);
         }
-        case InternalType::RealUInt8 :
+        case InternalType::ScilabUInt8 :
         {
             return IntLogicalAndInt(_pL->getAs<UInt8>(), _pR->getAs<UInt8>(), _pOut);
         }
-        case InternalType::RealInt16 :
+        case InternalType::ScilabInt16 :
         {
             return IntLogicalAndInt(_pL->getAs<Int16>(), _pR->getAs<Int16>(), _pOut);
         }
-        case InternalType::RealUInt16 :
+        case InternalType::ScilabUInt16 :
         {
             return IntLogicalAndInt(_pL->getAs<UInt16>(), _pR->getAs<UInt16>(), _pOut);
         }
-        case InternalType::RealInt32 :
+        case InternalType::ScilabInt32 :
         {
             return IntLogicalAndInt(_pL->getAs<Int32>(), _pR->getAs<Int32>(), _pOut);
         }
-        case InternalType::RealUInt32 :
+        case InternalType::ScilabUInt32 :
         {
             return IntLogicalAndInt(_pL->getAs<UInt32>(), _pR->getAs<UInt32>(), _pOut);
         }
-        case InternalType::RealInt64 :
+        case InternalType::ScilabInt64 :
         {
             return IntLogicalAndInt(_pL->getAs<Int64>(), _pR->getAs<Int64>(), _pOut);
         }
-        case InternalType::RealUInt64 :
+        case InternalType::ScilabUInt64 :
         {
             return IntLogicalAndInt(_pL->getAs<UInt64>(), _pR->getAs<UInt64>(), _pOut);
         }
@@ -480,49 +480,49 @@ int IntLogicalOrInt(InternalType* _pL, InternalType*  _pR, InternalType** _pOut)
 {
     switch (_pL->getType())
     {
-        case InternalType::RealInt8 :
+        case InternalType::ScilabInt8 :
         {
             Int8* pI1 = _pL->getAs<Int8>();
             Int8* pI2 = _pR->getAs<Int8>();
             return IntLogicalOrInt(pI1, pI2, _pOut);
         }
-        case InternalType::RealUInt8 :
+        case InternalType::ScilabUInt8 :
         {
             UInt8* pI1 = _pL->getAs<UInt8>();
             UInt8* pI2 = _pR->getAs<UInt8>();
             return IntLogicalOrInt(pI1, pI2, _pOut);
         }
-        case InternalType::RealInt16 :
+        case InternalType::ScilabInt16 :
         {
             Int16* pI1 = _pL->getAs<Int16>();
             Int16* pI2 = _pR->getAs<Int16>();
             return IntLogicalOrInt(pI1, pI2, _pOut);
         }
-        case InternalType::RealUInt16 :
+        case InternalType::ScilabUInt16 :
         {
             UInt16* pI1 = _pL->getAs<UInt16>();
             UInt16* pI2 = _pR->getAs<UInt16>();
             return IntLogicalOrInt(pI1, pI2, _pOut);
         }
-        case InternalType::RealInt32 :
+        case InternalType::ScilabInt32 :
         {
             Int32* pI1 = _pL->getAs<Int32>();
             Int32* pI2 = _pR->getAs<Int32>();
             return IntLogicalOrInt(pI1, pI2, _pOut);
         }
-        case InternalType::RealUInt32 :
+        case InternalType::ScilabUInt32 :
         {
             UInt32* pI1 = _pL->getAs<UInt32>();
             UInt32* pI2 = _pR->getAs<UInt32>();
             return IntLogicalOrInt(pI1, pI2, _pOut);
         }
-        case InternalType::RealInt64 :
+        case InternalType::ScilabInt64 :
         {
             Int64* pI1 = _pL->getAs<Int64>();
             Int64* pI2 = _pR->getAs<Int64>();
             return IntLogicalOrInt(pI1, pI2, _pOut);
         }
-        case InternalType::RealUInt64 :
+        case InternalType::ScilabUInt64 :
         {
             UInt64* pI1 = _pL->getAs<UInt64>();
             UInt64* pI2 = _pR->getAs<UInt64>();
index dd3d6cf..5f68961 100644 (file)
@@ -25,8 +25,8 @@ extern "C"
 InternalType *GenericPower(InternalType *_pLeftOperand, InternalType *_pRightOperand)
 {
     InternalType *pResult = NULL;
-    GenericType::RealType TypeL = _pLeftOperand->getType();
-    GenericType::RealType TypeR = _pRightOperand->getType();
+    GenericType::ScilabType TypeL = _pLeftOperand->getType();
+    GenericType::ScilabType TypeR = _pRightOperand->getType();
 
     /*
     ** DOUBLE ^ DOUBLE
@@ -80,14 +80,14 @@ InternalType *GenericPower(InternalType *_pLeftOperand, InternalType *_pRightOpe
 InternalType *GenericDotPower(InternalType *_pLeftOperand, InternalType *_pRightOperand)
 {
     InternalType *pResult = NULL;
-    GenericType::RealType TypeL = _pLeftOperand->getType();
-    GenericType::RealType TypeR = _pRightOperand->getType();
+    GenericType::ScilabType TypeL = _pLeftOperand->getType();
+    GenericType::ScilabType TypeR = _pRightOperand->getType();
 
     /*
     ** DOUBLE .^ DOUBLE
     ** DOUBLE .** DOUBLE
     */
-    if (TypeL == GenericType::RealDouble && TypeR == GenericType::RealDouble)
+    if (TypeL == GenericType::ScilabDouble && TypeR == GenericType::ScilabDouble)
     {
         Double *pL  = _pLeftOperand->getAs<Double>();
         Double *pR  = _pRightOperand->getAs<Double>();
@@ -105,7 +105,7 @@ InternalType *GenericDotPower(InternalType *_pLeftOperand, InternalType *_pRight
     ** POLY .^ DOUBLE
     ** POLY .** DOUBLE
     */
-    if (TypeL == GenericType::RealPoly && TypeR == GenericType::RealDouble)
+    if (TypeL == GenericType::ScilabPolynom && TypeR == GenericType::ScilabDouble)
     {
         Polynom *pL   = _pLeftOperand->getAs<Polynom>();
         Double *pR   = _pRightOperand->getAs<Double>();
@@ -339,7 +339,7 @@ int PowerPolyByDouble(Polynom* _pPoly, Double* _pDouble, InternalType** _pOut)
         for (int i = 0 ; i < _pDouble->getSize() ; i++)
         {
             int iInputRank = (int)_pDouble->get(i);
-            if(iInputRank < 0)
+            if (iInputRank < 0)
             {
                 //call overload
                 _pOut = NULL;
index f1ebf33..5cebf07 100644 (file)
@@ -102,7 +102,7 @@ InternalType* GenericUnaryMinus(InternalType* _pRightOperand)
     {
         switch (_pRightOperand->getType())
         {
-            case InternalType::RealInt8 :
+            case InternalType::ScilabInt8 :
             {
                 Int8 *pR = _pRightOperand->clone()->getAs<Int8>();
                 char* pReal = pR->get();
@@ -113,7 +113,7 @@ InternalType* GenericUnaryMinus(InternalType* _pRightOperand)
                 }
                 return pR;
             }
-            case InternalType::RealInt16 :
+            case InternalType::ScilabInt16 :
             {
                 Int16 *pR = _pRightOperand->clone()->getAs<Int16>();
                 short* pReal = pR->get();
@@ -124,7 +124,7 @@ InternalType* GenericUnaryMinus(InternalType* _pRightOperand)
                 }
                 return pR;
             }
-            case InternalType::RealInt32 :
+            case InternalType::ScilabInt32 :
             {
                 Int32 *pR = _pRightOperand->clone()->getAs<Int32>();
                 int* pReal = pR->get();
@@ -135,7 +135,7 @@ InternalType* GenericUnaryMinus(InternalType* _pRightOperand)
                 }
                 return pR;
             }
-            case InternalType::RealInt64 :
+            case InternalType::ScilabInt64 :
             {
                 Int64 *pR = _pRightOperand->clone()->getAs<Int64>();
                 long long* pReal = pR->get();
@@ -146,7 +146,7 @@ InternalType* GenericUnaryMinus(InternalType* _pRightOperand)
                 }
                 return pR;
             }
-            case InternalType::RealUInt8 :
+            case InternalType::ScilabUInt8 :
             {
                 UInt8 *pR = _pRightOperand->clone()->getAs<UInt8>();
                 unsigned char* pReal = pR->get();
@@ -157,7 +157,7 @@ InternalType* GenericUnaryMinus(InternalType* _pRightOperand)
                 }
                 return pR;
             }
-            case InternalType::RealUInt16 :
+            case InternalType::ScilabUInt16 :
             {
                 UInt16 *pR = _pRightOperand->clone()->getAs<UInt16>();
                 unsigned short* pReal = pR->get();
@@ -168,7 +168,7 @@ InternalType* GenericUnaryMinus(InternalType* _pRightOperand)
                 }
                 return pR;
             }
-            case InternalType::RealUInt32 :
+            case InternalType::ScilabUInt32 :
             {
                 UInt32 *pR = _pRightOperand->clone()->getAs<UInt32>();
                 unsigned int* pReal = pR->get();
@@ -179,7 +179,7 @@ InternalType* GenericUnaryMinus(InternalType* _pRightOperand)
                 }
                 return pR;
             }
-            case InternalType::RealUInt64 :
+            case InternalType::ScilabUInt64 :
             {
                 UInt64 *pR = _pRightOperand->clone()->getAs<UInt64>();
                 unsigned long long* pReal = pR->get();
index b28d246..f230ae0 100644 (file)
@@ -19,7 +19,7 @@
 typedef struct
 {
     wchar_t* pwstToken;
-    types::InternalType::RealType outputType;
+    types::InternalType::ScilabType outputType;
     bool bLengthFlag;
 } TokenDef;
 
@@ -28,7 +28,7 @@ typedef struct
 {
     int iArg;
     int iPos;
-    types::InternalType::RealType type;
+    types::InternalType::ScilabType type;
 } ArgumentPosition;
 
 OUTPUT_STREAM_IMPEXP_GW wchar_t** scilab_sprintf(char* _pstName, wchar_t* _pwstInput, types::typed_list &in, ArgumentPosition* _pArgs, int _iArgsCount, int* _piOutputRows, int* piNewLine);
index cf6253d..40b9049 100644 (file)
@@ -42,8 +42,8 @@ Function::ReturnValue sci_disp(typed_list &in, int _iRetCount, typed_list &out)
 
     for (it = in.rbegin() ; it != in.rend() ; it++)
     {
-        bool isTList = (*it)->getType() == GenericType::RealTList;
-        bool isMList = (*it)->getType() == GenericType::RealMList;
+        bool isTList = (*it)->getType() == GenericType::ScilabTList;
+        bool isMList = (*it)->getType() == GenericType::ScilabMList;
 
         scilabForcedWriteW(L"\n");
         if (isTList || isMList)
index 8639a42..3f691eb 100644 (file)
@@ -175,13 +175,13 @@ wchar_t** scilab_sprintf(char* _pstName, wchar_t* _pwstInput, typed_list &in, Ar
                     case L'u' : //unsigned
                     case L'x' : //hex
                     case L'X' : //HEX
-                        if (_pArgs[iPosArg].type != InternalType::RealDouble)
+                        if (_pArgs[iPosArg].type != InternalType::ScilabDouble)
                         {
                             Scierror(999, _("%s: Wrong number of input arguments: data doesn't fit with format.\n"), _pstName);
                             *_piOutputRows = 0;
                             return NULL;
                         }
-                        pToken[iToken].outputType = InternalType::RealInt32;
+                        pToken[iToken].outputType = InternalType::ScilabInt32;
                         iPosArg++;
                         break;
                     case L'f' : //float
@@ -189,24 +189,24 @@ wchar_t** scilab_sprintf(char* _pstName, wchar_t* _pwstInput, typed_list &in, Ar
                     case L'E' : //EXP
                     case L'g' : //shorter between float or exp
                     case L'G' : //shorter between float or EXP
-                        if (_pArgs[iPosArg].type != InternalType::RealDouble)
+                        if (_pArgs[iPosArg].type != InternalType::ScilabDouble)
                         {
                             Scierror(999, _("%s: Wrong number of input arguments: data doesn't fit with format.\n"), _pstName);
                             *_piOutputRows = 0;
                             return NULL;
                         }
-                        pToken[iToken].outputType = InternalType::RealDouble;
+                        pToken[iToken].outputType = InternalType::ScilabDouble;
                         iPosArg++;
                         break;
                     case L's' :
                     case L'c' :
-                        if (_pArgs[iPosArg].type != InternalType::RealString)
+                        if (_pArgs[iPosArg].type != InternalType::ScilabString)
                         {
                             Scierror(999, _("%s: Wrong number of input arguments: data doesn't fit with format.\n"), _pstName);
                             *_piOutputRows = 0;
                             return NULL;
                         }
-                        pToken[iToken].outputType = InternalType::RealString;
+                        pToken[iToken].outputType = InternalType::ScilabString;
                         iPosArg++;
                         break;
                     default :
@@ -255,19 +255,19 @@ wchar_t** scilab_sprintf(char* _pstName, wchar_t* _pwstInput, typed_list &in, Ar
             {
                 wchar_t pwstTemp[bsiz];
                 void* pvVal = NULL;
-                if (pToken[i].outputType == InternalType::RealDouble)
+                if (pToken[i].outputType == InternalType::ScilabDouble)
                 {
                     double dblVal = in[_pArgs[iPosArg].iArg]->getAs<Double>()->get(j, _pArgs[iPosArg].iPos);
                     swprintf(pwstTemp, bsiz, pToken[i].pwstToken, dblVal);
                     iPosArg++;
                 }
-                else if (pToken[i].outputType == InternalType::RealInt32)
+                else if (pToken[i].outputType == InternalType::ScilabInt32)
                 {
                     double dblVal = in[_pArgs[iPosArg].iArg]->getAs<Double>()->get(j, _pArgs[iPosArg].iPos);
                     swprintf(pwstTemp, bsiz, pToken[i].pwstToken, (int)dblVal);
                     iPosArg++;
                 }
-                else if (pToken[i].outputType == InternalType::RealString)
+                else if (pToken[i].outputType == InternalType::ScilabString)
                 {
                     wchar_t* pwstStr = in[_pArgs[iPosArg].iArg]->getAs<types::String>()->get(j, _pArgs[iPosArg].iPos);
                     int posC = (int)wcscspn(pToken[i].pwstToken, L"c");
index eb3375b..29d3b9a 100644 (file)
@@ -106,13 +106,13 @@ Function::ReturnValue sci_sparse(typed_list &in, int _piRetCount, typed_list &ou
     {
         switch (in[i]->getType())
         {
-            case InternalType::RealBool :
-            case InternalType::RealSparseBool :
+            case InternalType::ScilabBool :
+            case InternalType::ScilabSparseBool :
             {
                 isValid = (i == (in.size() > 1) ? 1 : 0);
             }
-            case InternalType::RealDouble :
-            case InternalType::RealSparse :
+            case InternalType::ScilabDouble :
+            case InternalType::ScilabSparse :
             {
                 break;
             }
@@ -133,12 +133,12 @@ Function::ReturnValue sci_sparse(typed_list &in, int _piRetCount, typed_list &ou
     {
         switch (in[0]->getType())
         {
-            case InternalType::RealSparse :
+            case InternalType::ScilabSparse :
             {
                 pRetVal = new types::Sparse(*in[0]->getAs<Sparse>());
                 break;
             }
-            case InternalType::RealDouble :
+            case InternalType::ScilabDouble :
             {
                 if (in[0]->getAs<Double>()->isEmpty())
                 {
@@ -149,12 +149,12 @@ Function::ReturnValue sci_sparse(typed_list &in, int _piRetCount, typed_list &ou
                 pRetVal = new types::Sparse(*in[0]->getAs<Double>());
                 break;
             }
-            case InternalType::RealBool :
+            case InternalType::ScilabBool :
             {
                 pRetVal = new types::SparseBool(*in[0]->getAs<Bool>());
                 break;
             }
-            case InternalType::RealSparseBool :
+            case InternalType::ScilabSparseBool :
             {
                 pRetVal = new types::SparseBool(*in[0]->getAs<SparseBool>());
                 break;
index 61b5107..5869730 100644 (file)
@@ -75,22 +75,22 @@ types::Function::ReturnValue sci_spzeros(types::typed_list &in, int _iRetCount,
     {
         switch (in[0]->getType())
         {
-            case types::InternalType::RealInt8 :
-            case types::InternalType::RealUInt8 :
-            case types::InternalType::RealInt16 :
-            case types::InternalType::RealUInt16 :
-            case types::InternalType::RealInt32 :
-            case types::InternalType::RealUInt32 :
-            case types::InternalType::RealInt64 :
-            case types::InternalType::RealUInt64 :
-            case types::InternalType::RealString :
-            case types::InternalType::RealDouble :
-            case types::InternalType::RealBool :
-            case types::InternalType::RealFloat :
-            case types::InternalType::RealPoly :
-            case types::InternalType::RealSinglePoly :
-            case types::InternalType::RealSparse :
-            case types::InternalType::RealSparseBool :
+            case types::InternalType::ScilabInt8 :
+            case types::InternalType::ScilabUInt8 :
+            case types::InternalType::ScilabInt16 :
+            case types::InternalType::ScilabUInt16 :
+            case types::InternalType::ScilabInt32 :
+            case types::InternalType::ScilabUInt32 :
+            case types::InternalType::ScilabInt64 :
+            case types::InternalType::ScilabUInt64 :
+            case types::InternalType::ScilabString :
+            case types::InternalType::ScilabDouble :
+            case types::InternalType::ScilabBool :
+            case types::InternalType::ScilabFloat :
+            case types::InternalType::ScilabPolynom :
+            case types::InternalType::ScilabSinglePolynom :
+            case types::InternalType::ScilabSparse :
+            case types::InternalType::ScilabSparseBool :
                 break;
             default :
             {
index 5e6d99f..622b465 100644 (file)
@@ -72,34 +72,34 @@ Function::ReturnValue sci_ascii(typed_list &in, int _iRetCount, typed_list &out)
     InternalType* pOut;
     switch (in[0]->getType())
     {
-        case InternalType::RealDouble :
+        case InternalType::ScilabDouble :
             pOut = TypeToString<double>(in[0]->getAs<Double>());
             break;
-        case InternalType::RealString :
+        case InternalType::ScilabString :
             pOut = StringToDouble(in[0]->getAs<types::String>());
             break;
-        case InternalType::RealInt8 :
+        case InternalType::ScilabInt8 :
             pOut = TypeToString<char>(in[0]->getAs<Int8>());
             break;
-        case InternalType::RealUInt8 :
+        case InternalType::ScilabUInt8 :
             pOut = TypeToString<unsigned char>(in[0]->getAs<UInt8>());
             break;
-        case InternalType::RealInt16 :
+        case InternalType::ScilabInt16 :
             pOut = TypeToString<short>(in[0]->getAs<Int16>());
             break;
-        case InternalType::RealUInt16 :
+        case InternalType::ScilabUInt16 :
             pOut = TypeToString<unsigned short>(in[0]->getAs<UInt16>());
             break;
-        case InternalType::RealInt32 :
+        case InternalType::ScilabInt32 :
             pOut = TypeToString<int>(in[0]->getAs<Int32>());
             break;
-        case InternalType::RealUInt32 :
+        case InternalType::ScilabUInt32 :
             pOut = TypeToString<unsigned int>(in[0]->getAs<UInt32>());
             break;
-        case InternalType::RealInt64 :
+        case InternalType::ScilabInt64 :
             pOut = TypeToString<long long>(in[0]->getAs<Int64>());
             break;
-        case InternalType::RealUInt64 :
+        case InternalType::ScilabUInt64 :
             pOut = TypeToString<unsigned long long>(in[0]->getAs<UInt64>());
             break;
         default :
index 0133d98..2d1f147 100644 (file)
@@ -203,7 +203,7 @@ Function::ReturnValue sci_string(typed_list &in, int _iRetCount, typed_list &out
 
     switch (in[0]->getType())
     {
-        case GenericType::RealDouble :
+        case GenericType::ScilabDouble :
         {
             types::Double* pDbl = in[0]->getAs<Double>();
             int iDims = pDbl->getDims();
@@ -247,12 +247,12 @@ Function::ReturnValue sci_string(typed_list &in, int _iRetCount, typed_list &out
             out.push_back(pstOutput);
             break;
         }
-        case GenericType::RealString :
+        case GenericType::ScilabString :
         {
             out.push_back(in[0]);
             break;
         }
-        case GenericType::RealMacroFile :
+        case GenericType::ScilabMacroFile :
         {
             if (_iRetCount != 3)
             {
@@ -272,7 +272,7 @@ Function::ReturnValue sci_string(typed_list &in, int _iRetCount, typed_list &out
             out.push_back(pBody);
             break;
         }
-        case GenericType::RealMacro :
+        case GenericType::ScilabMacro :
         {
             if (_iRetCount != 3)
             {
@@ -292,9 +292,9 @@ Function::ReturnValue sci_string(typed_list &in, int _iRetCount, typed_list &out
             out.push_back(pBody);
             break;
         }
-        case GenericType::RealTList :
-        case GenericType::RealMList :
-        case GenericType::RealPoly :
+        case GenericType::ScilabTList :
+        case GenericType::ScilabMList :
+        case GenericType::ScilabPolynom :
         {
             std::wstring wstFuncName = L"%"  + in[0]->getShortTypeStr() + L"_string";
             return Overload::call(wstFuncName, in, _iRetCount, out, new ast::ExecVisitor());
index 66d1d31..a148b19 100644 (file)
@@ -58,7 +58,7 @@ types::Function::ReturnValue sci_stripblanks(types::typed_list &in, int _iRetCou
 
     switch (in[0]->getType())
     {
-        case InternalType::RealString:
+        case InternalType::ScilabString:
         {
             String *pS = stripblanks(in[0]->getAs<types::String>(), bRemoveTab);
             if (pS == NULL)
@@ -70,7 +70,7 @@ types::Function::ReturnValue sci_stripblanks(types::typed_list &in, int _iRetCou
             out.push_back(pS);
         }
         break;
-        case InternalType::RealDouble://manage []
+        case InternalType::ScilabDouble://manage []
         {
             if (in[0]->getAs<Double>()->getSize() != 0)
             {
index 94b3459..66fcf36 100644 (file)
@@ -66,7 +66,7 @@ public :
     }
 
 protected :
-    RealType                           getType(void);
+    ScilabType                         getType(void);
 
 private :
     virtual bool            subMatrixToString(std::wostringstream& ostr, int* _piDims, int _iDims);
index fd3b741..6d40b1e 100644 (file)
@@ -45,9 +45,9 @@ public :
         std::cout << "types::Cell";
     };
 
-    RealType            getType(void)
+    ScilabType            getType(void)
     {
-        return RealCell;
+        return ScilabCell;
     }
     bool                isCell()
     {
index 123ff68..1368249 100644 (file)
@@ -46,9 +46,9 @@ public :
         return new Colon();
     }
 
-    InternalType::RealType getType(void)
+    InternalType::ScilabType getType(void)
     {
-        return RealColon;
+        return ScilabColon;
     }
 
     bool isColon()
index 7d258ce..19d55f8 100644 (file)
@@ -37,9 +37,9 @@ public :
         return true;
     }
 
-    virtual RealType        getType(void)
+    virtual ScilabType        getType(void)
     {
-        return RealContainer;
+        return ScilabContainer;
     }
     virtual bool            isContainer(void)
     {
index 14a9974..d0d2bf6 100644 (file)
@@ -42,9 +42,9 @@ public :
         return new Dollar();
     }
 
-    InternalType::RealType getType()
+    InternalType::ScilabType getType()
     {
-        return RealDollar;
+        return ScilabDollar;
     }
 
     bool isDollar()
index 249d0d5..c13f4a7 100644 (file)
@@ -107,7 +107,7 @@ public :
         return L"s";
     }
 protected :
-    RealType                    getType(void);
+    ScilabType                    getType(void);
 
 private :
     virtual bool                subMatrixToString(std::wostringstream& ostr, int* _piDims, int _iDims);
index d4c2386..d7e108d 100644 (file)
@@ -69,7 +69,7 @@ public :
         return L"f";
     }
 protected :
-    RealType            getType(void);
+    ScilabType            getType(void);
 
     /*clean values array*/
     void                deleteReal();
index 26841fa..af2d1a3 100644 (file)
@@ -68,9 +68,9 @@ public :
     static Function*        createFunction(std::wstring _wstFunctionName, std::wstring _wstEntryPointName, std::wstring _wstLibName, FunctionType _iType, LOAD_DEPS _pLoadDeps, std::wstring _wstModule, bool _bCloseLibAfterCall = false);
     static Function*        createFunction(std::wstring _wstFunctionName, std::wstring _wstEntryPointName, std::wstring _wstLibName, FunctionType _iType, std::wstring _wstLoadDepsName, std::wstring _wstModule, bool _bCloseLibAfterCall = false);
 
-    RealType                getType(void)
+    ScilabType                getType(void)
     {
-        return RealFunction;
+        return ScilabFunction;
     }
     bool                    isFunction()
     {
index c9e105e..750d619 100644 (file)
@@ -59,7 +59,7 @@ public :
         return false;
     }
 protected :
-    RealType                           getType(void);
+    ScilabType                         getType(void);
 
 private :
     virtual bool            subMatrixToString(std::wostringstream& ostr, int* _piDims, int _iDims);
index e0edc48..c1bbabd 100644 (file)
@@ -43,10 +43,10 @@ protected :
 
     int                                    m_iSize;
 
-    InternalType::RealType  m_eStartType;
-    InternalType::RealType  m_eStepType;
-    InternalType::RealType  m_eEndType;
-    InternalType::RealType  m_eOutType;
+    InternalType::ScilabType  m_eStartType;
+    InternalType::ScilabType  m_eStepType;
+    InternalType::ScilabType  m_eEndType;
+    InternalType::ScilabType  m_eOutType;
 
     bool                    m_bComputed;
 
@@ -57,16 +57,16 @@ public :
 
     InternalType*           clone();
 
-    RealType                getType(void)
+    ScilabType                getType(void)
     {
-        return RealImplicitList;
+        return ScilabImplicitList;
     }
     bool                    isImplicitList()
     {
         return true;
     }
 
-    RealType                getOutputType();
+    ScilabType                getOutputType();
 
     InternalType*           getStart();
     void                    setStart(InternalType*     _poIT);
@@ -83,9 +83,9 @@ public :
     bool                    toString(std::wostringstream& ostr);
 
 
-    InternalType::RealType  getStartType();
-    InternalType::RealType  getStepType();
-    InternalType::RealType  getEndType();
+    InternalType::ScilabType  getStartType();
+    InternalType::ScilabType  getStepType();
+    InternalType::ScilabType  getEndType();
 
     long long               getSize();
 
index f05c320..c3b139b 100644 (file)
@@ -66,9 +66,9 @@ public :
     }
 
 protected :
-    RealType                               getType(void)
+    ScilabType                             getType(void)
     {
-        return InternalType::RealInt16;
+        return InternalType::ScilabInt16;
     }
 
 private :
index 21fd0d1..3b438f6 100644 (file)
@@ -66,9 +66,9 @@ public :
     }
 
 protected :
-    RealType                               getType(void)
+    ScilabType                             getType(void)
     {
-        return InternalType::RealInt32;
+        return InternalType::ScilabInt32;
     }
 
 private :
index 21232ad..4c79eab 100644 (file)
@@ -66,9 +66,9 @@ public :
     }
 
 protected :
-    RealType                               getType(void)
+    ScilabType                             getType(void)
     {
-        return InternalType::RealInt64;
+        return InternalType::ScilabInt64;
     }
 
 private :
index 958624c..489dcd3 100644 (file)
@@ -66,9 +66,9 @@ public :
     }
 
 protected :
-    RealType                               getType(void)
+    ScilabType                             getType(void)
     {
-        return InternalType::RealInt8;
+        return InternalType::ScilabInt8;
     }
 
 private :
index ecf603f..90a01f4 100644 (file)
@@ -29,57 +29,57 @@ namespace types
 class TYPES_IMPEXP InternalType
 {
 public :
-    enum RealType
+    enum ScilabType
     {
+        ScilabNull, //no type, no data, nothing !
         /* Internal Type */
-        RealInternal,
+        ScilabInternal,
         /* Generic Types */
-        RealGeneric,
-        RealInt8,
-        RealUInt8,
-        RealInt16,
-        RealUInt16,
-        RealInt32,
-        RealUInt32,
-        RealInt64,
-        RealUInt64,
-        RealString,
-        RealDouble,
-        RealBool,
-        RealFloat,
-        RealPoly,
-        RealSinglePoly,
+        ScilabGeneric,
+        ScilabInt8,
+        ScilabUInt8,
+        ScilabInt16,
+        ScilabUInt16,
+        ScilabInt32,
+        ScilabUInt32,
+        ScilabInt64,
+        ScilabUInt64,
+        ScilabString,
+        ScilabDouble,
+        ScilabBool,
+        ScilabFloat,
+        ScilabPolynom,
+        ScilabSinglePolynom,
         /* Callable */
-        RealFunction,
-        RealMacro,
-        RealMacroFile,
+        ScilabFunction,
+        ScilabMacro,
+        ScilabMacroFile,
         /* Implicit List */
-        RealImplicitList,
+        ScilabImplicitList,