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.
論理値の例
論理値の使用例.
説明
この例は論理値を取得し, Scilabに返す手順を示します.
ゲートウェイのソース
#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テストスクリプト
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 >> |