Handle reading (Scilab gateway)
How to read matrix of handle.
Syntax
Input argument profile:
SciErr getMatrixOfHandle(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, long long** _pllHandle)
Arguments
- _pvCtx
Scilab environment pointer, pass in "pvApiCtx" provided by api_scilab.h.
- _piAddress
Address of the Scilab variable.
- _piRows
Return number of rows of the variable.
- _piCols
Return number of columns of the variable.
- _pllHandle
Return address of data array (size: _iRows * _iCols).
- SciErr
Error structure where is stored errors messages history and first error number.
Description
This help describes how to read matrix of handle.
Gateway Source
#include "api_scilab.h" int read_write_handle(char *fname,void* pvApiCtx) { SciErr sciErr; int i; //first variable info : real matrix of double int iRows = 0; int iCols = 0; int *piAddr = NULL; long long* pllHandle = NULL; //check input and output arguments CheckInputArgument(pvApiCtx, 1,1); CheckOutputArgument(pvApiCtx, 0,1); //get variable address of the first input argument sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr); if(sciErr.iErr) { printError(&sciErr, 0); return 0; } //get size and data from Scilab memory sciErr = getMatrixOfHandle(pvApiCtx, piAddr, &iRows, &iCols, &pllHandle); if(sciErr.iErr) { printError(&sciErr, 0); return 0; } sciErr = createMatrixOfHandle(pvApiCtx, nbInputArgument(pvApiCtx) + 1, iRows, iCols, pllHandle); if(sciErr.iErr) { printError(&sciErr, 0); return 0; } AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1; return 0; }
Scilab test script
History
Version | Description |
5.5.0 | This function added in Scilab 5.5.0 |
Report an issue | ||
<< getNbOutputArgument (Scilab gateway) | Low level functions | Handle writing (Scilab gateway) >> |