Scilab 6.0.1
      
      - Ajuda do Scilab
 - API Scilab
 - legacy
 - Low level functions
 - AssignOutputVariable
 - Boolean reading (Scilab gateway)
 - Boolean writing (Scilab gateway)
 - Boolean sparse reading (Scilab gateway)
 - Boolean sparse writing (Scilab gateway)
 - CallOverloadFunction
 - Check variable dimensions (Scilab gateway)
 - CheckInputArgument
 - CheckOutputArgument
 - Variable Reference (Scilab gateway)
 - Variable dimension (Scilab gateway)
 - Variable Type (Scilab gateway)
 - Variable Complexity (Scilab gateway)
 - Matrix Type (Scilab gateway)
 - deleteNamedVariable
 - Double reading (Scilab gateway)
 - Double writing (Scilab gateway)
 - getNbInputArgument (Scilab gateway)
 - getNbOutputArgument (Scilab gateway)
 - Handle reading (Scilab gateway)
 - Handle writing (Scilab gateway)
 - Integer Precision (Scilab gateway)
 - Integer reading (Scilab gateway)
 - Integer writing (Scilab gateway)
 - nbInputArgument (Scilab gateway)
 - Pointer reading (Scilab gateway)
 - Pointer writing (Scilab gateway)
 - Polynomial Symbolic Variable (Scilab gateway)
 - Polynomial reading (Scilab gateway)
 - Polynomial writing (Scilab gateway)
 - ReturnArguments
 - Sparse matrix reading (Scilab gateway)
 - Sparse writing (Scilab gateway)
 - String reading (Scilab gateway)
 - String writing (Scilab gateway)
 - UpdateStack
 
Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
However, this page did not exist in the previous stable version.
UpdateStack
A C gateway function which update stack information with your modifications.
Syntax
UpdateStack();
Description
A C gateway function which update stack information with your modifications.
Examples
This example takes a matrix of doubles as input and returns:
the number of lines (first output argument)
the number of rows (second output argument)
#include "api_scilab.h" int sci_mysizedouble(char * fname, void* pvApiCtx) { 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; }
| Report an issue | ||
| << String writing (Scilab gateway) | Low level functions | optionals >> |