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) >> |