boolean sparse example
Boolean sparse use case.
Description
This example shows how to get a boolean sparse variable and return it to Scilab.
Gateway Source
#include "api_scilab.h" int booleanSparseExample(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(isBooleanSparseType(pvApiCtx, piAddr)) { int iRows = 0; int iCols = 0; int iNbItem = 0; int* piNbItemRow = NULL; int* piColPos = NULL; iRet = getAllocatedBooleanSparseMatrix(pvApiCtx, piAddr, &iRows, &iCols, &iNbItem, &piNbItemRow, &piColPos); if(iRet) { freeAllocatedBooleanSparse(piNbItemRow, piColPos); return iRet; } sciErr = createBooleanSparseMatrix(pvApiCtx, nbInputArgument(pvApiCtx) + 1, iRows, iCols, iNbItem, piNbItemRow, piColPos); if(sciErr.iErr) { freeAllocatedBooleanSparse(piNbItemRow, piColPos); printError(&sciErr, 0); return sciErr.iErr; } freeAllocatedBooleanSparse(piNbItemRow, piColPos); AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1; } return 0; }
Report an issue | ||
<< freeAllocatedBooleanSparse | Boolean Sparse | Scilab Gateway API >> |