Scilab 5.5.2
Please note that the recommended version of Scilab is 6.1.1. This page might be outdated.
See the recommended documentation of this function
handle example
Handle use case.
Description
This example shows how to get a handle variable and return it to Scilab.
Gateway Source
#include "api_scilab.h" int handleExample(char *fname,unsigned long fname_len) { SciErr sciErr; int* piAddr = NULL; int iType = 0; int iRet = 0; CheckInputArgument(pvApiCtx, 1, 1); CheckOutputArgument(pvApiCtx, 0, 1); sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr); if(sciErr.iErr) { printError(&sciErr, 0); return 0; } if(isHandleType(pvApiCtx, piAddr)) { if(isScalar(pvApiCtx, piAddr)) { long long llHandle = 0; iRet = getScalarHandle(pvApiCtx, piAddr, &llHandle); if(iRet) { return 0; } iRet = createScalarHandle(pvApiCtx, nbInputArgument(pvApiCtx) + 1, llHandle); if(iRet) { return 0; } } else { int iRows = 0; int iCols = 0; long long *pllHandle = NULL; 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; } else { AssignOutputVariable(pvApiCtx, 1) = 0; } return 0; }
Scilab test script
a = %t; b = %f; c = [a,b;b,a;a,b;b,a]; d = c'; handleExample(a) == a handleExample(b) == b handleExample(c) == c handleExample(d) == d
History
Versão | Descrição |
5.5.0 | This function added in Scilab 5.5.0 |
Comments
Add a comment:
Please login to comment this page.