Scilab-Branch-6.1-GIT
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
However, this page did not exist in the previous stable version.
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 >> |