Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Scilab 5.5.0
Change language to: English - Français - Português - Русский

Please note that the recommended version of Scilab is 6.0.2. This page might be outdated.
See the recommended documentation of this function

Scilabヘルプ >> API Scilab > Low level functions > AssignOutputVariable

AssignOutputVariable

Cゲートウェイ内で作成され, Scilab に出力変数として返されるパラメータを指定するCゲートウェイ関数.

呼出し手順

AssignOutputVariable(pvApiCtx, RankPos) = RankVar;

引数

RankPos

出力引数のランクを与える整数

RankVar

Cゲートウェイ内で生成され, Scilab出力引数として返されるパラメータのランク

説明

Cゲートウェイ内で作成され, Scilab に出力変数として返されるパラメータを指定するCゲートウェイ関数.

この例はdoubleの行列を入力として取り, 以下を返します:

  • ライン数 (最初の出力引数)

  • 行数 (2番目の出力引数)

整数を処理するScilab中間パラメータを作成しますが, 使用したり,出力引数として返したりしません.

#include "api_scilab.h"
int sci_mysizedouble(char * fname, unsigned long fname_len)
{
    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;
}
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Fri Apr 11 14:19:08 CEST 2014