Scilab 6.0.1
Please note that the recommended version of Scilab is 2023.1.0. This page might be outdated.
See the recommended documentation of this function
boolean example
Boolean use case.
Description
This example shows how to get a boolean variable and return it to Scilab.
Gateway Source
#include "api_scilab.h" int booleanExample(char *fname,void* pvApiCtx) { 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(isBooleanType(pvApiCtx, piAddr)) { if(isScalar(pvApiCtx, piAddr)) { int iBool = 0; iRet = getScalarBoolean(pvApiCtx, piAddr, &iBool); if(iRet) { return 0; } iRet = createScalarBoolean(pvApiCtx, nbInputArgument(pvApiCtx) + 1, iBool); if(iRet) { return 0; } } else { int iRows = 0; int iCols = 0; int *piBool = NULL; sciErr = getMatrixOfBoolean(pvApiCtx, piAddr, &iRows, &iCols, &piBool); if(sciErr.iErr) { printError(&sciErr, 0); return 0; } sciErr = createMatrixOfBoolean(pvApiCtx, nbInputArgument(pvApiCtx) + 1, iRows, iCols, piBool); 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'; booleanExample(a) == a booleanExample(b) == b booleanExample(c) == c booleanExample(d) == d
Report an issue | ||
<< createScalarBoolean | boolean | Boolean Sparse >> |