ReturnArguments
種々の変数を返すCゲートウェイ関数.
呼び出し手順
ReturnArguments(pvApiCtx);
説明
ReturnArguments(pvApiCtx) は, AssignOutputVariable(pvApiCtx, X)により宣言された 種々の変数を返します.
例
この例はdoubleの行列を入力とし,以下を返します:
行数 (最初の出力引数)
列数 (2番目の出力引数)
#include "api_scilab.h" int sci_mysizedouble(char * fname, void* pvApiCtx) { SciErr sciErr; int m_in_row; int n_in_col; int* piAddr = NULL; double* pdblData = NULL; sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr); if(sciErr.iErr) { printError(&sciErr, 0); return 0; } /* 次元を取得 */ sciErr = getMatrixOfDouble(pvApiCtx, piAddr, &m_in_row, &n_in_col, &pdblData); if(sciErr.iErr) { printError(&sciErr, 0); return 0; } sciErr = createMatrixOfInteger32(pvApiCtx, nbInputArgument(pvApiCtx) + 1, 1, 1, &m_in_row); // m_in_rowパラメータは引数として渡された行列のライン数を保持します sciErr = createMatrixOfInteger32(pvApiCtx, nbInputArgument(pvApiCtx) + 2, 1, 1, &m_in_row); // 同じ値を保持しますが, 使用されず,Scilabに値も返されません sciErr = createMatrixOfInteger32(pvApiCtx, nbInputArgument(pvApiCtx) + 3, 1, 1, &n_in_col); // n_in_colパラメータは引数として渡された行列の列数を保持します AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1; // パラメータ "nbInputArgument(pvApiCtx) + 1" を出力引数として設定します AssignOutputVariable(pvApiCtx, 2) = nbInputArgument(pvApiCtx) + 3; // パラメータ "nbInputArgument(pvApiCtx) + 3" を出力引数として設定します ReturnArguments(pvApiCtx); return 0; }
Report an issue | ||
<< 多項式の書き込み (Scilabゲートウェイ) | Low level functions | 疎行列の読み込み (Scilab ゲートウェイ) >> |