boolean sparse example - Boolean sparse use case. (original) (raw)
Scilab 5.3.3
- Scilab help
- API Scilab
- Boolean Sparse
- isBooleanSparseType
- getAllocatedBooleanSparseMatrix
- freeAllocatedBooleanSparse
- boolean sparse example
Please note that the recommended version of Scilab is 2026.0.1. This page might be outdated.
However, this page did not exist in the previous stable version.
Scilab help >> API Scilab > Boolean Sparse > boolean sparse example
Description
This example shows how to get a boolean sparse variable and return it to Scilab.
Gateway Source
int booleanSparseExample(char fname,unsigned long fname_len) { SciErr sciErr; int piAddr = NULL; int iType = 0; int iRet = 0;
CheckRhs(1,1);
CheckLhs(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, Rhs + 1, iRows, iCols, iNbItem, piNbItemRow, piColPos);
if(sciErr.iErr)
{
freeAllocatedBooleanSparse(piNbItemRow, piColPos);
printError(&sciErr, 0);
return sciErr.iErr;
}
freeAllocatedBooleanSparse(piNbItemRow, piColPos);
LhsVar(1) = Rhs + 1;
}
return 0;}
Scilab test script
bsp = sparse([1,1;2,2;3,3],[%t,%t,%t]); or(booleanSparseExample(bsp) == bsp)