WSPutInteger16Array (C 関数)

int WSPutInteger16Array(WSLINK link,const short *a,const int *dims,const char **heads,int d)

16ビットの整数の配列をlink で指定されたWSTP接続に置いて,次元がdims で深さがd の配列を形成する.

詳細

  • 配列a は, と明示的に宣言されたC言語の配列のようにメモリにレイアウトされなければならない.
  • headsNULLとして与えられる場合,配列は各レベルにおいて頭部Listを持つと見なされるようになる.
  • レベルi での配列の長さは であるとされる.
  • WSPutInteger16Array()はエラーがあると0を返し,関数が成功すると0以外の値を返す.
  • WSError()を使うと,WSPutInteger16Array()が不成功の場合にエラーコードを引き出すことができる.
  • WSPutInteger16Array()は,WSTPヘッダファイルwstp.hの中で宣言される.

例題

  (1)

#include "wstp.h"

/* send an array of 16-bit integers to a link */

void f(WSLINK lp)
{
    short array[6][10][2][1];
    int dims[4];
    int i;

    for(i = 0; i < 120; i++)
        *((short *)array + i) = i;

    dims[0] = 6;
    dims[1] = 10;
    dims[2] = 2;
    dims[3] = 1;

    if(! WSPutInteger16Array(lp, (short *)array, (int *)dims, (char **)0, 4))
        { /* unable to put the array to lp */ }
}