prepare api_scilab to Scilab 6 65/6365/4
Antoine ELIAS [Wed, 22 Feb 2012 14:47:00 +0000 (15:47 +0100)]
Change-Id: I659827d8ff0981cc3642091daf196b3f7369296f

169 files changed:
scilab/contrib/toolbox_skeleton/sci_gateway/c/sci_csub.c
scilab/contrib/toolbox_skeleton/sci_gateway/c/sci_csum.c
scilab/contrib/toolbox_skeleton/sci_gateway/c/sci_multiplybypi.c
scilab/contrib/toolbox_skeleton/sci_gateway/cpp/sci_cpp_find.cxx
scilab/contrib/toolbox_skeleton/sci_gateway/fortran/sci_fsum.c
scilab/contrib/xcos_toolbox_skeleton/sci_gateway/c/sci_tbx_sum.c
scilab/modules/action_binding/sci_gateway/cpp/sci_notify.cpp
scilab/modules/api_scilab/LibScilab_Import.def
scilab/modules/api_scilab/help/en_US/boolean/D_booleanExample.xml
scilab/modules/api_scilab/help/en_US/boolean_sparse/D_booleanSparseExample.xml
scilab/modules/api_scilab/help/en_US/capi/CheckLhs.xml
scilab/modules/api_scilab/help/en_US/capi/CheckRhs.xml
scilab/modules/api_scilab/help/en_US/capi/Lhs.xml
scilab/modules/api_scilab/help/en_US/capi/LhsVar.xml
scilab/modules/api_scilab/help/en_US/capi/Rhs.xml
scilab/modules/api_scilab/help/en_US/double/F_doubleExample.xml
scilab/modules/api_scilab/help/en_US/integer/D_integerExample.xml
scilab/modules/api_scilab/help/en_US/list_management/list_boolean_reading_api.xml
scilab/modules/api_scilab/help/en_US/list_management/list_boolean_writing_api.xml
scilab/modules/api_scilab/help/en_US/list_management/list_bsparse_reading_api.xml
scilab/modules/api_scilab/help/en_US/list_management/list_bsparse_writing_api.xml
scilab/modules/api_scilab/help/en_US/list_management/list_createlist_api.xml
scilab/modules/api_scilab/help/en_US/list_management/list_double_reading_api.xml
scilab/modules/api_scilab/help/en_US/list_management/list_double_writing_api.xml
scilab/modules/api_scilab/help/en_US/list_management/list_getlistitemaddress_api.xml
scilab/modules/api_scilab/help/en_US/list_management/list_getlistitemnumber_api.xml
scilab/modules/api_scilab/help/en_US/list_management/list_integer_reading_api.xml
scilab/modules/api_scilab/help/en_US/list_management/list_integer_writing_api.xml
scilab/modules/api_scilab/help/en_US/list_management/list_pointer_reading_api.xml
scilab/modules/api_scilab/help/en_US/list_management/list_pointer_writing_api.xml
scilab/modules/api_scilab/help/en_US/list_management/list_poly_reading_api.xml
scilab/modules/api_scilab/help/en_US/list_management/list_poly_writing_api.xml
scilab/modules/api_scilab/help/en_US/list_management/list_sparse_reading_api.xml
scilab/modules/api_scilab/help/en_US/list_management/list_sparse_writing_api.xml
scilab/modules/api_scilab/help/en_US/list_management/list_string_reading_api.xml
scilab/modules/api_scilab/help/en_US/list_management/list_string_writing_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/AssignOutputVariable.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/en_US/low_level_functions/CallOverloadFunction.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/en_US/low_level_functions/CheckInputArgument.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/en_US/low_level_functions/CheckOutputArgument.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/en_US/low_level_functions/InputArgument.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/en_US/low_level_functions/OutputArgument.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/en_US/low_level_functions/UpdateStack.xml [new file with mode: 0644]
scilab/modules/api_scilab/help/en_US/low_level_functions/boolean_reading_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/boolean_writing_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/bsparse_reading_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/bsparse_writing_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/common_getvaraddr_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/common_getvardimension_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/common_getvartype_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/common_iscomplex_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/common_isvarmatrixtype_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/double_reading_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/double_writing_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/int_getmatrixofintegerprecision_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/integer_reading_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/integer_writing_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/pointer_reading_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/pointer_writing_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/poly_getpolyvariablename_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/poly_reading_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/poly_writing_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/sparse_reading_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/sparse_writing_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/string_reading_api.xml
scilab/modules/api_scilab/help/en_US/low_level_functions/string_writing_api.xml
scilab/modules/api_scilab/help/en_US/polynomial/J_polyExample.xml
scilab/modules/api_scilab/help/en_US/sparse/F_sparseExample.xml
scilab/modules/api_scilab/help/en_US/string/G_stringExample.xml
scilab/modules/api_scilab/includes/api_boolean.h
scilab/modules/api_scilab/includes/api_boolean_sparse.h
scilab/modules/api_scilab/includes/api_common.h
scilab/modules/api_scilab/includes/api_double.h
scilab/modules/api_scilab/includes/api_error.h
scilab/modules/api_scilab/includes/api_int.h
scilab/modules/api_scilab/includes/api_list.h
scilab/modules/api_scilab/includes/api_pointer.h
scilab/modules/api_scilab/includes/api_poly.h
scilab/modules/api_scilab/includes/api_scilab.h
scilab/modules/api_scilab/includes/api_sparse.h
scilab/modules/api_scilab/includes/api_string.h
scilab/modules/api_scilab/src/cpp/api_boolean.cpp
scilab/modules/api_scilab/src/cpp/api_boolean_sparse.cpp
scilab/modules/api_scilab/src/cpp/api_common.cpp
scilab/modules/api_scilab/src/cpp/api_double.cpp
scilab/modules/api_scilab/src/cpp/api_error.cpp
scilab/modules/api_scilab/src/cpp/api_int.cpp
scilab/modules/api_scilab/src/cpp/api_list.cpp
scilab/modules/api_scilab/src/cpp/api_pointer.cpp
scilab/modules/api_scilab/src/cpp/api_poly.cpp
scilab/modules/api_scilab/src/cpp/api_sparse.cpp
scilab/modules/api_scilab/src/cpp/api_string.cpp
scilab/modules/api_scilab/tests/nonreg_tests/bug_8688.c
scilab/modules/api_scilab/tests/nonreg_tests/bug_9264.c
scilab/modules/api_scilab/tests/nonreg_tests/bug_9264.tst
scilab/modules/api_scilab/tests/nonreg_tests/bug_9707.c
scilab/modules/api_scilab/tests/nonreg_tests/bug_9708.c
scilab/modules/api_scilab/tests/nonreg_tests/sci_empty_test.cpp
scilab/modules/api_scilab/tests/unit_tests/booleanExample.c
scilab/modules/api_scilab/tests/unit_tests/booleanExample.tst
scilab/modules/api_scilab/tests/unit_tests/booleanSparseExample.c
scilab/modules/api_scilab/tests/unit_tests/calloverloadfunction_api.c [new file with mode: 0644]
scilab/modules/api_scilab/tests/unit_tests/calloverloadfunction_api.dia.ref [new file with mode: 0644]
scilab/modules/api_scilab/tests/unit_tests/calloverloadfunction_api.tst [new file with mode: 0644]
scilab/modules/api_scilab/tests/unit_tests/common_function_api.c
scilab/modules/api_scilab/tests/unit_tests/common_list_api.c
scilab/modules/api_scilab/tests/unit_tests/common_read_api.c
scilab/modules/api_scilab/tests/unit_tests/common_read_api.tst
scilab/modules/api_scilab/tests/unit_tests/doubleExample.c
scilab/modules/api_scilab/tests/unit_tests/double_reading_api.c
scilab/modules/api_scilab/tests/unit_tests/double_writing_api.c
scilab/modules/api_scilab/tests/unit_tests/integer_reading_api.c
scilab/modules/api_scilab/tests/unit_tests/integer_writing_api.c
scilab/modules/api_scilab/tests/unit_tests/list_createlist_api.c
scilab/modules/api_scilab/tests/unit_tests/pointer_reading_api.c
scilab/modules/api_scilab/tests/unit_tests/polyExample.c
scilab/modules/api_scilab/tests/unit_tests/poly_reading_api.c
scilab/modules/api_scilab/tests/unit_tests/poly_reading_api.dia.ref
scilab/modules/api_scilab/tests/unit_tests/poly_reading_api.tst
scilab/modules/api_scilab/tests/unit_tests/poly_writing_api.c
scilab/modules/api_scilab/tests/unit_tests/read_write_boolean_api.c
scilab/modules/api_scilab/tests/unit_tests/read_write_bsparse_api.c
scilab/modules/api_scilab/tests/unit_tests/sparseExample.c
scilab/modules/api_scilab/tests/unit_tests/sparse_reading_api.c
scilab/modules/api_scilab/tests/unit_tests/sparse_writing_api.c
scilab/modules/api_scilab/tests/unit_tests/stringExample.c
scilab/modules/api_scilab/tests/unit_tests/string_reading_api.c
scilab/modules/api_scilab/tests/unit_tests/string_writing_api.c
scilab/modules/arnoldi/includes/gw_arnoldi.h
scilab/modules/core/includes/stack-c.h
scilab/modules/core/includes/stack-def.h
scilab/modules/core/includes/stack1.h
scilab/modules/core/includes/stack2.h
scilab/modules/core/includes/stack3.h
scilab/modules/core/src/c/getdynamicdebuginfo.c
scilab/modules/development_tools/macros/test_run.sci
scilab/modules/dynamic_link/includes/gw_dynamic_link.h
scilab/modules/dynamic_link/macros/gencompilationflags_unix.sci
scilab/modules/dynamic_link/src/scripts/TEMPLATE_MAKEFILE.VC
scilab/modules/fftw/includes/gw_fftw.h
scilab/modules/graphic_export/includes/gw_graphic_export.h
scilab/modules/graphics/includes/gw_graphics.h
scilab/modules/hdf5/sci_gateway/cpp/sci_export_to_hdf5.cpp
scilab/modules/hdf5/sci_gateway/cpp/sci_import_from_hdf5.cpp
scilab/modules/history_browser/includes/gw_history_browser.h
scilab/modules/interpolation/includes/gw_interpolation.h
scilab/modules/linear_algebra/includes/gw_linear_algebra.h
scilab/modules/linear_algebra/includes/gw_linear_algebra2.h
scilab/modules/mexlib/includes/mex.h
scilab/modules/mexlib/src/libmat/libmat.vcxproj
scilab/modules/mexlib/src/libmex/libmex.vcxproj
scilab/modules/mexlib/src/libmx/libmx.vcxproj
scilab/modules/optimization/includes/gw_optimization.h
scilab/modules/output_stream/includes/gw_output_stream.h
scilab/modules/output_stream/sci_gateway/cpp/sci_diary.cpp
scilab/modules/output_stream/src/c/api_scilab_Import.def
scilab/modules/randlib/includes/gw_randlib.h
scilab/modules/scicos/includes/gw_scicos.h
scilab/modules/scicos/sci_gateway/c/gw_scicos.c
scilab/modules/scicos/sci_gateway/c/sci_loadScicos.c
scilab/modules/spreadsheet/includes/gw_spreadsheet.h
scilab/modules/statistics/includes/gw_statistics.h
scilab/modules/symbolic/includes/gw_symbolic.h
scilab/modules/tclsci/includes/gw_tclsci.h
scilab/modules/umfpack/includes/gw_umfpack.h
scilab/modules/xcos/sci_gateway/cpp/sci_Xcos.cpp
scilab/modules/xcos/sci_gateway/cpp/sci_closeXcosFromScilab.cpp
scilab/modules/xcos/sci_gateway/cpp/sci_warnBlockByUID.cpp
scilab/modules/xml/sci_gateway/cpp/sci_percent_c_i_XMLAttr.cpp

index b07aba1..cbee143 100644 (file)
@@ -4,7 +4,6 @@
 /* Template toolbox_skeleton */
 /* This file is released under the 3-clause BSD license. See COPYING-BSD. */
 /* ==================================================================== */
-#include "stack-c.h"
 #include "api_scilab.h"
 #include "Scierror.h"
 #include "MALLOC.h"
index f49359f..20072da 100644 (file)
@@ -4,7 +4,6 @@
 /* Template toolbox_skeleton */
 /* This file is released under the 3-clause BSD license. See COPYING-BSD. */
 /* ==================================================================== */
-#include "stack-c.h"
 #include "api_scilab.h"
 #include "Scierror.h"
 #include "MALLOC.h"
index 7fbf9c9..4148959 100644 (file)
@@ -3,7 +3,6 @@
 /* Template toolbox_skeleton */
 /* This file is released under the 3-clause BSD license. See COPYING-BSD. */
 /* ==================================================================== */
-#include "stack-c.h"
 #include "api_scilab.h"
 #include "Scierror.h"
 #include "MALLOC.h"
index 624e5f6..9c22f8e 100644 (file)
@@ -9,7 +9,6 @@
 extern "C" 
 {
 /* ==================================================================== */     
-  #include "stack-c.h"
   #include "api_scilab.h"
   #include "Scierror.h"
   #include "MALLOC.h"
index 7112972..489fb71 100644 (file)
@@ -4,7 +4,6 @@
 /* Template toolbox_skeleton */
 /* This file is released under the 3-clause BSD license. See COPYING-BSD. */
 /* ==================================================================== */
-#include "stack-c.h" 
 #include "api_scilab.h"
 #include "Scierror.h"
 #include "MALLOC.h"
index fc16294..bc8060f 100644 (file)
@@ -17,8 +17,7 @@ extern "C"
 {
 #include "gw_action_binding.h"
 #include "stack-c.h"
-#include "api_common.h"
-#include "api_string.h"
+#include "api_scilab.h"
 #include "localization.h"
 #include "Scierror.h"
 #include "MALLOC.h"
index 78d9084..f7221c3 100644 (file)
@@ -16,4 +16,6 @@ vGetPointerFromDoubleComplex
 oGetDoubleComplexFromPointer
 getExecMode
 getstackinfo_
-freeArrayOfString
\ No newline at end of file
+freeArrayOfString
+putlhsvar_
+overload_
index 110e9ff..a0f4248 100644 (file)
  *
  -->
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="booleanExample" xml:lang="en">
-  <refnamediv>
-    <refname>boolean example</refname>
-    <refpurpose>
-      Boolean use case.
-    </refpurpose>
-  </refnamediv>
-  <refsection>
-    <title>Description</title>
-    <para>This example shows how to get a boolean variable and return it to Scilab.</para>
-  </refsection>
-  <refsection>
-    <!--File_gateway: SCI/modules/api_scilab/tests/unit_tests/booleanExample.c-->
-    <!--File_scilab: SCI/modules/api_scilab/tests/unit_tests/booleanExample.tst-->
-    <!--Lib_name: booleanExample-->
-    <!--Func_list: booleanExample-->
-    <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <refnamediv>
+        <refname>boolean example</refname>
+        <refpurpose>
+            Boolean use case.
+        </refpurpose>
+    </refnamediv>
+    <refsection>
+        <title>Description</title>
+        <para>This example shows how to get a boolean variable and return it to Scilab.</para>
+    </refsection>
+    <refsection>
+        <!--File_gateway: SCI/modules/api_scilab/tests/unit_tests/booleanExample.c-->
+        <!--File_scilab: SCI/modules/api_scilab/tests/unit_tests/booleanExample.tst-->
+        <!--Lib_name: booleanExample-->
+        <!--Func_list: booleanExample-->
+        <title>Gateway Source</title>
+        <programlisting role="code_gateway">
+            <![CDATA[ 
 int booleanExample(char *fname,unsigned long fname_len)
 {
     SciErr sciErr;
@@ -35,8 +36,8 @@ int booleanExample(char *fname,unsigned long fname_len)
     int iType   = 0;
     int iRet    = 0;
 
-    CheckRhs(1,1);
-    CheckLhs(0,1);
+    CheckInputArgument(pvApiCtx, 1, 1);
+    CheckOutputArgument(pvApiCtx, 0, 1);
 
     sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
     if(sciErr.iErr)
@@ -44,7 +45,6 @@ int booleanExample(char *fname,unsigned long fname_len)
         printError(&sciErr, 0);
         return 0;
     }
-
     if(isBooleanType(pvApiCtx, piAddr))
     {
         if(isScalar(pvApiCtx, piAddr))
@@ -55,8 +55,7 @@ int booleanExample(char *fname,unsigned long fname_len)
             {
                 return 0;
             }
-
-            iRet = createScalarBoolean(pvApiCtx, Rhs + 1, iBool);
+            iRet = createScalarBoolean(pvApiCtx, InputArgument + 1, iBool);
             if(iRet)
             {
                 return 0;
@@ -64,37 +63,39 @@ int booleanExample(char *fname,unsigned long fname_len)
         }
         else
         {
-        int iRows      = 0;
-        int iCols      = 0;
-        int *piBool    = NULL;
+            int iRows  = 0;
+            int iCols  = 0;
+            int *piBool        = NULL;
 
-        sciErr = getMatrixOfBoolean(pvApiCtx, piAddr, &iRows, &iCols, &piBool);
-        if(sciErr.iErr)
-        {
-            printError(&sciErr, 0);
-            return 0;
-        }
+            sciErr = getMatrixOfBoolean(pvApiCtx, piAddr, &iRows, &iCols, &piBool);
+            if(sciErr.iErr)
+            {
+                printError(&sciErr, 0);
+                return 0;
+            }
 
-        sciErr = createMatrixOfBoolean(pvApiCtx, Rhs + 1, iRows, iCols, piBool);
-        if(sciErr.iErr)
-        {
-            printError(&sciErr, 0);
-            return 0;
+            sciErr = createMatrixOfBoolean(pvApiCtx, InputArgument + 1, iRows, iCols, piBool);
+            if(sciErr.iErr)
+            {
+                printError(&sciErr, 0);
+                return 0;
+            }
         }
-    }
-        LhsVar(1) = Rhs + 1;
+        AssignOutputVariable(1) = InputArgument + 1;
     }
     else
     {
-        LhsVar(1) = 0;
+        AssignOutputVariable(1) = 0;
     }
     return 0;
 }
- ]]></programlisting>
-  </refsection>
-  <refsection>
-    <title>Scilab test script</title>
-    <programlisting role="code_scilab"><![CDATA[ 
+ ]]>
+        </programlisting>
+    </refsection>
+    <refsection>
+        <title>Scilab test script</title>
+        <programlisting role="code_scilab">
+            <![CDATA[ 
 a = %t;
 b = %f;
 c = [a,b;b,a;a,b;b,a];
@@ -104,6 +105,7 @@ booleanExample(a) == a
 booleanExample(b) == b
 booleanExample(c) == c
 booleanExample(d) == d
- ]]></programlisting>
-  </refsection>
+ ]]>
+        </programlisting>
+    </refsection>
 </refentry>
index da12687..2271de4 100644 (file)
@@ -27,7 +27,8 @@
     <!--Lib_name: booleanSparseExample-->
     <!--Func_list: booleanSparseExample-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 int booleanSparseExample(char *fname,unsigned long fname_len)
 {
        SciErr sciErr;
@@ -35,8 +36,8 @@ int booleanSparseExample(char *fname,unsigned long fname_len)
        int iType               = 0;
        int iRet                = 0;
 
-       CheckRhs(1,1);
-       CheckLhs(0,1);
+    CheckInputArgument(pvApiCtx, 1, 1);
+    CheckOutputArgument(pvApiCtx, 0, 1);
 
        sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
        if(sciErr.iErr)
@@ -60,7 +61,7 @@ int booleanSparseExample(char *fname,unsigned long fname_len)
                        return iRet;
                }
 
-               sciErr = createBooleanSparseMatrix(pvApiCtx, Rhs + 1, iRows, iCols, iNbItem, piNbItemRow, piColPos);
+               sciErr = createBooleanSparseMatrix(pvApiCtx, InputArgument + 1, iRows, iCols, iNbItem, piNbItemRow, piColPos);
                if(sciErr.iErr)
                {
                        freeAllocatedBooleanSparse(piNbItemRow, piColPos);
@@ -69,7 +70,7 @@ int booleanSparseExample(char *fname,unsigned long fname_len)
                }
 
                freeAllocatedBooleanSparse(piNbItemRow, piColPos);
-               LhsVar(1) = Rhs + 1;
+               AssignOutputVariable(1) = InputArgument + 1;
        }
        return 0;
 }
index d298cc1..3f916e6 100644 (file)
@@ -1,64 +1,72 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="CheckLhs" xml:lang="en">
-  <refnamediv>
-    <refname>CheckLhs</refname>
-    <refpurpose>C macro which checks the number of output arguments present in
-      the calling Scilab function.
-    </refpurpose>
-  </refnamediv>
-  <refsynopsisdiv>
-    <title>Calling Sequence</title>
-    <synopsis>CheckLhs(nb_min_params,nb_max_params)</synopsis>
-  </refsynopsisdiv>
-  <refsection>
-    <title>Arguments</title>
-    <variablelist>
-      <varlistentry>
-        <term>nb_min_params</term>
-        <listitem>
-          <para>the minimum number of output arguments which must be present
-            in the calling Scilab function
-          </para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>nb_max_params</term>
-        <listitem>
-          <para>the maximum number of output arguments which must be present
-            in the calling Scilab function
-          </para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refsection>
-  <refsection>
-    <title>Description</title>
-    <para>C macro which checks the number of output arguments present in the
-      calling Scilab function. You must include stack-c.h to benefit from this
-      function.
-    </para>
-    <para>If the number of arguments is not between nb_min_params and
-      nb_max_params, we quit the C interface (<literal>return 0;</literal>) and
-      an error is returned in the Scilab console.
-    </para>
-    <para>
-      Since <literal>CheckLhs</literal> is doing a <literal>return
-        0;
-      </literal>
-      within the gateway function, it is important to call this
-      macro before any memory allocation in order to avoid any memory
-      leak.
-    </para>
-    <para>
-      WARNING: This API is deprecated from Scilab 5.2.0 and is going to be removed with Scilab 6.0. Please use <link linkend="api_scilab">API Scilab</link> (the new Scilab API).
-    </para>
-  </refsection>
-  <refsection>
-    <title>Examples</title>
-    <para>In this example, the C gateway function checks for a number of
-      output arguments which must be between 2 and 3.
-    </para>
-    <programlisting role="example"><![CDATA[ 
+    <refnamediv>
+        <refname>CheckLhs (deprecated)</refname>
+        <refpurpose>
+            C macro which checks the number of output arguments present in
+            the calling Scilab function.
+        </refpurpose>
+    </refnamediv>
+    <refsynopsisdiv>
+        <title>Calling Sequence</title>
+        <synopsis>CheckLhs(nb_min_params,nb_max_params)</synopsis>
+    </refsynopsisdiv>
+    <refsection>
+        <title>Arguments</title>
+        <variablelist>
+            <varlistentry>
+                <term>nb_min_params</term>
+                <listitem>
+                    <para>
+                        the minimum number of output arguments which must be present
+                        in the calling Scilab function
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>nb_max_params</term>
+                <listitem>
+                    <para>
+                        the maximum number of output arguments which must be present
+                        in the calling Scilab function
+                    </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection>
+        <title>Description</title>
+        <para>
+            C macro which checks the number of output arguments present in the
+            calling Scilab function. You must include stack-c.h to benefit from this
+            function.
+        </para>
+        <para>
+            If the number of arguments is not between nb_min_params and
+            nb_max_params, we quit the C interface (<literal>return 0;</literal>) and
+            an error is returned in the Scilab console.
+        </para>
+        <para>
+            Since <literal>CheckLhs</literal> is doing a <literal>
+                return
+                0;
+            </literal>
+            within the gateway function, it is important to call this
+            macro before any memory allocation in order to avoid any memory
+            leak.
+        </para>
+        <para>
+            WARNING: This API is deprecated from Scilab 5.2.0 and is going to be removed with Scilab 6.0. Please use <link linkend="api_scilab">API Scilab</link> (the new Scilab API).
+        </para>
+    </refsection>
+    <refsection>
+        <title>Examples</title>
+        <para>
+            In this example, the C gateway function checks for a number of
+            output arguments which must be between 2 and 3.
+        </para>
+        <programlisting role="example">
+            <![CDATA[ 
 #include <stack-c.h>
 
 int sci_mychecklhs(char * fname)
@@ -67,21 +75,30 @@ int sci_mychecklhs(char * fname)
 
   return 0;
 }
- ]]></programlisting>
-    <para>Now, some functions testing this interface:</para>
-    <programlisting role="example"><![CDATA[ 
+ ]]>
+        </programlisting>
+        <para>Now, some functions testing this interface:</para>
+        <programlisting role="example">
+            <![CDATA[ 
 [A,B] = mychecklhs(); // OK, 2 output arguments
 [A,B,C] = mychecklhs(); // OK, 3 output arguments
 [A] = mychecklhs(); // ERROR, 1 output argument
 [A,B,C,D] = mychecklhs(); // ERROR, 4 output arguments
- ]]></programlisting>
-  </refsection>
-  <refsection role="see also">
-    <title>See Also</title>
-    <simplelist type="inline">
-      <member>
-        <link linkend="CheckRhs">CheckRhs</link>
-      </member>
-    </simplelist>
-  </refsection>
+ ]]>
+        </programlisting>
+    </refsection>
+    <refsection role="see also">
+        <title>See Also</title>
+        <simplelist type="inline">
+            <member>
+                <link linkend="CheckOutputArgument">CheckOutputArgument</link>
+            </member>
+            <member>
+                <link linkend="CheckInputArgument">CheckInputArgument</link>
+            </member>
+            <member>
+                <link linkend="CheckRhs">CheckRhs</link>
+            </member>
+        </simplelist>
+    </refsection>
 </refentry>
index 23806bb..909085c 100644 (file)
@@ -1,64 +1,72 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="CheckRhs" xml:lang="en">
-  <refnamediv>
-    <refname>CheckRhs</refname>
-    <refpurpose>C macro which checks the number of input arguments present in
-      the calling Scilab function.
-    </refpurpose>
-  </refnamediv>
-  <refsynopsisdiv>
-    <title>Calling Sequence</title>
-    <synopsis>CheckRhs(nb_min_params,nb_max_params)</synopsis>
-  </refsynopsisdiv>
-  <refsection>
-    <title>Arguments</title>
-    <variablelist>
-      <varlistentry>
-        <term>nb_min_params</term>
-        <listitem>
-          <para>The minimum number of input arguments which must be present in
-            the calling Scilab function
-          </para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>nb_max_params</term>
-        <listitem>
-          <para>the maximum number of input arguments which must be present in
-            the calling Scilab function
-          </para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refsection>
-  <refsection>
-    <title>Description</title>
-    <para>C macro which checks the number of input arguments present in the
-      calling Scilab function. You must include stack-c.h to benefit from this
-      function. 
-    </para>
-    <para>If the number of input arguments is not between nb_min_params and
-      nb_max_params, we quit the C interface (<literal>return 0;</literal>) and
-      an error is returned in the Scilab console.
-    </para>
-    <para>
-      Since <literal>CheckRhs</literal> is doing a <literal>return
-        0;
-      </literal>
-      within the gateway function, it is important to call this
-      macro before any memory allocation in order to avoid any memory
-      leak.
-    </para>
-    <para>
-      WARNING: This API is deprecated from Scilab 5.2.0 and is going to be removed with Scilab 6.0. Please use <link linkend="api_scilab">API Scilab</link> (the new Scilab API).
-    </para>
-  </refsection>
-  <refsection>
-    <title>Examples</title>
-    <para>In this example, the C gateway function checks for a number of input
-      arguments which must be between 2 and 3.
-    </para>
-    <programlisting role="example"><![CDATA[ 
+    <refnamediv>
+        <refname>CheckRhs (deprecated)</refname>
+        <refpurpose>
+            C macro which checks the number of input arguments present in
+            the calling Scilab function.
+        </refpurpose>
+    </refnamediv>
+    <refsynopsisdiv>
+        <title>Calling Sequence</title>
+        <synopsis>CheckRhs(nb_min_params,nb_max_params)</synopsis>
+    </refsynopsisdiv>
+    <refsection>
+        <title>Arguments</title>
+        <variablelist>
+            <varlistentry>
+                <term>nb_min_params</term>
+                <listitem>
+                    <para>
+                        The minimum number of input arguments which must be present in
+                        the calling Scilab function
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>nb_max_params</term>
+                <listitem>
+                    <para>
+                        the maximum number of input arguments which must be present in
+                        the calling Scilab function
+                    </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection>
+        <title>Description</title>
+        <para>
+            C macro which checks the number of input arguments present in the
+            calling Scilab function. You must include stack-c.h to benefit from this
+            function.
+        </para>
+        <para>
+            If the number of input arguments is not between nb_min_params and
+            nb_max_params, we quit the C interface (<literal>return 0;</literal>) and
+            an error is returned in the Scilab console.
+        </para>
+        <para>
+            Since <literal>CheckRhs</literal> is doing a <literal>
+                return
+                0;
+            </literal>
+            within the gateway function, it is important to call this
+            macro before any memory allocation in order to avoid any memory
+            leak.
+        </para>
+        <para>
+            WARNING: This API is deprecated from Scilab 5.2.0 and is going to be removed with Scilab 6.0. Please use <link linkend="api_scilab">API Scilab</link> (the new Scilab API).
+        </para>
+    </refsection>
+    <refsection>
+        <title>Examples</title>
+        <para>
+            In this example, the C gateway function checks for a number of input
+            arguments which must be between 2 and 3.
+        </para>
+        <programlisting role="example">
+            <![CDATA[ 
 #include <stack-c.h>
 
 int sci_mycheckrhs(char * fname)
@@ -67,21 +75,30 @@ int sci_mycheckrhs(char * fname)
 
   return 0;
 }
- ]]></programlisting>
-    <para>Now, some functions testing this interface:</para>
-    <programlisting role="example"><![CDATA[ 
+ ]]>
+        </programlisting>
+        <para>Now, some functions testing this interface:</para>
+        <programlisting role="example">
+            <![CDATA[ 
 mycheckrhs(A,B); // OK, 2 output arguments
 mycheckrhs(A,B,C); // OK, 3 output arguments
 mycheckrhs(A); // ERROR, 1 output argument
 mycheckrhs(A,B,C,D); // ERROR, 4 output arguments
- ]]></programlisting>
-  </refsection>
-  <refsection role="see also">
-    <title>See Also</title>
-    <simplelist type="inline">
-      <member>
-        <link linkend="CheckLhs">CheckLhs</link>
-      </member>
-    </simplelist>
-  </refsection>
+ ]]>
+        </programlisting>
+    </refsection>
+    <refsection role="see also">
+        <title>See Also</title>
+        <simplelist type="inline">
+            <member>
+                <link linkend="CheckInputArgument">CheckInputArgument</link>
+            </member>
+            <member>
+                <link linkend="CheckOutputArgument">CheckOutputArgument</link>
+            </member>
+            <member>
+                <link linkend="CheckLhs">CheckLhs</link>
+            </member>
+        </simplelist>
+    </refsection>
 </refentry>
index d4852c3..fef03be 100644 (file)
@@ -1,47 +1,52 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="Lhs" xml:lang="en">
-  <refnamediv>
-    <refname>Lhs</refname>
-    <refpurpose>A C gateway function which provides the number of output
-      arguments present in the calling Scilab function
-    </refpurpose>
-  </refnamediv>
-  <refsynopsisdiv>
-    <title>Calling Sequence</title>
-    <synopsis>nb_params Lhs</synopsis>
-  </refsynopsisdiv>
-  <refsection>
-    <title>Arguments</title>
-    <variablelist>
-      <varlistentry>
-        <term>nb_params</term>
-        <listitem>
-          <para>the number of output arguments present in the calling Scilab
-            function
-          </para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refsection>
-  <refsection>
-    <title>Description</title>
-    <para>Lhs provides a C gateway function which provides the number of
-      output arguments present in the calling Scilab function. You must include
-      stack-c.h to benefit from this function.
-    </para>
-    <para>Note: Lhs means Left Hand Side.</para>
-    <para>
-      WARNING: This API is deprecated from Scilab 5.2.0 and is going to be removed with Scilab 6.0. Please use <link linkend="api_scilab">API Scilab</link> (the new Scilab API).
-    </para>
-  </refsection>
-  <refsection>
-    <title>Examples</title>
-    <para>In this example, the C gateway function can take several output
-      arguments and prints in the Scilab console the integer corresponding to
-      the number of output arguments detected in the calling Scilab
-      function.
-    </para>
-    <programlisting role="example"><![CDATA[ 
+    <refnamediv>
+        <refname>Lhs (deprecated)</refname>
+        <refpurpose>
+            A C gateway function which provides the number of output
+            arguments present in the calling Scilab function
+        </refpurpose>
+    </refnamediv>
+    <refsynopsisdiv>
+        <title>Calling Sequence</title>
+        <synopsis>nb_params Lhs</synopsis>
+    </refsynopsisdiv>
+    <refsection>
+        <title>Arguments</title>
+        <variablelist>
+            <varlistentry>
+                <term>nb_params</term>
+                <listitem>
+                    <para>
+                        the number of output arguments present in the calling Scilab
+                        function
+                    </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection>
+        <title>Description</title>
+        <para>
+            Lhs provides a C gateway function which provides the number of
+            output arguments present in the calling Scilab function. You must include
+            stack-c.h to benefit from this function.
+        </para>
+        <para>Note: Lhs means Left Hand Side.</para>
+        <para>
+            WARNING: This API is deprecated from Scilab 5.2.0 and is going to be removed with Scilab 6.0. Please use <link linkend="api_scilab">API Scilab</link> (the new Scilab API).
+        </para>
+    </refsection>
+    <refsection>
+        <title>Examples</title>
+        <para>
+            In this example, the C gateway function can take several output
+            arguments and prints in the Scilab console the integer corresponding to
+            the number of output arguments detected in the calling Scilab
+            function.
+        </para>
+        <programlisting role="example">
+            <![CDATA[ 
 #include <stack-c.h>
 #include <sciprint.h>
 
@@ -51,17 +56,24 @@ int sci_mylhs(char * fname)
 
   return 0;
 }
- ]]></programlisting>
-  </refsection>
-  <refsection role="see also">
-    <title>See Also</title>
-    <simplelist type="inline">
-      <member>
-        <link linkend="sciprint">sciprint</link>
-      </member>
-      <member>
-        <link linkend="Rhs">Rhs</link>
-      </member>
-    </simplelist>
-  </refsection>
+ ]]>
+        </programlisting>
+    </refsection>
+    <refsection role="see also">
+        <title>See Also</title>
+        <simplelist type="inline">
+            <member>
+                <link linkend="OutputArgument">OutputArgument</link>
+            </member>
+            <member>
+                <link linkend="InputArgument">InputArgument</link>
+            </member>
+            <member>
+                <link linkend="sciprint">sciprint</link>
+            </member>
+            <member>
+                <link linkend="Rhs">Rhs</link>
+            </member>
+        </simplelist>
+    </refsection>
 </refentry>
index 86d8b28..0e7c64b 100644 (file)
@@ -1,58 +1,66 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="LhsVar">
-  <refnamediv>
-    <refname>LhsVar</refname>
-    <refpurpose>a C gateway function which specifies which parameters created
-      inside the C gateway will be returned as an output argument into
-      Scilab.
-    </refpurpose>
-  </refnamediv>
-  <refsynopsisdiv>
-    <title>Calling Sequence</title>
-    <synopsis>LhsVar(RankPos) = RankVar;</synopsis>
-  </refsynopsisdiv>
-  <refsection>
-    <title>Arguments</title>
-    <variablelist>
-      <varlistentry>
-        <term>RankPos</term>
-        <listitem>
-          <para>as integer providing the rank of the output argument</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>RankVar</term>
-        <listitem>
-          <para>the rank of the parameter created inside the C gateway to be
-            returned as an Scilab output argument
-          </para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refsection>
-  <refsection>
-    <title>Description</title>
-    <para>A C gateway function which specifies which variables created inside
-      the C interface will be returned as an output argumen into Scilab.
-    </para>
-  </refsection>
-  <refsection>
-    <title>Examples</title>
-    <para>This example takes a matrix of doubles as input and returns:</para>
-    <itemizedlist>
-      <listitem>
-        <para>the number of lines (first output argument)</para>
-      </listitem>
-      <listitem>
-        <para>the number of rows (second output argument)</para>
-      </listitem>
-    </itemizedlist>
-    <para>We create an intermediate Scilab parameter which will handle an
-      integer but will neither be used nor returned as an output
-      argument.
-    </para>
-    <para>TODO: insert an example in the Scilab language</para>
-    <programlisting role="example"><![CDATA[
+    <refnamediv>
+        <refname>LhsVar (deprecated)</refname>
+        <refpurpose>
+            a C gateway function which specifies which parameters created
+            inside the C gateway will be returned as an output argument into
+            Scilab.
+        </refpurpose>
+    </refnamediv>
+    <refsynopsisdiv>
+        <title>Calling Sequence</title>
+        <synopsis>LhsVar(RankPos) = RankVar;</synopsis>
+    </refsynopsisdiv>
+    <refsection>
+        <title>Arguments</title>
+        <variablelist>
+            <varlistentry>
+                <term>RankPos</term>
+                <listitem>
+                    <para>as integer providing the rank of the output argument</para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>RankVar</term>
+                <listitem>
+                    <para>
+                        the rank of the parameter created inside the C gateway to be
+                        returned as an Scilab output argument
+                    </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection>
+        <title>Description</title>
+        <para>
+            A C gateway function which specifies which variables created inside
+            the C interface will be returned as an output argumen into Scilab.
+        </para>
+        <para>
+            WARNING: This API is deprecated from Scilab 5.2.0 and is going to be removed with Scilab 6.0. Please use <link linkend="api_scilab">API Scilab</link> (the new Scilab API).
+        </para>
+    </refsection>
+    <refsection>
+        <title>Examples</title>
+        <para>This example takes a matrix of doubles as input and returns:</para>
+        <itemizedlist>
+            <listitem>
+                <para>the number of lines (first output argument)</para>
+            </listitem>
+            <listitem>
+                <para>the number of rows (second output argument)</para>
+            </listitem>
+        </itemizedlist>
+        <para>
+            We create an intermediate Scilab parameter which will handle an
+            integer but will neither be used nor returned as an output
+            argument.
+        </para>
+        <para>TODO: insert an example in the Scilab language</para>
+        <programlisting role="example">
+            <![CDATA[
 #include "stack-c.h"
 #include "api_scilab.h"
 int sci_mysizedouble(char * fname, unsigned long fname_len)
@@ -87,6 +95,15 @@ int sci_mysizedouble(char * fname, unsigned long fname_len)
     PutLhsVar();
     return 0;
 }
- ]]></programlisting>
-  </refsection>
+ ]]>
+        </programlisting>
+    </refsection>
+    <refsection role="see also">
+        <title>See Also</title>
+        <simplelist type="inline">
+            <member>
+                <link linkend="AssignOutputVariable">AssignOutputVariable</link>
+            </member>
+        </simplelist>
+    </refsection>
 </refentry>
index fc02469..8bedd0e 100644 (file)
@@ -1,47 +1,52 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="Rhs" xml:lang="en">
-  <refnamediv>
-    <refname>Rhs</refname>
-    <refpurpose>A C gateway function which provides the number of input
-      arguments present in the calling Scilab function
-    </refpurpose>
-  </refnamediv>
-  <refsynopsisdiv>
-    <title>Calling Sequence</title>
-    <synopsis>nb_params Rhs</synopsis>
-  </refsynopsisdiv>
-  <refsection>
-    <title>Arguments</title>
-    <variablelist>
-      <varlistentry>
-        <term>nb_params</term>
-        <listitem>
-          <para>the number of input arguments present in the calling Scilab
-            function
-          </para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refsection>
-  <refsection>
-    <title>Description</title>
-    <para>A C gateway function which provides the number of input arguments
-      present in the calling Scilab function. You must include stack-c.h to
-      benefit from this function.
-    </para>
-    <para>Note: Rhs means Right Hand Side.</para>
-    <para>
-      WARNING: This API is deprecated from Scilab 5.2.0 and is going to be removed with Scilab 6.0. Please use <link linkend="api_scilab">API Scilab</link> (the new Scilab API).
-    </para>
-  </refsection>
-  <refsection>
-    <title>Examples</title>
-    <para>In this example, the C interface function can take several input
-      arguments and prints in the Scilab console the integer corresponding to
-      the number of input arguments detected in the calling Scilab
-      function.
-    </para>
-    <programlisting role="example"><![CDATA[ 
+    <refnamediv>
+        <refname>Rhs (deprecated)</refname>
+        <refpurpose>
+            A C gateway function which provides the number of input
+            arguments present in the calling Scilab function
+        </refpurpose>
+    </refnamediv>
+    <refsynopsisdiv>
+        <title>Calling Sequence</title>
+        <synopsis>nb_params Rhs</synopsis>
+    </refsynopsisdiv>
+    <refsection>
+        <title>Arguments</title>
+        <variablelist>
+            <varlistentry>
+                <term>nb_params</term>
+                <listitem>
+                    <para>
+                        the number of input arguments present in the calling Scilab
+                        function
+                    </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection>
+        <title>Description</title>
+        <para>
+            A C gateway function which provides the number of input arguments
+            present in the calling Scilab function. You must include stack-c.h to
+            benefit from this function.
+        </para>
+        <para>Note: Rhs means Right Hand Side.</para>
+        <para>
+            WARNING: This API is deprecated from Scilab 5.2.0 and is going to be removed with Scilab 6.0. Please use <link linkend="api_scilab">API Scilab</link> (the new Scilab API).
+        </para>
+    </refsection>
+    <refsection>
+        <title>Examples</title>
+        <para>
+            In this example, the C interface function can take several input
+            arguments and prints in the Scilab console the integer corresponding to
+            the number of input arguments detected in the calling Scilab
+            function.
+        </para>
+        <programlisting role="example">
+            <![CDATA[ 
 #include <stack-c.h>
 #include <sciprint.h>
 
@@ -51,17 +56,24 @@ int sci_myrhs(char * fname)
 
   return 0;
 }
- ]]></programlisting>
-  </refsection>
-  <refsection role="see also">
-    <title>See Also</title>
-    <simplelist type="inline">
-      <member>
-        <link linkend="sciprint">sciprint</link>
-      </member>
-      <member>
-        <link linkend="Rhs">Lhs</link>
-      </member>
-    </simplelist>
-  </refsection>
+ ]]>
+        </programlisting>
+    </refsection>
+    <refsection role="see also">
+        <title>See Also</title>
+        <simplelist type="inline">
+            <member>
+                <link linkend="InputArgument">InputArgument</link>
+            </member>
+            <member>
+                <link linkend="OutputArgument">OutputArgument</link>
+            </member>
+            <member>
+                <link linkend="sciprint">sciprint</link>
+            </member>
+            <member>
+                <link linkend="Rhs">Lhs</link>
+            </member>
+        </simplelist>
+    </refsection>
 </refentry>
index 05a38e3..d098421 100644 (file)
     <!--Lib_name: doubleExample-->
     <!--Func_list: doubleExample-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 int doubleExample(char *fname,unsigned long fname_len)
 {
        SciErr sciErr;
-       int* piAddr             = NULL;
-       int iType               = 0;
-       int iRet                = 0;
+       int* piAddr = NULL;
+       int iType   = 0;
+       int iRet    = 0;
 
-       CheckRhs(1,1);
-       CheckLhs(0,1);
+    CheckInputArgument(pvApiCtx, 1, 1);
+    CheckOutputArgument(pvApiCtx, 0, 1);
 
-       sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
+    sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
-       LhsVar(1) = 0;
 
        if(isEmptyMatrix(pvApiCtx, piAddr))
        {
-               iRet = createEmptyMatrix(pvApiCtx, Rhs + 1);
+               iRet = createEmptyMatrix(pvApiCtx, InputArgument + 1);
                if(iRet)
                {
                        return iRet;
                }
+
+               AssignOutputVariable(1) = 0;
        }
        else if(isDoubleType(pvApiCtx, piAddr))
        {
                if(isScalar(pvApiCtx, piAddr))
                {
                        double dblReal  = 0;
-                       double dblImg           = 0;
+                       double dblImg   = 0;
 
                        if(isVarComplex(pvApiCtx, piAddr))
                        {
@@ -69,7 +71,7 @@ int doubleExample(char *fname,unsigned long fname_len)
                                        return iRet;
                                }
 
-                               iRet = createScalarComplexDouble(pvApiCtx, Rhs + 1, dblReal, dblImg);
+                               iRet = createScalarComplexDouble(pvApiCtx, InputArgument + 1, dblReal, dblImg);
                                if(iRet)
                                {
                                        return iRet;
@@ -83,7 +85,7 @@ int doubleExample(char *fname,unsigned long fname_len)
                                        return iRet;
                                }
 
-                               iRet = createScalarDouble(pvApiCtx, Rhs + 1, dblReal);
+                               iRet = createScalarDouble(pvApiCtx, InputArgument + 1, dblReal);
                                if(iRet)
                                {
                                        return iRet;
@@ -106,7 +108,7 @@ int doubleExample(char *fname,unsigned long fname_len)
                                        return sciErr.iErr;
                                }
 
-                               sciErr = createComplexMatrixOfDouble(pvApiCtx, Rhs + 1, iRows, iCols, pdblReal, pdblImg);
+                               sciErr = createComplexMatrixOfDouble(pvApiCtx, InputArgument + 1, iRows, iCols, pdblReal, pdblImg);
                                if(sciErr.iErr)
                                {
                                        printError(&sciErr, 0);
@@ -122,7 +124,7 @@ int doubleExample(char *fname,unsigned long fname_len)
                                        return sciErr.iErr;
                                }
 
-                               sciErr = createMatrixOfDouble(pvApiCtx, Rhs + 1, iRows, iCols, pdblReal);
+                               sciErr = createMatrixOfDouble(pvApiCtx, InputArgument + 1, iRows, iCols, pdblReal);
                                if(sciErr.iErr)
                                {
                                        printError(&sciErr, 0);
@@ -130,8 +132,10 @@ int doubleExample(char *fname,unsigned long fname_len)
                                }
                        }
                }
-               LhsVar(1) = Rhs+1;
+
+        AssignOutputVariable(1) = InputArgument + 1;
        }
+
        return 0;
 }
  ]]></programlisting>
index bfe38d3..e9b1de4 100644 (file)
  *
  -->
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="integerExample" xml:lang="en">
-  <refnamediv>
-    <refname>integer example</refname>
-    <refpurpose>
-      Integer use case.
-    </refpurpose>
-  </refnamediv>
-  <refsection>
-    <title>Description</title>
-    <para>This example shows how to get a integer variable and return it to Scilab.</para>
-  </refsection>
-  <refsection>
-    <!--File_gateway: SCI/modules/api_scilab/tests/unit_tests/integerExample.c-->
-    <!--File_scilab: SCI/modules/api_scilab/tests/unit_tests/integerExample.tst-->
-    <!--Lib_name: integerExample-->
-    <!--Func_list: integerExample-->
-    <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <refnamediv>
+        <refname>integer example</refname>
+        <refpurpose>
+            Integer use case.
+        </refpurpose>
+    </refnamediv>
+    <refsection>
+        <title>Description</title>
+        <para>This example shows how to get a integer variable and return it to Scilab.</para>
+    </refsection>
+    <refsection>
+        <!--File_gateway: SCI/modules/api_scilab/tests/unit_tests/integerExample.c-->
+        <!--File_scilab: SCI/modules/api_scilab/tests/unit_tests/integerExample.tst-->
+        <!--Lib_name: integerExample-->
+        <!--Func_list: integerExample-->
+        <title>Gateway Source</title>
+        <programlisting role="code_gateway">
+            <![CDATA[ 
 int integerExample(char *fname,unsigned long fname_len)
 {
        SciErr sciErr;
@@ -36,8 +37,8 @@ int integerExample(char *fname,unsigned long fname_len)
        int iRet        = 0;
        int iPrec       = 0;
 
-       CheckRhs(1,1);
-       CheckLhs(0,1);
+    CheckInputArgument(pvApiCtx, 1, 1);
+    CheckOutputArgument(pvApiCtx, 0, 1);
 
        sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
        if(sciErr.iErr)
@@ -68,7 +69,7 @@ int integerExample(char *fname,unsigned long fname_len)
                                        return iRet;
                                }
 
-                               iRet = createScalarInteger8(pvApiCtx, Rhs + 1, cData);
+                               iRet = createScalarInteger8(pvApiCtx, InputArgument + 1, cData);
                                if(iRet)
                                {
                                        return iRet;
@@ -87,7 +88,7 @@ int integerExample(char *fname,unsigned long fname_len)
                                        return sciErr.iErr;
                                }
 
-                               sciErr = createMatrixOfInteger8(pvApiCtx, Rhs + 1, iRows, iCols, pcData);
+                               sciErr = createMatrixOfInteger8(pvApiCtx, InputArgument + 1, iRows, iCols, pcData);
                                if(sciErr.iErr)
                                {
                                        printError(&sciErr, 0);
@@ -105,7 +106,7 @@ int integerExample(char *fname,unsigned long fname_len)
                                        return iRet;
                                }
 
-                               iRet = createScalarInteger16(pvApiCtx, Rhs + 1, sData);
+                               iRet = createScalarInteger16(pvApiCtx, InputArgument + 1, sData);
                                if(iRet)
                                {
                                        return iRet;
@@ -124,7 +125,7 @@ int integerExample(char *fname,unsigned long fname_len)
                                        return sciErr.iErr;
                                }
 
-                               sciErr = createMatrixOfInteger16(pvApiCtx, Rhs + 1, iRows, iCols, psData);
+                               sciErr = createMatrixOfInteger16(pvApiCtx, InputArgument + 1, iRows, iCols, psData);
                                if(sciErr.iErr)
                                {
                                        printError(&sciErr, 0);
@@ -142,7 +143,7 @@ int integerExample(char *fname,unsigned long fname_len)
                                        return iRet;
                                }
 
-                               iRet = createScalarInteger32(pvApiCtx, Rhs + 1, iData);
+                               iRet = createScalarInteger32(pvApiCtx, InputArgument + 1, iData);
                                if(iRet)
                                {
                                        return iRet;
@@ -161,7 +162,7 @@ int integerExample(char *fname,unsigned long fname_len)
                                        return sciErr.iErr;
                                }
 
-                               sciErr = createMatrixOfInteger32(pvApiCtx, Rhs + 1, iRows, iCols, piData);
+                               sciErr = createMatrixOfInteger32(pvApiCtx, InputArgument + 1, iRows, iCols, piData);
                                if(sciErr.iErr)
                                {
                                        printError(&sciErr, 0);
@@ -182,7 +183,7 @@ int integerExample(char *fname,unsigned long fname_len)
                                        return iRet;
                                }
 
-                               iRet = createScalarUnsignedInteger8(pvApiCtx, Rhs + 1, ucData);
+                               iRet = createScalarUnsignedInteger8(pvApiCtx, InputArgument + 1, ucData);
                                if(iRet)
                                {
                                        return iRet;
@@ -201,7 +202,7 @@ int integerExample(char *fname,unsigned long fname_len)
                                        return sciErr.iErr;
                                }
 
-                               sciErr = createMatrixOfUnsignedInteger8(pvApiCtx, Rhs + 1, iRows, iCols, pucData);
+                               sciErr = createMatrixOfUnsignedInteger8(pvApiCtx, InputArgument + 1, iRows, iCols, pucData);
                                if(sciErr.iErr)
                                {
                                        printError(&sciErr, 0);
@@ -220,7 +221,7 @@ int integerExample(char *fname,unsigned long fname_len)
                                        return iRet;
                                }
 
-                               iRet = createScalarUnsignedInteger16(pvApiCtx, Rhs + 1, usData);
+                               iRet = createScalarUnsignedInteger16(pvApiCtx, InputArgument + 1, usData);
                                if(iRet)
                                {
                                        return iRet;
@@ -239,7 +240,7 @@ int integerExample(char *fname,unsigned long fname_len)
                                        return sciErr.iErr;
                                }
 
-                               sciErr = createMatrixOfUnsignedInteger16(pvApiCtx, Rhs + 1, iRows, iCols, pusData);
+                               sciErr = createMatrixOfUnsignedInteger16(pvApiCtx, InputArgument + 1, iRows, iCols, pusData);
                                if(sciErr.iErr)
                                {
                                        printError(&sciErr, 0);
@@ -257,7 +258,7 @@ int integerExample(char *fname,unsigned long fname_len)
                                        return iRet;
                                }
 
-                               iRet = createScalarUnsignedInteger32(pvApiCtx, Rhs + 1, uiData);
+                               iRet = createScalarUnsignedInteger32(pvApiCtx, InputArgument + 1, uiData);
                                if(iRet)
                                {
                                        return iRet;
@@ -276,7 +277,7 @@ int integerExample(char *fname,unsigned long fname_len)
                                        return sciErr.iErr;
                                }
 
-                               sciErr = createMatrixOfUnsignedInteger32(pvApiCtx, Rhs + 1, iRows, iCols, puiData);
+                               sciErr = createMatrixOfUnsignedInteger32(pvApiCtx, InputArgument + 1, iRows, iCols, puiData);
                                if(sciErr.iErr)
                                {
                                        printError(&sciErr, 0);
@@ -292,12 +293,17 @@ int integerExample(char *fname,unsigned long fname_len)
                        break;
                }
        }
-       return 0;}
- ]]></programlisting>
-  </refsection>
-  <refsection>
-    <title>Scilab test script</title>
-    <programlisting role="code_scilab"><![CDATA[ 
+    
+    AssignOutputVariable(1) = InputArgument + 1;
+       return 0;
+}
+ ]]>
+        </programlisting>
+    </refsection>
+    <refsection>
+        <title>Scilab test script</title>
+        <programlisting role="code_scilab">
+            <![CDATA[ 
 i8_1 = int8(1);
 i8_2 = int8([1,2,3;4,5,6]);
 ui8_1 = uint8(1);
@@ -327,6 +333,7 @@ if integerExample(i8_1) <> i16_1 then pause;end
 if integerExample(i8_2) <> i16_2 then pause;end
 if integerExample(ui8_1) <> ui16_1 then pause;end
 if integerExample(ui8_2) <> ui16_2 then pause;end
- ]]></programlisting>
-  </refsection>
+ ]]>
+        </programlisting>
+    </refsection>
 </refentry>
index 3700e27..2a6b56b 100644 (file)
     <!--Lib_name: common_read-->
     <!--Func_list: common_read-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 static int iTab = 0;
-
 void insert_indent(void)
 {
        int i = 0;
@@ -115,7 +115,6 @@ void insert_indent(void)
        }
 }
 
-
 int get_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
 int get_list_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
 int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
@@ -134,7 +133,7 @@ int common_read(char *fname,unsigned long fname_len)
        int iRet        = 0;
        int *piAddr     = NULL;
 
-       CheckRhs(1,1);
+       CheckInputArgument(pvApiCtx, 1, 1);
 
        sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
        if(sciErr.iErr)
@@ -144,8 +143,7 @@ int common_read(char *fname,unsigned long fname_len)
        }
 
        get_info(1, NULL, piAddr, 0);
-
-       LhsVar(1) = 0;
+       AssignOutputVariable(1) = 0;
        return 0;
 }
 
@@ -234,7 +232,6 @@ int get_list_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                iRet = get_info(_iRhs, _piAddr, piChild, i + 1);
                iTab--;
        }
-
        return 0;;
 }
 
@@ -243,7 +240,6 @@ int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        SciErr sciErr;
        int iRows           = 0;
        int iCols           = 0;
-
        double* pdblReal    = NULL;
        double* pdblImg     = NULL;
 
@@ -278,7 +274,6 @@ int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Double (%d x %d)\n", iRows, iCols);
-
        return 0;;
 }
 
@@ -289,7 +284,6 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iLen            = 0;
        int iRows           = 0;
        int iCols           = 0;
-
        char pstVar[16];
        int* piCoeff        = NULL;
        double** pdblReal   = NULL;
@@ -321,6 +315,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                pdblReal    = (double**)malloc(sizeof(double*) * iRows * iCols);
                pdblImg     = (double**)malloc(sizeof(double*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pdblReal[i] = (double*)malloc(sizeof(double) * piCoeff[i]);
@@ -356,6 +351,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                piCoeff = (int*)malloc(sizeof(int) * iRows * iCols);
+
                sciErr = getMatrixOfPolyInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piCoeff, NULL);
                if(sciErr.iErr)
                {
@@ -365,6 +361,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                pdblReal    = (double**)malloc(sizeof(double*) * iRows * iCols);
                pdblImg     = (double**)malloc(sizeof(double*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pdblReal[i] = (double*)malloc(sizeof(double) * piCoeff[i]);
@@ -395,18 +392,17 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                free(pdblReal[i]);
                free(pdblImg[i]);
        }
+
        free(pdblReal);
        free(pdblImg);
        free(piCoeff);
        return 0;;
 }
-
 int get_boolean_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iRows       = 0;
        int iCols       = 0;
-
        int* piBool     = NULL;
 
        if(_iItemPos == 0)
@@ -428,17 +424,14 @@ int get_boolean_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        sciprint("Boolean (%d x %d)\n", iRows, iCols);
        return 0;
 }
-
 int get_sparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iRows           = 0;
        int iCols           = 0;
        int iItem           = 0;
-
        int* piNbRow        = NULL;
        int* piColPos       = NULL;
-
        double* pdblReal    = NULL;
        double* pdblImg     = NULL;
 
@@ -476,7 +469,6 @@ int get_bsparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iRows       = 0;
        int iCols       = 0;
        int iItem       = 0;
-
        int* piNbRow    = NULL;
        int* piColPos   = NULL;
 
@@ -499,14 +491,12 @@ int get_bsparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        sciprint("Boolean Sparse (%d x %d), Item(s) : %d \n", iRows, iCols, iItem);
        return 0;;
 }
-
 int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iPrec               = 0;
        int iRows               = 0;
        int iCols               = 0;
-
        char* pcData            = NULL;
        short* psData           = NULL;
        int* piData             = NULL;
@@ -525,22 +515,22 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                switch(iPrec)
                {
-               case SCI_INT8 : 
+               case SCI_INT8 :
                        sciErr = getMatrixOfInteger8(pvApiCtx, _piAddr, &iRows, &iCols, &pcData);
                        break;
-               case SCI_INT16 : 
+               case SCI_INT16 :
                        sciErr = getMatrixOfInteger16(pvApiCtx, _piAddr, &iRows, &iCols, &psData);
                        break;
-               case SCI_INT32 : 
+               case SCI_INT32 :
                        sciErr = getMatrixOfInteger32(pvApiCtx, _piAddr, &iRows, &iCols, &piData);
                        break;
-               case SCI_UINT8 : 
+               case SCI_UINT8 :
                        sciErr = getMatrixOfUnsignedInteger8(pvApiCtx, _piAddr, &iRows, &iCols, &pucData);
                        break;
-               case SCI_UINT16 : 
+               case SCI_UINT16 :
                        sciErr = getMatrixOfUnsignedInteger16(pvApiCtx, _piAddr, &iRows, &iCols, &pusData);
                        break;
-               case SCI_UINT32 : 
+               case SCI_UINT32 :
                        sciErr = getMatrixOfUnsignedInteger32(pvApiCtx, _piAddr, &iRows, &iCols, &puiData);
                        break;
                default :
@@ -558,22 +548,22 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                switch(iPrec)
                {
-               case SCI_INT8 : 
+               case SCI_INT8 :
                        sciErr = getMatrixOfInteger8InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pcData);
                        break;
-               case SCI_INT16 : 
+               case SCI_INT16 :
                        sciErr = getMatrixOfInteger16InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &psData);
                        break;
-               case SCI_INT32 : 
+               case SCI_INT32 :
                        sciErr = getMatrixOfInteger32InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &piData);
                        break;
-               case SCI_UINT8 : 
+               case SCI_UINT8 :
                        sciErr = getMatrixOfUnsignedInteger8InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pucData);
                        break;
-               case SCI_UINT16 : 
+               case SCI_UINT16 :
                        sciErr = getMatrixOfUnsignedInteger16InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pusData);
                        break;
-               case SCI_UINT32 : 
+               case SCI_UINT32 :
                        sciErr = getMatrixOfUnsignedInteger32InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &puiData);
                        break;
                default :
@@ -588,16 +578,15 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        }
 
        insert_indent();
+
        if(iPrec > 10)
        {
                sciprint("Unsigned ");
        }
 
        sciprint("Integer %d bits (%d x %d)\n", (iPrec % 10) * 8, iRows, iCols);
-
        return 0;;
 }
-
 int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
@@ -605,7 +594,6 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iRows       = 0;
        int iCols       = 0;
        int* piLen      = NULL;
-
        char **pstData  = NULL;
 
        if(_iItemPos == 0)
@@ -626,6 +614,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                pstData = (char**)malloc(sizeof(char*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pstData[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination
@@ -648,6 +637,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                piLen = (int*)malloc(sizeof(int) * iRows * iCols);
+
                sciErr = getMatrixOfStringInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piLen, NULL);
                if(sciErr.iErr)
                {
@@ -656,6 +646,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                pstData = (char**)malloc(sizeof(char*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pstData[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination
@@ -668,7 +659,6 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                        return 0;
                }
        }
-
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -677,10 +667,8 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Strings (%d x %d)\n", iRows, iCols);
-
        return 0;;
 }
-
 int get_pointer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
@@ -703,7 +691,6 @@ int get_pointer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Pointer : 0x%08X\n", pvPtr);
-
        return 0;
 }
  ]]></programlisting>
index 1ddc3c2..2764a58 100644 (file)
     <!--Lib_name: list_createlist-->
     <!--Func_list: list_createlist-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 int list_createlist(char *fname,unsigned long fname_len)
 {
        SciErr sciErr;
@@ -216,57 +217,54 @@ int list_createlist(char *fname,unsigned long fname_len)
        int piBool[]            = {1,0,1,0,1,0,1,0,1};
        double* pdblDataPtr     = NULL;
 
-
-       sciErr = createList(pvApiCtx, Rhs + 1, 8, &piAddr);
+       sciErr = createList(pvApiCtx, InputArgument + 1, 8, &piAddr);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createComplexMatrixOfDoubleInList(pvApiCtx, Rhs + 1, piAddr, 1, 3, 2, pdblData1, pdblData2);
+       sciErr = createComplexMatrixOfDoubleInList(pvApiCtx, InputArgument + 1, piAddr, 1, 3, 2, pdblData1, pdblData2);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfStringInList(pvApiCtx, Rhs + 1, piAddr, 2, 2, 3, pstData);
+       sciErr = createMatrixOfStringInList(pvApiCtx, InputArgument + 1, piAddr, 2, 2, 3, pstData);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfInteger16InList(pvApiCtx, Rhs + 1, piAddr, 3, 2, 3, psData);
+       sciErr = createMatrixOfInteger16InList(pvApiCtx, InputArgument + 1, piAddr, 3, 2, 3, psData);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfPolyInList(pvApiCtx, Rhs + 1, piAddr, 4, "x", 3, 2, piCoef, pdblPoly);
+       sciErr = createMatrixOfPolyInList(pvApiCtx, InputArgument + 1, piAddr, 4, "x", 3, 2, piCoef, pdblPoly);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
-
-       sciErr = createComplexSparseMatrixInList(pvApiCtx, Rhs + 1, piAddr, 5, 3, 10, 4, piNbItemRow, piColPos, pdblSReal, pdblSImg);
+       sciErr = createComplexSparseMatrixInList(pvApiCtx, InputArgument + 1, piAddr, 5, 3, 10, 4, piNbItemRow, piColPos, pdblSReal, pdblSImg);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfBooleanInList(pvApiCtx, Rhs + 1, piAddr, 6, 3, 3, piBool);
+       sciErr = createMatrixOfBooleanInList(pvApiCtx, InputArgument + 1, piAddr, 6, 3, 3, piBool);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
-
-       sciErr = createBooleanSparseMatrixInList(pvApiCtx, Rhs + 1, piAddr, 7, 3, 10, 4, piNbItemRow, piColPos);
+       sciErr = createBooleanSparseMatrixInList(pvApiCtx, InputArgument + 1, piAddr, 7, 3, 10, 4, piNbItemRow, piColPos);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -274,21 +272,21 @@ int list_createlist(char *fname,unsigned long fname_len)
        }
 
        //add list in list
-       sciErr = createListInList(pvApiCtx, Rhs + 1, piAddr, 8, 3, &piChild);
+       sciErr = createListInList(pvApiCtx, InputArgument + 1, piAddr, 8, 3, &piChild);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfDoubleInList(pvApiCtx, Rhs + 1, piChild, 1, 3, 2, pdblData1);
+       sciErr = createMatrixOfDoubleInList(pvApiCtx, InputArgument + 1, piChild, 1, 3, 2, pdblData1);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createSparseMatrixInList(pvApiCtx, Rhs + 1, piChild, 2, 3, 10, 4, piNbItemRow, piColPos, pdblSReal);
+       sciErr = createSparseMatrixInList(pvApiCtx, InputArgument + 1, piChild, 2, 3, 10, 4, piNbItemRow, piColPos, pdblSReal);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -301,14 +299,14 @@ int list_createlist(char *fname,unsigned long fname_len)
        pdblDataPtr[2]  = 3;
        pdblDataPtr[3]  = 4;
 
-       sciErr = createPointerInList(pvApiCtx, Rhs + 1, piChild, 3, pdblDataPtr);
+       sciErr = createPointerInList(pvApiCtx, InputArgument + 1, piChild, 3, pdblDataPtr);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       LhsVar(1) = Rhs + 1;
+       AssignOutputVariable(1) = InputArgument + 1;
        return 0;
 }
  ]]></programlisting>
index c5d08d7..2c82979 100644 (file)
     <!--Lib_name: common_read-->
     <!--Func_list: common_read-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 static int iTab = 0;
-
 void insert_indent(void)
 {
        int i = 0;
@@ -131,7 +131,6 @@ void insert_indent(void)
        }
 }
 
-
 int get_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
 int get_list_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
 int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
@@ -150,7 +149,7 @@ int common_read(char *fname,unsigned long fname_len)
        int iRet        = 0;
        int *piAddr     = NULL;
 
-       CheckRhs(1,1);
+       CheckInputArgument(pvApiCtx, 1, 1);
 
        sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
        if(sciErr.iErr)
@@ -160,8 +159,7 @@ int common_read(char *fname,unsigned long fname_len)
        }
 
        get_info(1, NULL, piAddr, 0);
-
-       LhsVar(1) = 0;
+       AssignOutputVariable(1) = 0;
        return 0;
 }
 
@@ -250,7 +248,6 @@ int get_list_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                iRet = get_info(_iRhs, _piAddr, piChild, i + 1);
                iTab--;
        }
-
        return 0;;
 }
 
@@ -259,7 +256,6 @@ int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        SciErr sciErr;
        int iRows           = 0;
        int iCols           = 0;
-
        double* pdblReal    = NULL;
        double* pdblImg     = NULL;
 
@@ -294,7 +290,6 @@ int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Double (%d x %d)\n", iRows, iCols);
-
        return 0;;
 }
 
@@ -305,7 +300,6 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iLen            = 0;
        int iRows           = 0;
        int iCols           = 0;
-
        char pstVar[16];
        int* piCoeff        = NULL;
        double** pdblReal   = NULL;
@@ -337,6 +331,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                pdblReal    = (double**)malloc(sizeof(double*) * iRows * iCols);
                pdblImg     = (double**)malloc(sizeof(double*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pdblReal[i] = (double*)malloc(sizeof(double) * piCoeff[i]);
@@ -372,6 +367,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                piCoeff = (int*)malloc(sizeof(int) * iRows * iCols);
+
                sciErr = getMatrixOfPolyInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piCoeff, NULL);
                if(sciErr.iErr)
                {
@@ -381,6 +377,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                pdblReal    = (double**)malloc(sizeof(double*) * iRows * iCols);
                pdblImg     = (double**)malloc(sizeof(double*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pdblReal[i] = (double*)malloc(sizeof(double) * piCoeff[i]);
@@ -411,18 +408,17 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                free(pdblReal[i]);
                free(pdblImg[i]);
        }
+
        free(pdblReal);
        free(pdblImg);
        free(piCoeff);
        return 0;;
 }
-
 int get_boolean_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iRows       = 0;
        int iCols       = 0;
-
        int* piBool     = NULL;
 
        if(_iItemPos == 0)
@@ -444,17 +440,14 @@ int get_boolean_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        sciprint("Boolean (%d x %d)\n", iRows, iCols);
        return 0;
 }
-
 int get_sparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iRows           = 0;
        int iCols           = 0;
        int iItem           = 0;
-
        int* piNbRow        = NULL;
        int* piColPos       = NULL;
-
        double* pdblReal    = NULL;
        double* pdblImg     = NULL;
 
@@ -492,7 +485,6 @@ int get_bsparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iRows       = 0;
        int iCols       = 0;
        int iItem       = 0;
-
        int* piNbRow    = NULL;
        int* piColPos   = NULL;
 
@@ -515,14 +507,12 @@ int get_bsparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        sciprint("Boolean Sparse (%d x %d), Item(s) : %d \n", iRows, iCols, iItem);
        return 0;;
 }
-
 int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iPrec               = 0;
        int iRows               = 0;
        int iCols               = 0;
-
        char* pcData            = NULL;
        short* psData           = NULL;
        int* piData             = NULL;
@@ -541,22 +531,22 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                switch(iPrec)
                {
-               case SCI_INT8 : 
+               case SCI_INT8 :
                        sciErr = getMatrixOfInteger8(pvApiCtx, _piAddr, &iRows, &iCols, &pcData);
                        break;
-               case SCI_INT16 : 
+               case SCI_INT16 :
                        sciErr = getMatrixOfInteger16(pvApiCtx, _piAddr, &iRows, &iCols, &psData);
                        break;
-               case SCI_INT32 : 
+               case SCI_INT32 :
                        sciErr = getMatrixOfInteger32(pvApiCtx, _piAddr, &iRows, &iCols, &piData);
                        break;
-               case SCI_UINT8 : 
+               case SCI_UINT8 :
                        sciErr = getMatrixOfUnsignedInteger8(pvApiCtx, _piAddr, &iRows, &iCols, &pucData);
                        break;
-               case SCI_UINT16 : 
+               case SCI_UINT16 :
                        sciErr = getMatrixOfUnsignedInteger16(pvApiCtx, _piAddr, &iRows, &iCols, &pusData);
                        break;
-               case SCI_UINT32 : 
+               case SCI_UINT32 :
                        sciErr = getMatrixOfUnsignedInteger32(pvApiCtx, _piAddr, &iRows, &iCols, &puiData);
                        break;
                default :
@@ -574,22 +564,22 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                switch(iPrec)
                {
-               case SCI_INT8 : 
+               case SCI_INT8 :
                        sciErr = getMatrixOfInteger8InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pcData);
                        break;
-               case SCI_INT16 : 
+               case SCI_INT16 :
                        sciErr = getMatrixOfInteger16InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &psData);
                        break;
-               case SCI_INT32 : 
+               case SCI_INT32 :
                        sciErr = getMatrixOfInteger32InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &piData);
                        break;
-               case SCI_UINT8 : 
+               case SCI_UINT8 :
                        sciErr = getMatrixOfUnsignedInteger8InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pucData);
                        break;
-               case SCI_UINT16 : 
+               case SCI_UINT16 :
                        sciErr = getMatrixOfUnsignedInteger16InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pusData);
                        break;
-               case SCI_UINT32 : 
+               case SCI_UINT32 :
                        sciErr = getMatrixOfUnsignedInteger32InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &puiData);
                        break;
                default :
@@ -604,16 +594,15 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        }
 
        insert_indent();
+
        if(iPrec > 10)
        {
                sciprint("Unsigned ");
        }
 
        sciprint("Integer %d bits (%d x %d)\n", (iPrec % 10) * 8, iRows, iCols);
-
        return 0;;
 }
-
 int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
@@ -621,7 +610,6 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iRows       = 0;
        int iCols       = 0;
        int* piLen      = NULL;
-
        char **pstData  = NULL;
 
        if(_iItemPos == 0)
@@ -642,6 +630,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                pstData = (char**)malloc(sizeof(char*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pstData[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination
@@ -664,6 +653,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                piLen = (int*)malloc(sizeof(int) * iRows * iCols);
+
                sciErr = getMatrixOfStringInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piLen, NULL);
                if(sciErr.iErr)
                {
@@ -672,6 +662,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                pstData = (char**)malloc(sizeof(char*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pstData[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination
@@ -684,7 +675,6 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                        return 0;
                }
        }
-
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -693,10 +683,8 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Strings (%d x %d)\n", iRows, iCols);
-
        return 0;;
 }
-
 int get_pointer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
@@ -719,7 +707,6 @@ int get_pointer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Pointer : 0x%08X\n", pvPtr);
-
        return 0;
 }
  ]]></programlisting>
index c6224b2..00fdba1 100644 (file)
     <!--Lib_name: list_createlist-->
     <!--Func_list: list_createlist-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 int list_createlist(char *fname,unsigned long fname_len)
 {
        SciErr sciErr;
@@ -152,57 +153,54 @@ int list_createlist(char *fname,unsigned long fname_len)
        int piBool[]            = {1,0,1,0,1,0,1,0,1};
        double* pdblDataPtr     = NULL;
 
-
-       sciErr = createList(pvApiCtx, Rhs + 1, 8, &piAddr);
+       sciErr = createList(pvApiCtx, InputArgument + 1, 8, &piAddr);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createComplexMatrixOfDoubleInList(pvApiCtx, Rhs + 1, piAddr, 1, 3, 2, pdblData1, pdblData2);
+       sciErr = createComplexMatrixOfDoubleInList(pvApiCtx, InputArgument + 1, piAddr, 1, 3, 2, pdblData1, pdblData2);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfStringInList(pvApiCtx, Rhs + 1, piAddr, 2, 2, 3, pstData);
+       sciErr = createMatrixOfStringInList(pvApiCtx, InputArgument + 1, piAddr, 2, 2, 3, pstData);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfInteger16InList(pvApiCtx, Rhs + 1, piAddr, 3, 2, 3, psData);
+       sciErr = createMatrixOfInteger16InList(pvApiCtx, InputArgument + 1, piAddr, 3, 2, 3, psData);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfPolyInList(pvApiCtx, Rhs + 1, piAddr, 4, "x", 3, 2, piCoef, pdblPoly);
+       sciErr = createMatrixOfPolyInList(pvApiCtx, InputArgument + 1, piAddr, 4, "x", 3, 2, piCoef, pdblPoly);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
-
-       sciErr = createComplexSparseMatrixInList(pvApiCtx, Rhs + 1, piAddr, 5, 3, 10, 4, piNbItemRow, piColPos, pdblSReal, pdblSImg);
+       sciErr = createComplexSparseMatrixInList(pvApiCtx, InputArgument + 1, piAddr, 5, 3, 10, 4, piNbItemRow, piColPos, pdblSReal, pdblSImg);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfBooleanInList(pvApiCtx, Rhs + 1, piAddr, 6, 3, 3, piBool);
+       sciErr = createMatrixOfBooleanInList(pvApiCtx, InputArgument + 1, piAddr, 6, 3, 3, piBool);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
-
-       sciErr = createBooleanSparseMatrixInList(pvApiCtx, Rhs + 1, piAddr, 7, 3, 10, 4, piNbItemRow, piColPos);
+       sciErr = createBooleanSparseMatrixInList(pvApiCtx, InputArgument + 1, piAddr, 7, 3, 10, 4, piNbItemRow, piColPos);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -210,21 +208,21 @@ int list_createlist(char *fname,unsigned long fname_len)
        }
 
        //add list in list
-       sciErr = createListInList(pvApiCtx, Rhs + 1, piAddr, 8, 3, &piChild);
+       sciErr = createListInList(pvApiCtx, InputArgument + 1, piAddr, 8, 3, &piChild);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfDoubleInList(pvApiCtx, Rhs + 1, piChild, 1, 3, 2, pdblData1);
+       sciErr = createMatrixOfDoubleInList(pvApiCtx, InputArgument + 1, piChild, 1, 3, 2, pdblData1);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createSparseMatrixInList(pvApiCtx, Rhs + 1, piChild, 2, 3, 10, 4, piNbItemRow, piColPos, pdblSReal);
+       sciErr = createSparseMatrixInList(pvApiCtx, InputArgument + 1, piChild, 2, 3, 10, 4, piNbItemRow, piColPos, pdblSReal);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -237,14 +235,14 @@ int list_createlist(char *fname,unsigned long fname_len)
        pdblDataPtr[2]  = 3;
        pdblDataPtr[3]  = 4;
 
-       sciErr = createPointerInList(pvApiCtx, Rhs + 1, piChild, 3, pdblDataPtr);
+       sciErr = createPointerInList(pvApiCtx, InputArgument + 1, piChild, 3, pdblDataPtr);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       LhsVar(1) = Rhs + 1;
+       AssignOutputVariable(1) = InputArgument + 1;
        return 0;
 }
  ]]></programlisting>
index 291ace6..5d617b8 100644 (file)
@@ -91,7 +91,8 @@
     <!--Lib_name: list_createlist-->
     <!--Func_list: list_createlist-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 int list_createlist(char *fname,unsigned long fname_len)
 {
        SciErr sciErr;
@@ -116,57 +117,54 @@ int list_createlist(char *fname,unsigned long fname_len)
        int piBool[]            = {1,0,1,0,1,0,1,0,1};
        double* pdblDataPtr     = NULL;
 
-
-       sciErr = createList(pvApiCtx, Rhs + 1, 8, &piAddr);
+       sciErr = createList(pvApiCtx, InputArgument + 1, 8, &piAddr);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createComplexMatrixOfDoubleInList(pvApiCtx, Rhs + 1, piAddr, 1, 3, 2, pdblData1, pdblData2);
+       sciErr = createComplexMatrixOfDoubleInList(pvApiCtx, InputArgument + 1, piAddr, 1, 3, 2, pdblData1, pdblData2);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfStringInList(pvApiCtx, Rhs + 1, piAddr, 2, 2, 3, pstData);
+       sciErr = createMatrixOfStringInList(pvApiCtx, InputArgument + 1, piAddr, 2, 2, 3, pstData);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfInteger16InList(pvApiCtx, Rhs + 1, piAddr, 3, 2, 3, psData);
+       sciErr = createMatrixOfInteger16InList(pvApiCtx, InputArgument + 1, piAddr, 3, 2, 3, psData);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfPolyInList(pvApiCtx, Rhs + 1, piAddr, 4, "x", 3, 2, piCoef, pdblPoly);
+       sciErr = createMatrixOfPolyInList(pvApiCtx, InputArgument + 1, piAddr, 4, "x", 3, 2, piCoef, pdblPoly);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
-
-       sciErr = createComplexSparseMatrixInList(pvApiCtx, Rhs + 1, piAddr, 5, 3, 10, 4, piNbItemRow, piColPos, pdblSReal, pdblSImg);
+       sciErr = createComplexSparseMatrixInList(pvApiCtx, InputArgument + 1, piAddr, 5, 3, 10, 4, piNbItemRow, piColPos, pdblSReal, pdblSImg);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfBooleanInList(pvApiCtx, Rhs + 1, piAddr, 6, 3, 3, piBool);
+       sciErr = createMatrixOfBooleanInList(pvApiCtx, InputArgument + 1, piAddr, 6, 3, 3, piBool);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
-
-       sciErr = createBooleanSparseMatrixInList(pvApiCtx, Rhs + 1, piAddr, 7, 3, 10, 4, piNbItemRow, piColPos);
+       sciErr = createBooleanSparseMatrixInList(pvApiCtx, InputArgument + 1, piAddr, 7, 3, 10, 4, piNbItemRow, piColPos);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -174,21 +172,21 @@ int list_createlist(char *fname,unsigned long fname_len)
        }
 
        //add list in list
-       sciErr = createListInList(pvApiCtx, Rhs + 1, piAddr, 8, 3, &piChild);
+       sciErr = createListInList(pvApiCtx, InputArgument + 1, piAddr, 8, 3, &piChild);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfDoubleInList(pvApiCtx, Rhs + 1, piChild, 1, 3, 2, pdblData1);
+       sciErr = createMatrixOfDoubleInList(pvApiCtx, InputArgument + 1, piChild, 1, 3, 2, pdblData1);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createSparseMatrixInList(pvApiCtx, Rhs + 1, piChild, 2, 3, 10, 4, piNbItemRow, piColPos, pdblSReal);
+       sciErr = createSparseMatrixInList(pvApiCtx, InputArgument + 1, piChild, 2, 3, 10, 4, piNbItemRow, piColPos, pdblSReal);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -201,14 +199,14 @@ int list_createlist(char *fname,unsigned long fname_len)
        pdblDataPtr[2]  = 3;
        pdblDataPtr[3]  = 4;
 
-       sciErr = createPointerInList(pvApiCtx, Rhs + 1, piChild, 3, pdblDataPtr);
+       sciErr = createPointerInList(pvApiCtx, InputArgument + 1, piChild, 3, pdblDataPtr);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       LhsVar(1) = Rhs + 1;
+       AssignOutputVariable(1) = InputArgument + 1;
        return 0;
 }
  ]]></programlisting>
index 4758dd1..e3b0839 100644 (file)
     <!--Lib_name: common_read-->
     <!--Func_list: common_read-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 static int iTab = 0;
-
 void insert_indent(void)
 {
        int i = 0;
@@ -125,7 +125,6 @@ void insert_indent(void)
        }
 }
 
-
 int get_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
 int get_list_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
 int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
@@ -144,7 +143,7 @@ int common_read(char *fname,unsigned long fname_len)
        int iRet        = 0;
        int *piAddr     = NULL;
 
-       CheckRhs(1,1);
+       CheckInputArgument(pvApiCtx, 1, 1);
 
        sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
        if(sciErr.iErr)
@@ -154,8 +153,7 @@ int common_read(char *fname,unsigned long fname_len)
        }
 
        get_info(1, NULL, piAddr, 0);
-
-       LhsVar(1) = 0;
+       AssignOutputVariable(1) = 0;
        return 0;
 }
 
@@ -244,7 +242,6 @@ int get_list_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                iRet = get_info(_iRhs, _piAddr, piChild, i + 1);
                iTab--;
        }
-
        return 0;;
 }
 
@@ -253,7 +250,6 @@ int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        SciErr sciErr;
        int iRows           = 0;
        int iCols           = 0;
-
        double* pdblReal    = NULL;
        double* pdblImg     = NULL;
 
@@ -288,7 +284,6 @@ int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Double (%d x %d)\n", iRows, iCols);
-
        return 0;;
 }
 
@@ -299,7 +294,6 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iLen            = 0;
        int iRows           = 0;
        int iCols           = 0;
-
        char pstVar[16];
        int* piCoeff        = NULL;
        double** pdblReal   = NULL;
@@ -331,6 +325,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                pdblReal    = (double**)malloc(sizeof(double*) * iRows * iCols);
                pdblImg     = (double**)malloc(sizeof(double*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pdblReal[i] = (double*)malloc(sizeof(double) * piCoeff[i]);
@@ -366,6 +361,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                piCoeff = (int*)malloc(sizeof(int) * iRows * iCols);
+
                sciErr = getMatrixOfPolyInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piCoeff, NULL);
                if(sciErr.iErr)
                {
@@ -375,6 +371,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                pdblReal    = (double**)malloc(sizeof(double*) * iRows * iCols);
                pdblImg     = (double**)malloc(sizeof(double*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pdblReal[i] = (double*)malloc(sizeof(double) * piCoeff[i]);
@@ -405,18 +402,17 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                free(pdblReal[i]);
                free(pdblImg[i]);
        }
+
        free(pdblReal);
        free(pdblImg);
        free(piCoeff);
        return 0;;
 }
-
 int get_boolean_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iRows       = 0;
        int iCols       = 0;
-
        int* piBool     = NULL;
 
        if(_iItemPos == 0)
@@ -438,17 +434,14 @@ int get_boolean_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        sciprint("Boolean (%d x %d)\n", iRows, iCols);
        return 0;
 }
-
 int get_sparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iRows           = 0;
        int iCols           = 0;
        int iItem           = 0;
-
        int* piNbRow        = NULL;
        int* piColPos       = NULL;
-
        double* pdblReal    = NULL;
        double* pdblImg     = NULL;
 
@@ -486,7 +479,6 @@ int get_bsparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iRows       = 0;
        int iCols       = 0;
        int iItem       = 0;
-
        int* piNbRow    = NULL;
        int* piColPos   = NULL;
 
@@ -509,14 +501,12 @@ int get_bsparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        sciprint("Boolean Sparse (%d x %d), Item(s) : %d \n", iRows, iCols, iItem);
        return 0;;
 }
-
 int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iPrec               = 0;
        int iRows               = 0;
        int iCols               = 0;
-
        char* pcData            = NULL;
        short* psData           = NULL;
        int* piData             = NULL;
@@ -535,22 +525,22 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                switch(iPrec)
                {
-               case SCI_INT8 : 
+               case SCI_INT8 :
                        sciErr = getMatrixOfInteger8(pvApiCtx, _piAddr, &iRows, &iCols, &pcData);
                        break;
-               case SCI_INT16 : 
+               case SCI_INT16 :
                        sciErr = getMatrixOfInteger16(pvApiCtx, _piAddr, &iRows, &iCols, &psData);
                        break;
-               case SCI_INT32 : 
+               case SCI_INT32 :
                        sciErr = getMatrixOfInteger32(pvApiCtx, _piAddr, &iRows, &iCols, &piData);
                        break;
-               case SCI_UINT8 : 
+               case SCI_UINT8 :
                        sciErr = getMatrixOfUnsignedInteger8(pvApiCtx, _piAddr, &iRows, &iCols, &pucData);
                        break;
-               case SCI_UINT16 : 
+               case SCI_UINT16 :
                        sciErr = getMatrixOfUnsignedInteger16(pvApiCtx, _piAddr, &iRows, &iCols, &pusData);
                        break;
-               case SCI_UINT32 : 
+               case SCI_UINT32 :
                        sciErr = getMatrixOfUnsignedInteger32(pvApiCtx, _piAddr, &iRows, &iCols, &puiData);
                        break;
                default :
@@ -568,22 +558,22 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                switch(iPrec)
                {
-               case SCI_INT8 : 
+               case SCI_INT8 :
                        sciErr = getMatrixOfInteger8InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pcData);
                        break;
-               case SCI_INT16 : 
+               case SCI_INT16 :
                        sciErr = getMatrixOfInteger16InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &psData);
                        break;
-               case SCI_INT32 : 
+               case SCI_INT32 :
                        sciErr = getMatrixOfInteger32InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &piData);
                        break;
-               case SCI_UINT8 : 
+               case SCI_UINT8 :
                        sciErr = getMatrixOfUnsignedInteger8InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pucData);
                        break;
-               case SCI_UINT16 : 
+               case SCI_UINT16 :
                        sciErr = getMatrixOfUnsignedInteger16InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pusData);
                        break;
-               case SCI_UINT32 : 
+               case SCI_UINT32 :
                        sciErr = getMatrixOfUnsignedInteger32InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &puiData);
                        break;
                default :
@@ -598,16 +588,15 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        }
 
        insert_indent();
+
        if(iPrec > 10)
        {
                sciprint("Unsigned ");
        }
 
        sciprint("Integer %d bits (%d x %d)\n", (iPrec % 10) * 8, iRows, iCols);
-
        return 0;;
 }
-
 int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
@@ -615,7 +604,6 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iRows       = 0;
        int iCols       = 0;
        int* piLen      = NULL;
-
        char **pstData  = NULL;
 
        if(_iItemPos == 0)
@@ -636,6 +624,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                pstData = (char**)malloc(sizeof(char*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pstData[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination
@@ -658,6 +647,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                piLen = (int*)malloc(sizeof(int) * iRows * iCols);
+
                sciErr = getMatrixOfStringInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piLen, NULL);
                if(sciErr.iErr)
                {
@@ -666,6 +656,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                pstData = (char**)malloc(sizeof(char*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pstData[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination
@@ -678,7 +669,6 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                        return 0;
                }
        }
-
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -687,10 +677,8 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Strings (%d x %d)\n", iRows, iCols);
-
        return 0;;
 }
-
 int get_pointer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
@@ -713,7 +701,6 @@ int get_pointer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Pointer : 0x%08X\n", pvPtr);
-
        return 0;
 }
  ]]></programlisting>
index efd29bf..46f9d81 100644 (file)
     <!--Lib_name: list_createlist-->
     <!--Func_list: list_createlist-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 int list_createlist(char *fname,unsigned long fname_len)
 {
        SciErr sciErr;
@@ -234,57 +235,54 @@ int list_createlist(char *fname,unsigned long fname_len)
        int piBool[]            = {1,0,1,0,1,0,1,0,1};
        double* pdblDataPtr     = NULL;
 
-
-       sciErr = createList(pvApiCtx, Rhs + 1, 8, &piAddr);
+       sciErr = createList(pvApiCtx, InputArgument + 1, 8, &piAddr);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createComplexMatrixOfDoubleInList(pvApiCtx, Rhs + 1, piAddr, 1, 3, 2, pdblData1, pdblData2);
+       sciErr = createComplexMatrixOfDoubleInList(pvApiCtx, InputArgument + 1, piAddr, 1, 3, 2, pdblData1, pdblData2);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfStringInList(pvApiCtx, Rhs + 1, piAddr, 2, 2, 3, pstData);
+       sciErr = createMatrixOfStringInList(pvApiCtx, InputArgument + 1, piAddr, 2, 2, 3, pstData);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfInteger16InList(pvApiCtx, Rhs + 1, piAddr, 3, 2, 3, psData);
+       sciErr = createMatrixOfInteger16InList(pvApiCtx, InputArgument + 1, piAddr, 3, 2, 3, psData);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfPolyInList(pvApiCtx, Rhs + 1, piAddr, 4, "x", 3, 2, piCoef, pdblPoly);
+       sciErr = createMatrixOfPolyInList(pvApiCtx, InputArgument + 1, piAddr, 4, "x", 3, 2, piCoef, pdblPoly);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
-
-       sciErr = createComplexSparseMatrixInList(pvApiCtx, Rhs + 1, piAddr, 5, 3, 10, 4, piNbItemRow, piColPos, pdblSReal, pdblSImg);
+       sciErr = createComplexSparseMatrixInList(pvApiCtx, InputArgument + 1, piAddr, 5, 3, 10, 4, piNbItemRow, piColPos, pdblSReal, pdblSImg);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfBooleanInList(pvApiCtx, Rhs + 1, piAddr, 6, 3, 3, piBool);
+       sciErr = createMatrixOfBooleanInList(pvApiCtx, InputArgument + 1, piAddr, 6, 3, 3, piBool);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
-
-       sciErr = createBooleanSparseMatrixInList(pvApiCtx, Rhs + 1, piAddr, 7, 3, 10, 4, piNbItemRow, piColPos);
+       sciErr = createBooleanSparseMatrixInList(pvApiCtx, InputArgument + 1, piAddr, 7, 3, 10, 4, piNbItemRow, piColPos);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -292,21 +290,21 @@ int list_createlist(char *fname,unsigned long fname_len)
        }
 
        //add list in list
-       sciErr = createListInList(pvApiCtx, Rhs + 1, piAddr, 8, 3, &piChild);
+       sciErr = createListInList(pvApiCtx, InputArgument + 1, piAddr, 8, 3, &piChild);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfDoubleInList(pvApiCtx, Rhs + 1, piChild, 1, 3, 2, pdblData1);
+       sciErr = createMatrixOfDoubleInList(pvApiCtx, InputArgument + 1, piChild, 1, 3, 2, pdblData1);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createSparseMatrixInList(pvApiCtx, Rhs + 1, piChild, 2, 3, 10, 4, piNbItemRow, piColPos, pdblSReal);
+       sciErr = createSparseMatrixInList(pvApiCtx, InputArgument + 1, piChild, 2, 3, 10, 4, piNbItemRow, piColPos, pdblSReal);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -319,14 +317,14 @@ int list_createlist(char *fname,unsigned long fname_len)
        pdblDataPtr[2]  = 3;
        pdblDataPtr[3]  = 4;
 
-       sciErr = createPointerInList(pvApiCtx, Rhs + 1, piChild, 3, pdblDataPtr);
+       sciErr = createPointerInList(pvApiCtx, InputArgument + 1, piChild, 3, pdblDataPtr);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       LhsVar(1) = Rhs + 1;
+       AssignOutputVariable(1) = InputArgument + 1;
        return 0;
 }
  ]]></programlisting>
index 4c653f0..9c5a48e 100644 (file)
@@ -76,7 +76,8 @@
     <!--Lib_name: common_list-->
     <!--Func_list: common_list-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 int get_list_info(int* _piAddress);
 void insert_indent(void);
 
@@ -85,9 +86,9 @@ static int iLocalTab = 0;
 int common_list(char *fname,unsigned long fname_len)
 {
     SciErr sciErr;
-    int *piAddr     = NULL;
+    int *piAddr = NULL;
 
-    CheckRhs(1,1);
+    CheckInputArgument(pvApiCtx, 1, 1);
 
     sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
     if(sciErr.iErr)
@@ -97,11 +98,9 @@ int common_list(char *fname,unsigned long fname_len)
     }
 
     get_list_info(piAddr);
-
-    LhsVar(1) = 0;
+    AssignOutputVariable(1) = 0;
     return 0;
 }
-
 int get_list_info(int* _piAddress)
 {
     SciErr sciErr;
@@ -119,10 +118,12 @@ int get_list_info(int* _piAddress)
     }
 
     sciprint("List (%d items) -> address : 0x%08X) : \n", iItem, _piAddress);
+
     for(i = 0 ; i < iItem ; i++)
     {
         int iType           = 0;
         int* piAddrChild    = NULL;
+
         sciErr = getListItemAddress(pvApiCtx, _piAddress, i + 1, &piAddrChild);
         if(sciErr.iErr)
         {
@@ -144,6 +145,7 @@ int get_list_info(int* _piAddress)
             iLocalTab++;
             iRet = get_list_info(piAddrChild);
             iLocalTab--;
+
             if(iRet)
             {
                 return 1;
@@ -155,9 +157,9 @@ int get_list_info(int* _piAddress)
             sciprint("Child %d -> address : 0x%08X\n", i + 1, piAddrChild);
         }
     }
+
     return 0;
 }
-
 void insert_indent(void)
 {
     int i = 0;
index 9184495..0500763 100644 (file)
@@ -68,7 +68,8 @@
     <!--Lib_name: common_list-->
     <!--Func_list: common_list-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 int get_list_info(int* _piAddress);
 void insert_indent(void);
 
@@ -77,9 +78,9 @@ static int iLocalTab = 0;
 int common_list(char *fname,unsigned long fname_len)
 {
     SciErr sciErr;
-    int *piAddr     = NULL;
+    int *piAddr = NULL;
 
-    CheckRhs(1,1);
+    CheckInputArgument(pvApiCtx, 1, 1);
 
     sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
     if(sciErr.iErr)
@@ -89,11 +90,9 @@ int common_list(char *fname,unsigned long fname_len)
     }
 
     get_list_info(piAddr);
-
-    LhsVar(1) = 0;
+    AssignOutputVariable(1) = 0;
     return 0;
 }
-
 int get_list_info(int* _piAddress)
 {
     SciErr sciErr;
@@ -111,10 +110,12 @@ int get_list_info(int* _piAddress)
     }
 
     sciprint("List (%d items) -> address : 0x%08X) : \n", iItem, _piAddress);
+
     for(i = 0 ; i < iItem ; i++)
     {
         int iType           = 0;
         int* piAddrChild    = NULL;
+
         sciErr = getListItemAddress(pvApiCtx, _piAddress, i + 1, &piAddrChild);
         if(sciErr.iErr)
         {
@@ -136,6 +137,7 @@ int get_list_info(int* _piAddress)
             iLocalTab++;
             iRet = get_list_info(piAddrChild);
             iLocalTab--;
+
             if(iRet)
             {
                 return 1;
@@ -147,9 +149,9 @@ int get_list_info(int* _piAddress)
             sciprint("Child %d -> address : 0x%08X\n", i + 1, piAddrChild);
         }
     }
+
     return 0;
 }
-
 void insert_indent(void)
 {
     int i = 0;
index 995d928..0cc3e1a 100644 (file)
     <!--Lib_name: common_read-->
     <!--Func_list: common_read-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 static int iTab = 0;
-
 void insert_indent(void)
 {
        int i = 0;
@@ -129,7 +129,6 @@ void insert_indent(void)
        }
 }
 
-
 int get_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
 int get_list_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
 int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
@@ -148,7 +147,7 @@ int common_read(char *fname,unsigned long fname_len)
        int iRet        = 0;
        int *piAddr     = NULL;
 
-       CheckRhs(1,1);
+       CheckInputArgument(pvApiCtx, 1, 1);
 
        sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
        if(sciErr.iErr)
@@ -158,8 +157,7 @@ int common_read(char *fname,unsigned long fname_len)
        }
 
        get_info(1, NULL, piAddr, 0);
-
-       LhsVar(1) = 0;
+       AssignOutputVariable(1) = 0;
        return 0;
 }
 
@@ -248,7 +246,6 @@ int get_list_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                iRet = get_info(_iRhs, _piAddr, piChild, i + 1);
                iTab--;
        }
-
        return 0;;
 }
 
@@ -257,7 +254,6 @@ int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        SciErr sciErr;
        int iRows           = 0;
        int iCols           = 0;
-
        double* pdblReal    = NULL;
        double* pdblImg     = NULL;
 
@@ -292,7 +288,6 @@ int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Double (%d x %d)\n", iRows, iCols);
-
        return 0;;
 }
 
@@ -303,7 +298,6 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iLen            = 0;
        int iRows           = 0;
        int iCols           = 0;
-
        char pstVar[16];
        int* piCoeff        = NULL;
        double** pdblReal   = NULL;
@@ -335,6 +329,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                pdblReal    = (double**)malloc(sizeof(double*) * iRows * iCols);
                pdblImg     = (double**)malloc(sizeof(double*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pdblReal[i] = (double*)malloc(sizeof(double) * piCoeff[i]);
@@ -370,6 +365,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                piCoeff = (int*)malloc(sizeof(int) * iRows * iCols);
+
                sciErr = getMatrixOfPolyInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piCoeff, NULL);
                if(sciErr.iErr)
                {
@@ -379,6 +375,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                pdblReal    = (double**)malloc(sizeof(double*) * iRows * iCols);
                pdblImg     = (double**)malloc(sizeof(double*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pdblReal[i] = (double*)malloc(sizeof(double) * piCoeff[i]);
@@ -409,18 +406,17 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                free(pdblReal[i]);
                free(pdblImg[i]);
        }
+
        free(pdblReal);
        free(pdblImg);
        free(piCoeff);
        return 0;;
 }
-
 int get_boolean_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iRows       = 0;
        int iCols       = 0;
-
        int* piBool     = NULL;
 
        if(_iItemPos == 0)
@@ -442,17 +438,14 @@ int get_boolean_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        sciprint("Boolean (%d x %d)\n", iRows, iCols);
        return 0;
 }
-
 int get_sparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iRows           = 0;
        int iCols           = 0;
        int iItem           = 0;
-
        int* piNbRow        = NULL;
        int* piColPos       = NULL;
-
        double* pdblReal    = NULL;
        double* pdblImg     = NULL;
 
@@ -490,7 +483,6 @@ int get_bsparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iRows       = 0;
        int iCols       = 0;
        int iItem       = 0;
-
        int* piNbRow    = NULL;
        int* piColPos   = NULL;
 
@@ -513,14 +505,12 @@ int get_bsparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        sciprint("Boolean Sparse (%d x %d), Item(s) : %d \n", iRows, iCols, iItem);
        return 0;;
 }
-
 int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iPrec               = 0;
        int iRows               = 0;
        int iCols               = 0;
-
        char* pcData            = NULL;
        short* psData           = NULL;
        int* piData             = NULL;
@@ -539,22 +529,22 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                switch(iPrec)
                {
-               case SCI_INT8 : 
+               case SCI_INT8 :
                        sciErr = getMatrixOfInteger8(pvApiCtx, _piAddr, &iRows, &iCols, &pcData);
                        break;
-               case SCI_INT16 : 
+               case SCI_INT16 :
                        sciErr = getMatrixOfInteger16(pvApiCtx, _piAddr, &iRows, &iCols, &psData);
                        break;
-               case SCI_INT32 : 
+               case SCI_INT32 :
                        sciErr = getMatrixOfInteger32(pvApiCtx, _piAddr, &iRows, &iCols, &piData);
                        break;
-               case SCI_UINT8 : 
+               case SCI_UINT8 :
                        sciErr = getMatrixOfUnsignedInteger8(pvApiCtx, _piAddr, &iRows, &iCols, &pucData);
                        break;
-               case SCI_UINT16 : 
+               case SCI_UINT16 :
                        sciErr = getMatrixOfUnsignedInteger16(pvApiCtx, _piAddr, &iRows, &iCols, &pusData);
                        break;
-               case SCI_UINT32 : 
+               case SCI_UINT32 :
                        sciErr = getMatrixOfUnsignedInteger32(pvApiCtx, _piAddr, &iRows, &iCols, &puiData);
                        break;
                default :
@@ -572,22 +562,22 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                switch(iPrec)
                {
-               case SCI_INT8 : 
+               case SCI_INT8 :
                        sciErr = getMatrixOfInteger8InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pcData);
                        break;
-               case SCI_INT16 : 
+               case SCI_INT16 :
                        sciErr = getMatrixOfInteger16InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &psData);
                        break;
-               case SCI_INT32 : 
+               case SCI_INT32 :
                        sciErr = getMatrixOfInteger32InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &piData);
                        break;
-               case SCI_UINT8 : 
+               case SCI_UINT8 :
                        sciErr = getMatrixOfUnsignedInteger8InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pucData);
                        break;
-               case SCI_UINT16 : 
+               case SCI_UINT16 :
                        sciErr = getMatrixOfUnsignedInteger16InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pusData);
                        break;
-               case SCI_UINT32 : 
+               case SCI_UINT32 :
                        sciErr = getMatrixOfUnsignedInteger32InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &puiData);
                        break;
                default :
@@ -602,16 +592,15 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        }
 
        insert_indent();
+
        if(iPrec > 10)
        {
                sciprint("Unsigned ");
        }
 
        sciprint("Integer %d bits (%d x %d)\n", (iPrec % 10) * 8, iRows, iCols);
-
        return 0;;
 }
-
 int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
@@ -619,7 +608,6 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iRows       = 0;
        int iCols       = 0;
        int* piLen      = NULL;
-
        char **pstData  = NULL;
 
        if(_iItemPos == 0)
@@ -640,6 +628,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                pstData = (char**)malloc(sizeof(char*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pstData[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination
@@ -662,6 +651,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                piLen = (int*)malloc(sizeof(int) * iRows * iCols);
+
                sciErr = getMatrixOfStringInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piLen, NULL);
                if(sciErr.iErr)
                {
@@ -670,6 +660,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                pstData = (char**)malloc(sizeof(char*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pstData[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination
@@ -682,7 +673,6 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                        return 0;
                }
        }
-
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -691,10 +681,8 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Strings (%d x %d)\n", iRows, iCols);
-
        return 0;;
 }
-
 int get_pointer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
@@ -717,7 +705,6 @@ int get_pointer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Pointer : 0x%08X\n", pvPtr);
-
        return 0;
 }
  ]]></programlisting>
index ee16917..399e1d7 100644 (file)
     <!--Lib_name: list_createlist-->
     <!--Func_list: list_createlist-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 int list_createlist(char *fname,unsigned long fname_len)
 {
        SciErr sciErr;
@@ -238,57 +239,54 @@ int list_createlist(char *fname,unsigned long fname_len)
        int piBool[]            = {1,0,1,0,1,0,1,0,1};
        double* pdblDataPtr     = NULL;
 
-
-       sciErr = createList(pvApiCtx, Rhs + 1, 8, &piAddr);
+       sciErr = createList(pvApiCtx, InputArgument + 1, 8, &piAddr);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createComplexMatrixOfDoubleInList(pvApiCtx, Rhs + 1, piAddr, 1, 3, 2, pdblData1, pdblData2);
+       sciErr = createComplexMatrixOfDoubleInList(pvApiCtx, InputArgument + 1, piAddr, 1, 3, 2, pdblData1, pdblData2);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfStringInList(pvApiCtx, Rhs + 1, piAddr, 2, 2, 3, pstData);
+       sciErr = createMatrixOfStringInList(pvApiCtx, InputArgument + 1, piAddr, 2, 2, 3, pstData);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfInteger16InList(pvApiCtx, Rhs + 1, piAddr, 3, 2, 3, psData);
+       sciErr = createMatrixOfInteger16InList(pvApiCtx, InputArgument + 1, piAddr, 3, 2, 3, psData);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfPolyInList(pvApiCtx, Rhs + 1, piAddr, 4, "x", 3, 2, piCoef, pdblPoly);
+       sciErr = createMatrixOfPolyInList(pvApiCtx, InputArgument + 1, piAddr, 4, "x", 3, 2, piCoef, pdblPoly);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
-
-       sciErr = createComplexSparseMatrixInList(pvApiCtx, Rhs + 1, piAddr, 5, 3, 10, 4, piNbItemRow, piColPos, pdblSReal, pdblSImg);
+       sciErr = createComplexSparseMatrixInList(pvApiCtx, InputArgument + 1, piAddr, 5, 3, 10, 4, piNbItemRow, piColPos, pdblSReal, pdblSImg);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfBooleanInList(pvApiCtx, Rhs + 1, piAddr, 6, 3, 3, piBool);
+       sciErr = createMatrixOfBooleanInList(pvApiCtx, InputArgument + 1, piAddr, 6, 3, 3, piBool);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
-
-       sciErr = createBooleanSparseMatrixInList(pvApiCtx, Rhs + 1, piAddr, 7, 3, 10, 4, piNbItemRow, piColPos);
+       sciErr = createBooleanSparseMatrixInList(pvApiCtx, InputArgument + 1, piAddr, 7, 3, 10, 4, piNbItemRow, piColPos);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -296,21 +294,21 @@ int list_createlist(char *fname,unsigned long fname_len)
        }
 
        //add list in list
-       sciErr = createListInList(pvApiCtx, Rhs + 1, piAddr, 8, 3, &piChild);
+       sciErr = createListInList(pvApiCtx, InputArgument + 1, piAddr, 8, 3, &piChild);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfDoubleInList(pvApiCtx, Rhs + 1, piChild, 1, 3, 2, pdblData1);
+       sciErr = createMatrixOfDoubleInList(pvApiCtx, InputArgument + 1, piChild, 1, 3, 2, pdblData1);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createSparseMatrixInList(pvApiCtx, Rhs + 1, piChild, 2, 3, 10, 4, piNbItemRow, piColPos, pdblSReal);
+       sciErr = createSparseMatrixInList(pvApiCtx, InputArgument + 1, piChild, 2, 3, 10, 4, piNbItemRow, piColPos, pdblSReal);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -323,14 +321,14 @@ int list_createlist(char *fname,unsigned long fname_len)
        pdblDataPtr[2]  = 3;
        pdblDataPtr[3]  = 4;
 
-       sciErr = createPointerInList(pvApiCtx, Rhs + 1, piChild, 3, pdblDataPtr);
+       sciErr = createPointerInList(pvApiCtx, InputArgument + 1, piChild, 3, pdblDataPtr);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       LhsVar(1) = Rhs + 1;
+       AssignOutputVariable(1) = InputArgument + 1;
        return 0;
 }
  ]]></programlisting>
index 82d7eb5..3a4ddda 100644 (file)
@@ -95,9 +95,9 @@
     <!--Lib_name: common_read-->
     <!--Func_list: common_read-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 static int iTab = 0;
-
 void insert_indent(void)
 {
        int i = 0;
@@ -107,7 +107,6 @@ void insert_indent(void)
        }
 }
 
-
 int get_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
 int get_list_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
 int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
@@ -126,7 +125,7 @@ int common_read(char *fname,unsigned long fname_len)
        int iRet        = 0;
        int *piAddr     = NULL;
 
-       CheckRhs(1,1);
+       CheckInputArgument(pvApiCtx, 1, 1);
 
        sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
        if(sciErr.iErr)
@@ -136,8 +135,7 @@ int common_read(char *fname,unsigned long fname_len)
        }
 
        get_info(1, NULL, piAddr, 0);
-
-       LhsVar(1) = 0;
+       AssignOutputVariable(1) = 0;
        return 0;
 }
 
@@ -226,7 +224,6 @@ int get_list_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                iRet = get_info(_iRhs, _piAddr, piChild, i + 1);
                iTab--;
        }
-
        return 0;;
 }
 
@@ -235,7 +232,6 @@ int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        SciErr sciErr;
        int iRows           = 0;
        int iCols           = 0;
-
        double* pdblReal    = NULL;
        double* pdblImg     = NULL;
 
@@ -270,7 +266,6 @@ int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Double (%d x %d)\n", iRows, iCols);
-
        return 0;;
 }
 
@@ -281,7 +276,6 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iLen            = 0;
        int iRows           = 0;
        int iCols           = 0;
-
        char pstVar[16];
        int* piCoeff        = NULL;
        double** pdblReal   = NULL;
@@ -313,6 +307,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                pdblReal    = (double**)malloc(sizeof(double*) * iRows * iCols);
                pdblImg     = (double**)malloc(sizeof(double*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pdblReal[i] = (double*)malloc(sizeof(double) * piCoeff[i]);
@@ -348,6 +343,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                piCoeff = (int*)malloc(sizeof(int) * iRows * iCols);
+
                sciErr = getMatrixOfPolyInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piCoeff, NULL);
                if(sciErr.iErr)
                {
@@ -357,6 +353,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                pdblReal    = (double**)malloc(sizeof(double*) * iRows * iCols);
                pdblImg     = (double**)malloc(sizeof(double*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pdblReal[i] = (double*)malloc(sizeof(double) * piCoeff[i]);
@@ -387,18 +384,17 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                free(pdblReal[i]);
                free(pdblImg[i]);
        }
+
        free(pdblReal);
        free(pdblImg);
        free(piCoeff);
        return 0;;
 }
-
 int get_boolean_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iRows       = 0;
        int iCols       = 0;
-
        int* piBool     = NULL;
 
        if(_iItemPos == 0)
@@ -420,17 +416,14 @@ int get_boolean_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        sciprint("Boolean (%d x %d)\n", iRows, iCols);
        return 0;
 }
-
 int get_sparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iRows           = 0;
        int iCols           = 0;
        int iItem           = 0;
-
        int* piNbRow        = NULL;
        int* piColPos       = NULL;
-
        double* pdblReal    = NULL;
        double* pdblImg     = NULL;
 
@@ -468,7 +461,6 @@ int get_bsparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iRows       = 0;
        int iCols       = 0;
        int iItem       = 0;
-
        int* piNbRow    = NULL;
        int* piColPos   = NULL;
 
@@ -491,14 +483,12 @@ int get_bsparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        sciprint("Boolean Sparse (%d x %d), Item(s) : %d \n", iRows, iCols, iItem);
        return 0;;
 }
-
 int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iPrec               = 0;
        int iRows               = 0;
        int iCols               = 0;
-
        char* pcData            = NULL;
        short* psData           = NULL;
        int* piData             = NULL;
@@ -517,22 +507,22 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                switch(iPrec)
                {
-               case SCI_INT8 : 
+               case SCI_INT8 :
                        sciErr = getMatrixOfInteger8(pvApiCtx, _piAddr, &iRows, &iCols, &pcData);
                        break;
-               case SCI_INT16 : 
+               case SCI_INT16 :
                        sciErr = getMatrixOfInteger16(pvApiCtx, _piAddr, &iRows, &iCols, &psData);
                        break;
-               case SCI_INT32 : 
+               case SCI_INT32 :
                        sciErr = getMatrixOfInteger32(pvApiCtx, _piAddr, &iRows, &iCols, &piData);
                        break;
-               case SCI_UINT8 : 
+               case SCI_UINT8 :
                        sciErr = getMatrixOfUnsignedInteger8(pvApiCtx, _piAddr, &iRows, &iCols, &pucData);
                        break;
-               case SCI_UINT16 : 
+               case SCI_UINT16 :
                        sciErr = getMatrixOfUnsignedInteger16(pvApiCtx, _piAddr, &iRows, &iCols, &pusData);
                        break;
-               case SCI_UINT32 : 
+               case SCI_UINT32 :
                        sciErr = getMatrixOfUnsignedInteger32(pvApiCtx, _piAddr, &iRows, &iCols, &puiData);
                        break;
                default :
@@ -550,22 +540,22 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                switch(iPrec)
                {
-               case SCI_INT8 : 
+               case SCI_INT8 :
                        sciErr = getMatrixOfInteger8InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pcData);
                        break;
-               case SCI_INT16 : 
+               case SCI_INT16 :
                        sciErr = getMatrixOfInteger16InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &psData);
                        break;
-               case SCI_INT32 : 
+               case SCI_INT32 :
                        sciErr = getMatrixOfInteger32InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &piData);
                        break;
-               case SCI_UINT8 : 
+               case SCI_UINT8 :
                        sciErr = getMatrixOfUnsignedInteger8InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pucData);
                        break;
-               case SCI_UINT16 : 
+               case SCI_UINT16 :
                        sciErr = getMatrixOfUnsignedInteger16InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pusData);
                        break;
-               case SCI_UINT32 : 
+               case SCI_UINT32 :
                        sciErr = getMatrixOfUnsignedInteger32InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &puiData);
                        break;
                default :
@@ -580,16 +570,15 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        }
 
        insert_indent();
+
        if(iPrec > 10)
        {
                sciprint("Unsigned ");
        }
 
        sciprint("Integer %d bits (%d x %d)\n", (iPrec % 10) * 8, iRows, iCols);
-
        return 0;;
 }
-
 int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
@@ -597,7 +586,6 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iRows       = 0;
        int iCols       = 0;
        int* piLen      = NULL;
-
        char **pstData  = NULL;
 
        if(_iItemPos == 0)
@@ -618,6 +606,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                pstData = (char**)malloc(sizeof(char*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pstData[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination
@@ -640,6 +629,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                piLen = (int*)malloc(sizeof(int) * iRows * iCols);
+
                sciErr = getMatrixOfStringInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piLen, NULL);
                if(sciErr.iErr)
                {
@@ -648,6 +638,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                pstData = (char**)malloc(sizeof(char*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pstData[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination
@@ -660,7 +651,6 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                        return 0;
                }
        }
-
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -669,10 +659,8 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Strings (%d x %d)\n", iRows, iCols);
-
        return 0;;
 }
-
 int get_pointer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
@@ -695,7 +683,6 @@ int get_pointer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Pointer : 0x%08X\n", pvPtr);
-
        return 0;
 }
  ]]></programlisting>
index 21ee496..2172648 100644 (file)
@@ -95,7 +95,8 @@
     <!--Lib_name: list_createlist-->
     <!--Func_list: list_createlist-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 int list_createlist(char *fname,unsigned long fname_len)
 {
        SciErr sciErr;
@@ -120,57 +121,54 @@ int list_createlist(char *fname,unsigned long fname_len)
        int piBool[]            = {1,0,1,0,1,0,1,0,1};
        double* pdblDataPtr     = NULL;
 
-
-       sciErr = createList(pvApiCtx, Rhs + 1, 8, &piAddr);
+       sciErr = createList(pvApiCtx, InputArgument + 1, 8, &piAddr);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createComplexMatrixOfDoubleInList(pvApiCtx, Rhs + 1, piAddr, 1, 3, 2, pdblData1, pdblData2);
+       sciErr = createComplexMatrixOfDoubleInList(pvApiCtx, InputArgument + 1, piAddr, 1, 3, 2, pdblData1, pdblData2);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfStringInList(pvApiCtx, Rhs + 1, piAddr, 2, 2, 3, pstData);
+       sciErr = createMatrixOfStringInList(pvApiCtx, InputArgument + 1, piAddr, 2, 2, 3, pstData);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfInteger16InList(pvApiCtx, Rhs + 1, piAddr, 3, 2, 3, psData);
+       sciErr = createMatrixOfInteger16InList(pvApiCtx, InputArgument + 1, piAddr, 3, 2, 3, psData);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfPolyInList(pvApiCtx, Rhs + 1, piAddr, 4, "x", 3, 2, piCoef, pdblPoly);
+       sciErr = createMatrixOfPolyInList(pvApiCtx, InputArgument + 1, piAddr, 4, "x", 3, 2, piCoef, pdblPoly);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
-
-       sciErr = createComplexSparseMatrixInList(pvApiCtx, Rhs + 1, piAddr, 5, 3, 10, 4, piNbItemRow, piColPos, pdblSReal, pdblSImg);
+       sciErr = createComplexSparseMatrixInList(pvApiCtx, InputArgument + 1, piAddr, 5, 3, 10, 4, piNbItemRow, piColPos, pdblSReal, pdblSImg);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfBooleanInList(pvApiCtx, Rhs + 1, piAddr, 6, 3, 3, piBool);
+       sciErr = createMatrixOfBooleanInList(pvApiCtx, InputArgument + 1, piAddr, 6, 3, 3, piBool);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
-
-       sciErr = createBooleanSparseMatrixInList(pvApiCtx, Rhs + 1, piAddr, 7, 3, 10, 4, piNbItemRow, piColPos);
+       sciErr = createBooleanSparseMatrixInList(pvApiCtx, InputArgument + 1, piAddr, 7, 3, 10, 4, piNbItemRow, piColPos);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -178,21 +176,21 @@ int list_createlist(char *fname,unsigned long fname_len)
        }
 
        //add list in list
-       sciErr = createListInList(pvApiCtx, Rhs + 1, piAddr, 8, 3, &piChild);
+       sciErr = createListInList(pvApiCtx, InputArgument + 1, piAddr, 8, 3, &piChild);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfDoubleInList(pvApiCtx, Rhs + 1, piChild, 1, 3, 2, pdblData1);
+       sciErr = createMatrixOfDoubleInList(pvApiCtx, InputArgument + 1, piChild, 1, 3, 2, pdblData1);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createSparseMatrixInList(pvApiCtx, Rhs + 1, piChild, 2, 3, 10, 4, piNbItemRow, piColPos, pdblSReal);
+       sciErr = createSparseMatrixInList(pvApiCtx, InputArgument + 1, piChild, 2, 3, 10, 4, piNbItemRow, piColPos, pdblSReal);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -205,14 +203,14 @@ int list_createlist(char *fname,unsigned long fname_len)
        pdblDataPtr[2]  = 3;
        pdblDataPtr[3]  = 4;
 
-       sciErr = createPointerInList(pvApiCtx, Rhs + 1, piChild, 3, pdblDataPtr);
+       sciErr = createPointerInList(pvApiCtx, InputArgument + 1, piChild, 3, pdblDataPtr);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       LhsVar(1) = Rhs + 1;
+       AssignOutputVariable(1) = InputArgument + 1;
        return 0;
 }
  ]]></programlisting>
index 5f0c03d..69ce580 100644 (file)
     <!--Lib_name: common_read-->
     <!--Func_list: common_read-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 static int iTab = 0;
-
 void insert_indent(void)
 {
        int i = 0;
@@ -133,7 +133,6 @@ void insert_indent(void)
        }
 }
 
-
 int get_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
 int get_list_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
 int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
@@ -152,7 +151,7 @@ int common_read(char *fname,unsigned long fname_len)
        int iRet        = 0;
        int *piAddr     = NULL;
 
-       CheckRhs(1,1);
+       CheckInputArgument(pvApiCtx, 1, 1);
 
        sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
        if(sciErr.iErr)
@@ -162,8 +161,7 @@ int common_read(char *fname,unsigned long fname_len)
        }
 
        get_info(1, NULL, piAddr, 0);
-
-       LhsVar(1) = 0;
+       AssignOutputVariable(1) = 0;
        return 0;
 }
 
@@ -252,7 +250,6 @@ int get_list_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                iRet = get_info(_iRhs, _piAddr, piChild, i + 1);
                iTab--;
        }
-
        return 0;;
 }
 
@@ -261,7 +258,6 @@ int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        SciErr sciErr;
        int iRows           = 0;
        int iCols           = 0;
-
        double* pdblReal    = NULL;
        double* pdblImg     = NULL;
 
@@ -296,7 +292,6 @@ int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Double (%d x %d)\n", iRows, iCols);
-
        return 0;;
 }
 
@@ -307,7 +302,6 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iLen            = 0;
        int iRows           = 0;
        int iCols           = 0;
-
        char pstVar[16];
        int* piCoeff        = NULL;
        double** pdblReal   = NULL;
@@ -339,6 +333,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                pdblReal    = (double**)malloc(sizeof(double*) * iRows * iCols);
                pdblImg     = (double**)malloc(sizeof(double*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pdblReal[i] = (double*)malloc(sizeof(double) * piCoeff[i]);
@@ -374,6 +369,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                piCoeff = (int*)malloc(sizeof(int) * iRows * iCols);
+
                sciErr = getMatrixOfPolyInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piCoeff, NULL);
                if(sciErr.iErr)
                {
@@ -383,6 +379,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                pdblReal    = (double**)malloc(sizeof(double*) * iRows * iCols);
                pdblImg     = (double**)malloc(sizeof(double*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pdblReal[i] = (double*)malloc(sizeof(double) * piCoeff[i]);
@@ -413,18 +410,17 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                free(pdblReal[i]);
                free(pdblImg[i]);
        }
+
        free(pdblReal);
        free(pdblImg);
        free(piCoeff);
        return 0;;
 }
-
 int get_boolean_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iRows       = 0;
        int iCols       = 0;
-
        int* piBool     = NULL;
 
        if(_iItemPos == 0)
@@ -446,17 +442,14 @@ int get_boolean_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        sciprint("Boolean (%d x %d)\n", iRows, iCols);
        return 0;
 }
-
 int get_sparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iRows           = 0;
        int iCols           = 0;
        int iItem           = 0;
-
        int* piNbRow        = NULL;
        int* piColPos       = NULL;
-
        double* pdblReal    = NULL;
        double* pdblImg     = NULL;
 
@@ -494,7 +487,6 @@ int get_bsparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iRows       = 0;
        int iCols       = 0;
        int iItem       = 0;
-
        int* piNbRow    = NULL;
        int* piColPos   = NULL;
 
@@ -517,14 +509,12 @@ int get_bsparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        sciprint("Boolean Sparse (%d x %d), Item(s) : %d \n", iRows, iCols, iItem);
        return 0;;
 }
-
 int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iPrec               = 0;
        int iRows               = 0;
        int iCols               = 0;
-
        char* pcData            = NULL;
        short* psData           = NULL;
        int* piData             = NULL;
@@ -543,22 +533,22 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                switch(iPrec)
                {
-               case SCI_INT8 : 
+               case SCI_INT8 :
                        sciErr = getMatrixOfInteger8(pvApiCtx, _piAddr, &iRows, &iCols, &pcData);
                        break;
-               case SCI_INT16 : 
+               case SCI_INT16 :
                        sciErr = getMatrixOfInteger16(pvApiCtx, _piAddr, &iRows, &iCols, &psData);
                        break;
-               case SCI_INT32 : 
+               case SCI_INT32 :
                        sciErr = getMatrixOfInteger32(pvApiCtx, _piAddr, &iRows, &iCols, &piData);
                        break;
-               case SCI_UINT8 : 
+               case SCI_UINT8 :
                        sciErr = getMatrixOfUnsignedInteger8(pvApiCtx, _piAddr, &iRows, &iCols, &pucData);
                        break;
-               case SCI_UINT16 : 
+               case SCI_UINT16 :
                        sciErr = getMatrixOfUnsignedInteger16(pvApiCtx, _piAddr, &iRows, &iCols, &pusData);
                        break;
-               case SCI_UINT32 : 
+               case SCI_UINT32 :
                        sciErr = getMatrixOfUnsignedInteger32(pvApiCtx, _piAddr, &iRows, &iCols, &puiData);
                        break;
                default :
@@ -576,22 +566,22 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                switch(iPrec)
                {
-               case SCI_INT8 : 
+               case SCI_INT8 :
                        sciErr = getMatrixOfInteger8InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pcData);
                        break;
-               case SCI_INT16 : 
+               case SCI_INT16 :
                        sciErr = getMatrixOfInteger16InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &psData);
                        break;
-               case SCI_INT32 : 
+               case SCI_INT32 :
                        sciErr = getMatrixOfInteger32InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &piData);
                        break;
-               case SCI_UINT8 : 
+               case SCI_UINT8 :
                        sciErr = getMatrixOfUnsignedInteger8InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pucData);
                        break;
-               case SCI_UINT16 : 
+               case SCI_UINT16 :
                        sciErr = getMatrixOfUnsignedInteger16InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pusData);
                        break;
-               case SCI_UINT32 : 
+               case SCI_UINT32 :
                        sciErr = getMatrixOfUnsignedInteger32InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &puiData);
                        break;
                default :
@@ -606,16 +596,15 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        }
 
        insert_indent();
+
        if(iPrec > 10)
        {
                sciprint("Unsigned ");
        }
 
        sciprint("Integer %d bits (%d x %d)\n", (iPrec % 10) * 8, iRows, iCols);
-
        return 0;;
 }
-
 int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
@@ -623,7 +612,6 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iRows       = 0;
        int iCols       = 0;
        int* piLen      = NULL;
-
        char **pstData  = NULL;
 
        if(_iItemPos == 0)
@@ -644,6 +632,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                pstData = (char**)malloc(sizeof(char*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pstData[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination
@@ -666,6 +655,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                piLen = (int*)malloc(sizeof(int) * iRows * iCols);
+
                sciErr = getMatrixOfStringInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piLen, NULL);
                if(sciErr.iErr)
                {
@@ -674,6 +664,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                pstData = (char**)malloc(sizeof(char*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pstData[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination
@@ -686,7 +677,6 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                        return 0;
                }
        }
-
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -695,10 +685,8 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Strings (%d x %d)\n", iRows, iCols);
-
        return 0;;
 }
-
 int get_pointer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
@@ -721,7 +709,6 @@ int get_pointer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Pointer : 0x%08X\n", pvPtr);
-
        return 0;
 }
  ]]></programlisting>
index 2543fc3..afae6f3 100644 (file)
     <!--Lib_name: list_createlist-->
     <!--Func_list: list_createlist-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 int list_createlist(char *fname,unsigned long fname_len)
 {
        SciErr sciErr;
@@ -162,57 +163,54 @@ int list_createlist(char *fname,unsigned long fname_len)
        int piBool[]            = {1,0,1,0,1,0,1,0,1};
        double* pdblDataPtr     = NULL;
 
-
-       sciErr = createList(pvApiCtx, Rhs + 1, 8, &piAddr);
+       sciErr = createList(pvApiCtx, InputArgument + 1, 8, &piAddr);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createComplexMatrixOfDoubleInList(pvApiCtx, Rhs + 1, piAddr, 1, 3, 2, pdblData1, pdblData2);
+       sciErr = createComplexMatrixOfDoubleInList(pvApiCtx, InputArgument + 1, piAddr, 1, 3, 2, pdblData1, pdblData2);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfStringInList(pvApiCtx, Rhs + 1, piAddr, 2, 2, 3, pstData);
+       sciErr = createMatrixOfStringInList(pvApiCtx, InputArgument + 1, piAddr, 2, 2, 3, pstData);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfInteger16InList(pvApiCtx, Rhs + 1, piAddr, 3, 2, 3, psData);
+       sciErr = createMatrixOfInteger16InList(pvApiCtx, InputArgument + 1, piAddr, 3, 2, 3, psData);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfPolyInList(pvApiCtx, Rhs + 1, piAddr, 4, "x", 3, 2, piCoef, pdblPoly);
+       sciErr = createMatrixOfPolyInList(pvApiCtx, InputArgument + 1, piAddr, 4, "x", 3, 2, piCoef, pdblPoly);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
-
-       sciErr = createComplexSparseMatrixInList(pvApiCtx, Rhs + 1, piAddr, 5, 3, 10, 4, piNbItemRow, piColPos, pdblSReal, pdblSImg);
+       sciErr = createComplexSparseMatrixInList(pvApiCtx, InputArgument + 1, piAddr, 5, 3, 10, 4, piNbItemRow, piColPos, pdblSReal, pdblSImg);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfBooleanInList(pvApiCtx, Rhs + 1, piAddr, 6, 3, 3, piBool);
+       sciErr = createMatrixOfBooleanInList(pvApiCtx, InputArgument + 1, piAddr, 6, 3, 3, piBool);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
-
-       sciErr = createBooleanSparseMatrixInList(pvApiCtx, Rhs + 1, piAddr, 7, 3, 10, 4, piNbItemRow, piColPos);
+       sciErr = createBooleanSparseMatrixInList(pvApiCtx, InputArgument + 1, piAddr, 7, 3, 10, 4, piNbItemRow, piColPos);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -220,21 +218,21 @@ int list_createlist(char *fname,unsigned long fname_len)
        }
 
        //add list in list
-       sciErr = createListInList(pvApiCtx, Rhs + 1, piAddr, 8, 3, &piChild);
+       sciErr = createListInList(pvApiCtx, InputArgument + 1, piAddr, 8, 3, &piChild);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfDoubleInList(pvApiCtx, Rhs + 1, piChild, 1, 3, 2, pdblData1);
+       sciErr = createMatrixOfDoubleInList(pvApiCtx, InputArgument + 1, piChild, 1, 3, 2, pdblData1);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createSparseMatrixInList(pvApiCtx, Rhs + 1, piChild, 2, 3, 10, 4, piNbItemRow, piColPos, pdblSReal);
+       sciErr = createSparseMatrixInList(pvApiCtx, InputArgument + 1, piChild, 2, 3, 10, 4, piNbItemRow, piColPos, pdblSReal);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -247,14 +245,14 @@ int list_createlist(char *fname,unsigned long fname_len)
        pdblDataPtr[2]  = 3;
        pdblDataPtr[3]  = 4;
 
-       sciErr = createPointerInList(pvApiCtx, Rhs + 1, piChild, 3, pdblDataPtr);
+       sciErr = createPointerInList(pvApiCtx, InputArgument + 1, piChild, 3, pdblDataPtr);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       LhsVar(1) = Rhs + 1;
+       AssignOutputVariable(1) = InputArgument + 1;
        return 0;
 }
  ]]></programlisting>
index f7f4a6a..30fe3a4 100644 (file)
     <!--Lib_name: common_read-->
     <!--Func_list: common_read-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 static int iTab = 0;
-
 void insert_indent(void)
 {
        int i = 0;
@@ -149,7 +149,6 @@ void insert_indent(void)
        }
 }
 
-
 int get_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
 int get_list_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
 int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
@@ -168,7 +167,7 @@ int common_read(char *fname,unsigned long fname_len)
        int iRet        = 0;
        int *piAddr     = NULL;
 
-       CheckRhs(1,1);
+       CheckInputArgument(pvApiCtx, 1, 1);
 
        sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
        if(sciErr.iErr)
@@ -178,8 +177,7 @@ int common_read(char *fname,unsigned long fname_len)
        }
 
        get_info(1, NULL, piAddr, 0);
-
-       LhsVar(1) = 0;
+       AssignOutputVariable(1) = 0;
        return 0;
 }
 
@@ -268,7 +266,6 @@ int get_list_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                iRet = get_info(_iRhs, _piAddr, piChild, i + 1);
                iTab--;
        }
-
        return 0;;
 }
 
@@ -277,7 +274,6 @@ int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        SciErr sciErr;
        int iRows           = 0;
        int iCols           = 0;
-
        double* pdblReal    = NULL;
        double* pdblImg     = NULL;
 
@@ -312,7 +308,6 @@ int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Double (%d x %d)\n", iRows, iCols);
-
        return 0;;
 }
 
@@ -323,7 +318,6 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iLen            = 0;
        int iRows           = 0;
        int iCols           = 0;
-
        char pstVar[16];
        int* piCoeff        = NULL;
        double** pdblReal   = NULL;
@@ -355,6 +349,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                pdblReal    = (double**)malloc(sizeof(double*) * iRows * iCols);
                pdblImg     = (double**)malloc(sizeof(double*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pdblReal[i] = (double*)malloc(sizeof(double) * piCoeff[i]);
@@ -390,6 +385,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                piCoeff = (int*)malloc(sizeof(int) * iRows * iCols);
+
                sciErr = getMatrixOfPolyInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piCoeff, NULL);
                if(sciErr.iErr)
                {
@@ -399,6 +395,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                pdblReal    = (double**)malloc(sizeof(double*) * iRows * iCols);
                pdblImg     = (double**)malloc(sizeof(double*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pdblReal[i] = (double*)malloc(sizeof(double) * piCoeff[i]);
@@ -429,18 +426,17 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                free(pdblReal[i]);
                free(pdblImg[i]);
        }
+
        free(pdblReal);
        free(pdblImg);
        free(piCoeff);
        return 0;;
 }
-
 int get_boolean_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iRows       = 0;
        int iCols       = 0;
-
        int* piBool     = NULL;
 
        if(_iItemPos == 0)
@@ -462,17 +458,14 @@ int get_boolean_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        sciprint("Boolean (%d x %d)\n", iRows, iCols);
        return 0;
 }
-
 int get_sparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iRows           = 0;
        int iCols           = 0;
        int iItem           = 0;
-
        int* piNbRow        = NULL;
        int* piColPos       = NULL;
-
        double* pdblReal    = NULL;
        double* pdblImg     = NULL;
 
@@ -510,7 +503,6 @@ int get_bsparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iRows       = 0;
        int iCols       = 0;
        int iItem       = 0;
-
        int* piNbRow    = NULL;
        int* piColPos   = NULL;
 
@@ -533,14 +525,12 @@ int get_bsparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        sciprint("Boolean Sparse (%d x %d), Item(s) : %d \n", iRows, iCols, iItem);
        return 0;;
 }
-
 int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iPrec               = 0;
        int iRows               = 0;
        int iCols               = 0;
-
        char* pcData            = NULL;
        short* psData           = NULL;
        int* piData             = NULL;
@@ -559,22 +549,22 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                switch(iPrec)
                {
-               case SCI_INT8 : 
+               case SCI_INT8 :
                        sciErr = getMatrixOfInteger8(pvApiCtx, _piAddr, &iRows, &iCols, &pcData);
                        break;
-               case SCI_INT16 : 
+               case SCI_INT16 :
                        sciErr = getMatrixOfInteger16(pvApiCtx, _piAddr, &iRows, &iCols, &psData);
                        break;
-               case SCI_INT32 : 
+               case SCI_INT32 :
                        sciErr = getMatrixOfInteger32(pvApiCtx, _piAddr, &iRows, &iCols, &piData);
                        break;
-               case SCI_UINT8 : 
+               case SCI_UINT8 :
                        sciErr = getMatrixOfUnsignedInteger8(pvApiCtx, _piAddr, &iRows, &iCols, &pucData);
                        break;
-               case SCI_UINT16 : 
+               case SCI_UINT16 :
                        sciErr = getMatrixOfUnsignedInteger16(pvApiCtx, _piAddr, &iRows, &iCols, &pusData);
                        break;
-               case SCI_UINT32 : 
+               case SCI_UINT32 :
                        sciErr = getMatrixOfUnsignedInteger32(pvApiCtx, _piAddr, &iRows, &iCols, &puiData);
                        break;
                default :
@@ -592,22 +582,22 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                switch(iPrec)
                {
-               case SCI_INT8 : 
+               case SCI_INT8 :
                        sciErr = getMatrixOfInteger8InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pcData);
                        break;
-               case SCI_INT16 : 
+               case SCI_INT16 :
                        sciErr = getMatrixOfInteger16InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &psData);
                        break;
-               case SCI_INT32 : 
+               case SCI_INT32 :
                        sciErr = getMatrixOfInteger32InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &piData);
                        break;
-               case SCI_UINT8 : 
+               case SCI_UINT8 :
                        sciErr = getMatrixOfUnsignedInteger8InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pucData);
                        break;
-               case SCI_UINT16 : 
+               case SCI_UINT16 :
                        sciErr = getMatrixOfUnsignedInteger16InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pusData);
                        break;
-               case SCI_UINT32 : 
+               case SCI_UINT32 :
                        sciErr = getMatrixOfUnsignedInteger32InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &puiData);
                        break;
                default :
@@ -622,16 +612,15 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        }
 
        insert_indent();
+
        if(iPrec > 10)
        {
                sciprint("Unsigned ");
        }
 
        sciprint("Integer %d bits (%d x %d)\n", (iPrec % 10) * 8, iRows, iCols);
-
        return 0;;
 }
-
 int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
@@ -639,7 +628,6 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iRows       = 0;
        int iCols       = 0;
        int* piLen      = NULL;
-
        char **pstData  = NULL;
 
        if(_iItemPos == 0)
@@ -660,6 +648,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                pstData = (char**)malloc(sizeof(char*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pstData[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination
@@ -682,6 +671,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                piLen = (int*)malloc(sizeof(int) * iRows * iCols);
+
                sciErr = getMatrixOfStringInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piLen, NULL);
                if(sciErr.iErr)
                {
@@ -690,6 +680,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                pstData = (char**)malloc(sizeof(char*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pstData[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination
@@ -702,7 +693,6 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                        return 0;
                }
        }
-
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -711,10 +701,8 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Strings (%d x %d)\n", iRows, iCols);
-
        return 0;;
 }
-
 int get_pointer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
@@ -737,7 +725,6 @@ int get_pointer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Pointer : 0x%08X\n", pvPtr);
-
        return 0;
 }
  ]]></programlisting>
index 54fefa3..8194ccf 100644 (file)
     <!--Lib_name: list_createlist-->
     <!--Func_list: list_createlist-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 int list_createlist(char *fname,unsigned long fname_len)
 {
        SciErr sciErr;
@@ -173,57 +174,54 @@ int list_createlist(char *fname,unsigned long fname_len)
        int piBool[]            = {1,0,1,0,1,0,1,0,1};
        double* pdblDataPtr     = NULL;
 
-
-       sciErr = createList(pvApiCtx, Rhs + 1, 8, &piAddr);
+       sciErr = createList(pvApiCtx, InputArgument + 1, 8, &piAddr);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createComplexMatrixOfDoubleInList(pvApiCtx, Rhs + 1, piAddr, 1, 3, 2, pdblData1, pdblData2);
+       sciErr = createComplexMatrixOfDoubleInList(pvApiCtx, InputArgument + 1, piAddr, 1, 3, 2, pdblData1, pdblData2);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfStringInList(pvApiCtx, Rhs + 1, piAddr, 2, 2, 3, pstData);
+       sciErr = createMatrixOfStringInList(pvApiCtx, InputArgument + 1, piAddr, 2, 2, 3, pstData);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfInteger16InList(pvApiCtx, Rhs + 1, piAddr, 3, 2, 3, psData);
+       sciErr = createMatrixOfInteger16InList(pvApiCtx, InputArgument + 1, piAddr, 3, 2, 3, psData);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfPolyInList(pvApiCtx, Rhs + 1, piAddr, 4, "x", 3, 2, piCoef, pdblPoly);
+       sciErr = createMatrixOfPolyInList(pvApiCtx, InputArgument + 1, piAddr, 4, "x", 3, 2, piCoef, pdblPoly);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
-
-       sciErr = createComplexSparseMatrixInList(pvApiCtx, Rhs + 1, piAddr, 5, 3, 10, 4, piNbItemRow, piColPos, pdblSReal, pdblSImg);
+       sciErr = createComplexSparseMatrixInList(pvApiCtx, InputArgument + 1, piAddr, 5, 3, 10, 4, piNbItemRow, piColPos, pdblSReal, pdblSImg);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfBooleanInList(pvApiCtx, Rhs + 1, piAddr, 6, 3, 3, piBool);
+       sciErr = createMatrixOfBooleanInList(pvApiCtx, InputArgument + 1, piAddr, 6, 3, 3, piBool);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
-
-       sciErr = createBooleanSparseMatrixInList(pvApiCtx, Rhs + 1, piAddr, 7, 3, 10, 4, piNbItemRow, piColPos);
+       sciErr = createBooleanSparseMatrixInList(pvApiCtx, InputArgument + 1, piAddr, 7, 3, 10, 4, piNbItemRow, piColPos);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -231,21 +229,21 @@ int list_createlist(char *fname,unsigned long fname_len)
        }
 
        //add list in list
-       sciErr = createListInList(pvApiCtx, Rhs + 1, piAddr, 8, 3, &piChild);
+       sciErr = createListInList(pvApiCtx, InputArgument + 1, piAddr, 8, 3, &piChild);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfDoubleInList(pvApiCtx, Rhs + 1, piChild, 1, 3, 2, pdblData1);
+       sciErr = createMatrixOfDoubleInList(pvApiCtx, InputArgument + 1, piChild, 1, 3, 2, pdblData1);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createSparseMatrixInList(pvApiCtx, Rhs + 1, piChild, 2, 3, 10, 4, piNbItemRow, piColPos, pdblSReal);
+       sciErr = createSparseMatrixInList(pvApiCtx, InputArgument + 1, piChild, 2, 3, 10, 4, piNbItemRow, piColPos, pdblSReal);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -258,14 +256,14 @@ int list_createlist(char *fname,unsigned long fname_len)
        pdblDataPtr[2]  = 3;
        pdblDataPtr[3]  = 4;
 
-       sciErr = createPointerInList(pvApiCtx, Rhs + 1, piChild, 3, pdblDataPtr);
+       sciErr = createPointerInList(pvApiCtx, InputArgument + 1, piChild, 3, pdblDataPtr);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       LhsVar(1) = Rhs + 1;
+       AssignOutputVariable(1) = InputArgument + 1;
        return 0;
 }
  ]]></programlisting>
index a952a96..eacce21 100644 (file)
     <!--Lib_name: common_read-->
     <!--Func_list: common_read-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 static int iTab = 0;
-
 void insert_indent(void)
 {
        int i = 0;
@@ -123,7 +123,6 @@ void insert_indent(void)
        }
 }
 
-
 int get_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
 int get_list_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
 int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos);
@@ -142,7 +141,7 @@ int common_read(char *fname,unsigned long fname_len)
        int iRet        = 0;
        int *piAddr     = NULL;
 
-       CheckRhs(1,1);
+       CheckInputArgument(pvApiCtx, 1, 1);
 
        sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
        if(sciErr.iErr)
@@ -152,8 +151,7 @@ int common_read(char *fname,unsigned long fname_len)
        }
 
        get_info(1, NULL, piAddr, 0);
-
-       LhsVar(1) = 0;
+       AssignOutputVariable(1) = 0;
        return 0;
 }
 
@@ -242,7 +240,6 @@ int get_list_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                iRet = get_info(_iRhs, _piAddr, piChild, i + 1);
                iTab--;
        }
-
        return 0;;
 }
 
@@ -251,7 +248,6 @@ int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        SciErr sciErr;
        int iRows           = 0;
        int iCols           = 0;
-
        double* pdblReal    = NULL;
        double* pdblImg     = NULL;
 
@@ -286,7 +282,6 @@ int get_double_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Double (%d x %d)\n", iRows, iCols);
-
        return 0;;
 }
 
@@ -297,7 +292,6 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iLen            = 0;
        int iRows           = 0;
        int iCols           = 0;
-
        char pstVar[16];
        int* piCoeff        = NULL;
        double** pdblReal   = NULL;
@@ -329,6 +323,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                pdblReal    = (double**)malloc(sizeof(double*) * iRows * iCols);
                pdblImg     = (double**)malloc(sizeof(double*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pdblReal[i] = (double*)malloc(sizeof(double) * piCoeff[i]);
@@ -364,6 +359,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                piCoeff = (int*)malloc(sizeof(int) * iRows * iCols);
+
                sciErr = getMatrixOfPolyInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piCoeff, NULL);
                if(sciErr.iErr)
                {
@@ -373,6 +369,7 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                pdblReal    = (double**)malloc(sizeof(double*) * iRows * iCols);
                pdblImg     = (double**)malloc(sizeof(double*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pdblReal[i] = (double*)malloc(sizeof(double) * piCoeff[i]);
@@ -403,18 +400,17 @@ int get_poly_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                free(pdblReal[i]);
                free(pdblImg[i]);
        }
+
        free(pdblReal);
        free(pdblImg);
        free(piCoeff);
        return 0;;
 }
-
 int get_boolean_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iRows       = 0;
        int iCols       = 0;
-
        int* piBool     = NULL;
 
        if(_iItemPos == 0)
@@ -436,17 +432,14 @@ int get_boolean_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        sciprint("Boolean (%d x %d)\n", iRows, iCols);
        return 0;
 }
-
 int get_sparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iRows           = 0;
        int iCols           = 0;
        int iItem           = 0;
-
        int* piNbRow        = NULL;
        int* piColPos       = NULL;
-
        double* pdblReal    = NULL;
        double* pdblImg     = NULL;
 
@@ -484,7 +477,6 @@ int get_bsparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iRows       = 0;
        int iCols       = 0;
        int iItem       = 0;
-
        int* piNbRow    = NULL;
        int* piColPos   = NULL;
 
@@ -507,14 +499,12 @@ int get_bsparse_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        sciprint("Boolean Sparse (%d x %d), Item(s) : %d \n", iRows, iCols, iItem);
        return 0;;
 }
-
 int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
        int iPrec               = 0;
        int iRows               = 0;
        int iCols               = 0;
-
        char* pcData            = NULL;
        short* psData           = NULL;
        int* piData             = NULL;
@@ -533,22 +523,22 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                switch(iPrec)
                {
-               case SCI_INT8 : 
+               case SCI_INT8 :
                        sciErr = getMatrixOfInteger8(pvApiCtx, _piAddr, &iRows, &iCols, &pcData);
                        break;
-               case SCI_INT16 : 
+               case SCI_INT16 :
                        sciErr = getMatrixOfInteger16(pvApiCtx, _piAddr, &iRows, &iCols, &psData);
                        break;
-               case SCI_INT32 : 
+               case SCI_INT32 :
                        sciErr = getMatrixOfInteger32(pvApiCtx, _piAddr, &iRows, &iCols, &piData);
                        break;
-               case SCI_UINT8 : 
+               case SCI_UINT8 :
                        sciErr = getMatrixOfUnsignedInteger8(pvApiCtx, _piAddr, &iRows, &iCols, &pucData);
                        break;
-               case SCI_UINT16 : 
+               case SCI_UINT16 :
                        sciErr = getMatrixOfUnsignedInteger16(pvApiCtx, _piAddr, &iRows, &iCols, &pusData);
                        break;
-               case SCI_UINT32 : 
+               case SCI_UINT32 :
                        sciErr = getMatrixOfUnsignedInteger32(pvApiCtx, _piAddr, &iRows, &iCols, &puiData);
                        break;
                default :
@@ -566,22 +556,22 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
                switch(iPrec)
                {
-               case SCI_INT8 : 
+               case SCI_INT8 :
                        sciErr = getMatrixOfInteger8InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pcData);
                        break;
-               case SCI_INT16 : 
+               case SCI_INT16 :
                        sciErr = getMatrixOfInteger16InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &psData);
                        break;
-               case SCI_INT32 : 
+               case SCI_INT32 :
                        sciErr = getMatrixOfInteger32InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &piData);
                        break;
-               case SCI_UINT8 : 
+               case SCI_UINT8 :
                        sciErr = getMatrixOfUnsignedInteger8InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pucData);
                        break;
-               case SCI_UINT16 : 
+               case SCI_UINT16 :
                        sciErr = getMatrixOfUnsignedInteger16InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &pusData);
                        break;
-               case SCI_UINT32 : 
+               case SCI_UINT32 :
                        sciErr = getMatrixOfUnsignedInteger32InList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, &puiData);
                        break;
                default :
@@ -596,16 +586,15 @@ int get_integer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        }
 
        insert_indent();
+
        if(iPrec > 10)
        {
                sciprint("Unsigned ");
        }
 
        sciprint("Integer %d bits (%d x %d)\n", (iPrec % 10) * 8, iRows, iCols);
-
        return 0;;
 }
-
 int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
@@ -613,7 +602,6 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
        int iRows       = 0;
        int iCols       = 0;
        int* piLen      = NULL;
-
        char **pstData  = NULL;
 
        if(_iItemPos == 0)
@@ -634,6 +622,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                pstData = (char**)malloc(sizeof(char*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pstData[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination
@@ -656,6 +645,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                piLen = (int*)malloc(sizeof(int) * iRows * iCols);
+
                sciErr = getMatrixOfStringInList(pvApiCtx, _piParent, _iItemPos, &iRows, &iCols, piLen, NULL);
                if(sciErr.iErr)
                {
@@ -664,6 +654,7 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                }
 
                pstData = (char**)malloc(sizeof(char*) * iRows * iCols);
+
                for(i = 0 ; i < iRows * iCols ; i++)
                {
                        pstData[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination
@@ -676,7 +667,6 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
                        return 0;
                }
        }
-
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -685,10 +675,8 @@ int get_string_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Strings (%d x %d)\n", iRows, iCols);
-
        return 0;;
 }
-
 int get_pointer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 {
        SciErr sciErr;
@@ -711,7 +699,6 @@ int get_pointer_info(int _iRhs, int* _piParent, int *_piAddr, int _iItemPos)
 
        insert_indent();
        sciprint("Pointer : 0x%08X\n", pvPtr);
-
        return 0;
 }
  ]]></programlisting>
index a746737..52934a8 100644 (file)
     <!--Lib_name: list_createlist-->
     <!--Func_list: list_createlist-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 int list_createlist(char *fname,unsigned long fname_len)
 {
        SciErr sciErr;
@@ -136,57 +137,54 @@ int list_createlist(char *fname,unsigned long fname_len)
        int piBool[]            = {1,0,1,0,1,0,1,0,1};
        double* pdblDataPtr     = NULL;
 
-
-       sciErr = createList(pvApiCtx, Rhs + 1, 8, &piAddr);
+       sciErr = createList(pvApiCtx, InputArgument + 1, 8, &piAddr);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createComplexMatrixOfDoubleInList(pvApiCtx, Rhs + 1, piAddr, 1, 3, 2, pdblData1, pdblData2);
+       sciErr = createComplexMatrixOfDoubleInList(pvApiCtx, InputArgument + 1, piAddr, 1, 3, 2, pdblData1, pdblData2);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfStringInList(pvApiCtx, Rhs + 1, piAddr, 2, 2, 3, pstData);
+       sciErr = createMatrixOfStringInList(pvApiCtx, InputArgument + 1, piAddr, 2, 2, 3, pstData);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfInteger16InList(pvApiCtx, Rhs + 1, piAddr, 3, 2, 3, psData);
+       sciErr = createMatrixOfInteger16InList(pvApiCtx, InputArgument + 1, piAddr, 3, 2, 3, psData);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfPolyInList(pvApiCtx, Rhs + 1, piAddr, 4, "x", 3, 2, piCoef, pdblPoly);
+       sciErr = createMatrixOfPolyInList(pvApiCtx, InputArgument + 1, piAddr, 4, "x", 3, 2, piCoef, pdblPoly);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
-
-       sciErr = createComplexSparseMatrixInList(pvApiCtx, Rhs + 1, piAddr, 5, 3, 10, 4, piNbItemRow, piColPos, pdblSReal, pdblSImg);
+       sciErr = createComplexSparseMatrixInList(pvApiCtx, InputArgument + 1, piAddr, 5, 3, 10, 4, piNbItemRow, piColPos, pdblSReal, pdblSImg);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfBooleanInList(pvApiCtx, Rhs + 1, piAddr, 6, 3, 3, piBool);
+       sciErr = createMatrixOfBooleanInList(pvApiCtx, InputArgument + 1, piAddr, 6, 3, 3, piBool);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
-
-       sciErr = createBooleanSparseMatrixInList(pvApiCtx, Rhs + 1, piAddr, 7, 3, 10, 4, piNbItemRow, piColPos);
+       sciErr = createBooleanSparseMatrixInList(pvApiCtx, InputArgument + 1, piAddr, 7, 3, 10, 4, piNbItemRow, piColPos);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -194,21 +192,21 @@ int list_createlist(char *fname,unsigned long fname_len)
        }
 
        //add list in list
-       sciErr = createListInList(pvApiCtx, Rhs + 1, piAddr, 8, 3, &piChild);
+       sciErr = createListInList(pvApiCtx, InputArgument + 1, piAddr, 8, 3, &piChild);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createMatrixOfDoubleInList(pvApiCtx, Rhs + 1, piChild, 1, 3, 2, pdblData1);
+       sciErr = createMatrixOfDoubleInList(pvApiCtx, InputArgument + 1, piChild, 1, 3, 2, pdblData1);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       sciErr = createSparseMatrixInList(pvApiCtx, Rhs + 1, piChild, 2, 3, 10, 4, piNbItemRow, piColPos, pdblSReal);
+       sciErr = createSparseMatrixInList(pvApiCtx, InputArgument + 1, piChild, 2, 3, 10, 4, piNbItemRow, piColPos, pdblSReal);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
@@ -221,14 +219,14 @@ int list_createlist(char *fname,unsigned long fname_len)
        pdblDataPtr[2]  = 3;
        pdblDataPtr[3]  = 4;
 
-       sciErr = createPointerInList(pvApiCtx, Rhs + 1, piChild, 3, pdblDataPtr);
+       sciErr = createPointerInList(pvApiCtx, InputArgument + 1, piChild, 3, pdblDataPtr);
        if(sciErr.iErr)
        {
                printError(&sciErr, 0);
                return 0;
        }
 
-       LhsVar(1) = Rhs + 1;
+       AssignOutputVariable(1) = InputArgument + 1;
        return 0;
 }
  ]]></programlisting>
diff --git a/scilab/modules/api_scilab/help/en_US/low_level_functions/AssignOutputVariable.xml b/scilab/modules/api_scilab/help/en_US/low_level_functions/AssignOutputVariable.xml
new file mode 100644 (file)
index 0000000..d1e79a3
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="AssignOutputVariable">
+    <refnamediv>
+        <refname>AssignOutputVariable</refname>
+        <refpurpose>
+            a C gateway function which specifies which parameters created
+            inside the C gateway will be returned as an output argument into
+            Scilab.
+        </refpurpose>
+    </refnamediv>
+    <refsynopsisdiv>
+        <title>Calling Sequence</title>
+        <synopsis>AssignOutputVariable(RankPos) = RankVar;</synopsis>
+    </refsynopsisdiv>
+    <refsection>
+        <title>Arguments</title>
+        <variablelist>
+            <varlistentry>
+                <term>RankPos</term>
+                <listitem>
+                    <para>as integer providing the rank of the output argument</para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>RankVar</term>
+                <listitem>
+                    <para>
+                        the rank of the parameter created inside the C gateway to be
+                        returned as an Scilab output argument
+                    </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection>
+        <title>Description</title>
+        <para>
+            A C gateway function which specifies which variables created inside
+            the C interface will be returned as an output argumen into Scilab.
+        </para>
+    </refsection>
+    <refsection>
+        <title>Examples</title>
+        <para>This example takes a matrix of doubles as input and returns:</para>
+        <itemizedlist>
+            <listitem>
+                <para>the number of lines (first output argument)</para>
+            </listitem>
+            <listitem>
+                <para>the number of rows (second output argument)</para>
+            </listitem>
+        </itemizedlist>
+        <para>
+            We create an intermediate Scilab parameter which will handle an
+            integer but will neither be used nor returned as an output
+            argument.
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+#include "api_scilab.h"
+int sci_mysizedouble(char * fname, unsigned long fname_len)
+{
+    SciErr      sciErr;
+    int         m_in_row;
+    int         n_in_col;
+    int*        piAddr = NULL;
+    double*     pdblData = NULL;
+
+    sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
+    if(sciErr.iErr)
+    {
+        printError(&sciErr, 0);
+        return 0;
+    }
+
+    /* get dimensions */
+       sciErr = getMatrixOfDouble(pvApiCtx, piAddr, &m_in_row, &n_in_col, &pdblData);
+       if(sciErr.iErr)
+       {
+               printError(&sciErr, 0);
+               return 0;
+       }
+
+    sciErr = createMatrixOfInteger32(pvApiCtx, InputArgument + 1, 1, 1, &m_in_row); // the m_in_row parameter handles the number of lines of the matrix sent as argument
+    sciErr = createMatrixOfInteger32(pvApiCtx, InputArgument + 2, 1, 1, &m_in_row); // store a same value, but will neither be used nor returned to Scilab
+    sciErr = createMatrixOfInteger32(pvApiCtx, InputArgument + 3, 1, 1, &n_in_col); // the n_in_col parameter handles the number of columns of the matrix sent as argument
+
+    AssignOutputVariable(1) = InputArgument + 1; // We set the parameter "InputArgument + 1" as an output argument
+    AssignOutputVariable(2) = InputArgument + 3; // We set the parameter "InputArgument + 3" as an output argument
+    UpdateStack();
+    return 0;
+}
+ ]]>
+        </programlisting>
+    </refsection>
+</refentry>
diff --git a/scilab/modules/api_scilab/help/en_US/low_level_functions/CallOverloadFunction.xml b/scilab/modules/api_scilab/help/en_US/low_level_functions/CallOverloadFunction.xml
new file mode 100644 (file)
index 0000000..86bbd37
--- /dev/null
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="CallOverloadFunction">
+    <refnamediv>
+        <refname>CallOverloadFunction</refname>
+        <refpurpose>
+            a C gateway function uses to call overload function or macro
+        </refpurpose>
+    </refnamediv>
+    <refsynopsisdiv>
+        <title>Calling Sequence</title>
+        <synopsis>CallOverloadFunction(_iVar)</synopsis>
+    </refsynopsisdiv>
+    <refsection>
+        <title>Arguments</title>
+        <variablelist>
+            <varlistentry>
+                <term>iVar</term>
+                <listitem>
+                    <para>
+                        Specifies which input argument will be used to create
+                        the name of overload function/macro
+                    </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection>
+        <title>Description</title>
+        <para>
+            a C gateway function uses to call overload function or macro
+        </para>
+    </refsection>
+    <refsection>
+        <title>Examples</title>
+        <para>This example returns the size:</para>
+        <itemizedlist>
+            <listitem>
+                <para>returns the size of input argument</para>
+            </listitem>
+            <listitem>
+                <para>if input argument is a string returns the length</para>
+            </listitem>
+        </itemizedlist>
+    </refsection>
+    <refsection>
+        <!--File_gateway: SCI/modules/api_scilab/tests/unit_tests/calloverloadfunction_api.c-->
+        <!--File_scilab: SCI/modules/api_scilab/tests/unit_tests/calloverloadfunction_api.tst-->
+        <!--Lib_name: calloverloadfunction-->
+        <!--Func_list: callOverload-->
+        <title>Gateway Source</title>
+        <programlisting role="code_gateway">
+            <![CDATA[ 
+int callOverload(char *fname,unsigned long fname_len)
+{
+    CheckRhs(1, 1);
+    CheckLhs(0, 1);
+
+    CallOverloadFunction(1);
+    return 0;
+}
+ ]]>
+        </programlisting>
+    </refsection>
+    <refsection>
+        <title>Scilab test script</title>
+        <programlisting role="code_scilab">
+            <![CDATA[ 
+function x = %c_getSize(a)
+    x = lenght(a);
+endfunction
+
+function x = %s_getSize(a)
+    x = size(a);
+endfunction
+
+
+a = [1,2,3,4];
+a_ref = [2,2];
+assert_checkequal(getSize(a) == a_ref);
+
+b = ["May","the","puffin";"be","with","you"];
+b_ref = [3,3,6;2,4,3];
+assert_checkequal(getSize(b) == b_ref);
+
+ ]]>
+        </programlisting>
+    </refsection>
+</refentry>
diff --git a/scilab/modules/api_scilab/help/en_US/low_level_functions/CheckInputArgument.xml b/scilab/modules/api_scilab/help/en_US/low_level_functions/CheckInputArgument.xml
new file mode 100644 (file)
index 0000000..f4c6258
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="CheckInputArgument" xml:lang="en">
+    <refnamediv>
+        <refname>CheckInputArgument</refname>
+        <refpurpose>
+            C macro which checks the number of input arguments present in
+            the calling Scilab function.
+        </refpurpose>
+    </refnamediv>
+    <refsynopsisdiv>
+        <title>Calling Sequence</title>
+        <synopsis>CheckInputArgument(void* _pvCtx, int _iMin, int _iMax)</synopsis>
+    </refsynopsisdiv>
+    <refsection>
+        <title>Arguments</title>
+        <variablelist>
+            <varlistentry>
+                <term>pvApiCtx</term>
+                <listitem>
+                    <para>
+                        Scilab environment pointer, pass in "pvApiCtx" provided by api_scilab.h
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>_iMin</term>
+                <listitem>
+                    <para>
+                        the minimum number of input arguments which must be present
+                        in the calling Scilab function
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>_iMax</term>
+                <listitem>
+                    <para>
+                        the maximum number of input arguments which must be present
+                        in the calling Scilab function
+                    </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection>
+        <title>Description</title>
+        <para>
+            C macro which checks the number of input arguments present in the
+            calling Scilab function. You must include api_scilab.h to benefit from this
+            function.
+        </para>
+        <para>
+            If the number of arguments is not between _iMin and
+            _iMax, we quit the C interface (<literal>return 0;</literal>) and
+            an error is returned in the Scilab console.
+        </para>
+        <para>
+            Since <literal>CheckInputArgument</literal> is doing a <literal>
+                return
+                0;
+            </literal>
+            within the gateway function, it is important to call this
+            macro before any memory allocation in order to avoid any memory
+            leak.
+        </para>
+    </refsection>
+    <refsection>
+        <title>Examples</title>
+        <para>
+            In this example, the C gateway function checks for a number of
+            input arguments which must be between 2 and 3.
+        </para>
+        <programlisting role="example">
+            <![CDATA[ 
+#include <api_scilab.h>
+
+int sci_mycheckrhs(char * fname)
+{
+  CheckInputArgument(pvApiCtx, 2, 3);
+
+  return 0;
+}
+ ]]>
+        </programlisting>
+        <para>Now, some functions testing this interface:</para>
+        <programlisting role="example">
+            <![CDATA[ 
+mycheckrhs(A,B); // OK, 2 input arguments
+mycheckrhs(A,B,C); // OK, 3 input arguments
+mycheckrhs(A); // ERROR, 1 input argument
+mycheckrhs(A,B,C,D); // ERROR, 4 input arguments]]>
+        </programlisting>
+    </refsection>
+    <refsection role="see also">
+        <title>See Also</title>
+        <simplelist type="inline">
+            <member>
+                <link linkend="CheckOutputArgument">CheckOutputArgument</link>
+            </member>
+        </simplelist>
+    </refsection>
+</refentry>
diff --git a/scilab/modules/api_scilab/help/en_US/low_level_functions/CheckOutputArgument.xml b/scilab/modules/api_scilab/help/en_US/low_level_functions/CheckOutputArgument.xml
new file mode 100644 (file)
index 0000000..cbc0024
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="CheckOutputArgument" xml:lang="en">
+    <refnamediv>
+        <refname>CheckOutputArgument</refname>
+        <refpurpose>
+            C macro which checks the number of outtput arguments present in
+            the calling Scilab function.
+        </refpurpose>
+    </refnamediv>
+    <refsynopsisdiv>
+        <title>Calling Sequence</title>
+        <synopsis>CheckOutputArgument(void* _pvCtx, int _iMin, int _iMax)</synopsis>
+    </refsynopsisdiv>
+    <refsection>
+        <title>Arguments</title>
+        <variablelist>
+            <varlistentry>
+                <term>pvApiCtx</term>
+                <listitem>
+                    <para>
+                        Scilab environment pointer, pass in "pvApiCtx" provided by api_scilab.h
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>_iMin</term>
+                <listitem>
+                    <para>
+                        the minimum number of output arguments which must be present
+                        in the calling Scilab function
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>_iMax</term>
+                <listitem>
+                    <para>
+                        the maximum number of output arguments which must be present
+                        in the calling Scilab function
+                    </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection>
+        <title>Description</title>
+        <para>
+            C macro which checks the number of output arguments present in the
+            calling Scilab function. You must include api_scilab.h to benefit from this
+            function.
+        </para>
+        <para>
+            If the number of arguments is not between _iMin and
+            _iMax, we quit the C interface (<literal>return 0;</literal>) and
+            an error is returned in the Scilab console.
+        </para>
+        <para>
+            Since <literal>CheckOutputArgument</literal> is doing a <literal>
+                return
+                0;
+            </literal>
+            within the gateway function, it is important to call this
+            macro before any memory allocation in order to avoid any memory
+            leak.
+        </para>
+    </refsection>
+    <refsection>
+        <title>Examples</title>
+        <para>
+            In this example, the C gateway function checks for a number of
+            intput arguments which must be between 2 and 3.
+        </para>
+        <programlisting role="example">
+            <![CDATA[ 
+#include <api_scilab.h>
+
+int sci_mychecklhs(char * fname)
+{
+  CheckOutputArgument(pvApiCtx, 2, 3);
+
+  return 0;
+}
+ ]]>
+        </programlisting>
+        <para>Now, some functions testing this interface:</para>
+        <programlisting role="example">
+            <![CDATA[ 
+[A,B] = mychecklhs(); // OK, 2 output arguments
+[A,B,C] = mychecklhs(); // OK, 3 output arguments
+[A] = mychecklhs(); // ERROR, 1 output argument
+[A,B,C,D] = mychecklhs(); // ERROR, 4 output arguments]]>
+        </programlisting>
+    </refsection>
+    <refsection role="see also">
+        <title>See Also</title>
+        <simplelist type="inline">
+            <member>
+                <link linkend="CheckInputArgument">CheckInputArgument</link>
+            </member>
+        </simplelist>
+    </refsection>
+</refentry>
diff --git a/scilab/modules/api_scilab/help/en_US/low_level_functions/InputArgument.xml b/scilab/modules/api_scilab/help/en_US/low_level_functions/InputArgument.xml
new file mode 100644 (file)
index 0000000..61e4c4f
--- /dev/null
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="InputArgument" xml:lang="en">
+  <refnamediv>
+    <refname>InputArgument</refname>
+    <refpurpose>A C gateway function which provides the number of input
+      arguments present in the calling Scilab function
+    </refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <title>Calling Sequence</title>
+    <synopsis>nb_params = InputArgument</synopsis>
+  </refsynopsisdiv>
+  <refsection>
+    <title>Arguments</title>
+    <variablelist>
+      <varlistentry>
+        <term>nb_params</term>
+        <listitem>
+          <para>the number of input arguments present in the calling Scilab
+            function
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsection>
+  <refsection>
+    <title>Description</title>
+    <para>A C gateway function which provides the number of input arguments
+      present in the calling Scilab function. You must include api_scilab.h to
+      benefit from this function.
+    </para>
+  </refsection>
+  <refsection>
+    <title>Examples</title>
+    <para>In this example, the C interface function can take several input
+      arguments and prints in the Scilab console the integer corresponding to
+      the number of input arguments detected in the calling Scilab
+      function.
+    </para>
+    <programlisting role="example"><![CDATA[ 
+#include "api_scilab.h"
+#include "sciprint.h"
+
+int sci_myrhs(char * fname)
+{
+  sciprint("The number of input parameters is %d\n", InputArgument);
+
+  return 0;
+}
+ ]]></programlisting>
+  </refsection>
+  <refsection role="see also">
+    <title>See Also</title>
+    <simplelist type="inline">
+        <member>
+            <link linkend="OutputArgument">OutputArgument</link>
+        </member>
+        <member>
+            <link linkend="sciprint">sciprint</link>
+        </member>
+    </simplelist>
+  </refsection>
+</refentry>
diff --git a/scilab/modules/api_scilab/help/en_US/low_level_functions/OutputArgument.xml b/scilab/modules/api_scilab/help/en_US/low_level_functions/OutputArgument.xml
new file mode 100644 (file)
index 0000000..ac8e059
--- /dev/null
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="OutputArgument" xml:lang="en">
+    <refnamediv>
+        <refname>OutputArgument</refname>
+        <refpurpose>
+            A C gateway function which provides the number of output
+            arguments present in the calling Scilab function
+        </refpurpose>
+    </refnamediv>
+    <refsynopsisdiv>
+        <title>Calling Sequence</title>
+        <synopsis>nb_params = OutputArgument</synopsis>
+    </refsynopsisdiv>
+    <refsection>
+        <title>Arguments</title>
+        <variablelist>
+            <varlistentry>
+                <term>nb_params</term>
+                <listitem>
+                    <para>
+                        the number of output arguments present in the calling Scilab
+                        function
+                    </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection>
+        <title>Description</title>
+        <para>
+            OutputArgument provides a C gateway function which provides the number of
+            output arguments present in the calling Scilab function. You must include
+            api_scilab.h to benefit from this function.
+        </para>
+    </refsection>
+    <refsection>
+        <title>Examples</title>
+        <para>
+            In this example, the C gateway function can take several output
+            arguments and prints in the Scilab console the integer corresponding to
+            the number of output arguments detected in the calling Scilab
+            function.
+        </para>
+        <programlisting role="example">
+            <![CDATA[ 
+#include "api_scilab.h"
+#include "sciprint.h"
+
+int sci_mylhs(char * fname)
+{
+  sciprint("The number of output arguments is %d\n", OutputArgument);
+
+  return 0;
+}
+ ]]>
+        </programlisting>
+    </refsection>
+    <refsection role="see also">
+        <title>See Also</title>
+        <simplelist type="inline">
+            <member>
+                <link linkend="InputArgument">InputArgument</link>
+            </member>
+            <member>
+                <link linkend="sciprint">sciprint</link>
+            </member>
+        </simplelist>
+    </refsection>
+</refentry>
diff --git a/scilab/modules/api_scilab/help/en_US/low_level_functions/UpdateStack.xml b/scilab/modules/api_scilab/help/en_US/low_level_functions/UpdateStack.xml
new file mode 100644 (file)
index 0000000..a1c9f56
--- /dev/null
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="UpdateStack">
+    <refnamediv>
+        <refname>UpdateStack</refname>
+        <refpurpose>
+            A C gateway function which update stack information with your modifications.
+        </refpurpose>
+    </refnamediv>
+    <refsynopsisdiv>
+        <title>Calling Sequence</title>
+        <synopsis>UpdateStack();</synopsis>
+    </refsynopsisdiv>
+    <refsection>
+        <title>Description</title>
+        <para>
+            A C gateway function which update stack information with your modifications.
+        </para>
+    </refsection>
+    <refsection>
+        <title>Examples</title>
+        <para>This example takes a matrix of doubles as input and returns:</para>
+        <itemizedlist>
+            <listitem>
+                <para>the number of lines (first output argument)</para>
+            </listitem>
+            <listitem>
+                <para>the number of rows (second output argument)</para>
+            </listitem>
+        </itemizedlist>
+        <programlisting role="example">
+            <![CDATA[
+#include "api_scilab.h"
+int sci_mysizedouble(char * fname, unsigned long fname_len)
+{
+    SciErr      sciErr;
+    int         m_in_row;
+    int         n_in_col;
+    int*        piAddr = NULL;
+    double*     pdblData = NULL;
+
+    sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
+    if(sciErr.iErr)
+    {
+        printError(&sciErr, 0);
+        return 0;
+    }
+
+    /* get dimensions */
+       sciErr = getMatrixOfDouble(pvApiCtx, piAddr, &m_in_row, &n_in_col, &pdblData);
+       if(sciErr.iErr)
+       {
+               printError(&sciErr, 0);
+               return 0;
+       }
+
+    sciErr = createMatrixOfInteger32(pvApiCtx, InputArgument + 1, 1, 1, &m_in_row); // the m_in_row parameter handles the number of lines of the matrix sent as argument
+    sciErr = createMatrixOfInteger32(pvApiCtx, InputArgument + 2, 1, 1, &m_in_row); // store a same value, but will neither be used nor returned to Scilab
+    sciErr = createMatrixOfInteger32(pvApiCtx, InputArgument + 3, 1, 1, &n_in_col); // the n_in_col parameter handles the number of columns of the matrix sent as argument
+
+    AssignOutputVariable(1) = InputArgument + 1; // We set the parameter "InputArgument + 1" as an output argument
+    AssignOutputVariable(2) = InputArgument + 3; // We set the parameter "InputArgument + 3" as an output argument
+    UpdateStack();
+    return 0;
+}
+ ]]>
+        </programlisting>
+    </refsection>
+</refentry>
index 76aa2ce..c5dc37e 100644 (file)
     <!--Lib_name: read_write_boolean-->
     <!--Func_list: read_write_boolean-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 int read_write_boolean(char *fname,unsigned long fname_len)
 {
     SciErr sciErr;
     int i;
     //first variable info : real matrix of double
-    int iRows                                  = 0;
-    int iCols                                  = 0;
-    int *piAddr                                = NULL;
-    int* piBool                                = NULL;
+    int iRows       = 0;
+    int iCols       = 0;
+    int *piAddr     = NULL;
+    int* piBool     = NULL;
 
     //check input and output arguments
-    CheckRhs(1,1);
-    CheckLhs(1,1);
-
+    CheckInputArgument(pvApiCtx, 1,1);
+    CheckOutputArgument(pvApiCtx, 1,1);
 
     //get variable address of the first input argument
     sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
@@ -134,14 +134,14 @@ int read_write_boolean(char *fname,unsigned long fname_len)
         piBool[i] = piBool[i] == 0 ? 1 : 0;
     }
 
-    sciErr = createMatrixOfBoolean(pvApiCtx, Rhs + 1, iRows, iCols, piBool);
+    sciErr = createMatrixOfBoolean(pvApiCtx, InputArgument + 1, iRows, iCols, piBool);
     if(sciErr.iErr)
     {
         printError(&sciErr, 0);
         return 0;
     }
 
-    LhsVar(1) = Rhs + 1;
+    AssignOutputVariable(1) = InputArgument + 1;
     return 0;
 }
  ]]></programlisting>
index 1419ed1..7df4672 100644 (file)
     <!--Lib_name: read_write_boolean-->
     <!--Func_list: read_write_boolean-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 int read_write_boolean(char *fname,unsigned long fname_len)
 {
     SciErr sciErr;
     int i;
     //first variable info : real matrix of double
-    int iRows                                  = 0;
-    int iCols                                  = 0;
-    int *piAddr                                = NULL;
-    int* piBool                                = NULL;
+    int iRows       = 0;
+    int iCols       = 0;
+    int *piAddr     = NULL;
+    int* piBool     = NULL;
 
     //check input and output arguments
-    CheckRhs(1,1);
-    CheckLhs(1,1);
-
+    CheckInputArgument(pvApiCtx, 1,1);
+    CheckOutputArgument(pvApiCtx, 1,1);
 
     //get variable address of the first input argument
     sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
@@ -194,14 +194,14 @@ int read_write_boolean(char *fname,unsigned long fname_len)
         piBool[i] = piBool[i] == 0 ? 1 : 0;
     }
 
-    sciErr = createMatrixOfBoolean(pvApiCtx, Rhs + 1, iRows, iCols, piBool);
+    sciErr = createMatrixOfBoolean(pvApiCtx, InputArgument + 1, iRows, iCols, piBool);
     if(sciErr.iErr)
     {
         printError(&sciErr, 0);
         return 0;
     }
 
-    LhsVar(1) = Rhs + 1;
+    AssignOutputVariable(1) = InputArgument + 1;
     return 0;
 }
  ]]></programlisting>
index 57c754b..a8baaa0 100644 (file)
     <!--Lib_name: read_write_bsparse-->
     <!--Func_list: read_write_bsparse-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 int read_write_bsparse(char *fname,unsigned long fname_len)
 {
     SciErr sciErr;
     int i                   = 0;
     int j                   = 0;
     int k                   = 0;
-
     //first variable info : real matrix of double
     int iRows               = 0;
     int iCols               = 0;
@@ -128,19 +128,15 @@ int read_write_bsparse(char *fname,unsigned long fname_len)
     int iNbItem             = 0;
     int* piNbItemRow        = NULL;
     int* piColPos           = NULL;
-
     int iCol                = 0;
     int iNewCol             = 0;
-
     int iNewItem            = 0;
     int* piNewRow           = NULL;
     int* piNewCol           = NULL;
-    
 
     //check input and output arguments
-    CheckRhs(1,1);
-    CheckLhs(1,1);
-
+    CheckInputArgument(pvApiCtx, 1, 1);
+    CheckOutputArgument(pvApiCtx, 1, 1);
 
     //get variable address of the first input argument
     sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
@@ -160,7 +156,6 @@ int read_write_bsparse(char *fname,unsigned long fname_len)
 
     //Do something with data
     //convert %T -> %F and %F -> %T
-
     iNewItem = (iRows * iCols) - iNbItem;
     piNewRow = (int*)MALLOC(sizeof(int) * iRows);
     piNewCol = (int*)MALLOC(sizeof(int) * iNewItem);
@@ -179,22 +174,24 @@ int read_write_bsparse(char *fname,unsigned long fname_len)
                     break;
                 }
             }
+
             if(iFind == 0)
             {
                 piNewCol[iNewCol++] = (j + 1);
             }
         }
+
         iCol += piNbItemRow[i];
     }
 
-    sciErr = createBooleanSparseMatrix(pvApiCtx, Rhs + 1, iRows, iCols, iNewItem, piNewRow, piNewCol);
+    sciErr = createBooleanSparseMatrix(pvApiCtx, InputArgument + 1, iRows, iCols, iNewItem, piNewRow, piNewCol);
     if(sciErr.iErr)
     {
         printError(&sciErr, 0);
         return 0;
     }
 
-    LhsVar(1) = Rhs + 1;
+    AssignOutputVariable(1) = InputArgument + 1;
     return 0;
 }
  ]]></programlisting>
index bf9ca1a..275c139 100644 (file)
     <!--Lib_name: read_write_bsparse-->
     <!--Func_list: read_write_bsparse-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 int read_write_bsparse(char *fname,unsigned long fname_len)
 {
     SciErr sciErr;
     int i                   = 0;
     int j                   = 0;
     int k                   = 0;
-
     //first variable info : real matrix of double
     int iRows               = 0;
     int iCols               = 0;
@@ -203,18 +203,15 @@ int read_write_bsparse(char *fname,unsigned long fname_len)
     int iNbItem             = 0;
     int* piNbItemRow        = NULL;
     int* piColPos           = NULL;
-
     int iCol                = 0;
     int iNewCol             = 0;
-
     int iNewItem            = 0;
     int* piNewRow           = NULL;
     int* piNewCol           = NULL;
 
     //check input and output arguments
-    CheckRhs(1,1);
-    CheckLhs(1,1);
-
+    CheckInputArgument(pvApiCtx, 1, 1);
+    CheckOutputArgument(pvApiCtx, 1, 1);
 
     //get variable address of the first input argument
     sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
@@ -234,7 +231,6 @@ int read_write_bsparse(char *fname,unsigned long fname_len)
 
     //Do something with data
     //convert %T -> %F and %F -> %T
-
     iNewItem = (iRows * iCols) - iNbItem;
     piNewRow = (int*)MALLOC(sizeof(int) * iRows);
     piNewCol = (int*)MALLOC(sizeof(int) * iNewItem);
@@ -253,22 +249,24 @@ int read_write_bsparse(char *fname,unsigned long fname_len)
                     break;
                 }
             }
+
             if(iFind == 0)
             {
                 piNewCol[iNewCol++] = (j + 1);
             }
         }
+
         iCol += piNbItemRow[i];
     }
 
-    sciErr = createBooleanSparseMatrix(pvApiCtx, Rhs + 1, iRows, iCols, iNewItem, piNewRow, piNewCol);
+    sciErr = createBooleanSparseMatrix(pvApiCtx, InputArgument + 1, iRows, iCols, iNewItem, piNewRow, piNewCol);
     if(sciErr.iErr)
     {
         printError(&sciErr, 0);
         return 0;
     }
 
-    LhsVar(1) = Rhs + 1;
+    AssignOutputVariable(1) = InputArgument + 1;
     return 0;
 }
  ]]></programlisting>
index 9d375e4..79c262f 100644 (file)
@@ -79,7 +79,8 @@
     <!--Lib_name: common_function-->
     <!--Func_list: common_function-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 SciErr printf_info(int _iVar);
 
 int common_function(char *fname,unsigned long fname_len)
@@ -89,7 +90,7 @@ int common_function(char *fname,unsigned long fname_len)
     int *piAddr1    = NULL;
     int iBool       = 0;
 
-    for(i = 0 ; i < Rhs ; i++)
+    for(i = 0 ; i < InputArgument ; i++)
     {
         sciErr = printf_info(i + 1);
         if(sciErr.iErr)
@@ -102,18 +103,18 @@ int common_function(char *fname,unsigned long fname_len)
 
     //1 for true, 0 for false
     iBool = sciErr.iErr == 0 ? 1 : 0;
-    sciErr = createMatrixOfBoolean(pvApiCtx, 1, 1, 1, &iBool);
+
+    sciErr = createMatrixOfBoolean(pvApiCtx, InputArgument + 1, 1, 1, &iBool);
     if(sciErr.iErr)
     {
         printError(&sciErr, 0);
         return 0;
     }
-    //assign allocated variables to Lhs position
-    LhsVar(1) = 1;
 
+    //assign allocated variables to Lhs position
+    AssignOutputVariable(1) = InputArgument + 1;
     return 0;
 }
-
 SciErr printf_info(int _iVar)
 {
     SciErr sciErr;
@@ -141,28 +142,28 @@ SciErr printf_info(int _iVar)
     sciprint("\tType: ");
     switch(iType)
     {
-        case sci_matrix : 
+        case sci_matrix :
             sciprint("double\n");
             break;
-        case sci_poly : 
+        case sci_poly :
             sciprint("polynomial\n");
             break;
-        case sci_boolean : 
+        case sci_boolean :
             sciprint("boolean\n");
             break;
-        case sci_sparse : 
+        case sci_sparse :
             sciprint("sparse\n");
             break;
-        case sci_boolean_sparse : 
+        case sci_boolean_sparse :
             sciprint("boolean_sparse\n");
             break;
-        case sci_ints : 
+        case sci_ints :
         {
             char pstSigned[]    = "signed";
             char pstUnsigned[]  = "unsigned";
             char* pstSign       = pstSigned;
-
             int iPrec           = 0;
+
             sciErr = getMatrixOfIntegerPrecision(pvApiCtx, piAddr, &iPrec);
             if(sciErr.iErr)
             {
@@ -177,16 +178,16 @@ SciErr printf_info(int _iVar)
             sciprint("%s integer %d bits\n", pstSign, (iPrec % 10) * 8);
         }
         break;
-        case sci_strings : 
+        case sci_strings :
             sciprint("strings\n");
             break;
-        case sci_list : 
+        case sci_list :
             sciprint("list\n");
             break;
-        case sci_tlist : 
+        case sci_tlist :
             sciprint("tlist\n");
             break;
-        case sci_mlist : 
+        case sci_mlist :
             sciprint("mlist\n");
             break;
         default :
@@ -217,6 +218,7 @@ SciErr printf_info(int _iVar)
         {
             return sciErr;
         }
+
         sciprint("%d", iItem);
     }
     return sciErr;
index 875cf08..b82a6bf 100644 (file)
@@ -87,7 +87,8 @@
     <!--Lib_name: common_function-->
     <!--Func_list: common_function-->
     <title>Gateway Source</title>
-    <programlisting role="code_gateway"><![CDATA[ 
+    <programlisting role="code_gateway">
+        <![CDATA[ 
 SciErr printf_info(int _iVar);
 
 int common_function(char *fname,unsigned long fname_len)
@@ -97,7 +98,7 @@ int common_function(char *fname,unsigned long fname_len)
     int *piAddr1    = NULL;
     int iBool       = 0;
 
-    for(i = 0 ; i < Rhs ; i++)
+    for(i = 0 ; i < InputArgument ; i++)
     {
         sciErr = printf_info(i + 1);
         if(sciErr.iErr)
@@