Handle writing (Scilab gateway)
How to write matrices of handle.
Syntax
Input argument profile:
SciErr createMatrixOfHandle(void* _pvCtx, int _iVar, int _iRows, int _iCols, const long long* _pllHandle)
Arguments
- _pvCtx
Scilab environment pointer, pass in "pvApiCtx" provided by api_scilab.h.
- _iVar
Position in the Scilab memory where you want to put the 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.
Syntax
Input argument profile:
SciErr allocMatrixOfHandle(void* _pvCtx, int _iVar, int _iRows, int _iCols, long long** _pllHandle)
Arguments
- _pvCtx
Scilab environment pointer, pass in "pvApiCtx" provided by api_scilab.h.
- _iVar
Position in the Scilab memory where you want to put the variable.
- _iRows
Number of rows of the new variable.
- _iCols
Numbers of columns of the new variable.
- _pllHandle
Returns address of real data array (size: _iCols * _iRows).
- SciErr
Error structure where is stored errors messages history and first error number.
Description
This help describes how to write 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 | ||
<< Handle reading (Scilab gateway) | Low level functions | Integer Precision (Scilab gateway) >> |